diff --git a/.github/workflows/autodeploy.yml b/.github/workflows/autodeploy.yml new file mode 100644 index 00000000..f96ef5aa --- /dev/null +++ b/.github/workflows/autodeploy.yml @@ -0,0 +1,134 @@ +name: CI/CD Pipeline + +on: + push: + branches: main +jobs: + CI-PIPELINE: + runs-on: ubuntu-latest + + steps: + # Step 1: Installs needed dependencies to set up our code + - name: Checkout Code + uses: actions/checkout@v3 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + + # Step 2: Tests code too ensure it passes all tests + - name: Run frontend tests + run: cd course-matrix/frontend && npm install && npm run test + - name: Run backend tests + run: cd course-matrix/backend && npm install && npm run test + + # Step 3: Set up Docker Buildx + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + # Step 4: Sets our our application's environment + - name: setup application env + run: | + cd course-matrix + + # Update frontend .env + cd frontend + echo "VITE_SERVER_URL=\"http://34.130.253.243:8081\"" > .env && \ + echo "VITE_PUBLIC_ASSISTANT_BASE_URL=\"${{ secrets.VITE_PUBLIC_ASSISTANT_BASE_URL }}\"" >> .env && \ + echo "VITE_ASSISTANT_UI_KEY=\"${{ secrets.VITE_ASSISTANT_UI_KEY }}\"" >> .env + + # Update backend .env + cd ../backend + echo "NODE_ENV=\"development\"" > .env && \ + echo "PORT=8081" >> .env && \ + echo "CLIENT_APP_URL=\"http://34.130.253.243:5173\"" >> .env && \ + echo "DATABASE_URL=\"${{ secrets.DATABASE_URL }}\"" >> .env && \ + echo "DATABASE_KEY=\"${{ secrets.DATABASE_KEY }}\"" >> .env && \ + echo "OPENAI_API_KEY=\"${{ secrets.OPENAI_API_KEY }}\"" >> .env && \ + echo "PINECONE_API_KEY=\"${{ secrets.PINECONE_API_KEY }}\"" >> .env && \ + echo "PINECONE_INDEX_NAME=\"course-matrix\"" >> .env && \ + echo "BREVO_API_KEY=\"${{ secrets.BREVO_API_KEY }}\"" >> .env && \ + echo "SENDER_EMAIL=\"${{ secrets.SENDER_EMAIL }}\"" >> .env && \ + echo "SENDER_NAME=\"Course Matrix Notifications\"" >> .env + + cd ../ + + # Step 5: Logging in to dockerhub + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + # Step 6: Build all required doccker images + - name: Build Docker Image + run: | + cd course-matrix + docker compose build + + # Step 7: Check if images exist before tagging + - name: List Docker Images (Debugging) + run: docker images + + # Step 8: Tags created images with version using github commit tags + - name: Tag Images With Version + run: | + docker tag course-matrix/frontend:latest ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:${{ github.sha }} + docker tag course-matrix/backend:latest ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:${{ github.sha }} + + # Step 9: Push Docker images version to Docker Hub + - name: Push Docker images version to Docker Hub + run: | + docker push ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:${{ github.sha }} + docker push ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:${{ github.sha }} + + # Step 10: Tags created images for the master branch + - name: Tag Images for Master Branch + run: | + docker tag course-matrix/frontend:latest ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master + docker tag course-matrix/backend:latest ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master + + # Step 11: Push Docker images to Docker Hub master branch + - name: Push images to Master Branch + run: | + docker push ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master + docker push ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master + + CD-PIPELINE: + needs: CI-PIPELINE + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v3 + + # Step 12: Connect to virtual machine + - name: Setup SSH Connection + run: | + echo "${{ secrets.GCP_SSH_PRIVATE_KEY }}" > private_key + chmod 600 private_key + + - name: Deploy to Google Cloud VM + run: | + ssh -i private_key -o StrictHostKeyChecking=no ${{ secrets.GCP_USERNAME }}@${{ secrets.GCP_VM_IP }} << 'EOF' + cd /home/masahisasekita/term-group-project-c01w25-project-course-matrix || { echo "Error: Directory /root/myapp does not exist!"; exit 1; } + + # Step 13: Clears deployment environment + sudo docker stop $(sudo docker ps -q) + sudo docker rmi -f $(sudo docker images -q) + sudo docker system prune -a --volumes -f + + # Step 14: Pull the latest images + sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master + sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master + + # Step 15: Run the docker containers + sudo docker run -d -p 5173:5173 ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master + sudo docker run -d -p 8081:8081 ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master + + # Step 16: Run post deployment tests + sudo docker ps + sudo docker run --rm ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master npm test + sudo docker run --rm ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master npm test + EOF \ No newline at end of file diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml new file mode 100644 index 00000000..ee39368b --- /dev/null +++ b/.github/workflows/format.yml @@ -0,0 +1,23 @@ +name: Format the code + +on: + workflow_dispatch: + push: + +jobs: + format: + runs-on: ubuntu-latest + name: Format Files + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: "20" + - name: Prettier + run: npx prettier --write **/*.{js,ts,tsx,json,md} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - uses: stefanzweifel/git-auto-commit-action@v4 + if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} + with: + commit_message: "Auto-formatted the code using Prettier" diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml new file mode 100644 index 00000000..33f55eb4 --- /dev/null +++ b/.github/workflows/testing.yml @@ -0,0 +1,15 @@ +name: Run Tests + +on: + workflow_dispatch: + push: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Run frontend tests + run: cd course-matrix/frontend && npm install && npm run test + - name: Run backend tests + run: cd course-matrix/backend && npm install && npm run test \ No newline at end of file diff --git a/CICD/Dockerfile(backend) b/CICD/Dockerfile(backend) new file mode 100644 index 00000000..0860e0ed --- /dev/null +++ b/CICD/Dockerfile(backend) @@ -0,0 +1,20 @@ +# Use an official Node.js image +FROM node:18 + +# Set the working directory +WORKDIR /app + +# Copy package.json and package-lock.json +COPY package*.json ./ + +# Install dependencies +RUN npm install + +# Copy the rest of the application files +COPY . . + +# Expose the backend port +EXPOSE 8081 + +# Start the application +CMD ["npm", "run", "prod"] diff --git a/CICD/Dockerfile(frontend) b/CICD/Dockerfile(frontend) new file mode 100644 index 00000000..de677396 --- /dev/null +++ b/CICD/Dockerfile(frontend) @@ -0,0 +1,21 @@ +# Use an official Node.js image +FROM node:18 + +# Set the working directory +WORKDIR /app + +# Copy package.json and package-lock.json +COPY package*.json ./ + +# Install dependencies +RUN npm install + +# Copy the rest of the application files +COPY . . + +# Expose the frontend port +EXPOSE 8081 +EXPOSE 5173 + +# Start the application +CMD ["npm", "run", "prod"] \ No newline at end of file diff --git a/CICD/ReadME.pdf b/CICD/ReadME.pdf new file mode 100644 index 00000000..51013d13 Binary files /dev/null and b/CICD/ReadME.pdf differ diff --git a/CICD/autodeploy.yml b/CICD/autodeploy.yml new file mode 100644 index 00000000..8f1cec18 --- /dev/null +++ b/CICD/autodeploy.yml @@ -0,0 +1,135 @@ +name: CI/CD Pipeline + +on: + push: + branches: develop +jobs: + CI-PIPELINE: + runs-on: ubuntu-latest + + steps: + # Step 1: Installs needed dependencies to set up our code + - name: Checkout Code + uses: actions/checkout@v3 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + + # Step 2: Tests code too ensure it passes all tests + - name: Run frontend tests + run: cd course-matrix/frontend && npm install && npm run test + - name: Run backend tests + run: cd course-matrix/backend && npm install && npm run test + + # Step 3: Set up Docker Buildx + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + # Step 4: Sets our our application's environment + - name: setup application env + run: | + cd course-matrix + + # Update frontend .env + cd frontend + echo "VITE_SERVER_URL=\"http://34.130.253.243:8081\"" > .env && \ + echo "VITE_PUBLIC_ASSISTANT_BASE_URL=\"${{ secrets.VITE_PUBLIC_ASSISTANT_BASE_URL }}\"" >> .env && \ + echo "VITE_ASSISTANT_UI_KEY=\"${{ secrets.VITE_ASSISTANT_UI_KEY }}\"" >> .env + + # Update backend .env + cd ../backend + echo "NODE_ENV=\"development\"" > .env && \ + echo "PORT=8081" >> .env && \ + echo "CLIENT_APP_URL=\"http://34.130.253.243:5173\"" >> .env && \ + echo "DATABASE_URL=\"${{ secrets.DATABASE_URL }}\"" >> .env && \ + echo "DATABASE_KEY=\"${{ secrets.DATABASE_KEY }}\"" >> .env && \ + echo "OPENAI_API_KEY=\"${{ secrets.OPENAI_API_KEY }}\"" >> .env && \ + echo "PINECONE_API_KEY=\"${{ secrets.PINECONE_API_KEY }}\"" >> .env && \ + echo "PINECONE_INDEX_NAME=\"course-matrix\"" >> .env && \ + echo "BREVO_API_KEY=\"${{ secrets.BREVO_API_KEY }}\"" >> .env && \ + echo "SENDER_EMAIL=\"${{ secrets.SENDER_EMAIL }}\"" >> .env && \ + echo "SENDER_NAME=\"Course Matrix Notifications\"" >> .env + + cd ../ + + # Step 5: Logging in to dockerhub + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + # Step 6: Build all required doccker images + - name: Build Docker Image + run: | + cd course-matrix + docker compose build + + # Step 7: Check if images exist before tagging + - name: List Docker Images (Debugging) + run: docker images + + # Step 8: Tags created images with version using github commit tags + - name: Tag Images With Version + run: | + docker tag course-matrix/frontend:latest ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:${{ github.sha }} + docker tag course-matrix/backend:latest ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:${{ github.sha }} + + # Step 9: Push Docker images version to Docker Hub + - name: Push Docker images version to Docker Hub + run: | + docker push ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:${{ github.sha }} + docker push ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:${{ github.sha }} + + # Step 10: Tags created images for the master branch + - name: Tag Images for Master Branch + run: | + docker tag course-matrix/frontend:latest ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master + docker tag course-matrix/backend:latest ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master + + # Step 11: Push Docker images to Docker Hub master branch + - name: Push images to Master Branch + run: | + docker push ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master + docker push ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master + + CD-PIPELINE: + needs: CI-PIPELINE + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v3 + + # Step 12: Connect to virtual machine + - name: Setup SSH Connection + run: | + echo "${{ secrets.GCP_SSH_PRIVATE_KEY }}" > private_key + chmod 600 private_key + + - name: Deploy to Google Cloud VM + run: | + ssh -i private_key -o StrictHostKeyChecking=no ${{ secrets.GCP_USERNAME }}@${{ secrets.GCP_VM_IP }} << 'EOF' + cd /home/masahisasekita/term-group-project-c01w25-project-course-matrix || { echo "Error: Directory /root/myapp does not exist!"; exit 1; } + + # Step 13: Clears deployment environment + sudo docker rmi -f $(sudo docker images -q) + sudo docker system prune -a --volumes -f + + # Step 14: Pull the latest images + docker pull ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master + docker pull ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master + + # Step 15: Run the docker containers + docker run -d -p 5173:5173 ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master + docker run -d -p 8081:8081 ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master + + # Step 16: Run post deployment tests + docker compose down + docker compose up -d --pull always + docker ps + docker exec -it ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master npm test + docker exec -it ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master npm test + EOF \ No newline at end of file diff --git a/CICD/docker-compose.yml b/CICD/docker-compose.yml new file mode 100644 index 00000000..4ad71fde --- /dev/null +++ b/CICD/docker-compose.yml @@ -0,0 +1,38 @@ +version: '3.8' + +services: + backend: + image: course-matrix/backend:latest + build: + context: ./backend + ports: + - "8081:8081" + env_file: + - ./backend/.env + volumes: + - ./backend:/app + - /app/node_modules + command: ["npm", "run", "prod"] + networks: + - course-matrix-net + + frontend: + image: course-matrix/frontend:latest + build: + context: ./frontend + args: + VITE_SERVER_URL: "http://34.130.253.243:8081" + ports: + - "5173:5173" + volumes: + - ./frontend:/app + - /app/node_modules + command: ["npm", "run", "prod"] + depends_on: + - backend + networks: + - course-matrix-net + +networks: + course-matrix-net: + driver: bridge \ No newline at end of file diff --git a/CourseMatrixLogo.png b/CourseMatrixLogo.png new file mode 100644 index 00000000..85d798aa Binary files /dev/null and b/CourseMatrixLogo.png differ diff --git a/README.md b/README.md index 5d69e779..59b88506 100644 --- a/README.md +++ b/README.md @@ -1 +1,121 @@ -[![Open in Visual Studio Code](https://classroom.github.com/assets/open-in-vscode-2e0aaae1b6195c2367325f4f02e2d04e9abb55f0b24a779b69b11b9e10269abc.svg)](https://classroom.github.com/online_ide?assignment_repo_id=17732403&assignment_repo_type=AssignmentRepo) +# Course Matrix: Your AI-Powered Academic Planner + +## Overview + +Course Matrix is an AI-powered platform designed to streamline the course selection and timetable creation process for undergraduate students at UTSC. + +![alt text](CourseMatrixLogo.png) + +By taking user preferences into consideration, Course Matrix is able to leverage AI to intelligently provide personalized course recommendations and generate optimized timetables. + +## Motivation + +At UTSC, students face challenges when it comes to managing their academic and personal schedules. The process of selecting the optimal courses and ensuring that course prerequisites are met can be time-consuming and overwhelming, especially for international and first-year students. The current systems for dealing with this problem are fragmented as they require students to check multiple websites. This leads to inefficiencies and potential errors in course selection. + +Course Matrix addresses these problems by providing a centralized, user-friendly platform that integrates the course database with advanced AI features. Our goal is to help students reduce scheduling errors, save valuable time, and provide a flexible, personalized approach to course planning. + +## Installation + +### Prerequisites + +You will need to install the following prerequisites to get started: +[NodeJS version 20.10.0 or above](https://nodejs.org/en/download) + +### Getting Started + +Follow these steps to install this application + +1. Clone this repo: + +``` +git clone https://github.com/UTSC-CSCC01-Software-Engineering-I/term-group-project-c01w25-project-course-matrix.git +``` + +2. Install npm packages + +``` +cd ./course-matrix +cd ./frontend +npm install +cd ../backend +npm install +``` + +3. Configure environment variables: Create a `.env` file in `/backend` and populate it with the following: + +``` +NODE_ENV="development" +PORT=8081 +CLIENT_APP_URL="http://localhost:5173" +DATABASE_URL=[Insert Supabase Project URL] +DATABASE_KEY=[Insert Supabase Project API key] + +OPENAI_API_KEY=[Insert OpenAI API Key] +PINECONE_API_KEY=[Insert Pinecone API Key] +PINECONE_INDEX_NAME="course-matrix" +``` + +The `DATABASE_URL` variable should contain your Supabase project url and the `DATABASE_KEY` should contain your Supabase project’s API key. To learn how to create a new Supabase project: see [here](https://medium.com/@heshramsis/building-a-crud-app-with-supabase-and-express-a-step-by-step-guide-for-junior-developers-81456b850910). Likewise, the `OPENAI_API_KEY` variable should contain your OpenAI Project API Key and the `PINECONE_API_KEY` should contain your Pinecone Project API Key. Note that for the purposes of this project, **we will provide the grader with all necessary API keys and URLs**. + +4. Configure environment variables for frontend. Create a `.env` file in `/frontend` and populate it with the following: + +``` +VITE_SERVER_URL="http://localhost:8081" +VITE_PUBLIC_ASSISTANT_BASE_URL=[Insert vite public assistant bas URL] +VITE_ASSISTANT_UI_KEY=[Insert vite assistant UI key] +``` + +### Running the Application + +To run the application locally: + +1. Run backend: + +``` +cd ./backend +npm run dev +``` + +2. Run frontend + +``` +cd ../frontend +npm run dev +``` + +Navigate to the url given by the environment variable `CLIENT_APP_URL` in `.env` to access the frontend web page. This should be `http://localhost:5173` initially. + +## Tech Stack and Software Architecture Pattern + +- Tech Stack: We utilize the PERN (PostgreSQL, Express, React, and Node) tech stack. + - The frontend and backend codebases both use TypeScript as a common language, which provides type safety across both codebases. + - Additionally, we chose to utilize Supabase as a cloud-managed wrapper for our PostgreSQL database. There are many benefits of this such as built-in authentication and authorization, managed hosting and scalability, as well as team based project management. + - We chose to use a relational database instead of a NoSQL database due to the structured nature of our data models (Users, Courses, Offerings, Timetables). + - For more info about our tech stack, refer to this [Google Docs document](https://docs.google.com/document/d/1_1IzFID0PmKTuQVWqW7zK-3XHz6-uZcC5yZ2Ghcq10E/edit?usp=sharing). +- Software Architecture Pattern: 3-Tier Architecture. + +## Contribution + +We use Jira as our ticketing website. Also, Course Matrix follows the git flow process. For more info, see the sections below for the [Branch Naming Rules](#branch-naming-rules) and the [Contribution Steps](#contribution-steps). + +### Branch Naming Rules + +- The `main` branch holds the production-ready code. +- The `develop` branch is the integration branch where new features and non-breaking fixes are added and tested. +- Feature branches and bugfix branches are created off the `develop` branch and are merged back into it when complete. Both feature branches and bugfix branches follow the naming convention `{initials}/{jira-ticket-number}-{descriptive-title}` (e.g. `ax/scrum-2-add-login-ui` could be an example of a feature branch name and `ax/scrum-3-fix-unresponsive-login-button` could be an example of a bugfix branch name). +- Release branches are created off the `develop` branch and are merged into the `develop` and `main` branches when complete. Release branches follow the naming convention `release/{version-number}` (e.g. `release/1.0`). +- Hotfix branches are created off the `main` branch and are merged into the `develop` and `main` branches when complete. Hotfix branches follow the naming convention `hotfix/{version-number}` (e.g. `hotfix/1.0.1`). + +### Contribution Steps + +1. Once you start working on a Jira ticket, set the status of that ticket to `In Progress` and create the associated branch for that ticket on GitHub. +2. Commit and push the necessary changes for your branch. +3. Create a pull request (PR) for your branch: + + - For hotfix or release branches, create one PR to merge it into the `main` branch and another one to merge it into the `develop` branch. + - For feature branches, create one PR to merge it into the `develop` branch. + +4. Get a PR approval from at least one other team member. +5. Merge the PR and mark the associated Jira ticket with a status of `Done`. + + - _Just as a FYI, our GitHub repo is configured to strictly use the [Squash and merge option](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#squash-and-merge-your-commits) for PRs with the default commit message set as the PR title._ diff --git a/course-matrix/backend/.gitignore b/course-matrix/backend/.gitignore new file mode 100644 index 00000000..1dcef2d9 --- /dev/null +++ b/course-matrix/backend/.gitignore @@ -0,0 +1,2 @@ +node_modules +.env \ No newline at end of file diff --git a/course-matrix/backend/Dockerfile b/course-matrix/backend/Dockerfile new file mode 100644 index 00000000..e6f7b00e --- /dev/null +++ b/course-matrix/backend/Dockerfile @@ -0,0 +1,20 @@ +# Use an official Node.js image +FROM node:18 + +# Set the working directory +WORKDIR /app + +# Copy package.json and package-lock.json +COPY package*.json ./ + +# Install dependencies +RUN npm install + +# Copy the rest of the application files +COPY . . + +# Expose the backend port +EXPOSE 8081 + +# Start the application +CMD ["npm", "run", "dev"] diff --git a/course-matrix/backend/__tests__/analyzeQuery.test.ts b/course-matrix/backend/__tests__/analyzeQuery.test.ts new file mode 100644 index 00000000..c9311929 --- /dev/null +++ b/course-matrix/backend/__tests__/analyzeQuery.test.ts @@ -0,0 +1,119 @@ +import { analyzeQuery } from "../src/utils/analyzeQuery"; +import { describe, test, expect, jest } from "@jest/globals"; +import { + NAMESPACE_KEYWORDS, + ASSISTANT_TERMS, + DEPARTMENT_CODES, +} from "../src/constants/promptKeywords"; + +// Mock the constants if needed +jest.mock("../src/constants/promptKeywords", () => ({ + NAMESPACE_KEYWORDS: { + courses_v3: ["course", "class", "description"], + offerings: ["offering", "schedule", "timetable"], + prerequisites: ["prerequisite", "prereq"], + corequisites: ["corequisite", "coreq"], + departments: ["department", "faculty"], + programs: ["program", "major", "minor"], + }, + ASSISTANT_TERMS: ["you", "your", "morpheus", "assistant"], + DEPARTMENT_CODES: ["cs", "math", "eng"], + GENERAL_ACADEMIC_TERMS: ["academic", "study", "education"], +})); + +describe("analyzeQuery", () => { + test("should return no search required for assistant-related queries", () => { + const result = analyzeQuery("Can you help me with something?"); + expect(result).toEqual({ + requiresSearch: false, + relevantNamespaces: [], + }); + }); + + test("should detect course-related keywords and return appropriate namespaces", () => { + const result = analyzeQuery("Tell me about this course"); + expect(result.requiresSearch).toBe(true); + expect(result.relevantNamespaces).toContain("courses_v3"); + }); + + test("should detect course codes and include relevant namespaces", () => { + const result = analyzeQuery("What is CSC108 about?"); + expect(result.requiresSearch).toBe(true); + expect(result.relevantNamespaces).toContain("courses_v3"); + expect(result.relevantNamespaces).toContain("offerings"); + expect(result.relevantNamespaces).toContain("prerequisites"); + }); + + test("should detect department codes and include relevant namespaces", () => { + const result = analyzeQuery("What math courses are available?"); + expect(result.requiresSearch).toBe(true); + expect(result.relevantNamespaces).toContain("departments"); + expect(result.relevantNamespaces).toContain("courses_v3"); + }); + + test("should detect offering-related keywords", () => { + const result = analyzeQuery("What is the schedule for winter semester?"); + expect(result.requiresSearch).toBe(true); + expect(result.relevantNamespaces).toContain("offerings"); + }); + + test("should detect prerequisite-related keywords", () => { + const result = analyzeQuery("What are the prerequisites for this class?"); + expect(result.requiresSearch).toBe(true); + expect(result.relevantNamespaces).toContain("prerequisites"); + }); + + test("should detect corequisite-related keywords", () => { + const result = analyzeQuery("Are there any corequisites for this course?"); + expect(result.requiresSearch).toBe(true); + expect(result.relevantNamespaces).toContain("corequisites"); + }); + + test("should return all namespaces when search is required but no specific namespaces identified", () => { + // Assuming GENERAL_ACADEMIC_TERMS includes 'academic' + const result = analyzeQuery("I need academic information"); + expect(result.requiresSearch).toBe(true); + expect(result.relevantNamespaces).toEqual([ + "courses_v3", + "offerings", + "prerequisites", + "corequisites", + "departments", + "programs", + ]); + }); + + test("should be case insensitive", () => { + const result = analyzeQuery("TELL ME ABOUT THIS COURSE"); + expect(result.requiresSearch).toBe(true); + expect(result.relevantNamespaces).toContain("courses_v3"); + }); + + test("should detect multiple namespaces in a single query", () => { + const result = analyzeQuery( + "What are the prerequisites and schedule for CSC108?", + ); + expect(result.requiresSearch).toBe(true); + expect(result.relevantNamespaces).toContain("prerequisites"); + expect(result.relevantNamespaces).toContain("offerings"); + expect(result.relevantNamespaces).toContain("courses_v3"); + }); + + test("should correctly identify course codes with different formats", () => { + const formats = [ + "CSC108", // Standard format + "CSC108H", // With suffix + "CSCA08", // Four letters + "MAT224", // Different department + "ECO100Y", // Another format + ]; + + formats.forEach((code) => { + const result = analyzeQuery(`Tell me about ${code}`); + expect(result.requiresSearch).toBe(true); + expect(result.relevantNamespaces).toContain("courses_v3"); + expect(result.relevantNamespaces).toContain("offerings"); + expect(result.relevantNamespaces).toContain("prerequisites"); + }); + }); +}); diff --git a/course-matrix/backend/__tests__/auth.test.ts b/course-matrix/backend/__tests__/auth.test.ts new file mode 100644 index 00000000..6332e27b --- /dev/null +++ b/course-matrix/backend/__tests__/auth.test.ts @@ -0,0 +1,81 @@ +import request from "supertest"; +import { describe, expect, it, test } from "@jest/globals"; +import app from "../src/index"; + +describe("Authentication API", () => { + // The unit tests below are currently commented out because they require a database connection. + // They will be uncommented out once all the necessary mocks are in place. + + // describe('POST /auth/login', () => { + // it('should return 200 and a token for valid credentials', async () => { + // const response = await request(app) + // .post('/auth/login') + // .send({ username: 'validUser', password: 'validPassword' }); + // expect(response.status).toBe(200); + // expect(response.body).toHaveProperty('token'); + // }); + // it('should return 401 for invalid credentials', async () => { + // const response = await request(app) + // .post('/auth/login') + // .send({ username: 'invalidUser', password: 'wrongPassword' }); + // expect(response.status).toBe(401); + // expect(response.body).toHaveProperty('error', 'Invalid credentials'); + // }); + // it('should return 400 if username or password is missing', async () => { + // const response = await request(app) + // .post('/auth/login') + // .send({ username: 'validUser' }); + // expect(response.status).toBe(400); + // expect(response.body).toHaveProperty('error', 'Username and password are required'); + // }); + // }); + // describe('POST /auth/register', () => { + // it('should return 201 and create a new user for valid input', async () => { + // const response = await request(app) + // .post('/auth/register') + // .send({ username: 'newUser', password: 'newPassword' }); + // expect(response.status).toBe(201); + // expect(response.body).toHaveProperty('message', 'User registered successfully'); + // }); + // it('should return 400 if username is already taken', async () => { + // await request(app) + // .post('/auth/register') + // .send({ username: 'existingUser', password: 'password123' }); + // const response = await request(app) + // .post('/auth/register') + // .send({ username: 'existingUser', password: 'password123' }); + // expect(response.status).toBe(400); + // expect(response.body).toHaveProperty('error', 'Username is already taken'); + // }); + // it('should return 400 if username or password is missing', async () => { + // const response = await request(app) + // .post('/auth/register') + // .send({ username: '' }); + // expect(response.status).toBe(400); + // expect(response.body).toHaveProperty('error', 'Username and password are required'); + // }); + // }); + // describe('GET /auth/profile', () => { + // it('should return 200 and user profile for valid token', async () => { + // const loginResponse = await request(app) + // .post('/auth/login') + // .send({ username: 'validUser', password: 'validPassword' }); + // const token = loginResponse.body.token; + // const response = await request(app) + // .get('/auth/profile') + // .set('Authorization', `Bearer ${token}`); + // expect(response.status).toBe(200); + // expect(response.body).toHaveProperty('username', 'validUser'); + // }); + // it('should return 401 if token is missing or invalid', async () => { + // const response = await request(app) + // .get('/auth/profile') + // .set('Authorization', 'Bearer invalidToken'); + // expect(response.status).toBe(401); + // expect(response.body).toHaveProperty('error', 'Unauthorized'); + // }); + // }); + it("template test", () => { + expect(2 + 3).toEqual(5); + }); +}); diff --git a/course-matrix/backend/__tests__/canInsert.test.ts b/course-matrix/backend/__tests__/canInsert.test.ts new file mode 100644 index 00000000..0654ae1e --- /dev/null +++ b/course-matrix/backend/__tests__/canInsert.test.ts @@ -0,0 +1,170 @@ +import { describe, expect, it, test } from "@jest/globals"; + +import { Offering } from "../src/types/generatorTypes"; +import { + canInsert, + canInsertList, + createOffering, +} from "../src/utils/generatorHelpers"; + +describe("canInsert function", () => { + const offering1: Offering = createOffering({ + id: 1, + course_id: 101, + day: "MO", + start: "09:00:00", + end: "10:00:00", + }); + const offering2: Offering = createOffering({ + id: 2, + course_id: 102, + day: "MO", + start: "10:00:00", + end: "11:00:00", + }); + const offering3: Offering = createOffering({ + id: 3, + course_id: 103, + day: "MO", + start: "11:00:00", + end: "12:00:00", + }); + + it("should return true if there is no overlap with existing offerings", async () => { + const toInsert: Offering = createOffering({ + id: 4, + course_id: 104, + day: "MO", + start: "12:00:00", + end: "13:00:00", + }); + const curList: Offering[] = [offering1, offering2, offering3]; + + const result = await canInsert(toInsert, curList); + + expect(result).toBe(true); // No overlap, should return true + }); + + it("should return false if there is an overlap with an existing offering", async () => { + const toInsert: Offering = createOffering({ + id: 4, + course_id: 104, + day: "MO", + start: "09:30:00", + end: "10:30:00", + }); + const curList: Offering[] = [offering1, offering2, offering3]; + + const result = await canInsert(toInsert, curList); + + expect(result).toBe(false); // There is an overlap with offering1, should return false + }); + + it("should return true if the new offering starts after the last one ends", async () => { + const toInsert: Offering = createOffering({ + id: 4, + course_id: 104, + day: "MO", + start: "13:00:00", + end: "14:00:00", + }); + const curList: Offering[] = [offering1, offering2, offering3]; + + const result = await canInsert(toInsert, curList); + + expect(result).toBe(true); // No overlap, should return true + }); + + it("should return true if the new offering ends before the first one starts", async () => { + const toInsert: Offering = createOffering({ + id: 4, + course_id: 104, + day: "MO", + start: "07:00:00", + end: "08:00:00", + }); + const curList: Offering[] = [offering1, offering2, offering3]; + + const result = await canInsert(toInsert, curList); + + expect(result).toBe(true); // No overlap, should return true + }); + + it("should return false if the new offering is completely inside an existing one", async () => { + const toInsert: Offering = createOffering({ + id: 4, + course_id: 104, + day: "MO", + start: "09:30:00", + end: "09:45:00", + }); + const curList: Offering[] = [offering1, offering2, offering3]; + + const result = await canInsert(toInsert, curList); + + expect(result).toBe(false); // Overlaps with offering1, should return false + }); + + it("should return true if the day is different (no overlap)", async () => { + const toInsert: Offering = createOffering({ + id: 4, + course_id: 104, + day: "TU", + start: "09:00:00", + end: "10:00:00", + }); + const curList: Offering[] = [offering1, offering2, offering3]; + + const result = await canInsert(toInsert, curList); + + expect(result).toBe(true); // Different day, no overlap + }); + + it("special case", async () => { + const toInsert: Offering = createOffering({ + id: 1069, + course_id: 1271, + day: "TH", + start: "05:00:00", + end: "17:00:00", + }); + const offering11: Offering = createOffering({ + id: 414, + course_id: 337, + day: "TU", + start: "15:00:00", + end: "16:00:00", + }); + const offering12: Offering = createOffering({ + id: 415, + course_id: 337, + day: "TH", + start: "15:00:00", + end: "17:00:00", + }); + const offering13: Offering = createOffering({ + id: 1052, + course_id: 1271, + day: "TU", + start: "10:00:00", + end: "11:00:00", + }); + const offering14: Offering = createOffering({ + id: 1053, + course_id: 1271, + day: "TU", + start: "09:00:00", + end: "11:00:00", + }); + const curList: Offering[] = [ + offering11, + offering12, + offering13, + offering14, + ]; + + const result = await canInsertList([toInsert], curList); + + expect(result).toBe(false); // Special bug-causing case + }); +}); diff --git a/course-matrix/backend/__tests__/correctDay.test.ts b/course-matrix/backend/__tests__/correctDay.test.ts new file mode 100644 index 00000000..2dd90eaf --- /dev/null +++ b/course-matrix/backend/__tests__/correctDay.test.ts @@ -0,0 +1,255 @@ +import { describe, expect, jest, test } from "@jest/globals"; +import { isDateBetween } from "../src/utils/compareDates"; + +// For testing purposes, we need to modify the function to accept a custom "now" date +// This allows us to test all scenarios regardless of the current date +function correctDay(offering: any, customNow?: Date): boolean { + const weekdays = ["SU", "MO", "TU", "WE", "TH", "FR", "SA"]; + const semester = offering?.offering; + const day = offering?.day; + if (!semester || !day) return false; + const now = customNow || new Date(); + let startDay; + let endDay; + if (semester === "Summer 2025") { + startDay = new Date(2025, 5, 2); + endDay = new Date(2025, 8, 7); + } else if (semester === "Fall 2025") { + startDay = new Date(2025, 9, 3); + endDay = new Date(2025, 12, 3); + } else { + // Winter 2026 + startDay = new Date(2026, 1, 6); + endDay = new Date(2026, 4, 4); + } + if (!isDateBetween(now, startDay, endDay)) { + return false; + } + if (weekdays[now.getDay()] !== day) { + return false; + } + return true; +} + +describe("correctDay function", () => { + test("should return false for null or undefined offering", () => { + expect(correctDay(null)).toBe(false); + expect(correctDay(undefined)).toBe(false); + }); + + test("should return false for missing offering properties", () => { + expect(correctDay({})).toBe(false); + expect(correctDay({ offering: "Summer 2025" })).toBe(false); + expect(correctDay({ day: "MO" })).toBe(false); + }); + + test("should validate correct day in Summer 2025", () => { + // Create specific dates for each day of the week within Summer 2025 + const summerDates = [ + new Date(2025, 5, 8), // Sunday (June 8, 2025) + new Date(2025, 5, 9), // Monday (June 9, 2025) + new Date(2025, 5, 10), // Tuesday (June 10, 2025) + new Date(2025, 5, 11), // Wednesday (June 11, 2025) + new Date(2025, 5, 12), // Thursday (June 12, 2025) + new Date(2025, 5, 13), // Friday (June 13, 2025) + new Date(2025, 5, 14), // Saturday (June 14, 2025) + ]; + + // Test each day with its corresponding date + const weekdays = ["SU", "MO", "TU", "WE", "TH", "FR", "SA"]; + summerDates.forEach((date, index) => { + // Make sure the getDay returns the expected index + jest.spyOn(date, "getDay").mockReturnValue(index); + + // This should pass only for the matching day + expect( + correctDay({ offering: "Summer 2025", day: weekdays[index] }, date), + ).toBe(true); + + // Test all other days should fail + weekdays.forEach((wrongDay, wrongIndex) => { + if (wrongIndex !== index) { + expect( + correctDay({ offering: "Summer 2025", day: wrongDay }, date), + ).toBe(false); + } + }); + }); + }); + + test("should validate correct day in Fall 2025", () => { + // Create a date in Fall 2025 + const fallDate = new Date(2025, 9, 15); // October 15, 2025 + + // Mock getDay to return 3 (Wednesday) + jest.spyOn(fallDate, "getDay").mockReturnValue(3); + + // Test all days - only Wednesday should pass + expect(correctDay({ offering: "Fall 2025", day: "WE" }, fallDate)).toBe( + true, + ); + expect(correctDay({ offering: "Fall 2025", day: "SU" }, fallDate)).toBe( + false, + ); + expect(correctDay({ offering: "Fall 2025", day: "MO" }, fallDate)).toBe( + false, + ); + expect(correctDay({ offering: "Fall 2025", day: "TU" }, fallDate)).toBe( + false, + ); + expect(correctDay({ offering: "Fall 2025", day: "TH" }, fallDate)).toBe( + false, + ); + expect(correctDay({ offering: "Fall 2025", day: "FR" }, fallDate)).toBe( + false, + ); + expect(correctDay({ offering: "Fall 2025", day: "SA" }, fallDate)).toBe( + false, + ); + }); + + test("should validate correct day in Winter 2026", () => { + // Create a date in Winter 2026 + const winterDate = new Date(2026, 1, 20); // February 20, 2026 + + // Mock getDay to return 5 (Friday) + jest.spyOn(winterDate, "getDay").mockReturnValue(5); + + // Test all days - only Friday should pass + expect(correctDay({ offering: "Winter 2026", day: "FR" }, winterDate)).toBe( + true, + ); + expect(correctDay({ offering: "Winter 2026", day: "SU" }, winterDate)).toBe( + false, + ); + expect(correctDay({ offering: "Winter 2026", day: "MO" }, winterDate)).toBe( + false, + ); + expect(correctDay({ offering: "Winter 2026", day: "TU" }, winterDate)).toBe( + false, + ); + expect(correctDay({ offering: "Winter 2026", day: "WE" }, winterDate)).toBe( + false, + ); + expect(correctDay({ offering: "Winter 2026", day: "TH" }, winterDate)).toBe( + false, + ); + expect(correctDay({ offering: "Winter 2026", day: "SA" }, winterDate)).toBe( + false, + ); + }); + + test("should return false when date is outside semester range", () => { + // Create dates outside each semester range + const beforeSummer = new Date(2025, 5, 1); // June 1, 2025 (before Summer 2025) + const afterSummer = new Date(2025, 8, 8); // September 8, 2025 (after Summer 2025) + const beforeFall = new Date(2025, 9, 2); // October 2, 2025 (before Fall 2025) + const afterFall = new Date(2025, 12, 4); // December 4, 2025 (after Fall 2025) + const beforeWinter = new Date(2026, 1, 5); // February 5, 2026 (before Winter 2026) + const afterWinter = new Date(2026, 4, 5); // May 5, 2026 (after Winter 2026) + + // Mock getDay to return 0 (Sunday) for all dates + const testDates = [ + beforeSummer, + afterSummer, + beforeFall, + afterFall, + beforeWinter, + afterWinter, + ]; + testDates.forEach((date) => { + jest.spyOn(date, "getDay").mockReturnValue(0); + }); + + // Test dates outside Summer 2025 + expect( + correctDay({ offering: "Summer 2025", day: "SU" }, beforeSummer), + ).toBe(false); + expect( + correctDay({ offering: "Summer 2025", day: "SU" }, afterSummer), + ).toBe(false); + + // Test dates outside Fall 2025 + expect(correctDay({ offering: "Fall 2025", day: "SU" }, beforeFall)).toBe( + false, + ); + expect(correctDay({ offering: "Fall 2025", day: "SU" }, afterFall)).toBe( + false, + ); + + // Test dates outside Winter 2026 + expect( + correctDay({ offering: "Winter 2026", day: "SU" }, beforeWinter), + ).toBe(false); + expect( + correctDay({ offering: "Winter 2026", day: "SU" }, afterWinter), + ).toBe(false); + }); + + test("should return true for dates inside semester range", () => { + // Create dates inside each semester range + const duringSummer = new Date(2025, 6, 15); // July 15, 2025 (during Summer 2025) + const duringFall = new Date(2025, 10, 15); // November 15, 2025 (during Fall 2025) + const duringWinter = new Date(2026, 2, 15); // March 15, 2026 (during Winter 2026) + + // Mock getDay to return 0 (Sunday) for all dates + const testDates = [duringSummer, duringFall, duringWinter]; + testDates.forEach((date) => { + jest.spyOn(date, "getDay").mockReturnValue(0); + }); + + // Test dates inside each semester (with matching day) + expect( + correctDay({ offering: "Summer 2025", day: "SU" }, duringSummer), + ).toBe(true); + expect(correctDay({ offering: "Fall 2025", day: "SU" }, duringFall)).toBe( + true, + ); + expect( + correctDay({ offering: "Winter 2026", day: "SU" }, duringWinter), + ).toBe(true); + }); + + test("should validate edge dates correctly", () => { + // Test exact start and end dates of semesters + const summerStart = new Date(2025, 5, 2); // June 2, 2025 + const summerEnd = new Date(2025, 8, 7); // September 7, 2025 + const fallStart = new Date(2025, 9, 3); // October 3, 2025 + const fallEnd = new Date(2025, 12, 3); // December 3, 2025 + const winterStart = new Date(2026, 1, 6); // February 6, 2026 + const winterEnd = new Date(2026, 4, 4); // May 4, 2026 + + // Mock getDay to return 0 (Sunday) for all dates + const edgeDates = [ + summerStart, + summerEnd, + fallStart, + fallEnd, + winterStart, + winterEnd, + ]; + edgeDates.forEach((date) => { + jest.spyOn(date, "getDay").mockReturnValue(0); + }); + + // Edge dates should be included in the valid range + expect( + correctDay({ offering: "Summer 2025", day: "SU" }, summerStart), + ).toBe(true); + expect(correctDay({ offering: "Summer 2025", day: "SU" }, summerEnd)).toBe( + true, + ); + expect(correctDay({ offering: "Fall 2025", day: "SU" }, fallStart)).toBe( + true, + ); + expect(correctDay({ offering: "Fall 2025", day: "SU" }, fallEnd)).toBe( + true, + ); + expect( + correctDay({ offering: "Winter 2026", day: "SU" }, winterStart), + ).toBe(true); + expect(correctDay({ offering: "Winter 2026", day: "SU" }, winterEnd)).toBe( + true, + ); + }); +}); diff --git a/course-matrix/backend/__tests__/getFrequencyTable.test.ts b/course-matrix/backend/__tests__/getFrequencyTable.test.ts new file mode 100644 index 00000000..b5aedade --- /dev/null +++ b/course-matrix/backend/__tests__/getFrequencyTable.test.ts @@ -0,0 +1,83 @@ +import { describe, expect, it, test } from "@jest/globals"; + +import { + createOffering, + getFrequencyTable, +} from "../src/utils/generatorHelpers"; +import { Offering } from "../src/types/generatorTypes"; + +describe("getFrequencyTable", () => { + test("should return a frequency map of days", () => { + const offering1: Offering = createOffering({ + id: 1, + course_id: 101, + day: "MO", + start: "09:00:00", + end: "10:00:00", + }); + const offering2: Offering = createOffering({ + id: 2, + course_id: 102, + day: "TU", + start: "10:00:00", + end: "11:00:00", + }); + const offering3: Offering = createOffering({ + id: 3, + course_id: 103, + day: "TU", + start: "11:00:00", + end: "12:00:00", + }); + const offering4: Offering = createOffering({ + id: 4, + course_id: 104, + day: "MO", + start: "11:00:00", + end: "12:00:00", + }); + const offering5: Offering = createOffering({ + id: 5, + course_id: 105, + day: "WE", + start: "11:00:00", + end: "12:00:00", + }); + const offering6: Offering = createOffering({ + id: 6, + course_id: 106, + day: "WE", + start: "11:00:00", + end: "12:00:00", + }); + const offering7: Offering = createOffering({ + id: 7, + course_id: 107, + day: "WE", + start: "11:00:00", + end: "12:00:00", + }); + + const result = getFrequencyTable([ + offering1, + offering2, + offering3, + offering4, + offering5, + offering6, + offering7, + ]); + + expect(result.get("MO")).toBe(2); + expect(result.get("TU")).toBe(2); + expect(result.get("WE")).toBe(3); + expect(result.get("TH")).toBeUndefined(); // Day not in data + expect(result.get("FR")).toBeUndefined(); // Day not in data + expect(result.size).toBe(3); + }); + + test("should return an empty map for an empty array", () => { + const result = getFrequencyTable([]); + expect(result.size).toBe(0); + }); +}); diff --git a/course-matrix/backend/__tests__/getMinHourDay.test.ts b/course-matrix/backend/__tests__/getMinHourDay.test.ts new file mode 100644 index 00000000..5703db76 --- /dev/null +++ b/course-matrix/backend/__tests__/getMinHourDay.test.ts @@ -0,0 +1,193 @@ +import { describe, expect, it, test } from "@jest/globals"; + +import { Offering } from "../src/types/generatorTypes"; +import { + createOffering, + getMinHour, + getMinHourDay, +} from "../src/utils/generatorHelpers"; + +describe("getMinHourDay function", () => { + it("Back to back to back courses", async () => { + const offering1: Offering = createOffering({ + id: 1, + course_id: 101, + day: "MO", + start: "09:00:00", + end: "10:00:00", + }); + const offering2: Offering = createOffering({ + id: 2, + course_id: 102, + day: "MO", + start: "10:00:00", + end: "11:00:00", + }); + const offering3: Offering = createOffering({ + id: 3, + course_id: 103, + day: "MO", + start: "11:00:00", + end: "12:00:00", + }); + const schedule: Offering[] = [offering1, offering2, offering3]; + + const result = getMinHourDay(schedule, 0); + + expect(result).toBe(true); + }); + + it("courses that has a max gap of 4 hours", async () => { + const offering1: Offering = createOffering({ + id: 1, + course_id: 101, + day: "MO", + start: "09:00:00", + end: "10:00:00", + }); + const offering2: Offering = createOffering({ + id: 2, + course_id: 102, + day: "MO", + start: "10:00:00", + end: "11:00:00", + }); + const offering3: Offering = createOffering({ + id: 3, + course_id: 103, + day: "MO", + start: "15:00:00", + end: "16:00:00", + }); + const schedule: Offering[] = [offering3, offering2, offering1]; + + const result = getMinHourDay(schedule, 3); + + expect(result).toBe(false); + }); + + it("only 1 offering in list, return 0", async () => { + const offering1: Offering = createOffering({ + id: 1, + course_id: 101, + day: "MO", + start: "09:00:00", + end: "10:00:00", + }); + const schedule: Offering[] = [offering1]; + + const result = getMinHourDay(schedule, 23); + + expect(result).toBe(true); + }); + + it("getMinHour test", async () => { + const arr_day = [ + "MO", + "MO", + "TU", + "TH", + "FR", + "MO", + "TU", + "TH", + "MO", + "MO", + ]; + const arr_start = [ + "09:00:00", + "10:00:00", + "09:00:00", + "12:00:00", + "13:00:00", + "12:00:00", + "14:00:00", + "16:00:00", + "13:00:00", + "15:00:00", + ]; + const arr_end = [ + "10:00:00", + "11:00:00", + "10:00:00", + "15:00:00", + "16:00:00", + "13:00:00", + "19:00:00", + "18:00:00", + "14:00:00", + "18:00:00", + ]; + const schedule: Offering[] = []; + for (let i = 0; i < 10; i++) { + schedule.push( + createOffering({ + id: i, + course_id: 100 + i, + day: arr_day[i], + start: arr_start[i], + end: arr_end[i], + }), + ); + } + + const result = getMinHour(schedule, 4); + + expect(result).toEqual(true); + }); + + it("getMinHour test 2", async () => { + const arr_day = [ + "MO", + "MO", + "TU", + "TH", + "FR", + "MO", + "TU", + "TH", + "MO", + "MO", + ]; + const arr_start = [ + "09:00:00", + "10:00:00", + "09:00:00", + "12:00:00", + "13:00:00", + "12:00:00", + "14:00:00", + "16:00:00", + "13:00:00", + "15:00:00", + ]; + const arr_end = [ + "10:00:00", + "11:00:00", + "10:00:00", + "15:00:00", + "16:00:00", + "13:00:00", + "19:00:00", + "18:00:00", + "14:00:00", + "18:00:00", + ]; + const schedule: Offering[] = []; + for (let i = 0; i < 10; i++) { + schedule.push( + createOffering({ + id: i, + course_id: 100 + i, + day: arr_day[i], + start: arr_start[i], + end: arr_end[i], + }), + ); + } + + const result = getMinHour(schedule, 3); + + expect(result).toEqual(false); + }); +}); diff --git a/course-matrix/backend/__tests__/includeFilters.test.ts b/course-matrix/backend/__tests__/includeFilters.test.ts new file mode 100644 index 00000000..a72dceff --- /dev/null +++ b/course-matrix/backend/__tests__/includeFilters.test.ts @@ -0,0 +1,124 @@ +import { + BREADTH_REQUIREMENT_KEYWORDS, + YEAR_LEVEL_KEYWORDS, +} from "../src/constants/promptKeywords"; +import { includeFilters } from "../src/utils/includeFilters"; +import { describe, test, expect, jest, beforeEach } from "@jest/globals"; +import * as ModuleType from "../src/utils/convert-breadth-requirement"; +import * as ModuleType0 from "../src/utils/convert-year-level"; + +// Create mock functions +const mockConvertBreadthRequirement = jest.fn( + (namespace) => `converted_${namespace}`, +); +const mockConvertYearLevel = jest.fn((namespace) => `converted_${namespace}`); + +// Mock the modules +jest.mock("../src/utils/convert-breadth-requirement", () => ({ + convertBreadthRequirement: (namespace: string) => + mockConvertBreadthRequirement(namespace), +})); + +jest.mock("../src/utils/convert-year-level", () => ({ + convertYearLevel: (namespace: string) => mockConvertYearLevel(namespace), +})); + +describe("includeFilters", () => { + beforeEach(() => { + // Clear mock data before each test + mockConvertBreadthRequirement.mockClear(); + mockConvertYearLevel.mockClear(); + }); + + test("should return empty object when no filters match", () => { + const query = "something random"; + const result = includeFilters(query); + expect(result).toEqual({}); + }); + + test("should match breadth requirement keywords case-insensitively", () => { + const query = "I want to study ART Literature"; + const result = includeFilters(query); + expect(result).toEqual({ + $or: [{ breadth_requirement: { $eq: "converted_ART_LIT_LANG" } }], + }); + }); + + test("should match year level keywords case-insensitively", () => { + const query = "Looking for A-level courses"; + const result = includeFilters(query); + expect(result).toEqual({ + $or: [{ year_level: { $eq: "converted_first_year" } }], + }); + }); + + test("should combine both breadth and year level filters with $and when both are present", () => { + const query = "Natural Science First-Year courses"; + const result = includeFilters(query); + expect(result).toEqual({ + $and: [ + { + $or: [{ breadth_requirement: { $eq: "converted_NAT_SCI" } }], + }, + { + $or: [{ year_level: { $eq: "converted_first_year" } }], + }, + ], + }); + }); + + test("should handle multiple breadth requirements", () => { + const query = "social science or quantitative reasoning"; + const result = includeFilters(query); + expect(result).toEqual({ + $or: [ + { breadth_requirement: { $eq: "converted_SOCIAL_SCI" } }, + { breadth_requirement: { $eq: "converted_QUANT" } }, + ], + }); + }); + + test("should handle multiple year levels", () => { + const query = "third year or fourth-year courses"; + const result = includeFilters(query); + expect(result).toEqual({ + $or: [ + { year_level: { $eq: "converted_third_year" } }, + { year_level: { $eq: "converted_fourth_year" } }, + ], + }); + }); + + test("should handle multiple breadth requirements and year levels", () => { + const query = "history philosophy B-level or C-level"; + const result = includeFilters(query); + console.log(result); + expect(result).toEqual({ + $and: [ + { + $or: [{ breadth_requirement: { $eq: "converted_HIS_PHIL_CUL" } }], + }, + { + $or: [ + { year_level: { $eq: "converted_second_year" } }, + { year_level: { $eq: "converted_third_year" } }, + ], + }, + ], + }); + }); + + test("should ignore partial keyword matches", () => { + // "art" alone shouldn't match "art literature language" + const query = "art courses"; + const result = includeFilters(query); + // This should not match any specific filter since "art" alone isn't in the keywords + expect(result).toEqual({}); + }); + + test("should handle edge case with empty query", () => { + const query = ""; + const result = includeFilters(query); + expect(result).toEqual({}); + }); +}); diff --git a/course-matrix/backend/__tests__/index.test.ts b/course-matrix/backend/__tests__/index.test.ts new file mode 100644 index 00000000..28f3930f --- /dev/null +++ b/course-matrix/backend/__tests__/index.test.ts @@ -0,0 +1,9 @@ +import { describe, test, expect } from "@jest/globals"; +import request from "supertest"; +import app from "../src/index"; + +describe("Sum function", () => { + test("Returns correct value", () => { + expect(2 + 3).toEqual(5); + }); +}); diff --git a/course-matrix/backend/__tests__/isValidOffering.test.ts b/course-matrix/backend/__tests__/isValidOffering.test.ts new file mode 100644 index 00000000..f994bba6 --- /dev/null +++ b/course-matrix/backend/__tests__/isValidOffering.test.ts @@ -0,0 +1,112 @@ +import { describe, expect, it, test } from "@jest/globals"; + +import { + Offering, + Restriction, + RestrictionType, +} from "../src/types/generatorTypes"; +import { createOffering, isValidOffering } from "../src/utils/generatorHelpers"; + +describe("isValidOffering", () => { + const sampleOffering: Offering = createOffering({ + id: 1, + course_id: 101, + day: "MO", + start: "10:00:00", + end: "11:00:00", + }); + + test("should allow offering if there are no restrictions", () => { + expect(isValidOffering(sampleOffering, [])).toBe(true); + }); + + test("should allow offering if all restrictions are disabled", () => { + const restrictions: Restriction[] = [ + { + type: RestrictionType.RestrictBefore, + days: ["MO"], + startTime: "", + endTime: "09:00:00", + disabled: true, + numDays: 0, + maxGap: 24, + }, + ]; + expect(isValidOffering(sampleOffering, restrictions)).toBe(true); + }); + + test("should reject offering if it starts before restriction start time", () => { + const restrictions: Restriction[] = [ + { + type: RestrictionType.RestrictBefore, + days: ["MO"], + startTime: "", + endTime: "11:00:00", + disabled: false, + numDays: 0, + maxGap: 24, + }, + ]; + expect(isValidOffering(sampleOffering, restrictions)).toBe(false); + }); + + test("should reject offering if it ends after restriction end time", () => { + const restrictions: Restriction[] = [ + { + type: RestrictionType.RestrictAfter, + days: ["MO"], + startTime: "10:30:00", + endTime: "", + disabled: false, + numDays: 0, + maxGap: 24, + }, + ]; + expect(isValidOffering(sampleOffering, restrictions)).toBe(false); + }); + + test("should reject offering if it is within restricted time range", () => { + const restrictions: Restriction[] = [ + { + type: RestrictionType.RestrictBetween, + days: ["MO"], + startTime: "09:00:00", + endTime: "12:00:00", + disabled: false, + numDays: 0, + maxGap: 24, + }, + ]; + expect(isValidOffering(sampleOffering, restrictions)).toBe(false); + }); + + test("should reject offering if the day is restricted", () => { + const restrictions: Restriction[] = [ + { + type: RestrictionType.RestrictDay, + days: ["MO"], + startTime: "", + endTime: "", + disabled: false, + numDays: 0, + maxGap: 24, + }, + ]; + expect(isValidOffering(sampleOffering, restrictions)).toBe(false); + }); + + test("should allow offering if the day is not restricted", () => { + const restrictions: Restriction[] = [ + { + type: RestrictionType.RestrictDay, + days: ["TU"], + startTime: "", + endTime: "", + disabled: false, + numDays: 0, + maxGap: 24, + }, + ]; + expect(isValidOffering(sampleOffering, restrictions)).toBe(true); + }); +}); diff --git a/course-matrix/backend/__tests__/restrictionsController.test.ts b/course-matrix/backend/__tests__/restrictionsController.test.ts new file mode 100644 index 00000000..770c8f7c --- /dev/null +++ b/course-matrix/backend/__tests__/restrictionsController.test.ts @@ -0,0 +1,551 @@ +import request from "supertest"; +import restrictionsController from "../src/controllers/restrictionsController"; +import { Request, Response, NextFunction } from "express"; +import { + jest, + describe, + test, + expect, + beforeEach, + afterAll, +} from "@jest/globals"; +import { authHandler } from "../src/middleware/authHandler"; +import { supabase } from "../src/db/setupDb"; +import { + instanceOfErrorResponse, + Json, +} from "@pinecone-database/pinecone/dist/pinecone-generated-ts-fetch/db_control"; +import app from "../src/index"; +import { server } from "../src/index"; +import { errorConverter } from "../src/middleware/errorHandler"; + +//Handle AI import from index.ts +jest.mock("@ai-sdk/openai", () => ({ + createOpenAI: jest.fn(() => ({ + chat: jest.fn(), + })), +})); + +jest.mock("ai", () => ({ + streamText: jest.fn(() => + Promise.resolve({ pipeDataStreamToResponse: jest.fn() }), + ), +})); + +jest.mock("@pinecone-database/pinecone", () => ({ + Pinecone: jest.fn(() => ({ + Index: jest.fn(() => ({ + query: jest.fn(), + upsert: jest.fn(), + delete: jest.fn(), + })), + })), +})); + +jest.mock("node-cron", () => ({ + schedule: jest.fn(), // Mock the `schedule` function +})); + +afterAll(async () => { + server.close(); +}); + +// Function to create authenticated session dynamically based as provided user_id +const mockAuthHandler = (user_id: string) => { + return (req: Request, res: Response, next: NextFunction) => { + (req as any).user = { id: user_id }; // Inject user_id dynamically + next(); + }; +}; + +// Mock authHandler globally +jest.mock("../src/middleware/authHandler", () => ({ + authHandler: jest.fn() as jest.MockedFunction, +})); + +// Mock timetables dataset +const mockRestriction = { + id: 1, + restriction_type: "Restrict Between", + user_id: "testuser04-f84fd0da-d775-4424-ad88-d9675282453c", + start_time: "13:30:00", + end_time: "14:30:00", + days: ["MO", "TUE"], + disabled: false, +}; + +const mockRestriction2 = { + id: 1, + calendar_id: 1, + restriction_type: "Restrict Between", + user_id: "testuser05-f84fd0da-d775-4424-ad88-d9675282453c", + start_time: "13:30:00", + end_time: "14:30:00", + days: ["MO", "TUE"], + disabled: false, +}; + +const mockTimetables1 = { + id: 1, + user_id: "testuser04-f84fd0da-d775-4424-ad88-d9675282453c", +}; + +const mockTimetables2 = { + id: 1, + user_id: "testuser05-f84fd0da-d775-4424-ad88-d9675282453c", +}; + +// Spy on the createRestriction method +jest + .spyOn(restrictionsController, "createRestriction") + .mockImplementation(restrictionsController.createRestriction); + +// Spy on the createTimetable method +jest + .spyOn(restrictionsController, "getRestriction") + .mockImplementation(restrictionsController.getRestriction); + +// Spy on the updateTimetable method +jest + .spyOn(restrictionsController, "updateRestriction") + .mockImplementation(restrictionsController.updateRestriction); + +// Spy on the deleteTimetable method +jest + .spyOn(restrictionsController, "deleteRestriction") + .mockImplementation(restrictionsController.deleteRestriction); + +// Mock data set response to qeury +jest.mock("../src/db/setupDb", () => ({ + supabase: { + //Mock return from schema, from and select to chain the next query command + schema: jest.fn().mockReturnThis(), + from: jest.fn().mockImplementation((key, value) => { + if (key === "timetables") { + return { + select: jest.fn().mockReturnThis(), + eq: jest.fn().mockImplementation((key, value) => { + //Each test case is codded by the user_id in session + //DB response 3: Combine .eq and .maybeSingle to signify that the return value could be single: Return non null value + if ( + key === "user_id" && + value === "testuser03-f84fd0da-d775-4424-ad88-d9675282453c" + ) { + return { + eq: jest.fn().mockReturnThis(), + maybeSingle: jest.fn().mockImplementation(() => { + return { data: null, error: null }; + }), + }; + } + //DB response 4: Combine .eq and .maybeSingle to signify that the return value could be single: Return null value + if ( + key === "user_id" && + value === "testuser04-f84fd0da-d775-4424-ad88-d9675282453c" + ) { + return { + eq: jest.fn().mockReturnThis(), // Allow further chaining of eq if required + maybeSingle: jest.fn().mockImplementation(() => { + return { data: mockTimetables1, error: null }; + }), + }; + } + + if ( + key === "user_id" && + value === "testuser05-f84fd0da-d775-4424-ad88-d9675282453c" + ) { + return { + eq: jest.fn().mockReturnThis(), // Allow further chaining of eq if required + maybeSingle: jest.fn().mockImplementation(() => { + return { data: mockTimetables2, error: null }; + }), + }; + } + }), + }; + } + return { + select: jest.fn().mockReturnThis(), + eq: jest.fn().mockImplementation((key, value) => { + if ( + key === "user_id" && + value === "testuser03-f84fd0da-d775-4424-ad88-d9675282453c" + ) { + return { + eq: jest.fn().mockImplementation((key, value) => { + if (key === "calendar_id" && value === "1") { + return { + eq: jest.fn().mockReturnThis(), + maybeSingle: jest.fn().mockImplementation(() => { + return { + data: null, + error: null, + }; + }), + }; + } + }), + }; + } + if ( + key === "user_id" && + value === "testuser04-f84fd0da-d775-4424-ad88-d9675282453c" + ) { + return { + eq: jest.fn().mockImplementation((key, value) => { + if (key === "calendar_id" && value === "1") { + return { data: mockRestriction, error: null }; + } + }), + }; + } + if ( + key === "user_id" && + value === "testuser05-f84fd0da-d775-4424-ad88-d9675282453c" + ) { + return { + eq: jest.fn().mockImplementation((key, value) => { + if (key === "calendar_id" && value === "1") { + return { + eq: jest.fn().mockReturnThis(), + maybeSingle: jest.fn().mockImplementation(() => { + return { data: mockRestriction2, error: null }; + }), + }; + } + }), + }; + } + return { data: null, error: null }; + }), + insert: jest.fn().mockImplementation((data: Json) => { + //DB response 5: Create timetable successfully, new timetable data is responded + if ( + data && + data[0].user_id === + "testuser04-f84fd0da-d775-4424-ad88-d9675282453c" + ) { + return { + select: jest.fn().mockImplementation(() => { + // Return the input data when select is called + return { data: data, error: null }; // Return the data passed to insert + }), + }; + } + //DB response 6: Create timetable uncessfully, return error.message + return { + select: jest.fn().mockImplementation(() => { + return { + data: null, + error: { message: "Fail to create timetable" }, + }; + }), + }; + }), + update: jest.fn().mockImplementation((updatedata: Json) => { + //DB response 7: Timetable updated successfully, db return updated data in response + if (updatedata && updatedata.start_time === "09:00:00.000Z") { + return { + eq: jest.fn().mockReturnThis(), + select: jest.fn().mockImplementation(() => { + return { data: updatedata, error: null }; + }), + }; + } + //DB response 8: Update timetable uncessfully, return error.message + return { data: null, error: { message: "Fail to update timetable" } }; + }), + delete: jest.fn().mockImplementation(() => { + //DB response 9: Delete timetable successfully + return { + eq: jest.fn().mockImplementation((key, value) => { + if ( + key === "user_id" && + value === "testuser05-f84fd0da-d775-4424-ad88-d9675282453c" + ) { + return { + eq: jest.fn().mockReturnThis(), + data: null, + error: null, + }; + } + return { + data: null, + error: { message: "Uncessful restriction delete" }, + }; + }), + }; + }), + }; + }), + select: jest.fn().mockReturnThis(), + // Mock db response to .eq query command + eq: jest.fn().mockReturnThis(), + // Mock db response to .insert query command + insert: jest.fn().mockReturnThis(), + + // Mock db response to .update query command + update: jest.fn().mockImplementation((updatedata: Json) => {}), + // Mock db response to .delete query command + delete: jest.fn().mockReturnThis(), + }, +})); + +//Test block 1: Get endpoint +describe("GET /api/timetables/restrictions/:id", () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + test("should return timetables", async () => { + // Initialize the authenticated session + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce( + mockAuthHandler("testuser04-f84fd0da-d775-4424-ad88-d9675282453c"), + ); + + const response = await request(app).get("/api/timetables/restrictions/1"); + + // Check database interaction and response + expect(response.statusCode).toBe(200); + expect(response.body).toEqual(mockRestriction); + }); + + test("should return 404 if no timetables found", async () => { + // Initialize the authenticated session + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce( + mockAuthHandler("testuser03-f84fd0da-d775-4424-ad88-d9675282453c"), + ); + + const response = await request(app).get("/api/timetables/restrictions/1"); + // Verify the response status and error message + expect(response.statusCode).toBe(404); + expect(response.body).toEqual({ + error: "Calendar id not found", + }); + }); +}); + +//Test block 2: POST endpoint +describe("POST /api/timetables/restrictions", () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + test("should return error code 400 and error message: 'calendar id is required'", async () => { + const user_id = "testuser03-f84fd0da-d775-4424-ad88-d9675282453c"; + const newTimetable = {}; + + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app) + .post("/api/timetables/restrictions") + .send(newTimetable); + // Check database interaction and response + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ + error: "calendar id is required", + }); + }); + + test("should return error code 400 and error message: 'Start time or end time must be provided'", async () => { + const user_id = "testuser03-f84fd0da-d775-4424-ad88-d9675282453c"; + const newTimetable = { + calendar_id: "1", + }; + + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app) + .post("/api/timetables/restrictions") + .send(newTimetable); + // Check database interaction and response + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ + error: "Start time or end time must be provided", + }); + }); + + test("should create a new timetable given calendar_id, start_time and end_time", async () => { + const user_id = "testuser04-f84fd0da-d775-4424-ad88-d9675282453c"; + const newRestriction = { + calendar_id: "1", + start_time: "2025-03-04T09:00:00.000Z", + end_time: "2025-03-04T10:00:00.000Z", + }; + + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app) + .post("/api/timetables/restrictions") + .send(newRestriction); + // Check database interaction and response + + expect(response.statusCode).toBe(201); + expect(response.body).toEqual([ + { + user_id, + calendar_id: "1", + start_time: "09:00:00.000Z", + end_time: "10:00:00.000Z", + }, + ]); + }); + + test("should return error code 404 and error message: Calendar id not found", async () => { + const user_id = "testuser03-f84fd0da-d775-4424-ad88-d9675282453c"; + const newRestriction = { + calendar_id: "1", + start_time: "2025-03-04T09:00:00.000Z", + end_time: "2025-03-04T10:00:00.000Z", + }; + + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app) + .post("/api/timetables/restrictions") + .send(newRestriction); + // Check database interaction and response + + expect(response.statusCode).toBe(404); + expect(response.body).toEqual({ + error: "Calendar id not found", + }); + }); +}); + +//Test block 3: Put endpoint +describe("PUT /api/timetables/restrictions/:id", () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + test("should return error code 400 and message: calendar id is required ", async () => { + // Make sure the test user is authenticated + const user_id = "testuser05-f84fd0da-d775-4424-ad88-d9675282453c"; + const timetableData = { + start_time: "2025-03-04T09:00:00.000Z", + }; + + // Mock authHandler to simulate the user being logged in + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app) + .put("/api/timetables/restrictions/1") + .send(timetableData); + + // Check that the `update` method was called + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ + error: "calendar id is required", + }); + }); + + test("should update the timetable successfully", async () => { + // Make sure the test user is authenticated + const user_id = "testuser05-f84fd0da-d775-4424-ad88-d9675282453c"; + const timetableData = { + start_time: "2025-03-04T09:00:00.000Z", + }; + + // Mock authHandler to simulate the user being logged in + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app) + .put("/api/timetables/restrictions/1?calendar_id=1") + .send(timetableData); + + // Check that the `update` method was called + expect(response.statusCode).toBe(200); + expect(response.body).toEqual({ + start_time: "09:00:00.000Z", + }); + }); + + test("should return error code 404 and message: Restriction id does not exist", async () => { + // Make sure the test user is authenticated + const user_id = "testuser03-f84fd0da-d775-4424-ad88-d9675282453c"; + const timetableData = { + start_time: "2025-03-04T09:00:00.000Z", + }; + + // Mock authHandler to simulate the user being logged in + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app) + .put("/api/timetables/restrictions/1?calendar_id=1") + .send(timetableData); + + // Check that the `update` method was called + expect(response.statusCode).toBe(404); + expect(response.body).toEqual({ + error: "Restriction id does not exist", + }); + }); +}); + +//Test block 4: Delete endpoint +describe("DELETE /api/timetables/:id", () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + test("should delete the timetable successfully", async () => { + // Make sure the test user is authenticated + const user_id = "testuser05-f84fd0da-d775-4424-ad88-d9675282453c"; + + // Mock authHandler to simulate the user being logged in + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app).delete( + "/api/timetables/restrictions/1?calendar_id=1", + ); + + // Check that the `update` method was called + expect(response.statusCode).toBe(200); + expect(response.body).toEqual({ + message: "Restriction successfully deleted", + }); + }); + + test("should return error code 404 and message: Calendar id not found and id not found", async () => { + // Make sure the test user is authenticated + const user_id = "testuser03-f84fd0da-d775-4424-ad88-d9675282453c"; + + // Mock authHandler to simulate the user being logged in + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app).delete( + "/api/timetables/restrictions/1?calendar_id=1", + ); + + // Check that the `update` method was called + expect(response.statusCode).toBe(404); + expect(response.body).toEqual({ + error: "Restriction id does not exist", + }); + }); +}); diff --git a/course-matrix/backend/__tests__/timetablesController.test.ts b/course-matrix/backend/__tests__/timetablesController.test.ts new file mode 100644 index 00000000..852c360e --- /dev/null +++ b/course-matrix/backend/__tests__/timetablesController.test.ts @@ -0,0 +1,415 @@ +import request from "supertest"; +import timetablesController from "../src/controllers/timetablesController"; +import { Request, Response, NextFunction } from "express"; +import { + jest, + describe, + test, + expect, + beforeEach, + afterAll, +} from "@jest/globals"; +import { authHandler } from "../src/middleware/authHandler"; +import { supabase } from "../src/db/setupDb"; +import { Json } from "@pinecone-database/pinecone/dist/pinecone-generated-ts-fetch/db_control"; +import app from "../src/index"; +import { server } from "../src/index"; + +//Handle AI import from index.ts +jest.mock("@ai-sdk/openai", () => ({ + createOpenAI: jest.fn(() => ({ + chat: jest.fn(), + })), +})); + +jest.mock("ai", () => ({ + streamText: jest.fn(() => + Promise.resolve({ pipeDataStreamToResponse: jest.fn() }), + ), +})); + +jest.mock("@pinecone-database/pinecone", () => ({ + Pinecone: jest.fn(() => ({ + Index: jest.fn(() => ({ + query: jest.fn(), + upsert: jest.fn(), + delete: jest.fn(), + })), + })), +})); + +jest.mock("node-cron", () => ({ + schedule: jest.fn(), // Mock the `schedule` function +})); + +afterAll(async () => { + server.close(); +}); + +// Function to create authenticated session dynamically based as provided user_id +const mockAuthHandler = (user_id: string) => { + return (req: Request, res: Response, next: NextFunction) => { + (req as any).user = { id: user_id }; // Inject user_id dynamically + next(); + }; +}; + +// Mock authHandler globally +jest.mock("../src/middleware/authHandler", () => ({ + authHandler: jest.fn() as jest.MockedFunction, +})); + +// Mock timetables dataset +const mockTimetables1 = [ + { + id: 1, + name: "Timetable 1", + user_id: "testuser01-ab9e6877-f603-4c6a-9832-864e520e4d01", + }, + { + id: 2, + name: "Timetable 2", + user_id: "testuser01-ab9e6877-f603-4c6a-9832-864e520e4d01", + }, +]; + +// Spy on the getTimetables method +jest + .spyOn(timetablesController, "getTimetables") + .mockImplementation(timetablesController.getTimetables); + +// Spy on the createTimetable method +jest + .spyOn(timetablesController, "createTimetable") + .mockImplementation(timetablesController.createTimetable); + +// Spy on the updateTimetable method +jest + .spyOn(timetablesController, "updateTimetable") + .mockImplementation(timetablesController.updateTimetable); + +// Spy on the deleteTimetable method +jest + .spyOn(timetablesController, "deleteTimetable") + .mockImplementation(timetablesController.deleteTimetable); + +// Mock data set response to qeury +jest.mock("../src/db/setupDb", () => ({ + supabase: { + //Mock return from schema, from and select to chain the next query command + schema: jest.fn().mockReturnThis(), + from: jest.fn().mockReturnThis(), + select: jest.fn().mockReturnThis(), + // Mock db response to .eq query command + eq: jest.fn().mockImplementation((key, value) => { + //Each test case is codded by the user_id in session + //DB response 1: Query user timetable return non null value + if ( + key === "user_id" && + value === "testuser01-ab9e6877-f603-4c6a-9832-864e520e4d01" + ) { + // Return mock data when user_id matches + return { data: mockTimetables1, error: null }; + } + //DB response 2: Query user timetable return null value + if ( + key === "user_id" && + value === "testuser02-1d3f02df-f926-4c1f-9f41-58ca50816a33" + ) { + // Return null for this user_id + return { data: null, error: null }; + } + + //DB response 3: Combine .eq and .maybeSingle to signify that the return value could be single: Return non null value + if ( + key === "user_id" && + value === "testuser03-f84fd0da-d775-4424-ad88-d9675282453c" + ) { + return { + eq: jest.fn().mockReturnThis(), // Allow further chaining of eq if required + maybeSingle: jest.fn().mockImplementation(() => { + return { data: null, error: null }; + }), + }; + } + //DB response 4: Combine .eq and .maybeSingle to signify that the return value could be single: Return null value + if ( + key === "user_id" && + value === "testuser04-f84fd0da-d775-4424-ad88-d9675282453c" + ) { + return { + eq: jest.fn().mockReturnThis(), // Allow further chaining of eq if required + neq: jest.fn().mockImplementation(() => ({ + maybeSingle: jest + .fn() + .mockImplementation(() => ({ data: null, error: null })), + })), + maybeSingle: jest.fn().mockImplementation(() => { + return { data: mockTimetables1, error: null }; + }), + }; + } + }), + // Mock db response to .insert query command + insert: jest.fn().mockImplementation((data: Json) => { + //DB response 5: Create timetable successfully, new timetable data is responded + if ( + data && + data[0].user_id === "testuser03-f84fd0da-d775-4424-ad88-d9675282453c" + ) { + return { + select: jest.fn().mockImplementation(() => { + // Return the input data when select is called + return { data: data, error: null }; // Return the data passed to insert + }), + }; + } + //DB response 6: Create timetable uncessfully, return error.message + return { + select: jest.fn().mockImplementation(() => { + return { data: null, error: { message: "Fail to create timetable" } }; + }), + }; + }), + + // Mock db response to .update query command + update: jest.fn().mockImplementation((updatedata: Json) => { + //DB response 7: Timetable updated successfully, db return updated data in response + if (updatedata && updatedata.timetable_title === "Updated Title") { + return { + eq: jest.fn().mockReturnThis(), + select: jest.fn().mockReturnThis(), + single: jest.fn().mockImplementation((data) => { + return { data: updatedata, error: null }; + }), + }; + } + //DB response 8: Update timetable uncessfully, return error.message + return { data: null, error: { message: "Fail to update timetable" } }; + }), + + // Mock db response to .delete query command + delete: jest.fn().mockImplementation(() => { + //DB response 9: Delete timetable successfully + return { + eq: jest.fn().mockReturnThis(), + data: null, + error: null, + }; + }), + }, +})); + +//Test block 1: Get endpoint +describe("GET /api/timetables", () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + test("should return timetables for user 1", async () => { + // Initialize the authenticated session + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce( + mockAuthHandler("testuser01-ab9e6877-f603-4c6a-9832-864e520e4d01"), + ); + + const response = await request(app).get("/api/timetables"); + + // Check database interaction and response + expect(response.statusCode).toBe(200); + expect(response.body).toEqual(mockTimetables1); + }); + + test("should return 404 if no timetables found", async () => { + // Initialize the authenticated session + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce( + mockAuthHandler("testuser02-1d3f02df-f926-4c1f-9f41-58ca50816a33"), + ); + + const response = await request(app).get("/api/timetables"); + // Verify the response status and error message + expect(response.statusCode).toBe(404); + expect(response.body).toEqual({ + error: "Calendar id not found", + }); + }); +}); + +//Test block 2: POST endpoint +describe("POST /api/timetables", () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + test("should return error code 400 and error message: 'timetable title and semester are required' when request body miss timetable_title or semester", async () => { + const user_id = "testuser03-f84fd0da-d775-4424-ad88-d9675282453c"; + const newTimetable = {}; + + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app) + .post("/api/timetables") + .send(newTimetable); + // Check database interaction and response + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ + error: "timetable title and semester are required", + }); + }); + + test("should create a new timetable given timetable title, timetable semester, timetable favorite", async () => { + const user_id = "testuser03-f84fd0da-d775-4424-ad88-d9675282453c"; + const newTimetable = { + timetable_title: "Minh timetable", + semester: "Fall 2025", + favorite: false, + }; + + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app) + .post("/api/timetables") + .send(newTimetable); + // Check database interaction and response + + expect(response.statusCode).toBe(201); + expect(response.body).toEqual([ + { + user_id, + timetable_title: "Minh timetable", + semester: "Fall 2025", + favorite: false, + }, + ]); + }); + + test("should return error code 400 and error message: A timetable with this title already exists when checkduplicate query return a value", async () => { + const user_id = "testuser04-f84fd0da-d775-4424-ad88-d9675282453c"; + const newTimetable = { + timetable_title: "Minh timetable", + semester: "Fall 2025", + favorite: false, + }; + + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app) + .post("/api/timetables") + .send(newTimetable); + // Check database interaction and response + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ + error: "A timetable with this title already exists", + }); + }); +}); + +//Test block 3: Put endpoint +describe("PUT /api/timetables/:id", () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + test("should update the timetable successfully", async () => { + // Make sure the test user is authenticated + const user_id = "testuser04-f84fd0da-d775-4424-ad88-d9675282453c"; + const timetableData = { + timetable_title: "Updated Title", + semester: "Spring 2025", + }; + + // Mock authHandler to simulate the user being logged in + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app) + .put("/api/timetables/1") + .send(timetableData); + + // Check that the `update` method was called + expect(response.statusCode).toBe(200); + expect(response.body).toMatchObject({ + timetable_title: "Updated Title", + semester: "Spring 2025", + }); + }); + + test("should return error code 404 and message: Calendar id not found and id not found", async () => { + // Make sure the test user is authenticated + const user_id = "testuser03-f84fd0da-d775-4424-ad88-d9675282453c"; + const timetableData = { + timetable_title: "Updated Title", + semester: "Spring 2025", + }; + + // Mock authHandler to simulate the user being logged in + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app) + .put("/api/timetables/1") + .send(timetableData); + + // Check that the `update` method was called + expect(response.statusCode).toBe(404); + expect(response.body).toEqual({ + error: "Calendar id not found", + }); + }); +}); + +//Test block 4: Delete endpoint +describe("DELETE /api/timetables/:id", () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + test("should delete the timetable successfully", async () => { + // Make sure the test user is authenticated + const user_id = "testuser04-f84fd0da-d775-4424-ad88-d9675282453c"; + + // Mock authHandler to simulate the user being logged in + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app).delete("/api/timetables/1"); + + // Check that the `update` method was called + expect(response.statusCode).toBe(200); + expect(response.body).toEqual({ + message: "Timetable successfully deleted", + }); + }); + + test("should return error code 404 and message: Calendar id not found and id not found", async () => { + // Make sure the test user is authenticated + const user_id = "testuser03-f84fd0da-d775-4424-ad88-d9675282453c"; + + // Mock authHandler to simulate the user being logged in + ( + authHandler as jest.MockedFunction + ).mockImplementationOnce(mockAuthHandler(user_id)); + + const response = await request(app).delete("/api/timetables/1"); + + // Check that the `update` method was called + expect(response.statusCode).toBe(404); + expect(response.body).toEqual({ + error: "Calendar id not found", + }); + }); +}); diff --git a/course-matrix/backend/jest.config.ts b/course-matrix/backend/jest.config.ts new file mode 100644 index 00000000..fcea6357 --- /dev/null +++ b/course-matrix/backend/jest.config.ts @@ -0,0 +1,28 @@ +import type { Config } from "jest"; + +const config: Config = { + preset: "ts-jest", + moduleNameMapper: { + "\\.(css|scss)$": "identity-obj-proxy", + "^(\\.{1,2}/.*)\\.js$": "$1", + }, + // to obtain access to the matchers. + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], + modulePaths: [""], + testEnvironment: "jsdom", + transform: { + "^.+\\.(ts|tsx)$": [ + "ts-jest", + { + tsconfig: "tsconfig.test.json", + }, + ], + "^.+\\.(js|jsx)$": "babel-jest", + }, + transformIgnorePatterns: [ + "/node_modules/(?!(node-cron|uuid)/)", // Keep transforming `node-cron` + ], + setupFilesAfterEnv: ["/jest.setup.ts"], +}; + +export default config; diff --git a/course-matrix/backend/jest.setup.ts b/course-matrix/backend/jest.setup.ts new file mode 100644 index 00000000..756600f9 --- /dev/null +++ b/course-matrix/backend/jest.setup.ts @@ -0,0 +1,10 @@ +import fetch from "node-fetch"; + +// Polyfill the global fetch for Pinecone to use +globalThis.fetch = fetch as unknown as WindowOrWorkerGlobalScope["fetch"]; +globalThis.TransformStream = require("stream/web").TransformStream; +globalThis.TextEncoder = require("util").TextEncoder; +globalThis.TextDecoder = require("util").TextDecoder; +globalThis.ReadableStream = require("stream/web").ReadableStream; +globalThis.TransformStream = require("stream/web").TransformStream; +globalThis.WritableStream = require("stream/web").WritableStream; diff --git a/course-matrix/backend/package-lock.json b/course-matrix/backend/package-lock.json new file mode 100644 index 00000000..793be5c6 --- /dev/null +++ b/course-matrix/backend/package-lock.json @@ -0,0 +1,10144 @@ +{ + "name": "backend", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "backend", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@ai-sdk/openai": "^1.1.13", + "@getbrevo/brevo": "^2.2.0", + "@langchain/community": "^0.3.32", + "@langchain/openai": "^0.4.4", + "@langchain/pinecone": "^0.1.3", + "@pinecone-database/pinecone": "^5.0.2", + "@supabase/supabase-js": "^2.48.1", + "@types/express": "^5.0.0", + "@types/node-fetch": "^2.6.12", + "ai": "^4.1.45", + "axios": "^1.8.4", + "cookie-parser": "^1.4.7", + "cors": "^2.8.5", + "csv-parser": "^3.2.0", + "d3-dsv": "^2.0.0", + "dotenv": "^16.4.7", + "express": "^4.21.2", + "langchain": "^0.3.19", + "node-cron": "^3.0.3", + "node-fetch": "^2.7.0", + "openai": "^4.85.4", + "pdf-parse": "^1.1.1", + "stream": "^0.0.3", + "swagger-jsdoc": "^6.2.8", + "swagger-ui-express": "^5.0.1", + "validator": "^13.12.0" + }, + "devDependencies": { + "@testing-library/jest-dom": "^6.4.8", + "@testing-library/react": "^16.0.0", + "@types/cookie-parser": "^1.4.8", + "@types/cors": "^2.8.17", + "@types/jest": "^29.5.14", + "@types/node-cron": "^3.0.11", + "@types/supertest": "^6.0.2", + "@types/swagger-jsdoc": "^6.0.4", + "@types/swagger-ui-express": "^4.1.7", + "identity-obj-proxy": "^3.0.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "supertest": "^7.0.0", + "ts-jest": "^29.2.6", + "ts-node": "^10.9.2" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.2.tgz", + "integrity": "sha512-baYZExFpsdkBNuvGKTKWCwKH57HRZLVtycZS05WTQNVOiXVSeAki3nU35zlRbToeMW8aHlJfyS+1C4BOv27q0A==", + "dev": true + }, + "node_modules/@ai-sdk/openai": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-1.3.0.tgz", + "integrity": "sha512-zKKacGH8AyUjC63GizDpts+Nf8qAEtvAtO5O/AfVML8pIrtNWsbF+U3nT6mM8Oqvkp9X7ivuc4hCurivMFlJ6Q==", + "dependencies": { + "@ai-sdk/provider": "1.1.0", + "@ai-sdk/provider-utils": "2.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + } + }, + "node_modules/@ai-sdk/provider": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.1.0.tgz", + "integrity": "sha512-0M+qjp+clUD0R1E5eWQFhxEvWLNaOtGQRUaBn8CUABnSKredagq92hUS9VjOzGsTm37xLfpaxl97AVtbeOsHew==", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ai-sdk/provider-utils": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.2.0.tgz", + "integrity": "sha512-RX5BnDSqudjvZjwwpROcxVQElyX7rUn/xImBgaZLXekSGqq8f7/tefqDcQiRbDZjuCd4CVIfhrK8y/Pta8cPfQ==", + "dependencies": { + "@ai-sdk/provider": "1.1.0", + "eventsource-parser": "^3.0.0", + "nanoid": "^3.3.8", + "secure-json-parse": "^2.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.23.8" + } + }, + "node_modules/@ai-sdk/react": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-1.2.0.tgz", + "integrity": "sha512-fUTZkAsxOMz8ijjWf87E/GfYkgsH4V5MH2yuj7EXh5ShjWe/oayn2ZJkyoqFMr4Jf8m5kptDaivmbIenDq5OXA==", + "dependencies": { + "@ai-sdk/provider-utils": "2.2.0", + "@ai-sdk/ui-utils": "1.2.0", + "swr": "^2.2.5", + "throttleit": "2.1.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc", + "zod": "^3.23.8" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/ui-utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-1.2.0.tgz", + "integrity": "sha512-0IZwCqe7E+GkCASTDPAbzMr+POm9GDzWvFd37FvzpOeKNeibmge/LZEkTDbGSa+3b928H8wPwOLsOXBWPLUPDQ==", + "dependencies": { + "@ai-sdk/provider": "1.1.0", + "@ai-sdk/provider-utils": "2.2.0", + "zod-to-json-schema": "^3.24.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.23.8" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ampproject/remapping/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@anthropic-ai/sdk": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.27.3.tgz", + "integrity": "sha512-IjLt0gd3L4jlOfilxVXTifn42FnVffMgDC04RJK1KDZpmkBWLv0XC92MVVmkxrFZNS/7l3xWgP/I3nqtX1sQHw==", + "peer": true, + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7" + } + }, + "node_modules/@anthropic-ai/sdk/node_modules/@types/node": { + "version": "18.19.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.76.tgz", + "integrity": "sha512-yvR7Q9LdPz2vGpmpJX5LolrgRdWvB67MJKDPSgIIzpFbaf9a1j/f5DnLp5VDyHGMR0QZHlTr1afsD87QCXFHKw==", + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@anthropic-ai/sdk/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "peer": true + }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.1.2.tgz", + "integrity": "sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg==", + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.6", + "call-me-maybe": "^1.0.1", + "js-yaml": "^4.1.0" + } + }, + "node_modules/@apidevtools/openapi-schemas": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@apidevtools/openapi-schemas/-/openapi-schemas-2.1.0.tgz", + "integrity": "sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@apidevtools/swagger-methods": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz", + "integrity": "sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==" + }, + "node_modules/@apidevtools/swagger-parser": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/@apidevtools/swagger-parser/-/swagger-parser-10.0.3.tgz", + "integrity": "sha512-sNiLY51vZOmSPFZA5TF35KZ2HbgYklQnTSDnkghamzLb3EkNtcQnrBQEj5AOCxHpTtXpqMCRM1CrmV2rG6nw4g==", + "dependencies": { + "@apidevtools/json-schema-ref-parser": "^9.0.6", + "@apidevtools/openapi-schemas": "^2.0.4", + "@apidevtools/swagger-methods": "^3.0.2", + "@jsdevtools/ono": "^7.1.3", + "call-me-maybe": "^1.0.1", + "z-schema": "^5.0.1" + }, + "peerDependencies": { + "openapi-types": ">=7" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", + "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", + "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", + "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.26.9" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz", + "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", + "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/@babel/types": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", + "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@browserbasehq/sdk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@browserbasehq/sdk/-/sdk-2.3.0.tgz", + "integrity": "sha512-H2nu46C6ydWgHY+7yqaP8qpfRJMJFVGxVIgsuHe1cx9HkfJHqzkuIqaK/k8mU4ZeavQgV5ZrJa0UX6MDGYiT4w==", + "peer": true, + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7" + } + }, + "node_modules/@browserbasehq/sdk/node_modules/@types/node": { + "version": "18.19.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.76.tgz", + "integrity": "sha512-yvR7Q9LdPz2vGpmpJX5LolrgRdWvB67MJKDPSgIIzpFbaf9a1j/f5DnLp5VDyHGMR0QZHlTr1afsD87QCXFHKw==", + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@browserbasehq/sdk/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "peer": true + }, + "node_modules/@browserbasehq/stagehand": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@browserbasehq/stagehand/-/stagehand-1.13.1.tgz", + "integrity": "sha512-sty9bDiuuQJDOS+/uBfXpwYQY+mhFyqi6uT5wSOrazagZ5s8tgk3ryCIheB/BGS5iisc6ivAsKe9aC9n5WBTAg==", + "peer": true, + "dependencies": { + "@anthropic-ai/sdk": "^0.27.3", + "@browserbasehq/sdk": "^2.0.0", + "ws": "^8.18.0", + "zod-to-json-schema": "^3.23.5" + }, + "peerDependencies": { + "@playwright/test": "^1.42.1", + "deepmerge": "^4.3.1", + "dotenv": "^16.4.5", + "openai": "^4.62.1", + "zod": "^3.23.8" + } + }, + "node_modules/@cfworker/json-schema": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@cfworker/json-schema/-/json-schema-4.1.1.tgz", + "integrity": "sha512-gAmrUZSGtKc3AiBL71iNWxDsyUC5uMaKKGdvzYsBoTW/xi42JQHl7eKV2OYzCUqvc+D2RCcf7EXY2iCyFIk6og==", + "peer": true + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz", + "integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@getbrevo/brevo": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@getbrevo/brevo/-/brevo-2.2.0.tgz", + "integrity": "sha512-mNCkXtgqn6jqLglAx1JzZcTj53kBZ5dK9Yd6zVuEyXAvhz68f5Ps6dSJar9HvkHH0Lfr3NrqW76xurjcoxqhIg==", + "dependencies": { + "bluebird": "^3.5.0", + "request": "^2.81.0", + "rewire": "^7.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead" + }, + "node_modules/@ibm-cloud/watsonx-ai": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@ibm-cloud/watsonx-ai/-/watsonx-ai-1.5.0.tgz", + "integrity": "sha512-jhZrpktR27xTHnCRw4agWsg1HnaIEvdrE1+3t40BzLCjqVgoLEdZh4Rw7/i6U9R/31VjqsD/UZMohNK21vBJmw==", + "peer": true, + "dependencies": { + "@langchain/textsplitters": "^0.1.0", + "@types/node": "^18.0.0", + "extend": "3.0.2", + "ibm-cloud-sdk-core": "^5.0.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@ibm-cloud/watsonx-ai/node_modules/@types/node": { + "version": "18.19.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.76.tgz", + "integrity": "sha512-yvR7Q9LdPz2vGpmpJX5LolrgRdWvB67MJKDPSgIIzpFbaf9a1j/f5DnLp5VDyHGMR0QZHlTr1afsD87QCXFHKw==", + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@ibm-cloud/watsonx-ai/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "peer": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==" + }, + "node_modules/@langchain/community": { + "version": "0.3.32", + "resolved": "https://registry.npmjs.org/@langchain/community/-/community-0.3.32.tgz", + "integrity": "sha512-5AvGyjIFheXdBUSiIWNwc40rI8fXYiHV0UA3ncbBVu5fTwWur+mAQvl2ZsgyxBBKm4VuoCcuh6U6I7b1kiOYBQ==", + "dependencies": { + "@langchain/openai": ">=0.2.0 <0.5.0", + "binary-extensions": "^2.2.0", + "expr-eval": "^2.0.2", + "flat": "^5.0.2", + "js-yaml": "^4.1.0", + "langchain": ">=0.2.3 <0.3.0 || >=0.3.4 <0.4.0", + "langsmith": ">=0.2.8 <0.4.0", + "uuid": "^10.0.0", + "zod": "^3.22.3", + "zod-to-json-schema": "^3.22.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@arcjet/redact": "^v1.0.0-alpha.23", + "@aws-crypto/sha256-js": "^5.0.0", + "@aws-sdk/client-bedrock-agent-runtime": "^3.749.0", + "@aws-sdk/client-bedrock-runtime": "^3.749.0", + "@aws-sdk/client-dynamodb": "^3.749.0", + "@aws-sdk/client-kendra": "^3.749.0", + "@aws-sdk/client-lambda": "^3.749.0", + "@aws-sdk/client-s3": "^3.749.0", + "@aws-sdk/client-sagemaker-runtime": "^3.749.0", + "@aws-sdk/client-sfn": "^3.749.0", + "@aws-sdk/credential-provider-node": "^3.388.0", + "@azure/search-documents": "^12.0.0", + "@azure/storage-blob": "^12.15.0", + "@browserbasehq/sdk": "*", + "@browserbasehq/stagehand": "^1.0.0", + "@clickhouse/client": "^0.2.5", + "@cloudflare/ai": "*", + "@datastax/astra-db-ts": "^1.0.0", + "@elastic/elasticsearch": "^8.4.0", + "@getmetal/metal-sdk": "*", + "@getzep/zep-cloud": "^1.0.6", + "@getzep/zep-js": "^0.9.0", + "@gomomento/sdk": "^1.51.1", + "@gomomento/sdk-core": "^1.51.1", + "@google-ai/generativelanguage": "*", + "@google-cloud/storage": "^6.10.1 || ^7.7.0", + "@gradientai/nodejs-sdk": "^1.2.0", + "@huggingface/inference": "^2.6.4", + "@huggingface/transformers": "^3.2.3", + "@ibm-cloud/watsonx-ai": "*", + "@lancedb/lancedb": "^0.12.0", + "@langchain/core": ">=0.2.21 <0.4.0", + "@layerup/layerup-security": "^1.5.12", + "@libsql/client": "^0.14.0", + "@mendable/firecrawl-js": "^1.4.3", + "@mlc-ai/web-llm": "*", + "@mozilla/readability": "*", + "@neondatabase/serverless": "*", + "@notionhq/client": "^2.2.10", + "@opensearch-project/opensearch": "*", + "@pinecone-database/pinecone": "*", + "@planetscale/database": "^1.8.0", + "@premai/prem-sdk": "^0.3.25", + "@qdrant/js-client-rest": "^1.8.2", + "@raycast/api": "^1.55.2", + "@rockset/client": "^0.9.1", + "@smithy/eventstream-codec": "^2.0.5", + "@smithy/protocol-http": "^3.0.6", + "@smithy/signature-v4": "^2.0.10", + "@smithy/util-utf8": "^2.0.0", + "@spider-cloud/spider-client": "^0.0.21", + "@supabase/supabase-js": "^2.45.0", + "@tensorflow-models/universal-sentence-encoder": "*", + "@tensorflow/tfjs-converter": "*", + "@tensorflow/tfjs-core": "*", + "@upstash/ratelimit": "^1.1.3 || ^2.0.3", + "@upstash/redis": "^1.20.6", + "@upstash/vector": "^1.1.1", + "@vercel/kv": "*", + "@vercel/postgres": "*", + "@writerai/writer-sdk": "^0.40.2", + "@xata.io/client": "^0.28.0", + "@zilliz/milvus2-sdk-node": ">=2.3.5", + "apify-client": "^2.7.1", + "assemblyai": "^4.6.0", + "better-sqlite3": ">=9.4.0 <12.0.0", + "cassandra-driver": "^4.7.2", + "cborg": "^4.1.1", + "cheerio": "^1.0.0-rc.12", + "chromadb": "*", + "closevector-common": "0.1.3", + "closevector-node": "0.1.6", + "closevector-web": "0.1.6", + "cohere-ai": "*", + "convex": "^1.3.1", + "crypto-js": "^4.2.0", + "d3-dsv": "^2.0.0", + "discord.js": "^14.14.1", + "dria": "^0.0.3", + "duck-duck-scrape": "^2.2.5", + "epub2": "^3.0.1", + "fast-xml-parser": "*", + "firebase-admin": "^11.9.0 || ^12.0.0", + "google-auth-library": "*", + "googleapis": "*", + "hnswlib-node": "^3.0.0", + "html-to-text": "^9.0.5", + "ibm-cloud-sdk-core": "*", + "ignore": "^5.2.0", + "interface-datastore": "^8.2.11", + "ioredis": "^5.3.2", + "it-all": "^3.0.4", + "jsdom": "*", + "jsonwebtoken": "^9.0.2", + "llmonitor": "^0.5.9", + "lodash": "^4.17.21", + "lunary": "^0.7.10", + "mammoth": "^1.6.0", + "mongodb": ">=5.2.0", + "mysql2": "^3.9.8", + "neo4j-driver": "*", + "notion-to-md": "^3.1.0", + "officeparser": "^4.0.4", + "openai": "*", + "pdf-parse": "1.1.1", + "pg": "^8.11.0", + "pg-copy-streams": "^6.0.5", + "pickleparser": "^0.2.1", + "playwright": "^1.32.1", + "portkey-ai": "^0.1.11", + "puppeteer": "*", + "pyodide": ">=0.24.1 <0.27.0", + "redis": "*", + "replicate": "*", + "sonix-speech-recognition": "^2.1.1", + "srt-parser-2": "^1.2.3", + "typeorm": "^0.3.20", + "typesense": "^1.5.3", + "usearch": "^1.1.1", + "voy-search": "0.6.2", + "weaviate-ts-client": "*", + "web-auth-library": "^1.0.3", + "word-extractor": "*", + "ws": "^8.14.2", + "youtubei.js": "*" + }, + "peerDependenciesMeta": { + "@arcjet/redact": { + "optional": true + }, + "@aws-crypto/sha256-js": { + "optional": true + }, + "@aws-sdk/client-bedrock-agent-runtime": { + "optional": true + }, + "@aws-sdk/client-bedrock-runtime": { + "optional": true + }, + "@aws-sdk/client-dynamodb": { + "optional": true + }, + "@aws-sdk/client-kendra": { + "optional": true + }, + "@aws-sdk/client-lambda": { + "optional": true + }, + "@aws-sdk/client-s3": { + "optional": true + }, + "@aws-sdk/client-sagemaker-runtime": { + "optional": true + }, + "@aws-sdk/client-sfn": { + "optional": true + }, + "@aws-sdk/credential-provider-node": { + "optional": true + }, + "@aws-sdk/dsql-signer": { + "optional": true + }, + "@azure/search-documents": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@browserbasehq/sdk": { + "optional": true + }, + "@clickhouse/client": { + "optional": true + }, + "@cloudflare/ai": { + "optional": true + }, + "@datastax/astra-db-ts": { + "optional": true + }, + "@elastic/elasticsearch": { + "optional": true + }, + "@getmetal/metal-sdk": { + "optional": true + }, + "@getzep/zep-cloud": { + "optional": true + }, + "@getzep/zep-js": { + "optional": true + }, + "@gomomento/sdk": { + "optional": true + }, + "@gomomento/sdk-core": { + "optional": true + }, + "@google-ai/generativelanguage": { + "optional": true + }, + "@google-cloud/storage": { + "optional": true + }, + "@gradientai/nodejs-sdk": { + "optional": true + }, + "@huggingface/inference": { + "optional": true + }, + "@huggingface/transformers": { + "optional": true + }, + "@lancedb/lancedb": { + "optional": true + }, + "@layerup/layerup-security": { + "optional": true + }, + "@libsql/client": { + "optional": true + }, + "@mendable/firecrawl-js": { + "optional": true + }, + "@mlc-ai/web-llm": { + "optional": true + }, + "@mozilla/readability": { + "optional": true + }, + "@neondatabase/serverless": { + "optional": true + }, + "@notionhq/client": { + "optional": true + }, + "@opensearch-project/opensearch": { + "optional": true + }, + "@pinecone-database/pinecone": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@premai/prem-sdk": { + "optional": true + }, + "@qdrant/js-client-rest": { + "optional": true + }, + "@raycast/api": { + "optional": true + }, + "@rockset/client": { + "optional": true + }, + "@smithy/eventstream-codec": { + "optional": true + }, + "@smithy/protocol-http": { + "optional": true + }, + "@smithy/signature-v4": { + "optional": true + }, + "@smithy/util-utf8": { + "optional": true + }, + "@spider-cloud/spider-client": { + "optional": true + }, + "@supabase/supabase-js": { + "optional": true + }, + "@tensorflow-models/universal-sentence-encoder": { + "optional": true + }, + "@tensorflow/tfjs-converter": { + "optional": true + }, + "@tensorflow/tfjs-core": { + "optional": true + }, + "@upstash/ratelimit": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@upstash/vector": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "@vercel/postgres": { + "optional": true + }, + "@writerai/writer-sdk": { + "optional": true + }, + "@xata.io/client": { + "optional": true + }, + "@zilliz/milvus2-sdk-node": { + "optional": true + }, + "apify-client": { + "optional": true + }, + "assemblyai": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "cassandra-driver": { + "optional": true + }, + "cborg": { + "optional": true + }, + "cheerio": { + "optional": true + }, + "chromadb": { + "optional": true + }, + "closevector-common": { + "optional": true + }, + "closevector-node": { + "optional": true + }, + "closevector-web": { + "optional": true + }, + "cohere-ai": { + "optional": true + }, + "convex": { + "optional": true + }, + "crypto-js": { + "optional": true + }, + "d3-dsv": { + "optional": true + }, + "discord.js": { + "optional": true + }, + "dria": { + "optional": true + }, + "duck-duck-scrape": { + "optional": true + }, + "epub2": { + "optional": true + }, + "fast-xml-parser": { + "optional": true + }, + "firebase-admin": { + "optional": true + }, + "google-auth-library": { + "optional": true + }, + "googleapis": { + "optional": true + }, + "hnswlib-node": { + "optional": true + }, + "html-to-text": { + "optional": true + }, + "ignore": { + "optional": true + }, + "interface-datastore": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "it-all": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "jsonwebtoken": { + "optional": true + }, + "llmonitor": { + "optional": true + }, + "lodash": { + "optional": true + }, + "lunary": { + "optional": true + }, + "mammoth": { + "optional": true + }, + "mongodb": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "neo4j-driver": { + "optional": true + }, + "notion-to-md": { + "optional": true + }, + "officeparser": { + "optional": true + }, + "pdf-parse": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-copy-streams": { + "optional": true + }, + "pickleparser": { + "optional": true + }, + "playwright": { + "optional": true + }, + "portkey-ai": { + "optional": true + }, + "puppeteer": { + "optional": true + }, + "pyodide": { + "optional": true + }, + "redis": { + "optional": true + }, + "replicate": { + "optional": true + }, + "sonix-speech-recognition": { + "optional": true + }, + "srt-parser-2": { + "optional": true + }, + "typeorm": { + "optional": true + }, + "typesense": { + "optional": true + }, + "usearch": { + "optional": true + }, + "voy-search": { + "optional": true + }, + "weaviate-ts-client": { + "optional": true + }, + "web-auth-library": { + "optional": true + }, + "word-extractor": { + "optional": true + }, + "ws": { + "optional": true + }, + "youtubei.js": { + "optional": true + } + } + }, + "node_modules/@langchain/core": { + "version": "0.3.40", + "resolved": "https://registry.npmjs.org/@langchain/core/-/core-0.3.40.tgz", + "integrity": "sha512-RGhJOTzJv6H+3veBAnDlH2KXuZ68CXMEg6B6DPTzL3IGDyd+vLxXG4FIttzUwjdeQKjrrFBwlXpJDl7bkoApzQ==", + "peer": true, + "dependencies": { + "@cfworker/json-schema": "^4.0.2", + "ansi-styles": "^5.0.0", + "camelcase": "6", + "decamelize": "1.2.0", + "js-tiktoken": "^1.0.12", + "langsmith": ">=0.2.8 <0.4.0", + "mustache": "^4.2.0", + "p-queue": "^6.6.2", + "p-retry": "4", + "uuid": "^10.0.0", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@langchain/openai": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.4.4.tgz", + "integrity": "sha512-UZybJeMd8+UX7Kn47kuFYfqKdBCeBUWNqDtmAr6ZUIMMnlsNIb6MkrEEhGgAEjGCpdT4CU8U/DyyddTz+JayOQ==", + "dependencies": { + "js-tiktoken": "^1.0.12", + "openai": "^4.77.0", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@langchain/core": ">=0.3.39 <0.4.0" + } + }, + "node_modules/@langchain/pinecone": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@langchain/pinecone/-/pinecone-0.1.3.tgz", + "integrity": "sha512-1DPZvkg3Ve1TJSUfmpf7GF2SvRyg8cLjKjffkuW/C3oPONti2a9W7Q+F18YgBf1Swk0bPJ7A1EtMvlsU+NOQmw==", + "dependencies": { + "@pinecone-database/pinecone": "^4.0.0", + "flat": "^5.0.2", + "uuid": "^10.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@langchain/core": ">=0.2.21 <0.4.0" + } + }, + "node_modules/@langchain/pinecone/node_modules/@pinecone-database/pinecone": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@pinecone-database/pinecone/-/pinecone-4.1.0.tgz", + "integrity": "sha512-WoVsbvmCgvZfjm/nCasJXuQ/tw0es5BpedLHvRScAm6xJ/nL07s3B0TrsM8m8rACTiUgbdYsdLY1W6cEBhS9xA==", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@langchain/textsplitters": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@langchain/textsplitters/-/textsplitters-0.1.0.tgz", + "integrity": "sha512-djI4uw9rlkAb5iMhtLED+xJebDdAG935AdP4eRTB02R7OB/act55Bj9wsskhZsvuyQRpO4O1wQOp85s6T6GWmw==", + "dependencies": { + "js-tiktoken": "^1.0.12" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@langchain/core": ">=0.2.21 <0.4.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@opentelemetry/api": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", + "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@pinecone-database/pinecone": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@pinecone-database/pinecone/-/pinecone-5.0.2.tgz", + "integrity": "sha512-4Nd6sA/Ds81hem59TWYKkAR/R9cOnYMGDZvkxpay5R2dalCN979353V5Y+zFw8I+Rmi6yi3MsVjg6ls0/EXwCw==", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@playwright/test": { + "version": "1.50.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.50.1.tgz", + "integrity": "sha512-Jii3aBg+CEDpgnuDxEp/h7BimHcUTDlpEtce89xEumlJ5ef2hqepZ+PWp1DDpYC/VO9fmWVI1IlEaoI5fK9FXQ==", + "peer": true, + "dependencies": { + "playwright": "1.50.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@scarf/scarf": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scarf/scarf/-/scarf-1.4.0.tgz", + "integrity": "sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==", + "hasInstallScript": true + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@supabase/auth-js": { + "version": "2.67.3", + "resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.67.3.tgz", + "integrity": "sha512-NJDaW8yXs49xMvWVOkSIr8j46jf+tYHV0wHhrwOaLLMZSFO4g6kKAf+MfzQ2RaD06OCUkUHIzctLAxjTgEVpzw==", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/functions-js": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.4.4.tgz", + "integrity": "sha512-WL2p6r4AXNGwop7iwvul2BvOtuJ1YQy8EbOd0dhG1oN1q8el/BIRSFCFnWAMM/vJJlHWLi4ad22sKbKr9mvjoA==", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/node-fetch": { + "version": "2.6.15", + "resolved": "https://registry.npmjs.org/@supabase/node-fetch/-/node-fetch-2.6.15.tgz", + "integrity": "sha512-1ibVeYUacxWYi9i0cf5efil6adJ9WRyZBLivgjs+AUpewx1F3xPi7gLgaASI2SmIQxPoCEjAsLAzKPgMJVgOUQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/@supabase/postgrest-js": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-1.18.1.tgz", + "integrity": "sha512-dWDnoC0MoDHKhaEOrsEKTadWQcBNknZVQcSgNE/Q2wXh05mhCL1ut/jthRUrSbYcqIw/CEjhaeIPp7dLarT0bg==", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/realtime-js": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.11.2.tgz", + "integrity": "sha512-u/XeuL2Y0QEhXSoIPZZwR6wMXgB+RQbJzG9VErA3VghVt7uRfSVsjeqd7m5GhX3JR6dM/WRmLbVR8URpDWG4+w==", + "dependencies": { + "@supabase/node-fetch": "^2.6.14", + "@types/phoenix": "^1.5.4", + "@types/ws": "^8.5.10", + "ws": "^8.18.0" + } + }, + "node_modules/@supabase/storage-js": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.7.1.tgz", + "integrity": "sha512-asYHcyDR1fKqrMpytAS1zjyEfvxuOIp1CIXX7ji4lHHcJKqyk+sLl/Vxgm4sN6u8zvuUtae9e4kDxQP2qrwWBA==", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/supabase-js": { + "version": "2.48.1", + "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.48.1.tgz", + "integrity": "sha512-VMD+CYk/KxfwGbI4fqwSUVA7CLr1izXpqfFerhnYPSi6LEKD8GoR4kuO5Cc8a+N43LnfSQwLJu4kVm2e4etEmA==", + "dependencies": { + "@supabase/auth-js": "2.67.3", + "@supabase/functions-js": "2.4.4", + "@supabase/node-fetch": "2.6.15", + "@supabase/postgrest-js": "1.18.1", + "@supabase/realtime-js": "2.11.2", + "@supabase/storage-js": "2.7.1" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", + "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.4.8", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.8.tgz", + "integrity": "sha512-JD0G+Zc38f5MBHA4NgxQMR5XtO5Jx9g86jqturNTt2WUfRmLDIY7iKkWHDCCTiDuFMre6nxAD5wHw9W5kI4rGw==", + "dev": true, + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "@babel/runtime": "^7.9.2", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "lodash": "^4.17.21", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true + }, + "node_modules/@testing-library/react": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.0.0.tgz", + "integrity": "sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "peer": true + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "devOptional": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "peer": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cookie-parser": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@types/cookie-parser/-/cookie-parser-1.4.8.tgz", + "integrity": "sha512-l37JqFrOJ9yQfRQkljb41l0xVphc7kg5JTjjr+pLRZ0IyZ49V4BQ8vbF4Ut2C2e+WH4al3xD3ZwYwIUfnbT4NQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/cookiejar": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz", + "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==", + "dev": true + }, + "node_modules/@types/cors": { + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "peer": true, + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/diff-match-patch": { + "version": "1.0.36", + "resolved": "https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.36.tgz", + "integrity": "sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==" + }, + "node_modules/@types/express": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.0.tgz", + "integrity": "sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^5.0.0", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.5.tgz", + "integrity": "sha512-GLZPrd9ckqEBFMcVM/qRFAP0Hg3qiVEojgEFsx/N/zKXsBzbGF6z5FBDpZ0+Xhp1xr+qRZYjfGr1cWHB9oFHSA==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.14", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", + "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/methods": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz", + "integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "peer": true + }, + "node_modules/@types/node": { + "version": "22.12.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.12.0.tgz", + "integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==", + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/node-cron": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/node-cron/-/node-cron-3.0.11.tgz", + "integrity": "sha512-0ikrnug3/IyneSHqCBeslAhlK2aBfYek1fGo4bP4QnZPmiqSGRK+Oy7ZMisLWkesffJvQ1cqAcBnJC+8+nxIAg==", + "dev": true + }, + "node_modules/@types/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/phoenix": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.6.tgz", + "integrity": "sha512-PIzZZlEppgrpoT2QgbnDU+MMzuR6BbCjllj0bM70lWoejMeNJAxCchxnv7J3XFkI8MpygtRpzXrIlmWUBclP5A==" + }, + "node_modules/@types/qs": { + "version": "6.9.18", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", + "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "node_modules/@types/superagent": { + "version": "8.1.9", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz", + "integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==", + "dev": true, + "dependencies": { + "@types/cookiejar": "^2.1.5", + "@types/methods": "^1.1.4", + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/supertest": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz", + "integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==", + "dev": true, + "dependencies": { + "@types/methods": "^1.1.4", + "@types/superagent": "^8.1.0" + } + }, + "node_modules/@types/swagger-jsdoc": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/swagger-jsdoc/-/swagger-jsdoc-6.0.4.tgz", + "integrity": "sha512-W+Xw5epcOZrF/AooUM/PccNMSAFOKWZA5dasNyMujTwsBkU74njSJBpvCCJhHAJ95XRMzQrrW844Btu0uoetwQ==", + "dev": true + }, + "node_modules/@types/swagger-ui-express": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/swagger-ui-express/-/swagger-ui-express-4.1.7.tgz", + "integrity": "sha512-ovLM9dNincXkzH4YwyYpll75vhzPBlWx6La89wwvYH7mHjVpf0X0K/vR/aUM7SRxmr5tt9z7E5XJcjQ46q+S3g==", + "dev": true, + "dependencies": { + "@types/express": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==" + }, + "node_modules/@types/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==" + }, + "node_modules/@types/ws": { + "version": "8.5.14", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.14.tgz", + "integrity": "sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "devOptional": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "devOptional": true, + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "devOptional": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "devOptional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "devOptional": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "devOptional": true + }, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/ai": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ai/-/ai-4.2.0.tgz", + "integrity": "sha512-3xJWzBZpBS3n/UY360IopufV5dpfgYoY08eCAV2A2m7CcyJxVOAQ4lXvBGSsB+mR+BYJ8Y/JOesFfc0+k4jz3A==", + "dependencies": { + "@ai-sdk/provider": "1.1.0", + "@ai-sdk/provider-utils": "2.2.0", + "@ai-sdk/react": "1.2.0", + "@ai-sdk/ui-utils": "1.2.0", + "@opentelemetry/api": "1.9.0", + "eventsource-parser": "^3.0.0", + "jsondiffpatch": "0.6.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc", + "zod": "^3.23.8" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + } + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==" + }, + "node_modules/axios": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "peer": true + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==" + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001702", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001702.tgz", + "integrity": "sha512-LoPe/D7zioC0REI5W73PeR1e1MLCipRGq/VkovJnd6Df+QVqT+vT33OXCp8QUd7kA7RZrHWxb1B36OQKI/0gOA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", + "integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/console-table-printer": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/console-table-printer/-/console-table-printer-2.12.1.tgz", + "integrity": "sha512-wKGOQRRvdnd89pCeH96e2Fn4wkbenSP6LMHfjfyNLMbGuHEFbMqQNuxXqd0oXG9caIOQ1FTvc5Uijp9/4jujnQ==", + "dependencies": { + "simple-wcswidth": "^1.0.1" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-parser": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.7.tgz", + "integrity": "sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw==", + "license": "MIT", + "dependencies": { + "cookie": "0.7.2", + "cookie-signature": "1.0.6" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/cookie-parser/node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true + }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "devOptional": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "devOptional": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "devOptional": true + }, + "node_modules/csv-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/csv-parser/-/csv-parser-3.2.0.tgz", + "integrity": "sha512-fgKbp+AJbn1h2dcAHKIdKNSSjfp43BZZykXsCjzALjKy80VXQNHPFJ6T9Afwdzoj24aMkq8GwDS7KGcDPpejrA==", + "bin": { + "csv-parser": "bin/csv-parser" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-dsv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-2.0.0.tgz", + "integrity": "sha512-E+Pn8UJYx9mViuIUkoc93gJGGYut6mSDKy2+XaPwccwkRGlR+LO97L2VCCRjQivTwLHkSnAJG7yo00BWY6QM+w==", + "dependencies": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json", + "csv2tsv": "bin/dsv2dsv", + "dsv2dsv": "bin/dsv2dsv", + "dsv2json": "bin/dsv2json", + "json2csv": "bin/json2dsv", + "json2dsv": "bin/json2dsv", + "json2tsv": "bin/json2dsv", + "tsv2csv": "bin/dsv2dsv", + "tsv2json": "bin/dsv2json" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "devOptional": true, + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/data-urls/node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "devOptional": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/data-urls/node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "devOptional": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/data-urls/node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "devOptional": true, + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", + "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "devOptional": true + }, + "node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-match-patch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz", + "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==" + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true, + "peer": true + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "devOptional": true, + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "devOptional": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "peer": true, + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.113", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.113.tgz", + "integrity": "sha512-wjT2O4hX+wdWPJ76gWSkMhcHAV2PTMX+QetUCPYEdCIe+cxmgzzSSiGRCKW8nuh4mwKZlpv0xvoW7OF2X+wmHg==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "devOptional": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "devOptional": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "devOptional": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.0.tgz", + "integrity": "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA==", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expr-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expr-eval/-/expr-eval-2.0.2.tgz", + "integrity": "sha512-4EMSHGOPSwAfBiibw3ndnP0AvjDWLsMvGOvWEZ2F96IGk0bIVdjQisOHxReSkE13mHcfbuCiXw+G4y0zv6N8Eg==" + }, + "node_modules/express": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-type": { + "version": "16.5.4", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", + "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==", + "peer": true, + "dependencies": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==" + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data-encoder": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", + "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" + }, + "node_modules/formdata-node": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", + "dependencies": { + "node-domexception": "1.0.0", + "web-streams-polyfill": "4.0.0-beta.3" + }, + "engines": { + "node": ">= 12.20" + } + }, + "node_modules/formidable": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.2.tgz", + "integrity": "sha512-Jqc1btCy3QzRbJaICGwKcBfGWuLADRerLzDqi2NwSt/UkXLsHJw2TVResiaoBufHVHy9aSgClOHCeJsSsFLTbg==", + "dev": true, + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^2.0.0", + "once": "^1.4.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hexoid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-2.0.0.tgz", + "integrity": "sha512-qlspKUK7IlSQv2o+5I7yhUd7TxlOG2Vr5LTa3ve2XSNVKAL/n/u/7KLvKmFNimomDIKvZFXWHv0T12mv7rT8Aw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "devOptional": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "devOptional": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-agent/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "devOptional": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/http-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "devOptional": true + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "devOptional": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "devOptional": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "devOptional": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/ibm-cloud-sdk-core": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/ibm-cloud-sdk-core/-/ibm-cloud-sdk-core-5.1.3.tgz", + "integrity": "sha512-FCJSK4Gf5zdmR3yEM2DDlaYDrkfhSwP3hscKzPrQEfc4/qMnFn6bZuOOw5ulr3bB/iAbfeoGF0CkIe+dWdpC7Q==", + "peer": true, + "dependencies": { + "@types/debug": "^4.1.12", + "@types/node": "~10.14.19", + "@types/tough-cookie": "^4.0.0", + "axios": "1.7.9", + "camelcase": "^6.3.0", + "debug": "^4.3.4", + "dotenv": "^16.4.5", + "extend": "3.0.2", + "file-type": "16.5.4", + "form-data": "4.0.0", + "isstream": "0.1.2", + "jsonwebtoken": "^9.0.2", + "mime-types": "2.1.35", + "retry-axios": "^2.6.0", + "tough-cookie": "^4.1.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/ibm-cloud-sdk-core/node_modules/@types/node": { + "version": "10.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.22.tgz", + "integrity": "sha512-9taxKC944BqoTVjE+UT3pQH0nHZlTvITwfsOZqyc+R3sfJuxaTtxWjfn1K2UlxyPcKHf0rnaXcVFrS9F9vf0bw==", + "peer": true + }, + "node_modules/ibm-cloud-sdk-core/node_modules/axios": { + "version": "1.7.9", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", + "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "peer": true, + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/ibm-cloud-sdk-core/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/ibm-cloud-sdk-core/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "peer": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ibm-cloud-sdk-core/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "peer": true + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dev": true, + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "devOptional": true + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-config/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-diff/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/jest-environment-jsdom": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tiktoken": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/js-tiktoken/-/js-tiktoken-1.0.19.tgz", + "integrity": "sha512-XC63YQeEcS47Y53gg950xiZ4IWmkfMe4p2V9OSaBt26q+p47WHn18izuXzSclCI73B7yGqtfRsT6jcZQI0y08g==", + "dependencies": { + "base64-js": "^1.5.1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "devOptional": true, + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "devOptional": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/jsdom/node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "devOptional": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/jsdom/node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "devOptional": true, + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsondiffpatch": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.6.0.tgz", + "integrity": "sha512-3QItJOXp2AP1uv7waBkao5nCvhEv+QmJAd38Ybq7wNI74Q+BBmnLn4EDKz6yI9xGAIQoUF87qHt+kc1IVxB4zQ==", + "dependencies": { + "@types/diff-match-patch": "^1.0.36", + "chalk": "^5.3.0", + "diff-match-patch": "^1.0.5" + }, + "bin": { + "jsondiffpatch": "bin/jsondiffpatch.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "peer": true, + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "peer": true + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "peer": true, + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "peer": true, + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/langchain": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/langchain/-/langchain-0.3.19.tgz", + "integrity": "sha512-aGhoTvTBS5ulatA67RHbJ4bcV5zcYRYdm5IH+hpX99RYSFXG24XF3ghSjhYi6sxW+SUnEQ99fJhA5kroVpKNhw==", + "dependencies": { + "@langchain/openai": ">=0.1.0 <0.5.0", + "@langchain/textsplitters": ">=0.0.0 <0.2.0", + "js-tiktoken": "^1.0.12", + "js-yaml": "^4.1.0", + "jsonpointer": "^5.0.1", + "langsmith": ">=0.2.8 <0.4.0", + "openapi-types": "^12.1.3", + "p-retry": "4", + "uuid": "^10.0.0", + "yaml": "^2.2.1", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@langchain/anthropic": "*", + "@langchain/aws": "*", + "@langchain/cerebras": "*", + "@langchain/cohere": "*", + "@langchain/core": ">=0.2.21 <0.4.0", + "@langchain/deepseek": "*", + "@langchain/google-genai": "*", + "@langchain/google-vertexai": "*", + "@langchain/google-vertexai-web": "*", + "@langchain/groq": "*", + "@langchain/mistralai": "*", + "@langchain/ollama": "*", + "@langchain/xai": "*", + "axios": "*", + "cheerio": "*", + "handlebars": "^4.7.8", + "peggy": "^3.0.2", + "typeorm": "*" + }, + "peerDependenciesMeta": { + "@langchain/anthropic": { + "optional": true + }, + "@langchain/aws": { + "optional": true + }, + "@langchain/cerebras": { + "optional": true + }, + "@langchain/cohere": { + "optional": true + }, + "@langchain/deepseek": { + "optional": true + }, + "@langchain/google-genai": { + "optional": true + }, + "@langchain/google-vertexai": { + "optional": true + }, + "@langchain/google-vertexai-web": { + "optional": true + }, + "@langchain/groq": { + "optional": true + }, + "@langchain/mistralai": { + "optional": true + }, + "@langchain/ollama": { + "optional": true + }, + "@langchain/xai": { + "optional": true + }, + "axios": { + "optional": true + }, + "cheerio": { + "optional": true + }, + "handlebars": { + "optional": true + }, + "peggy": { + "optional": true + }, + "typeorm": { + "optional": true + } + } + }, + "node_modules/langchain/node_modules/yaml": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/langsmith": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.3.10.tgz", + "integrity": "sha512-V6SnJhxKt9AbdVfl86OrEBl8uGwO0/WE2qqDcRXxHxzdCDnj+sV7nstr5VL0a6zxZmyMaw6eBbYwB4PTYKRvvQ==", + "dependencies": { + "@types/uuid": "^10.0.0", + "chalk": "^4.1.2", + "console-table-printer": "^2.12.1", + "p-queue": "^6.6.2", + "p-retry": "4", + "semver": "^7.6.3", + "uuid": "^10.0.0" + }, + "peerDependencies": { + "openai": "*" + }, + "peerDependenciesMeta": { + "openai": { + "optional": true + } + } + }, + "node_modules/langsmith/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/langsmith/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "devOptional": true + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead." + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "peer": true + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "peer": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead." + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "peer": true + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "peer": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "peer": true + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "peer": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "peer": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "peer": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "peer": true, + "bin": { + "mustache": "bin/mustache" + } + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-cron": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/node-cron/-/node-cron-3.0.3.tgz", + "integrity": "sha512-dOal67//nohNgYWb+nWmg5dkFdIwDm8EpeGYMekPMrngV3637lqnX0lbUcCtgibHTz6SEz7DAIjKvKDFYCnO1A==", + "dependencies": { + "uuid": "8.3.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/node-cron/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-ensure": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/node-ensure/-/node-ensure-0.0.0.tgz", + "integrity": "sha512-DRI60hzo2oKN1ma0ckc6nQWlHU69RH6xN0sjQTjMpChPfTYvKZdcQFfdYK2RWbJcKyUizSIy/l8OTGxMAM1QDw==" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nwsapi": { + "version": "2.2.18", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.18.tgz", + "integrity": "sha512-p1TRH/edngVEHVbwqWnxUViEmq5znDvyB+Sik5cmuLpGOIfDf/39zLiq3swPF8Vakqn+gvNiOQAZu8djYlQILA==", + "devOptional": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openai": { + "version": "4.89.0", + "resolved": "https://registry.npmjs.org/openai/-/openai-4.89.0.tgz", + "integrity": "sha512-XNI0q2l8/Os6jmojxaID5EhyQjxZgzR2gWcpEjYWK5hGKwE7AcifxEY7UNwFDDHJQXqeiosQ0CJwQN+rvnwdjA==", + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7" + }, + "bin": { + "openai": "bin/cli" + }, + "peerDependencies": { + "ws": "^8.18.0", + "zod": "^3.23.8" + }, + "peerDependenciesMeta": { + "ws": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/openai/node_modules/@types/node": { + "version": "18.19.76", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.76.tgz", + "integrity": "sha512-yvR7Q9LdPz2vGpmpJX5LolrgRdWvB67MJKDPSgIIzpFbaf9a1j/f5DnLp5VDyHGMR0QZHlTr1afsD87QCXFHKw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/openai/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/openapi-types": { + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz", + "integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==" + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "dependencies": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "devOptional": true, + "dependencies": { + "entities": "^4.5.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" + }, + "node_modules/pdf-parse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pdf-parse/-/pdf-parse-1.1.1.tgz", + "integrity": "sha512-v6ZJ/efsBpGrGGknjtq9J/oC8tZWq0KWL5vQrk2GlzLEQPUDB1ex+13Rmidl1neNN358Jn9EHZw5y07FFtaC7A==", + "dependencies": { + "debug": "^3.1.0", + "node-ensure": "^0.0.0" + }, + "engines": { + "node": ">=6.8.1" + } + }, + "node_modules/pdf-parse/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/pdf-parse/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/peek-readable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", + "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==", + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/playwright": { + "version": "1.50.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.50.1.tgz", + "integrity": "sha512-G8rwsOQJ63XG6BbKj2w5rHeavFjy5zynBA9zsJMMtBoe/Uf757oG12NXz6e6OirF7RCrTVAKFXbLmn1RbL7Qaw==", + "peer": true, + "dependencies": { + "playwright-core": "1.50.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.50.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.50.1.tgz", + "integrity": "sha512-ra9fsNWayuYumt+NiM069M6OkcRb1FZSK8bgi66AtpFoWkg2+y0bJSNmkFrWhMbEBbVKC/EruAHH3g0zmtwGmQ==", + "peer": true, + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "peer": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "peer": true + }, + "node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "peer": true, + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/readable-web-to-node-stream": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.4.tgz", + "integrity": "sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw==", + "peer": true, + "dependencies": { + "readable-stream": "^4.7.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/retry-axios": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/retry-axios/-/retry-axios-2.6.0.tgz", + "integrity": "sha512-pOLi+Gdll3JekwuFjXO3fTq+L9lzMQGcSq7M5gIjExcl3Gu1hd4XXuf5o3+LuSBsaULQH7DiNbsqPd1chVpQGQ==", + "peer": true, + "engines": { + "node": ">=10.7.0" + }, + "peerDependencies": { + "axios": "*" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rewire": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", + "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", + "dependencies": { + "eslint": "^8.47.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "devOptional": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/secure-json-parse": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" + }, + "node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/simple-wcswidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-wcswidth/-/simple-wcswidth-1.0.1.tgz", + "integrity": "sha512-xMO/8eNREtaROt7tJvWJqHBDTMFN4eiQ5I4JRMuilwfnFcV5W9u7RUkueNkdw0jPqGMX36iCywelS5yilTuOxg==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stream": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.3.tgz", + "integrity": "sha512-aMsbn7VKrl4A2T7QAQQbzgN7NVc70vgF5INQrBXqn4dCXN1zy3L9HGgLO5s7PExmdrzTJ8uR/27aviW8or8/+A==", + "license": "MIT", + "dependencies": { + "component-emitter": "^2.0.0" + } + }, + "node_modules/stream/node_modules/component-emitter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-2.0.0.tgz", + "integrity": "sha512-4m5s3Me2xxlVKG9PkZpQqHQR7bgpnN7joDMJ4yvVkVXngjoITG76IaZmzmywSeRTeTpc6N6r3H3+KyUurV8OYw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "peer": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strtok3": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz", + "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==", + "peer": true, + "dependencies": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^4.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/superagent": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz", + "integrity": "sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==", + "dev": true, + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^3.5.1", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/superagent/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/superagent/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/superagent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/supertest": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.0.0.tgz", + "integrity": "sha512-qlsr7fIC0lSddmA3tzojvzubYxvlGtzumcdHgPwbFWMISQwL22MhM2Y3LNt+6w9Yyx7559VW5ab70dgphm8qQA==", + "dev": true, + "dependencies": { + "methods": "^1.1.2", + "superagent": "^9.0.1" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/swagger-jsdoc": { + "version": "6.2.8", + "resolved": "https://registry.npmjs.org/swagger-jsdoc/-/swagger-jsdoc-6.2.8.tgz", + "integrity": "sha512-VPvil1+JRpmJ55CgAtn8DIcpBs0bL5L3q5bVQvF4tAW/k/9JYSj7dCpaYCAv5rufe0vcCbBRQXGvzpkWjvLklQ==", + "dependencies": { + "commander": "6.2.0", + "doctrine": "3.0.0", + "glob": "7.1.6", + "lodash.mergewith": "^4.6.2", + "swagger-parser": "^10.0.3", + "yaml": "2.0.0-1" + }, + "bin": { + "swagger-jsdoc": "bin/swagger-jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/swagger-parser": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/swagger-parser/-/swagger-parser-10.0.3.tgz", + "integrity": "sha512-nF7oMeL4KypldrQhac8RyHerJeGPD1p2xDh900GPvc+Nk7nWP6jX2FcC7WmkinMoAmoO774+AFXcWsW8gMWEIg==", + "dependencies": { + "@apidevtools/swagger-parser": "10.0.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/swagger-ui-dist": { + "version": "5.18.2", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.18.2.tgz", + "integrity": "sha512-J+y4mCw/zXh1FOj5wGJvnAajq6XgHOyywsa9yITmwxIlJbMqITq3gYRZHaeqLVH/eV/HOPphE6NjF+nbSNC5Zw==", + "dependencies": { + "@scarf/scarf": "=1.4.0" + } + }, + "node_modules/swagger-ui-express": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-5.0.1.tgz", + "integrity": "sha512-SrNU3RiBGTLLmFU8GIJdOdanJTl4TOmT27tt3bWWHppqYmAZ6IDuEuBvMU6nZq0zLEe6b/1rACXCgLZqO6ZfrA==", + "dependencies": { + "swagger-ui-dist": ">=5.0.0" + }, + "engines": { + "node": ">= v0.10.32" + }, + "peerDependencies": { + "express": ">=4.0.0 || >=5.0.0-beta" + } + }, + "node_modules/swr": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.3.tgz", + "integrity": "sha512-dshNvs3ExOqtZ6kJBaAsabhPdHyeY4P2cKwRCniDVifBMoG/SVI7tfLWqPXriVspf2Rg4tPzXJTnwaihIeFw2A==", + "dependencies": { + "dequal": "^2.0.3", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "devOptional": true + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/throttleit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-2.1.0.tgz", + "integrity": "sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/token-types": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz", + "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==", + "peer": true, + "dependencies": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/ts-jest": { + "version": "29.2.6", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.6.tgz", + "integrity": "sha512-yTNZVZqc8lSixm+QGVFcPe6+yj7+TWZwIesuOWvfcn4B9bz5x4NDzVCQQjOs7Hfouu36aEqfEbo9Qpo+gq8dDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bs-logger": "^0.2.6", + "ejs": "^3.1.10", + "fast-json-stable-stringify": "^2.1.0", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "^4.1.2", + "make-error": "^1.3.6", + "semver": "^7.7.1", + "yargs-parser": "^21.1.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "dev": true, + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", + "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/validator": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", + "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "devOptional": true, + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/web-streams-polyfill": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "devOptional": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "devOptional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "devOptional": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "devOptional": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "devOptional": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.0.0-1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.0.0-1.tgz", + "integrity": "sha512-W7h5dEhywMKenDJh2iX/LABkbFnBxasD27oyXWDS/feDsxiw0dD5ncXdYXgkvAsXIY2MpW/ZKkr9IU30DBdMNQ==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/z-schema": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz", + "integrity": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==", + "dependencies": { + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "validator": "^13.7.0" + }, + "bin": { + "z-schema": "bin/z-schema" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "commander": "^9.4.1" + } + }, + "node_modules/z-schema/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "optional": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/zod": { + "version": "3.24.2", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz", + "integrity": "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.24.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.2.tgz", + "integrity": "sha512-pNUqrcSxuuB3/+jBbU8qKUbTbDqYUaG1vf5cXFjbhGgoUuA1amO/y4Q8lzfOhHU8HNPK6VFJ18lBDKj3OHyDsg==", + "peerDependencies": { + "zod": "^3.24.1" + } + } + } +} diff --git a/course-matrix/backend/package.json b/course-matrix/backend/package.json new file mode 100644 index 00000000..4f800758 --- /dev/null +++ b/course-matrix/backend/package.json @@ -0,0 +1,61 @@ +{ + "name": "backend", + "version": "1.0.0", + "description": "", + "main": "src/index.ts", + "scripts": { + "dev": "ts-node -r dotenv/config src/index.ts", + "test": "jest", + "test:watch": "jest --watch", + "build": "vite build", + "prod": "ts-node -r dotenv/config src/index.ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@ai-sdk/openai": "^1.1.13", + "@getbrevo/brevo": "^2.2.0", + "@langchain/community": "^0.3.32", + "@langchain/openai": "^0.4.4", + "@langchain/pinecone": "^0.1.3", + "@pinecone-database/pinecone": "^5.0.2", + "@supabase/supabase-js": "^2.48.1", + "@types/express": "^5.0.0", + "@types/node-fetch": "^2.6.12", + "ai": "^4.1.45", + "axios": "^1.8.4", + "cookie-parser": "^1.4.7", + "cors": "^2.8.5", + "csv-parser": "^3.2.0", + "d3-dsv": "^2.0.0", + "dotenv": "^16.4.7", + "express": "^4.21.2", + "langchain": "^0.3.19", + "node-cron": "^3.0.3", + "node-fetch": "^2.7.0", + "openai": "^4.85.4", + "pdf-parse": "^1.1.1", + "stream": "^0.0.3", + "swagger-jsdoc": "^6.2.8", + "swagger-ui-express": "^5.0.1", + "validator": "^13.12.0" + }, + "devDependencies": { + "@testing-library/jest-dom": "^6.4.8", + "@testing-library/react": "^16.0.0", + "@types/cookie-parser": "^1.4.8", + "@types/cors": "^2.8.17", + "@types/jest": "^29.5.14", + "@types/node-cron": "^3.0.11", + "@types/supertest": "^6.0.2", + "@types/swagger-jsdoc": "^6.0.4", + "@types/swagger-ui-express": "^4.1.7", + "identity-obj-proxy": "^3.0.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "supertest": "^7.0.0", + "ts-jest": "^29.2.6", + "ts-node": "^10.9.2" + } +} diff --git a/course-matrix/backend/src/config/config.ts b/course-matrix/backend/src/config/config.ts new file mode 100644 index 00000000..651b4999 --- /dev/null +++ b/course-matrix/backend/src/config/config.ts @@ -0,0 +1,35 @@ +import { config } from "dotenv"; + +/** + * Load environment variables from .env file + */ +const configFile = `./.env`; +config({ path: configFile }); + +const { + PORT, + NODE_ENV, + CLIENT_APP_URL, + DATABASE_URL, + DATABASE_KEY, + OPENAI_API_KEY, + PINECONE_API_KEY, + PINECONE_INDEX_NAME, +} = process.env; + +/** + * Configuration object containing environment variables. + * + * This object includes the PORT, NODE_ENV, CLIENT_APP_URL, DATABASE_URL, and DATABASE_KEY. + * These values are loaded from the environment variables defined in the .env file. + */ +export default { + PORT, + env: NODE_ENV, + CLIENT_APP_URL, + DATABASE_URL, + DATABASE_KEY, + OPENAI_API_KEY, + PINECONE_API_KEY, + PINECONE_INDEX_NAME, +}; diff --git a/course-matrix/backend/src/config/swaggerOptions.ts b/course-matrix/backend/src/config/swaggerOptions.ts new file mode 100644 index 00000000..5a6c1a1e --- /dev/null +++ b/course-matrix/backend/src/config/swaggerOptions.ts @@ -0,0 +1,16 @@ +export const swaggerOptions = { + swaggerDefinition: { + openapi: "3.0.0", + info: { + title: "Application API", + description: "Application API Information", + version: "v1", + }, + servers: [ + { + url: "http://localhost:8081", + }, + ], + }, + apis: ["./src/routes/*.ts"], +}; diff --git a/course-matrix/backend/src/constants/availableFunctions.ts b/course-matrix/backend/src/constants/availableFunctions.ts new file mode 100644 index 00000000..fe3df416 --- /dev/null +++ b/course-matrix/backend/src/constants/availableFunctions.ts @@ -0,0 +1,560 @@ +import { Request } from "express"; + +import { generateWeeklyCourseEvents } from "../controllers/eventsController"; +import { supabase } from "../db/setupDb"; +import { RestrictionForm } from "../models/timetable-form"; +import getOfferings from "../services/getOfferings"; +import { getValidSchedules } from "../services/getValidSchedules"; +import { + GroupedOfferingList, + Offering, + OfferingList, +} from "../types/generatorTypes"; +import { convertTimeStringToDate } from "../utils/convert-time-string"; +import { + categorizeValidOfferings, + getFreq, + getMaxDays, + getMaxHour, + getValidOfferings, + groupOfferings, + trim, + shuffle, +} from "../utils/generatorHelpers"; + +// Add all possible function names here +export type FunctionNames = + | "getTimetables" + | "updateTimetable" + | "deleteTimetable" + | "generateTimetable" + | "getCourses" + | "getOfferings"; + +type AvailableFunctions = { + [K in FunctionNames]: (args: any, req: Request) => Promise; +}; + +// Functions used for OpenAI function calling +export const availableFunctions: AvailableFunctions = { + getTimetables: async (args: any, req: Request) => { + try { + // Retrieve user_id + const user_id = (req as any).user.id; + // Retrieve user timetable item based on user_id + let timeTableQuery = supabase + .schema("timetable") + .from("timetables") + .select() + .eq("user_id", user_id); + const { data: timetableData, error: timetableError } = + await timeTableQuery; + // console.log("Timetables: ", timetableData) + + if (timetableError) return { status: 400, error: timetableError.message }; + + // If no records were updated due to non-existence timetable or it doesn't + // belong to the user. + if (!timetableData || timetableData.length === 0) { + return { + status: 404, + error: "Timetable not found or you are not authorized to update it", + }; + } + + return { + status: 200, + timetableCount: timetableData.length, + data: timetableData, + }; + } catch (error) { + console.log(error); + return { status: 400, error: error }; + } + }, + updateTimetable: async (args: any, req: Request) => { + try { + const { id, timetable_title, semester } = args; + + if (!timetable_title && !semester) { + return { + status: 400, + error: + "New timetable title or semester is required when updating a timetable", + }; + } + + // Retrieve the authenticated user + const user_id = (req as any).user.id; + + // Retrieve users allowed to access the timetable + const { data: timetableUserData, error: timetableUserError } = + await supabase + .schema("timetable") + .from("timetables") + .select("*") + .eq("id", id) + .eq("user_id", user_id) + .maybeSingle(); + + const timetable_user_id = timetableUserData?.user_id; + + if (timetableUserError) + return { status: 400, error: timetableUserError.message }; + + // Validate timetable validity: + if (!timetableUserData || timetableUserData.length === 0) { + return { status: 404, error: "Calendar id not found" }; + } + + // Validate user access + if (user_id !== timetable_user_id) { + return { + status: 401, + error: "Unauthorized access to timetable events", + }; + } + + let updateData: any = {}; + updateData.updated_at = new Date().toISOString(); + if (timetable_title) updateData.timetable_title = timetable_title; + if (semester) updateData.semester = semester; + + // Update timetable title, for authenticated user only + let updateTimetableQuery = supabase + .schema("timetable") + .from("timetables") + .update(updateData) + .eq("id", id) + .eq("user_id", user_id) + .select(); + + const { data: timetableData, error: timetableError } = + await updateTimetableQuery; + + if (timetableError) return { status: 400, error: timetableError.message }; + + // If no records were updated due to non-existence timetable or it doesn't + // belong to the user. + if (!timetableData || timetableData.length === 0) { + return { + status: 404, + error: "Timetable not found or you are not authorized to update it", + }; + } + return { status: 200, data: timetableData }; + } catch (error) { + return { status: 500, error: error }; + } + }, + deleteTimetable: async (args: any, req: Request) => { + try { + const { id } = args; + + // Retrieve the authenticated user + const user_id = (req as any).user.id; + + // Retrieve users allowed to access the timetable + const { data: timetableUserData, error: timetableUserError } = + await supabase + .schema("timetable") + .from("timetables") + .select("*") + .eq("id", id) + .eq("user_id", user_id) + .maybeSingle(); + const timetable_user_id = timetableUserData?.user_id; + + if (timetableUserError) + return { status: 400, error: timetableUserError.message }; + + // Validate timetable validity: + if (!timetableUserData || timetableUserData.length === 0) { + return { status: 404, error: "Calendar id not found" }; + } + + // Validate user access + if (user_id !== timetable_user_id) { + return { + status: 401, + error: "Unauthorized access to timetable events", + }; + } + + // Delete only if the timetable belongs to the authenticated user + let deleteTimetableQuery = supabase + .schema("timetable") + .from("timetables") + .delete() + .eq("id", id) + .eq("user_id", user_id); + + const { error: timetableError } = await deleteTimetableQuery; + + if (timetableError) return { status: 400, error: timetableError.message }; + + return { status: 200, data: "Timetable successfully deleted" }; + } catch (error) { + return { status: 500, error: error }; + } + }, + generateTimetable: async (args: any, req: Request) => { + try { + // Extract event details and course information from the request + const { name, semester, courses, restrictions } = args; + // Get user id from session authentication to insert in the user_id col + const user_id = (req as any).user.id; + + if (name.length > 50) { + return { + status: 400, + error: "timetable title is over 50 characters long", + }; + } + + // Timetables cannot exceed the size of 25. + const { count: timetable_count, error: timetableCountError } = + await supabase + .schema("timetable") + .from("timetables") + .select("*", { count: "exact", head: true }) + .eq("user_id", user_id); + + console.log(timetable_count); + + if ((timetable_count ?? 0) >= 25) { + return { + status: 400, + error: "You have exceeded the limit of 25 timetables", + }; + } + + const courseOfferingsList: OfferingList[] = []; + const validCourseOfferingsList: GroupedOfferingList[] = []; + const maxdays = getMaxDays(restrictions); + const maxhours = getMaxHour(restrictions); + const validSchedules: Offering[][] = []; + // Fetch offerings for each course + for (const course of courses) { + const { id } = course; + courseOfferingsList.push({ + course_id: id, + offerings: (await getOfferings(id, semester)) ?? [], + }); + } + const groupedOfferingsList: GroupedOfferingList[] = + groupOfferings(courseOfferingsList); + + for (const { + course_id, + groups, + lectures, + tutorials, + practicals, + } of groupedOfferingsList) { + const group: Record = getValidOfferings( + groups, + restrictions, + ); + let groupedOfferings = { + course_id: course_id, + groups: group, + lectures: 0, + tutorials: 0, + practicals: 0, + }; + groupedOfferings = getFreq(groupedOfferings); + if ( + (lectures != 0 && groupedOfferings.lectures == 0) || + (tutorials != 0 && groupedOfferings.tutorials == 0) || + (practicals != 0 && groupedOfferings.practicals == 0) + ) { + return { + status: 404, + error: "No valid schedules found. (Restriction)", + }; + } + + validCourseOfferingsList.push(groupedOfferings); + } + + let categorizedOfferings = categorizeValidOfferings( + validCourseOfferingsList, + ); + // console.log(JSON.stringify(categorizedOfferings)); + // Generate valid schedules for the given courses and restrictions + categorizedOfferings = shuffle(categorizedOfferings); + getValidSchedules( + validSchedules, + categorizedOfferings, + [], + 0, + categorizedOfferings.length, + maxdays, + maxhours, + false, + ); + // Return error if no valid schedules are found + if (validSchedules.length === 0) { + return { status: 404, error: "No valid schedules found." }; + } + + // ------ CREATE FLOW ------ + + // Retrieve timetable title + const schedule = trim(validSchedules)[0]; + if (!name || !semester) { + return { + status: 400, + error: "timetable title and semester are required", + }; + } + + // Check if a timetable with the same title already exist for this user + const { data: existingTimetable, error: existingTimetableError } = + await supabase + .schema("timetable") + .from("timetables") + .select("id") + .eq("user_id", user_id) + .eq("timetable_title", name) + .maybeSingle(); + + if (existingTimetableError) { + return { + status: 400, + error: `Existing timetable with name: ${name}. Please rename +timetable.`, + }; + } + + if (existingTimetable) { + return { + status: 400, + error: "A timetable with this title already exists", + }; + } + + let favorite = false; + + // Insert the user_id and timetable_title into the db + let insertTimetable = supabase + .schema("timetable") + .from("timetables") + .insert([ + { + user_id, + timetable_title: name, + semester, + favorite, + }, + ]) + .select() + .single(); + + const { data: timetableData, error: timetableError } = + await insertTimetable; + + if (timetableError) { + return { + status: 400, + error: "Timetable error" + timetableError.message, + }; + } + + // Insert events + for (const offering of schedule) { + // Query course offering information + const { data: offeringData, error: offeringError } = await supabase + .schema("course") + .from("offerings") + .select("*") + .eq("id", offering.id) + .maybeSingle(); + + if (offeringError) + return { + status: 400, + error: `Offering error id: ${offering.id} ` + offeringError.message, + }; + + if (!offeringData || offeringData.length === 0) { + return { + status: 400, + error: "Invalid offering_id or course offering not found.", + }; + } + + // Generate event details + const courseEventName = ` ${offeringData.code} - +${offeringData.meeting_section} `; + const courseDay = offeringData.day; + const courseStartTime = offeringData.start; + const courseEndTime = offeringData.end; + + if (!courseDay || !courseStartTime || !courseEndTime) { + return { + status: 400, + error: "Incomplete offering data to generate course event", + }; + } + + let eventsToInsert: any[] = []; + let semester_start_date; + let semester_end_date; + + if (semester === "Summer 2025") { + semester_start_date = "2025-05-02"; + semester_end_date = "2025-08-07"; + } else if (semester === "Fall 2025") { + semester_start_date = "2025-09-03"; + semester_end_date = "2025-12-03"; + } else { + // Winter 2026 + semester_start_date = "2026-01-06"; + semester_end_date = "2026-04-04"; + } + + if (semester_start_date && semester_end_date) { + eventsToInsert = generateWeeklyCourseEvents( + user_id, + courseEventName, + courseDay, + courseStartTime, + courseEndTime, + timetableData.id, + offering.id.toString(), + semester_start_date, + semester_end_date, + ); + } + + // Each week lecture will be inputted as a separate events from + // sememseter start to end date Semester start & end dates are inputted + // by user + const { data: courseEventData, error: courseEventError } = + await supabase + .schema("timetable") + .from("course_events") + .insert(eventsToInsert) + .select("*"); + + if (courseEventError) { + return { + status: 400, + error: "Coruse event error " + courseEventError.message, + }; + } + } + + // Save restrictions + for (const restriction of restrictions as RestrictionForm[]) { + let startTime: String | null = null; + let endTime: String | null = null; + + if (restriction.startTime) { + let restriction_start_time = convertTimeStringToDate( + restriction.startTime, + ); + startTime = restriction_start_time.toISOString().split("T")[1]; + } + + if (restriction.endTime) { + let restriction_end_time = convertTimeStringToDate( + restriction.endTime, + ); + endTime = restriction_end_time.toISOString().split("T")[1]; + } + const { data: restrictionData, error: restrictionError } = + await supabase + .schema("timetable") + .from("restriction") + .insert([ + { + user_id, + type: restriction?.type, + days: restriction?.days, + start_time: startTime, + end_time: endTime, + disabled: restriction?.disabled, + num_days: restriction?.numDays, + calendar_id: timetableData?.id, + max_gap: restriction?.maxGap, + }, + ]) + .select(); + + if (restrictionError) { + return { status: 400, error: restrictionError.message }; + } + } + + return { status: 201, data: timetableData }; + } catch (error) { + // Catch any error and return the error message + const errorMessage = + error instanceof Error ? error.message : "An unknown error occurred"; + return { status: 500, error: errorMessage }; + } + }, + getCourses: async (args: any, req: Request) => { + const { courses } = args; // course codes + try { + const filterConditions = courses.map((prefix: string) => { + return `code.ilike.${prefix}%`; + }); + + // Get all courses that have any of the provided courses as its prefix + const { data: courseData, error } = await supabase + .schema("course") + .from("courses") + .select("*") + .or(filterConditions.join(",")); + + if (error) { + return { status: 400, error: error.message }; + } + + return { status: 200, data: courseData }; + } catch (error) { + const errorMessage = + error instanceof Error ? error.message : "An unknown error occurred"; + return { status: 500, error: errorMessage }; + } + }, + + getOfferings: async (args: any, req: Request) => { + const { courses, semester } = args; + try { + const filterConditions = courses.map((prefix: string) => { + return `code.ilike.${prefix}%`; + }); + + // Get all offerings for any of the provided courses + const { data: offeringsData, error: offeringsError } = await supabase + .schema("course") + .from("offerings") + .select("*") + .eq("offering", semester) + .or(filterConditions.join(",")); + + if (offeringsError) { + return { status: 400, error: offeringsError.message }; + } + + // Return the courses that are offered in the semseter + const coursesOffered = new Set(); + for (const offering of offeringsData) { + if (!coursesOffered.has(offering.code)) { + coursesOffered.add(offering.code); + } + } + + return { status: 200, data: Array.from(coursesOffered) }; + } catch (error) { + const errorMessage = + error instanceof Error ? error.message : "An unknown error occurred"; + return { status: 500, error: errorMessage }; + } + }, +}; diff --git a/course-matrix/backend/src/constants/constants.ts b/course-matrix/backend/src/constants/constants.ts new file mode 100644 index 00000000..1dbb2645 --- /dev/null +++ b/course-matrix/backend/src/constants/constants.ts @@ -0,0 +1,61 @@ +export const codeToYear = (courseCode: string) => { + const letter = courseCode.slice(3, 4); + switch (letter) { + case "A": + return 1; + break; + case "B": + return 2; + break; + case "C": + return 3; + break; + case "D": + return 4; + break; + default: + break; + } +}; + +export const yearToCode = (year: number) => { + switch (year) { + case 1: + return "A"; + break; + case 2: + return "B"; + break; + case 3: + return "C"; + break; + case 4: + return "D"; + break; + default: + break; + } +}; + +// true - notifications will be tested by mocking current Date +// false - normal application behavior +export const TEST_NOTIFICATIONS = false; +// Mock the current date +// Note: month index in date constructor is 0 indexed (0 - 11) +export const TEST_DATE_NOW = new Date(2025, 4, 14, 8, 45, 1); + +// Set minimum results wanted for a similarity search on the associated namespace. +export const namespaceToMinResults = new Map(); +namespaceToMinResults.set("courses_v3", 16); +namespaceToMinResults.set("offerings", 16); // Typically, more offering info is wanted. +namespaceToMinResults.set("prerequisites", 5); +namespaceToMinResults.set("corequisites", 5); +namespaceToMinResults.set("departments", 5); +namespaceToMinResults.set("programs", 5); + +// Consider the last X messages in history to influence vector DB query +export const CHATBOT_MEMORY_THRESHOLD = 3; + +export const CHATBOT_TIMETABLE_CMD = "/timetable"; + +export const CHATBOT_TOOL_CALL_MAX_STEPS = 5; diff --git a/course-matrix/backend/src/constants/promptKeywords.ts b/course-matrix/backend/src/constants/promptKeywords.ts new file mode 100644 index 00000000..0e0fe274 --- /dev/null +++ b/course-matrix/backend/src/constants/promptKeywords.ts @@ -0,0 +1,188 @@ +// Keywords related to each namespace +export const NAMESPACE_KEYWORDS = { + courses_v3: [ + "course", + "class", + "description", + "about", + "info", + "tell me about", + "syllabus", + "overview", + "details", + ], + offerings: [ + "offering", + "schedule", + "timetable", + "when", + "time", + "section", + "professor", + "prof", + "teach", + "instructor", + "taught by", + "lecture", + "lab", + "tutorial", + "exam", + "online", + "synchronous", + "asynchronous", + "delivery mode", + "in person", + "summer", + "spring", + "fall", + "winter", + "semester", + ], + prerequisites: [ + "prerequisite", + "prereq", + "required", + "before", + "prior", + "need to take", + "eligible", + "must complete", + "requirement", + ], + corequisites: [ + "corequisite", + "coreq", + "together with", + "simultaneously", + "concurrent", + "co-enroll", + ], + departments: ["department", "faculty", "division"], + programs: ["program", "major", "minor", "specialist", "degree", "stream"], +}; + +export const BREADTH_REQUIREMENT_KEYWORDS = { + ART_LIT_LANG: [ + "art_lit_lang", + "art literature", + "arts literature", + "art language", + "arts language", + "literature language", + "art literature language", + "arts literature language", + ], + HIS_PHIL_CUL: [ + "his_phil_cul", + "history philosophy culture", + "history, philosophy, culture", + "history, philosophy, and culture", + "history, philosophy", + "history philosophy", + "philosophy culture", + "philosophy, culture", + "history culture", + "History, Philosophy and Cultural Studies", + ], + SOCIAL_SCI: ["social_sci", "social science", "social sciences"], + NAT_SCI: ["nat_sci", "natural science", "natural sciences"], + QUANT: ["quant", "quantitative reasoning", "quantitative"], +}; + +export const YEAR_LEVEL_KEYWORDS = { + first_year: ["first year", "first-year", "a-level", "a level", "1st year"], + second_year: ["second year", "second-year", "b-level", "b level", "2nd year"], + third_year: ["third year", "third-year", "c-level", "c level", "3rd year"], + fourth_year: ["fourth year", "fourth-year", "d-level", "d level", "4th year"], +}; + +// General academic terms that might indicate a search is needed +export const GENERAL_ACADEMIC_TERMS = ["credit", "enroll", "drop"]; + +// department codes +export const DEPARTMENT_CODES = [ + "afs", + "ant", + "vph", + "cop", + "acm", + "vpa", + "ast", + "bio", + "chm", + "cit", + "cla", + "csc", + "crt", + "dts", + "mge", + "eng", + "ees", + "fst", + "fre", + "ggr", + "gas", + "glb", + "hlt", + "hcs", + "his", + "ids", + "jou", + "ect", + "lin", + "mga", + "mgf", + "mgh", + "mgi", + "mgm", + "mgo", + "mgs", + "mgt", + "mat", + "mds", + "muz", + "mbt", + "mro", + "nme", + "pmd", + "phl", + "psc", + "phy", + "pol", + "psy", + "rlg", + "soc", + "sta", + "vps", + "ctl", + "thr", + "wst", +]; + +// To filter out queries about the assistant itself +export const ASSISTANT_TERMS = [ + "you", + "your", + "yourself", + "who are you", + "what can you do", + "your name", + "what is your", + "morpheus", + "ai", + "chatbot", + "assistant", + "matrix", +]; + +export const USEFUL_INFO = ` +### Course code tips: +1. The 4th letter of a course code indicates the year level, with A, B, C, D being mapped to years 1, 2, 3, 4. (Eg. CSCA08H3 is a first year course because it's 4th letter is 'A') +2. The 2nd last letter of a course code indicates the credit weight and length of the course, with H being 0.5 credits and 1 semester in duration, and Y being 1 credits and 2 semesters in duration +3. The first 3 letters of a course code indicates the department. + +### Offerings +1. Offerings are characterized by meeting_section (which can be LEC, TUT, or PRAC) and the day/time it occurs. +2. A given course can have more than 1 offering for a meeting_section. For example there can be two lectures for section LEC01, happening on different days. This means those enrolled in LEC01 should know about both offerings since they must attend both each week. +3. A course typically offers multiple lecture (LEC) sections and tutorial (TUT) / practical (PRAC) sections. Students are typically meant to enroll in a LEC section and one TUT/PRAC section for any given course, although some courses only have LEC sections. +`; diff --git a/course-matrix/backend/src/controllers/aiController.ts b/course-matrix/backend/src/controllers/aiController.ts new file mode 100644 index 00000000..8fe7a2da --- /dev/null +++ b/course-matrix/backend/src/controllers/aiController.ts @@ -0,0 +1,541 @@ +import "openai/shims/node"; + +import { createOpenAI } from "@ai-sdk/openai"; +import { OpenAIEmbeddings } from "@langchain/openai"; +import { PineconeStore } from "@langchain/pinecone"; +import { Index, Pinecone, RecordMetadata } from "@pinecone-database/pinecone"; +import { + CoreMessage, + generateObject, + InvalidToolArgumentsError, + NoSuchToolError, + streamText, + tool, + ToolExecutionError, +} from "ai"; +import { Request, Response } from "express"; +import { Document } from "langchain/document"; +import OpenAI from "openai"; +import { z } from "zod"; + +import { + availableFunctions, + FunctionNames, +} from "../constants/availableFunctions"; +import { + CHATBOT_MEMORY_THRESHOLD, + CHATBOT_TIMETABLE_CMD, + CHATBOT_TOOL_CALL_MAX_STEPS, + namespaceToMinResults, +} from "../constants/constants"; +import { + ASSISTANT_TERMS, + BREADTH_REQUIREMENT_KEYWORDS, + DEPARTMENT_CODES, + GENERAL_ACADEMIC_TERMS, + NAMESPACE_KEYWORDS, + USEFUL_INFO, + YEAR_LEVEL_KEYWORDS, +} from "../constants/promptKeywords"; +import asyncHandler from "../middleware/asyncHandler"; +import { TimetableFormSchema } from "../models/timetable-form"; +import { CreateTimetableArgs } from "../models/timetable-generate"; +import { analyzeQuery } from "../utils/analyzeQuery"; +import { convertBreadthRequirement } from "../utils/convert-breadth-requirement"; +import { convertYearLevel } from "../utils/convert-year-level"; +import { includeFilters } from "../utils/includeFilters"; + +const openai = createOpenAI({ + baseURL: process.env.OPENAI_BASE_URL, + apiKey: process.env.OPENAI_API_KEY, +}); + +const embeddings = new OpenAIEmbeddings({ + openAIApiKey: process.env.OPENAI_API_KEY, +}); + +const pinecone = new Pinecone({ + apiKey: process.env.PINECONE_API_KEY!, +}); + +const index: Index = pinecone.Index( + process.env.PINECONE_INDEX_NAME!, +); + +console.log("Connected to OpenAI API"); + +export async function searchSelectedNamespaces( + query: string, + k: number, + namespaces: string[], + filters?: Object, +): Promise { + let allResults: Document[] = []; + + if (namespaces.length === 0) { + return allResults; + } + + let minSearchResultCount = k; + + for (const namespace of namespaces) { + const namespaceStore = await PineconeStore.fromExistingIndex(embeddings, { + pineconeIndex: index as any, + textKey: "text", + namespace: namespace, + }); + + try { + // Search results count given by the min result count for a given + // namespace (or k if k is greater) + const results = await namespaceStore.similaritySearch( + query, + Math.max(k, namespaceToMinResults.get(namespace)), + namespace === "courses_v3" ? filters : undefined, + ); + console.log(`Found ${results.length} results in namespace: ${namespace}`); + allResults = [...allResults, ...results]; + if (results.length > minSearchResultCount) { + minSearchResultCount = results.length; + } + } catch (error) { + console.log(`Error searching namespace ${namespace}:`, error); + } + } + + // Limit to top minSearchResultCount results + // return allResults.slice(0, minSearchResultCount); + + return allResults; +} + +// Reformulate user query to make more concise query to database, taking into +// consideration context +export async function reformulateQuery( + latestQuery: string, + conversationHistory: any[], +): Promise { + try { + const openai2 = new OpenAI({ + apiKey: process.env.OPENAI_API_KEY, + }); + + // console.log("History: ", conversationHistory); + + // Create messages array with the correct type structure + const messages: OpenAI.Chat.ChatCompletionMessageParam[] = [ + { + role: "system", + content: `IMPORTANT: You are NOT a conversational assistant. You are a query transformation tool. + + Your ONLY job is to convert a user's question into a self-contained search query. + + RULES: + - Output ONLY the reformulated search query + - NO explanations, greetings, or additional text + - NO answering the query yourself + - DO include all relevant contextual information from conversation history + - DO replace pronouns and references with specific names and identifiers + - DO include course codes, names and specific details for academic entities + - If the query is not about university courses & offerings, return exactly a copy of the user's query. + - Append "code: " before each course code For example: "CSCC01, BIOA01" -> "code: CSCC01, code: BIOA01" + - If a course year level is written as "first year", "second year", etc. Then replace "first" with "1st" and "second" with "2nd" etc. + + Examples: + User: "When is it offered?" + Output: "When is CSCA48 offered in the 2024-2025 academic year?" + + User: "Tell me more about that" + Output: "What are the details, descriptions, and requirements for MATA31?" + + User: "Who teaches it?" + Output: "Who are the instructors for MGEA02 at UTSC?" + + User: "What are the course names of those codes?" + Output: "What are the course names of course codes: MGTA01, CSCA08, MATA31, MATA35?" + + User: "How are you doing today?" + Output: "How are you doing today?" + + User: "Give 2nd year math courses." + Output: "What are some 2nd year math courses?" + + User: "Give third year math courses." + Output: "What are some 3rd year math courses?" + + User: "What breadth requirement does CSCC01 satisfy?" + Output: "What breadth requirement does code: CSCC01 satisfy?" + + `, + }, + ]; + + // Add conversation history with proper typing + conversationHistory.forEach((msg) => { + messages.push({ + role: msg.role, + content: msg.content, + }); + }); + + // Add the latest query + messages.push({ + role: "user", + content: latestQuery, + }); + + const response = await openai2.chat.completions.create({ + model: "gpt-4o-mini", + messages: messages, + temperature: 0.1, // Lower temperature for more consistent, focused queries + max_tokens: latestQuery.length * 3, // Limit response length. Proportional to user input. + top_p: 0.5, // Reduced top_p for more focused outputs + }); + + return response.choices[0].message.content?.trim() || latestQuery; + } catch (error) { + console.error("Error reformulating query:", error); + // Fallback to original query if reformulation fails + return latestQuery; + } +} + +/** + * @description Handles user queries and generates responses using GPT-4o, with + * optional knowledge retrieval. + * + * @param {Request} req - The Express request object, containing: + * @param {Object[]} req.body.messages - Array of message objects representing + * the conversation history. + * @param {string} req.body.messages[].role - The role of the message sender + * (e.g., "user", "assistant"). + * @param {Object[]} req.body.messages[].content - An array containing message + * content objects. + * @param {string} req.body.messages[].content[].text - The actual text of the + * message. + * + * @param {Response} res - The Express response object used to stream the + * generated response. + * + * @returns {void} Responds with a streamed text response of the AI output + * + * @throws {Error} If query reformulation or knowledge retrieval fails. + */ +export const chat = asyncHandler(async (req: Request, res: Response) => { + const { messages } = req.body; + + try { + const latestMessage = messages[messages.length - 1].content[0].text; + + if (latestMessage.startsWith(CHATBOT_TIMETABLE_CMD)) { + // ----- Flow 1 - Agent performs action on timetable ----- + + // Get a new response from the model with all the tool responses + const result = streamText({ + model: openai("gpt-4o-mini"), + system: `# Morpheus - Course Matrix Assistant + + ## Identity & Purpose + You are Morpheus, the official AI assistant for Course Matrix, an AI-powered platform that helps University of Toronto Scarborough (UTSC) students plan their academic journey. + + ## About Course Matrix + Course Matrix streamlines course selection and timetable creation by: + - Generating optimized timetables in one click based on selected courses and personal preferences + - Allowing natural language queries about courses, offerings, and academic programs + - Providing personalized recommendations based on degree requirements and course availability + - Creating, reading, updating, and deleting user timetables based on natural language + ## Your Capabilities + - Create new timetables based on provided courses and restrictions + - Update timetable names and semesters + - Delete a user's timetables + - Retrieve timetables that the user owns + + ## Response Guidelines + - Be concise and direct when answering course-related questions + - Use bullet points for listing multiple pieces of information + - Include course codes when referencing specific courses + - If information is missing from the context but likely exists, try to use info from web to answer. If still not able to form a decent response, acknowledge the limitation + - For unrelated questions, politely explain that you're specialized in UTSC academic information + - Format long lists of timetables as a table + + ## Tool call guidelines + - Include the timetable ID in all getTimetables tool call responses + - Link: For every tool call, for each timetable that it gets/deletes/modifies/creates, include a link with it displayed as "View Timetable" to ${ + process.env.CLIENT_APP_URL + }/dashboard/timetable?edit=[[TIMETABLE_ID]] , where TIMETABLE_ID is the id of the respective timetable. + - If the user provides a course code of length 6 like CSCA08, then assume they mean CSCA08H3 (H3 appended) + - If the user wants to create a timetable: + 1. First call getTimetables to refetch most recent info on timetable names + timetableCount. DO NOT assume timetable names and # of timetables is same since last query. + 2. Then call getCourses to get course information on the requested courses, + 3. If the user provided a semester, then call getOfferings with the provided courses and semester to ensure the courses are actually offered in the semester. + a) If a course is NOT returned by getOFferings, then list it under "Excluded courses" with "reason: not offered in [provided semester]" + b) If no courses have offerings, then do not generate the timetable. + 4. Lastly, call generateTimetable with the provided information. + - Do not make up fake courses or offerings. + - If a user asks about a course that you do not know of, acknowledge this. + - You can only edit title of the timetable, nothing else. If a user tries to edit something else, acknowledge this limitation. + - For delete timetable requests, if the user asks to delete an ambiguous timetable name (i.e many with similar name exist) then ask them to clarify which one + - For delete timetable requests, first check that the timetable the user is refering to exists + - For delete timetable requests, ask for user confirmation with command "/timetable confirm" before proceeding. If their next message is anything other than "/timetable confim" then cancel the deletion. + - After a deletion has been cancelled, /timetable confirm will do nothing. If the user wants to delete again after cancelling, they must specify so. + - Do not create multiple timetables for a single user query. Each user query can create at most 1 timetable + - If you try to update or create a timetable but you get an error saying a timetable with the same name already exists, then ask the user to rename + - It is possible for users to delete timetables / update them manually. For this reason, always refetch getTimtables before creation, to get the latest names and timetable count. Do not assume the timetables are the same since the last query. + - If a user asks for the timetable count, always refetch getTimetables. Assume this count could have changed between user queries. + `, + messages, + tools: { + getTimetables: tool({ + description: + "Get all the timetables of the currently logged in user AND the number of timetables of the currently logged in user", + parameters: z.object({}), + execute: async (args) => { + return await availableFunctions.getTimetables(args, req); + }, + }), + updateTimetable: tool({ + description: "Update a user's timetable's title", + parameters: z.object({ + id: z.number().positive(), + timetable_title: z.string().optional(), + }), + execute: async (args) => { + return await availableFunctions.updateTimetable(args, req); + }, + }), + deleteTimetable: tool({ + description: "Delete a user's timetable", + parameters: z.object({ + id: z.number().positive(), + }), + execute: async (args) => { + return await availableFunctions.deleteTimetable(args, req); + }, + }), + generateTimetable: tool({ + description: + "Return a list of possible timetables based on provided courses and restrictions.", + parameters: TimetableFormSchema, + execute: async (args) => { + console.log("restrictions :", JSON.stringify(args.restrictions)); + const data = await availableFunctions.generateTimetable( + args, + req, + ); + console.log("Generated timetable: ", data); + return data; + }, + }), + getCourses: tool({ + description: "Return course info for all course codes provided.", + parameters: z.object({ + courses: z.array(z.string()).describe("List of course codes"), + }), + execute: async (args) => { + return await availableFunctions.getCourses(args, req); + }, + }), + getOfferings: tool({ + description: + "Return courses offered in the provided semester out of all course codes provided", + parameters: z.object({ + courses: z.array(z.string()).describe("List of course codes"), + semester: z.string(), + }), + execute: async (args) => { + const res = await availableFunctions.getOfferings(args, req); + console.log("Result of getOfferings: ", res); + return res; + }, + }), + }, + maxSteps: CHATBOT_TOOL_CALL_MAX_STEPS, // Controls how many back and forths + // the model can take with user or + // calling multiple tools + experimental_repairToolCall: async ({ + toolCall, + tools, + parameterSchema, + error, + }) => { + if (NoSuchToolError.isInstance(error)) { + return null; // do not attempt to fix invalid tool names + } + + console.log("Error: ", error); + + const tool = tools[toolCall.toolName as keyof typeof tools]; + console.log( + `The model tried to call the tool "${toolCall.toolName}"` + + ` with the following arguments:`, + toolCall.args, + `The tool accepts the following schema:`, + parameterSchema(toolCall), + "Please fix the arguments.", + ); + + const { object: repairedArgs } = await generateObject({ + model: openai("gpt-4o", { structuredOutputs: true }), + schema: tool.parameters, + prompt: [ + `The model tried to call the tool "${toolCall.toolName}"` + + ` with the following arguments:`, + JSON.stringify(toolCall.args), + `The tool accepts the following schema:`, + JSON.stringify(parameterSchema(toolCall)), + "Please fix the arguments.", + ].join("\n"), + }); + + return { ...toolCall, args: JSON.stringify(repairedArgs) }; + }, + }); + + result.pipeDataStreamToResponse(res); + } else { + // ----- Flow 2 - Answer query ----- + + // Get conversation history (excluding the latest message) + const conversationHistory = (messages as any[]) + .slice(0, -1) + .map((msg) => ({ + role: msg?.role, + content: msg?.content[0]?.text, + })); + + // Use GPT-4o to reformulate the query based on conversation history + const reformulatedQuery = await reformulateQuery( + latestMessage, + conversationHistory.slice(-CHATBOT_MEMORY_THRESHOLD), // last K messages + ); + console.log(">>>> Original query:", latestMessage); + console.log(">>>> Reformulated query:", reformulatedQuery); + + // Analyze the query to determine if search is needed and which namespaces + // to search + const { requiresSearch, relevantNamespaces } = + analyzeQuery(reformulatedQuery); + + let context = "[No context provided]"; + + if (requiresSearch) { + console.log( + `Query requires knowledge retrieval, searching namespaces: ${relevantNamespaces.join( + ", ", + )}`, + ); + + const filters = includeFilters(reformulatedQuery); + // console.log("Filters: ", JSON.stringify(filters)) + + // Search only relevant namespaces + const searchResults = await searchSelectedNamespaces( + reformulatedQuery, + 3, + relevantNamespaces, + Object.keys(filters).length === 0 ? undefined : filters, + ); + // console.log("Search Results: ", searchResults); + + // Format context from search results into plaintext + if (searchResults.length > 0) { + context = searchResults.map((doc) => doc.pageContent).join("\n\n"); + } + } else { + console.log( + "Query does not require knowledge retrieval, skipping search", + ); + } + + // console.log("CONTEXT: ", context); + + const result = streamText({ + model: openai("gpt-4o-mini"), + system: `# Morpheus - Course Matrix Assistant + + ## Identity & Purpose + You are Morpheus, the official AI assistant for Course Matrix, an AI-powered platform that helps University of Toronto Scarborough (UTSC) students plan their academic journey. + + ## About Course Matrix + Course Matrix streamlines course selection and timetable creation by: + - Generating optimized timetables in one click based on selected courses and personal preferences + - Allowing natural language queries about courses, offerings, and academic programs + - Providing personalized recommendations based on degree requirements and course availability + + ## Your Capabilities + - Provide accurate information about UTSC courses, offerings, prerequisites, corequisites, and departments + - Answer questions about course descriptions, schedules, instructors, offerings, and requirements + - Explain degree program requirements and course relationships + - Answer questions about offerings of individual courses such as meeting section, time, day, instructor + + ## Response Guidelines + - Be concise and direct when answering course-related questions + - Use bullet points for listing multiple pieces of information + - Use tables for listing multiple offerings, courses, or other information that could be better viewed in tabular fashion + - Include course codes when referencing specific courses + - If information is missing from the context but likely exists, try to use info from web to answer. If still not able to form a decent response, acknowledge the limitation + - For unrelated questions, politely explain that you're specialized in UTSC academic information + - If a user prompt appears like a task that requires timetable operations (like create, read, update, delete a user's timetable) BUT the user prompt doesn't start with prefix "/timetable" then remind user to use "/timetable" in front of their prompt to access these capabilities + - If the user prompt is a response to a task that requires timetable operations (eg "confirm", "proceed", "continue") then ask user to use "/timetable" + - If a user asks about a course that you do not know of, acknowledge this. + + ## Available Knowledge + ${ + context === "[No context provided]" + ? "No specific course information is available for this query. Answer based on general knowledge about the Course Matrix platform." + : "Use the following information to inform your response. Also use conversation history to inform response as well.\n\n" + + context + } + `, + messages, + }); + + result.pipeDataStreamToResponse(res); + } + } catch (error: any) { + console.error("Error:", error); + res.status(500).json({ error: error?.message }); + } +}); + +// Test Similarity search +// Usage: provide user prompt in req.body +export const testSimilaritySearch = asyncHandler( + async (req: Request, res: Response) => { + const { message } = req.body; + + // Analyze the query to determine if search is needed and which namespaces + // to search + const { requiresSearch, relevantNamespaces } = analyzeQuery(message); + + let context = "[No context provided]"; + + if (requiresSearch) { + console.log( + `Query requires knowledge retrieval, searching namespaces: ${relevantNamespaces.join( + ", ", + )}`, + ); + + // Search only the relevant namespaces + const searchResults = await searchSelectedNamespaces( + message, + 3, + relevantNamespaces, + ); + console.log("Search Results: ", searchResults); + + // Format context from search results into plaintext + if (searchResults.length > 0) { + context = searchResults.map((doc) => doc.pageContent).join("\n\n"); + } + } else { + console.log( + "Query does not require knowledge retrieval, skipping search", + ); + } + + console.log("CONTEXT: ", context); + res.status(200).send(context); + }, +); diff --git a/course-matrix/backend/src/controllers/authentication.ts b/course-matrix/backend/src/controllers/authentication.ts new file mode 100644 index 00000000..e94512dc --- /dev/null +++ b/course-matrix/backend/src/controllers/authentication.ts @@ -0,0 +1,46 @@ +import { Request, Response } from "express"; + +import { supabase } from "../db/setupDb"; +import asyncHandler from "../middleware/asyncHandler"; + +/** + * @route GET /auth/handle-auth-code + * @description Handles the authentication code received from Supabase. + * + * This endpoint: + * - Accepts the token_hash and type from the query parameters. + * - Calls Supabase's `verifyOtp()` method to verify the token. + * - Redirects the user to the next URL if verification is successful. + * - Redirects to an error page if verification fails or parameters are missing. + */ +export const handleAuthCode = asyncHandler( + async (req: Request, res: Response) => { + try { + const token_hash = req.query.token_hash as string; + const type = req.query.type as string; + const next = (req.query.next as string) ?? "/"; + + if (!token_hash || !type) { + return res.status(400).json({ error: "Missing token or type" }); + } + + if (token_hash && type) { + const { data, error } = await supabase.auth.verifyOtp({ + type: "email", + token_hash, + }); + + if (!error) { + console.log("Authentication successful"); + + return res.redirect(303, decodeURIComponent(next)); + } + } + // Redirect to an error page if verification fails or parameters are + // missing + return res.redirect(303, "/auth/auth-code-error"); + } catch (error) { + return res.status(500).json({ error: "Internal Server Error" }); + } + }, +); diff --git a/course-matrix/backend/src/controllers/coursesController.ts b/course-matrix/backend/src/controllers/coursesController.ts new file mode 100644 index 00000000..97f3ef5d --- /dev/null +++ b/course-matrix/backend/src/controllers/coursesController.ts @@ -0,0 +1,165 @@ +import { Request, Response } from "express"; +import asyncHandler from "../middleware/asyncHandler"; +import { supabase } from "../db/setupDb"; + +const DEFAULT_COURSE_LIMIT = 1000; + +export default { + /** + * Get a list of courses based on various query parameters. + * + * @param {Request} req - The request object containing query parameters. + * @param {Response} res - The response object to send the filtered courses. + * @returns {Promise} - The response object with the filtered courses. + */ + getCourses: asyncHandler(async (req: Request, res: Response) => { + try { + // Get the query parameters + const { + limit, + search, + semester, + breadthRequirement, + creditWeight, + department, + yearLevel, + } = req.query; + + // Query the courses, offerings tables from the database + let coursesQuery = supabase + .schema("course") + .from("courses") + .select() + .limit(Number(limit || DEFAULT_COURSE_LIMIT)); + + if ((search as string)?.trim()) { + coursesQuery = coursesQuery.or( + `code.ilike.%${search}%,name.ilike.%${search}%`, + ); + } + let offeringsQuery = supabase.schema("course").from("offerings").select(); + + // Get the data and errors from the queries + const { data: coursesData, error: coursesError } = await coursesQuery; + const { data: offeringsData, error: offeringsError } = + await offeringsQuery; + + // Set the courses and offerings data + const courses = coursesData || []; + const offerings = offeringsData || []; + + // Create a map of course codes to semesters. + const courseCodesToSemestersMap: { [key: string]: string[] } = {}; + offerings.forEach((offering) => { + const courseCode = offering.code; + const semester = offering.offering; + if (courseCodesToSemestersMap[courseCode]) { + courseCodesToSemestersMap[courseCode].push(semester); + } else { + courseCodesToSemestersMap[courseCode] = [semester]; + } + }); + + // Filter the courses based on the breadth requirement, credit weight, semester, department, and year level + let filteredCourses = courses; + if (breadthRequirement) { + filteredCourses = filteredCourses.filter((course) => { + return course.breadth_requirement === breadthRequirement; + }); + } + if (creditWeight) { + filteredCourses = filteredCourses.filter((course) => { + const courseCreditWeight = + course.code[course.code.length - 2] === "H" ? 0.5 : 1; + return courseCreditWeight === Number(creditWeight); + }); + } + if (semester) { + filteredCourses = filteredCourses.filter((course) => { + return courseCodesToSemestersMap[course.code]?.includes( + semester as string, + ); + }); + } + if (department) { + filteredCourses = filteredCourses.filter((course) => { + const courseDepartment = course.code.substring(0, 3); + return courseDepartment === department; + }); + } + if (yearLevel) { + filteredCourses = filteredCourses.filter((course) => { + const courseYearLevel = + course.code.charCodeAt(3) - "A".charCodeAt(0) + 1; + return courseYearLevel === Number(yearLevel); + }); + } + + // Return the filtered courses + return res.status(200).send(filteredCourses); + } catch (err) { + return res.status(500).send({ err }); + } + }), + + /** + * Gets the total number of sections for a list of courses. + * + * @param {Request} req - The request object containing query parameters. + * @param {Response} res - The response object to send the total number of sections. + * @returns {Promise} - The response object with the total number of sections. + * + */ + getNumberOfSections: asyncHandler(async (req: Request, res: Response) => { + try { + const { course_ids, semester } = req.query; + + if (!semester) { + return res.status(400).send({ error: "Semester is required" }); + } + + if (!course_ids) { + return res.status(200).send({ totalNumberOfCourseSections: 0 }); + } + + const course_ids_array = (course_ids as string).split(","); + + let totalNumberOfCourseSections = 0; + const promises = course_ids_array.map(async (course_id) => { + const { data: courseOfferingsData, error: courseOfferingsError } = + await supabase + .schema("course") + .from("offerings") + .select() + .eq("course_id", course_id) + .eq("offering", semester); + + const offerings = courseOfferingsData || []; + + const hasLectures = offerings.some((offering) => + offering.meeting_section.startsWith("LEC"), + ); + const hasTutorials = offerings.some((offering) => + offering.meeting_section.startsWith("TUT"), + ); + const hasPracticals = offerings.some((offering) => + offering.meeting_section.startsWith("PRA"), + ); + if (hasLectures) { + totalNumberOfCourseSections += 1; + } + if (hasTutorials) { + totalNumberOfCourseSections += 1; + } + if (hasPracticals) { + totalNumberOfCourseSections += 1; + } + }); + + await Promise.all(promises); + return res.status(200).send({ totalNumberOfCourseSections }); + } catch (err) { + return res.status(500).send({ err }); + } + }), +}; diff --git a/course-matrix/backend/src/controllers/departmentsController.ts b/course-matrix/backend/src/controllers/departmentsController.ts new file mode 100644 index 00000000..639db4de --- /dev/null +++ b/course-matrix/backend/src/controllers/departmentsController.ts @@ -0,0 +1,36 @@ +import { Request, Response } from "express"; + +import { supabase } from "../db/setupDb"; +import asyncHandler from "../middleware/asyncHandler"; + +export default { + /** + * Get a list of departments from the database. + * + * @param {Request} req - The request object. + * @param {Response} res - The response object to send the departments data. + * @returns {Promise} - The response object with the departments data. + */ + getDepartments: asyncHandler(async (req: Request, res: Response) => { + try { + // Query the departments table from the database + let departmentsQuery = supabase + .schema("course") + .from("departments") + .select(); + + // Get the data and errors from the query + const { data: departmentsData, error: departmentsError } = + await departmentsQuery; + + // Set the departments data + const departments = departmentsData || []; + + // Return the departments + res.status(200).json(departments); + } catch (error) { + console.error(error); + res.status(500).json({ message: "Internal Server Error" }); + } + }), +}; diff --git a/course-matrix/backend/src/controllers/eventsController.ts b/course-matrix/backend/src/controllers/eventsController.ts new file mode 100644 index 00000000..cebf88ab --- /dev/null +++ b/course-matrix/backend/src/controllers/eventsController.ts @@ -0,0 +1,867 @@ +import { Request, Response } from "express"; +import asyncHandler from "../middleware/asyncHandler"; +import { supabase } from "../db/setupDb"; +import { start } from "repl"; + +function getReadingWeekStart(start_date: string) { + return start_date === "2025-05-02" + ? "2025-06-15" + : start_date === "2025-09-02" + ? "2025-10-26" + : "2026-02-16"; +} + +function getReadingWeekEnd(start_date: string) { + return start_date === "2025-05-02" + ? "2025-06-22" + : start_date === "2025-09-02" + ? "2025-11-01" + : "2026-02-22"; +} +/** + * Helper method to generate weekly course events. + * @param courseEventName - The name of the course event (typically derived from the offering code and meeting section). + * @param courseDay - The day code of the course event (e.g. "MO", "TU", etc.). + * @param courseStartTime - The start time of the course. + * @param courseEndTime - The end time of the course. + * @param calendar_id - The ID of the calendar. + * @param offering_id - The ID of the course offering. + * @param semester_start_date - The start date of the semester (ISO string). + * @param semester_end_date - The end date of the semester (ISO string). + * @returns An array of event objects ready to be inserted. + */ + +export function getNextWeekDayOccurance(targetDay: string): string { + //Map weekday code to JS day number + const weekdayMap: { [key: string]: number } = { + SU: 0, + MO: 1, + TU: 2, + WE: 3, + TH: 4, + FR: 5, + SA: 6, + }; + + const today = new Date(); + let currentWeekday = today.getDay(); + let targetWeekday = weekdayMap[targetDay]; + + if (targetWeekday === undefined) { + throw new Error("Invalid course day provided"); + } + + let offset = targetWeekday - currentWeekday; + if (offset < 0) { + offset += 7; + } + + today.setDate(today.getDate() + offset); + return today.toISOString().split("T")[0]; +} + +export function generateWeeklyCourseEvents( + user_id: string, + courseEventName: string, + courseDay: string, + courseStartTime: string, + courseEndTime: string, + calendar_id: string, + offering_id: string, + semester_start_date: string, + semester_end_date: string, +): any[] { + //Map weekday code to JS day number + const weekdayMap: { [key: string]: number } = { + SU: 0, + MO: 1, + TU: 2, + WE: 3, + TH: 4, + FR: 5, + SA: 6, + }; + + const rw_start = new Date( + getReadingWeekStart(semester_start_date) + "T00:00:00-05:00", + ); + const rw_end = new Date( + getReadingWeekEnd(semester_start_date) + "T00:00:00-05:00", + ); + + const targetWeekday = weekdayMap[courseDay]; + if (targetWeekday === undefined) { + throw new Error("Invalid course day provided"); + } + + const semesterStartObj = new Date(semester_start_date + "T00:00:00-05:00"); + const semesterEndObj = new Date(semester_end_date + "T00:00:00-05:00"); + + if (semesterStartObj >= semesterEndObj) { + throw new Error("Semester end date cannot be before semester start date"); + } + + //Compute the date of first lecture of the semester + let currentDate = new Date(semester_start_date + "T00:00:00-05:00"); + const currentWeekday = currentDate.getDay(); + let offset = targetWeekday - currentWeekday; + if (offset < 0) { + offset += 7; + } + currentDate.setDate(currentDate.getDate() + offset); + + let eventsToInsert: any[] = []; + //Loop through the semester, adding an event for each week on the targeted weekday + while (currentDate <= semesterEndObj) { + if (currentDate < rw_start || currentDate > rw_end) { + eventsToInsert.push({ + user_id, + calendar_id, + event_name: courseEventName, + //Convert the occurrence of date to YYYY-MM-DD format + event_date: currentDate.toISOString().split("T")[0], + event_start: courseStartTime, + event_end: courseEndTime, + event_description: null, + offering_id, + }); + } + //Cycle to the next week + currentDate.setDate(currentDate.getDate() + 7); + } + + return eventsToInsert; +} + +export default { + /** + * Create a new event. + * If an offering_id is provided it's treated as a course event: + * - Queries course information (from the "offerings" table in the course schema + * - Inserts into the course_events table. + * Otherwise, it's treated as a user event and is inserted into the user_event table. + * Expected body fields for both: + * - calendar_id, event_date, event_start, event_end, event_description + * For course events, you must provide: offering_id + * For user events, you must provide event_name + */ + + createEvent: asyncHandler(async (req: Request, res: Response) => { + try { + //Retrieve event properties from the request body + const { + calendar_id, + event_date, + event_start, + event_end, + event_description, + event_name, + offering_id, + //Semester start and end date format: YYYY-MM-DD + semester_start_date, + semester_end_date, + } = req.body; + + // Retrieve the authenticated user + const user_id = (req as any).user.id; + + //Check for calendar_id + if (!calendar_id) { + return res.status(400).json({ error: "calendar id is required" }); + } + + //Retrieve users allowed to access the timetable + const { data: timetableData, error: timetableError } = await supabase + .schema("timetable") + .from("timetables") + .select("*") + .eq("id", calendar_id) + .eq("user_id", user_id) + .maybeSingle(); + + if (timetableError) + return res.status(400).json({ error: timetableError.message }); + + //Validate timetable validity: + if (!timetableData || timetableData.length === 0) { + return res.status(404).json({ error: "Calendar id not found" }); + } + + const timetable_user_id = timetableData.user_id; + + //Validate user access + if (user_id !== timetable_user_id) { + return res + .status(401) + .json({ error: "Unauthorized access to timetable events" }); + } + + if (offering_id) { + //This is a course event + + //Query course offering information using the provided offering_id + const { data: offeringData, error: offeringError } = await supabase + .schema("course") + .from("offerings") + .select("*") + .eq("id", offering_id) + .maybeSingle(); + + if (offeringError) + return res.status(400).json({ error: offeringError.message }); + + if (!offeringData || offeringData.length === 0) { + return res.status(400).json({ + error: "Invalid offering_id or course offering not found.", + }); + } + + //Generate event details + const courseEventName = ` ${offeringData.code} - ${offeringData.meeting_section} `; + const courseDay = offeringData.day; + const courseStartTime = offeringData.start; + const courseEndTime = offeringData.end; + + if (!courseDay || !courseStartTime || !courseEndTime) { + return res.status(400).json({ + error: "Incomplete offering data to generate course event", + }); + } + + let eventsToInsert: any[]; + if (semester_start_date && semester_end_date) { + eventsToInsert = generateWeeklyCourseEvents( + user_id, + courseEventName, + courseDay, + courseStartTime, + courseEndTime, + calendar_id, + offering_id, + semester_start_date, + semester_end_date, + ); + } else { + //If no semester dates provided, insert a single event using the provided event_date + let eventDate = getNextWeekDayOccurance(courseDay); + eventsToInsert = [ + { + calendar_id, + event_name: courseEventName, + event_date: eventDate, + event_start: courseStartTime, + event_end: courseEndTime, + event_description: null, + offering_id, + user_id, + }, + ]; + } + + //Each week lecture will be inputted as a separate events from sememseter start to end date + //Semester start & end dates are inputted by user + const { data: courseEventData, error: courseEventError } = + await supabase + .schema("timetable") + .from("course_events") + .insert(eventsToInsert) + .select("*"); + + if (courseEventError) { + return res.status(400).json({ error: courseEventError.message }); + } + + return res.status(201).json(courseEventData); + } else { + //No offering_id provided -> User events + if (!event_name) { + return res + .status(400) + .json({ error: "Event name is required for user events" }); + } + + if (!event_date || !event_start || !event_end) { + return res + .status(400) + .json({ error: "Event date and time are required" }); + } + + // Function to construct date in local time + const start_time = new Date(`${event_date}T${event_start}-00:00`); + const end_time = new Date(`${event_date}T${event_end}-00:00`); + const valid_minutes = [0, 15, 30, 45]; + + if (isNaN(start_time.getTime()) || isNaN(end_time.getTime())) { + return res.status(400).json({ error: "Invalid event date or time" }); + } + + if ( + !valid_minutes.includes(start_time.getMinutes()) || + !valid_minutes.includes(end_time.getMinutes()) + ) { + return res.status(400).json({ + error: "Event start / end minutes must be 00, 15, 30, 45", + }); + } + + if (start_time.getTime() === end_time.getTime()) { + return res + .status(400) + .json({ error: "Event start and end time must not be the same" }); + } + + if (start_time.getTime() - end_time.getTime() > 0) { + return res + .status(400) + .json({ error: "Event start time cannot be after event end time" }); + } + + const eventsToInsert = { + user_id, + calendar_id, + event_name, + event_date, + event_start, + event_end, + event_description, + }; + + const { data: userEventData, error: userEventError } = await supabase + .schema("timetable") + .from("user_events") + .insert([eventsToInsert]) + .select("*"); + + if (userEventError) { + return res.status(400).json({ error: userEventError.message }); + } + return res.status(201).json(userEventData); + } + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Get events for a given calendar + * + */ + getEvents: asyncHandler(async (req: Request, res: Response) => { + try { + const { calendar_id } = req.params; + + // Retrieve the authenticated user + const user_id = (req as any).user.id; + + // Check for calendar_id + if (!calendar_id) { + return res.status(400).json({ error: "calendar id is required" }); + } + + //Retrieve users allowed to access the timetable + const { data: timetableData, error: timetableError } = await supabase + .schema("timetable") + .from("timetables") + .select("*") + .eq("id", calendar_id) + .eq("user_id", user_id) + .maybeSingle(); + + if (timetableError) + return res.status(400).json({ error: timetableError.message }); + + //Validate timetable validity: + if (!timetableData || timetableData.length === 0) { + return res.status(404).json({ error: "Calendar id not found" }); + } + + const timetable_user_id = timetableData.user_id; + + //Validate user access + if (user_id !== timetable_user_id) { + return res + .status(401) + .json({ error: "Unauthorized access to timetable events" }); + } + + const { data: courseEvents, error: courseError } = await supabase + .schema("timetable") + .from("course_events") + .select("*") + .eq("user_id", user_id) + .eq("calendar_id", calendar_id); + + const { data: userEvents, error: userError } = await supabase + .schema("timetable") + .from("user_events") + .select("*") + .eq("calendar_id", calendar_id) + .eq("user_id", user_id); + + if (courseError || userError) { + return res + .status(400) + .json({ error: courseError?.message || userError?.message }); + } + + return res.status(200).json({ courseEvents, userEvents }); + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Get all events given a user_id and calendar_id + */ + getSharedEvents: asyncHandler(async (req: Request, res: Response) => { + try { + const { user_id, calendar_id } = req.params; + + if (!user_id) { + return res.status(400).json({ error: "user_id is required" }); + } + if (!calendar_id) { + return res.status(400).json({ error: "calendar_id is required" }); + } + + const { data: courseEvents, error: courseError } = await supabase + .schema("timetable") + .from("course_events") + .select("*") + .eq("user_id", user_id) + .eq("calendar_id", calendar_id); + + const { data: userEvents, error: userError } = await supabase + .schema("timetable") + .from("user_events") + .select("*") + .eq("user_id", user_id) + .eq("calendar_id", calendar_id); + + if (courseError || userError) { + return res + .status(400) + .json({ error: courseError?.message || userError?.message }); + } + + return res.status(200).json({ courseEvents, userEvents }); + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Update an event + * The request should provide: + * - id (as URL parameter) + * - offering_id for courseEvent, other event fields for userEvent + */ + + updateEvent: asyncHandler(async (req: Request, res: Response) => { + try { + const { id } = req.params; + const { + calendar_id, + event_date, + event_start, + event_end, + event_description, + event_name, + old_offering_id, + new_offering_id, + //Semester start and end date format: YYYY-MM-DD + semester_start_date, + semester_end_date, + } = req.body; + + // Retrieve the authenticated user + const user_id = (req as any).user.id; + + //Check for calendar_id + if (!calendar_id) { + return res.status(400).json({ error: "calendar id is required" }); + } + + //Retrieve users allowed to access the timetable + const { data: timetableData, error: timetableError } = await supabase + .schema("timetable") + .from("timetables") + .select("*") + .eq("id", calendar_id) + .eq("user_id", user_id) + .maybeSingle(); + + if (timetableError) + return res.status(400).json({ error: timetableError.message }); + + //Validate timetable validity: + if (!timetableData || timetableData.length === 0) { + return res.status(404).json({ error: "Calendar id not found" }); + } + + const timetable_user_id = timetableData.user_id; + + //Validate user access + if (user_id !== timetable_user_id) { + return res + .status(401) + .json({ error: "Unauthorized access to timetable events" }); + } + + if (new_offering_id) { + //If an offering_id is provided: Updating a courseEvent + //If old_offering_id does not match throw an error + const { data: oldofferingData, error: oldofferingError } = + await supabase + .schema("timetable") + .from("course_events") + .select("*") + .eq("offering_id", old_offering_id) + .eq("user_id", user_id) + .eq("calendar_id", calendar_id); + if (oldofferingError) + return res.status(400).json({ error: oldofferingError.message }); + + if (!oldofferingData || oldofferingData.length === 0) { + return res.status(400).json({ + error: + "Invalid current offering_id or current offering id not found.", + }); + } + + const { data: newofferingData, error: newofferingError } = + await supabase + .schema("course") + .from("offerings") + .select("*") + .eq("id", new_offering_id) + .maybeSingle(); + + if (newofferingError) + return res.status(400).json({ error: newofferingError.message }); + + if (!newofferingData || newofferingData.length === 0) { + return res.status(400).json({ + error: "Invalid offering_id or course offering not found.", + }); + } + + if (!old_offering_id && !new_offering_id) { + const { data: courseEventData, error: courseEventError } = + await supabase + .schema("timetable") + .from("course_events") + .select("*") + .eq("id", id) + .eq("user_id", user_id) + .eq("calendar_id", calendar_id) + .maybeSingle(); + + if (courseEventData.calendar_id !== timetableData.id) { + return res.status(400).json({ + error: + "Restriction id does not belong to the provided calendar id", + }); + } + } + + const courseEventName = `${newofferingData.code} - ${newofferingData.meeting_section}`; + const courseDay = newofferingData.day; + const courseStartTime = newofferingData.start; + const courseEndTime = newofferingData.end; + + let eventsToInsert: any[]; + if (semester_start_date && semester_end_date) { + eventsToInsert = generateWeeklyCourseEvents( + user_id, + courseEventName, + courseDay, + courseStartTime, + courseEndTime, + calendar_id, + new_offering_id, + semester_start_date, + semester_end_date, + ); + } else { + const eventDate = getNextWeekDayOccurance(courseDay); + eventsToInsert = [ + { + user_id, + calendar_id, + event_name: courseEventName, + event_date: eventDate, + event_start: courseStartTime, + event_end: courseEndTime, + event_description: null, + offering_id: new_offering_id, + }, + ]; + } + + //Delete old course events for this offering and calendar + const { error: deleteError } = await supabase + .schema("timetable") + .from("course_events") + .delete() + .eq("user_id", user_id) + .eq("calendar_id", calendar_id) + .eq("offering_id", old_offering_id); + + if (deleteError) { + return res.status(400).json({ error: deleteError.message }); + } + + //Insert new set of events + const { data: updateData, error: updateError } = await supabase + .schema("timetable") + .from("course_events") + .insert(eventsToInsert) + .select("*"); + if (updateError) + return res.status(400).json({ error: updateError.message }); + + return res.status(200).json(updateData); + } else { + const { data: userEventData, error: usereventError } = await supabase + .schema("timetable") + .from("user_events") + .select("*") + .eq("id", id) + .eq("calendar_id", calendar_id) + .eq("user_id", user_id) + .maybeSingle(); + + if (userEventData.calendar_id !== timetableData.id) { + return res.status(400).json({ + error: "Event id does not belong to the provided calendar id", + }); + } + + // Function to construct date in local time + + let start_time = null; + let end_time = null; + let date = null; + const valid_minutes = [0, 15, 30, 45]; + + if (!event_date) { + date = userEventData.event_date; + } else { + date = event_date; + } + + if (event_start) { + start_time = new Date(`${date}T${event_start}-00:00`); + if (!valid_minutes.includes(start_time.getMinutes())) { + return res.status(400).json({ + error: "Event start time must be 00, 15, 30, 45", + }); + } + } else { + start_time = new Date(`${date}T${userEventData.event_start}-00:00`); + } + + if (event_end) { + end_time = new Date(`${date}T${event_end}-00:00`); + if (!valid_minutes.includes(end_time.getMinutes())) { + return res.status(400).json({ + error: "Event end time must be 00, 15, 30, 45", + }); + } + } else { + end_time = new Date(`${date}T${userEventData.event_end}-00:00`); + } + + if (!start_time || !end_time) { + console.log("Start time or end time is null"); + console.log("start_time:", start_time); + console.log("end_time:", end_time); + } + + if (start_time.getTime() === end_time.getTime()) { + return res + .status(400) + .json({ error: "Event start and end time must not be the same" }); + } + + if (start_time.getTime() > end_time.getTime()) { + return res + .status(400) + .json({ error: "Event start time cannot be after event end time" }); + } + + //Update userEvent + const updateData = { + calendar_id, + event_date, + event_start, + event_end, + event_description, + event_name, + }; + + const { data: updateResult, error: updateError } = await supabase + .schema("timetable") + .from("user_events") + .update(updateData) + .eq("id", id) + .eq("user_id", user_id) + .eq("calendar_id", calendar_id) + .select("*"); + + if (updateError) + return res.status(400).json({ error: updateError.message }); + + return res.status(200).json(updateResult); + } + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Delete an event + */ + deleteEvent: asyncHandler(async (req: Request, res: Response) => { + try { + const { id } = req.params; + const { calendar_id, event_type, offering_id } = req.query; + + // Retrieve the authenticated user + const user_id = (req as any).user.id; + + //Check for calendar_id + if (!calendar_id) { + return res.status(400).json({ error: "calendar id is required" }); + } + + //Retrieve users allowed to access the timetable + const { data: timetableData, error: timetableError } = await supabase + .schema("timetable") + .from("timetables") + .select("*") + .eq("id", calendar_id) + .eq("user_id", user_id) + .maybeSingle(); + + if (timetableError) + return res.status(400).json({ error: timetableError.message }); + + //Validate timetable validity: + if (!timetableData || timetableData.length === 0) { + return res.status(404).json({ error: "Calendar id not found" }); + } + + const timetable_user_id = timetableData.user_id; + + //Validate user access + if (user_id !== timetable_user_id) { + return res + .status(401) + .json({ error: "Unauthorized access to timetable events" }); + } + + if (!event_type) { + return res.status(400).json({ error: "event type is required" }); + } + + if (event_type === "course") { + //Validate note availability + const { data: courseEventData, error: courseEventError } = + await supabase + .schema("timetable") + .from("course_events") + .select("*") + .eq("id", id) + .eq("user_id", user_id) + .eq("calendar_id", calendar_id) + .maybeSingle(); + + if (courseEventError) + return res.status(400).json({ error: courseEventError.message }); + + if (!offering_id) { + if (!courseEventData || courseEventData.length === 0) { + return res + .status(400) + .json({ error: "Provided note ID is invalid or does not exist" }); + } + + if (courseEventData.calendar_id !== timetableData.id) { + return res.status(400).json({ + error: + "Restriction id does not belong to the provided calendar id", + }); + } + } + + //Build the delete query + let deleteQuery = supabase + .schema("timetable") + .from("course_events") + .delete(); + + //If offering_id is provided, delete all events with that offering_id + //Else delete that one occurence + + if (offering_id) { + deleteQuery = deleteQuery.eq("offering_id", offering_id); + } else { + deleteQuery = deleteQuery.eq("id", id); + } + + const { data: deleteData, error: deleteError } = await deleteQuery + .eq("calendar_id", calendar_id) + .eq("user_id", user_id) + .select("*"); + if (deleteError) + return res.status(400).json({ error: deleteError.message }); + return res.status(200).json("Event successfully deleted"); + } else if (event_type === "user") { + //Validate note availability + const { data: userEventData, error: userEventError } = await supabase + .schema("timetable") + .from("user_events") + .select("*") + .eq("id", id) + .eq("user_id", user_id) + .eq("calendar_id", calendar_id) + .maybeSingle(); + + if (userEventError) + return res.status(400).json({ error: userEventError.message }); + + if (!userEventData || userEventData.length === 0) { + return res + .status(400) + .json({ error: "Provided note ID is invalid or does not exist" }); + } + + if (userEventData.calendar_id !== timetableData.id) { + return res.status(400).json({ + error: "Restriction id does not belong to the provided calendar id", + }); + } + + const { error: deleteError } = await supabase + .schema("timetable") + .from("user_events") + .delete() + .eq("id", id) + .eq("user_id", user_id) + .eq("calendar_id", calendar_id) + .select("*"); + + if (deleteError) + return res.status(400).json({ error: deleteError.message }); + + return res.status(200).send("Event successfully deleted"); + } else { + return res.status(400).json({ error: "Invalid event type provided" }); + } + } catch (error) { + return res.status(500).send(error); + } + }), +}; diff --git a/course-matrix/backend/src/controllers/generatorController.ts b/course-matrix/backend/src/controllers/generatorController.ts new file mode 100644 index 00000000..b998b93b --- /dev/null +++ b/course-matrix/backend/src/controllers/generatorController.ts @@ -0,0 +1,113 @@ +import exp from "constants"; +import { Request, Response } from "express"; + +import asyncHandler from "../middleware/asyncHandler"; // Middleware to handle async route handlers +import getOfferings from "../services/getOfferings"; +import { getValidSchedules } from "../services/getValidSchedules"; +import { + GroupedOfferingList, + Offering, + OfferingList, +} from "../types/generatorTypes"; +import { + categorizeValidOfferings, + getFreq, + getMaxDays, + getMaxHour, + getValidOfferings, + groupOfferings, + trim, + shuffle, +} from "../utils/generatorHelpers"; + +// Express route handler to generate timetables based on user input +export default { + generateTimetable: asyncHandler(async (req: Request, res: Response) => { + try { + // Extract event details and course information from the request + const { semester, courses, restrictions } = req.body; + + const courseOfferingsList: OfferingList[] = []; + const validCourseOfferingsList: GroupedOfferingList[] = []; + const maxdays = getMaxDays(restrictions); + const maxhours = getMaxHour(restrictions); + const validSchedules: Offering[][] = []; + // Fetch offerings for each course + for (const course of courses) { + const { id } = course; + courseOfferingsList.push({ + course_id: id, + offerings: (await getOfferings(id, semester)) ?? [], + }); + } + const groupedOfferingsList: GroupedOfferingList[] = + groupOfferings(courseOfferingsList); + + for (const { + course_id, + groups, + lectures, + tutorials, + practicals, + } of groupedOfferingsList) { + const group: Record = getValidOfferings( + groups, + restrictions, + ); + let groupedOfferings = { + course_id: course_id, + groups: group, + lectures: 0, + tutorials: 0, + practicals: 0, + }; + groupedOfferings = getFreq(groupedOfferings); + if ( + (lectures != 0 && groupedOfferings.lectures == 0) || + (tutorials != 0 && groupedOfferings.tutorials == 0) || + (practicals != 0 && groupedOfferings.practicals == 0) + ) { + return res + .status(404) + .json({ error: "No valid schedules found. (restriction)" }); + } + + validCourseOfferingsList.push(groupedOfferings); + } + + let categorizedOfferings = categorizeValidOfferings( + validCourseOfferingsList, + ); + // Generate valid schedules for the given courses and restrictions + categorizedOfferings = shuffle(categorizedOfferings); + + await getValidSchedules( + validSchedules, + categorizedOfferings, + [], + 0, + categorizedOfferings.length, + maxdays, + maxhours, + false, + ); + + // Return error if no valid schedules are found + if (validSchedules.length === 0) { + return res.status(404).json({ error: "No valid schedules found." }); + } + // Return the valid schedules + console.log("Total timetables generated", validSchedules.length); + const returnVal = { + amount: validSchedules.length, + schedules: trim(validSchedules), + }; + return res.status(200).json(returnVal); + } catch (error) { + // Catch any error and return the error message + const errorMessage = + error instanceof Error ? error.message : "An unknown error occurred"; + return res.status(500).send({ error: errorMessage }); + } + }), +}; diff --git a/course-matrix/backend/src/controllers/offeringsController.ts b/course-matrix/backend/src/controllers/offeringsController.ts new file mode 100644 index 00000000..eefa25c0 --- /dev/null +++ b/course-matrix/backend/src/controllers/offeringsController.ts @@ -0,0 +1,137 @@ +import { Request, Response } from "express"; +import asyncHandler from "../middleware/asyncHandler"; +import { supabase } from "../db/setupDb"; +import { generateWeeklyCourseEvents } from "./eventsController"; + +export default { + /** + * Get a list of offering events based on offering ids, semester start date, and semester end date. + * + * @param {Request} req - The request object containing query parameters. + * @param {Response} res - The response object to send the offering events data. + * @returns {Promise} - The response object with the offering events data. + */ + getOfferingEvents: asyncHandler(async (req: Request, res: Response) => { + const { offering_ids, semester_start_date, semester_end_date } = req.query; + + // Retrieve the authenticated user + const user_id = (req as any).user.id; + + // Check if semester start and end dates are provided + if (!semester_start_date || !semester_end_date) { + return res.status(400).json({ + error: "Semester start and end dates are required.", + }); + } + + if (!offering_ids) { + return res.status(200).json([]); // Return an empty array if no offering_ids are provided + } + + const offering_ids_array = (offering_ids as string).split(","); + let eventsToInsert: any[] = []; + + const promises = offering_ids_array.map(async (offering_id) => { + // Get the offering data + const { data: offeringData, error: offeringError } = await supabase + .schema("course") + .from("offerings") + .select("*") + .eq("id", offering_id) + .maybeSingle(); + + if (offeringError) { + return res.status(400).json({ error: offeringError.message }); + } + + if (!offeringData || offeringData.length === 0) { + return res.status(400).json({ + error: "Invalid offering_id or course offering not found.", + }); + } + + // Generate event details + const courseEventName = ` ${offeringData.code} - ${offeringData.meeting_section} `; + let courseDay = offeringData.day; + let courseStartTime = offeringData.start; + let courseEndTime = offeringData.end; + + // Some offerings do not have a day, start time, or end time in the database, so we set default values + if (!courseDay || !courseStartTime || !courseEndTime) { + courseDay = "MO"; + courseStartTime = "08:00:00"; + courseEndTime = "09:00:00"; + } + + const mockCalendarId = "1"; + const events = generateWeeklyCourseEvents( + user_id, + courseEventName, + courseDay, + courseStartTime, + courseEndTime, + mockCalendarId, + offering_id as string, + semester_start_date as string, + semester_end_date as string, + ); + eventsToInsert = [...eventsToInsert, ...events]; + }); + + await Promise.all(promises); + + if (eventsToInsert.length === 0) { + return res.status(400).json({ + error: "Failed to generate course events", + }); + } + + // Return the generated events + return res.status(200).json(eventsToInsert); + }), + + /** + * Get a list of offerings based on course code and semester. + * + * @param {Request} req - The request object containing query parameters. + * @param {Response} res - The response object to send the offerings data. + * @returns {Promise} - The response object with the offerings data. + */ + getOfferings: asyncHandler(async (req: Request, res: Response) => { + try { + const { course_code, semester } = req.query; + + let offeringsQuery; + + // If course code or semester is not provided, return all offerings + if (!course_code || !semester) { + offeringsQuery = supabase.schema("course").from("offerings").select(); + + const { data: offeringsData, error: offeringsError } = + await offeringsQuery; + + const offerings = offeringsData || []; + + return res.status(200).json(offerings); + } + + offeringsQuery = supabase + .schema("course") + .from("offerings") + .select() + .eq("code", course_code) + .eq("offering", semester); + + // Get the data and errors from the query + const { data: offeringsData, error: offeringsError } = + await offeringsQuery; + + const offerings = offeringsData || []; + + res.status(200).json(offerings); + } catch (error) { + console.error(error); + res.status(500).json({ message: "Internal Server Error" }); + } + }), +}; diff --git a/course-matrix/backend/src/controllers/restrictionsController.ts b/course-matrix/backend/src/controllers/restrictionsController.ts new file mode 100644 index 00000000..1404dab0 --- /dev/null +++ b/course-matrix/backend/src/controllers/restrictionsController.ts @@ -0,0 +1,370 @@ +import { Request, Response } from "express"; +import { start } from "repl"; + +import { supabase } from "../db/setupDb"; +import asyncHandler from "../middleware/asyncHandler"; + +export default { + /** + * Create, Read, Update and Delete restrictions + * + */ + + /** + * Create a new restriction + * @route POST /api/restrictions + */ + createRestriction: asyncHandler(async (req: Request, res: Response) => { + try { + const { + type, + days, + start_time, + end_time, + disabled, + num_days, + calendar_id, + max_gap, + } = req.body; + + const user_id = (req as any).user.id; + + // Check for calendar_id + if (!calendar_id) { + return res.status(400).json({ error: "calendar id is required" }); + } + + // Function to construct date in local time + if ( + !["Restrict Day", "Days Off", "Max Gap"].includes(type) && + !start_time && + !end_time + ) { + return res + .status(400) + .json({ error: "Start time or end time must be provided" }); + } + + // Retrieve users allowed to access the timetable + const { data: timetableData, error: timetableError } = await supabase + .schema("timetable") + .from("timetables") + .select("*") + .eq("user_id", user_id) + .eq("id", calendar_id) + .maybeSingle(); + + if (timetableError) + return res.status(400).json({ error: timetableError.message }); + + // Validate timetable validity: + if (!timetableData || timetableData.length === 0) { + return res.status(404).json({ error: "Calendar id not found" }); + } + + const timetable_user_id = timetableData.user_id; + + // Validate user access + if (user_id !== timetable_user_id) { + return res + .status(401) + .json({ error: "Unauthorized access to timetable restriction" }); + } + + let startTime: String | null = null; + let endTime: String | null = null; + + if (start_time) { + let restriction_start_time = new Date(start_time); + startTime = restriction_start_time.toISOString().split("T")[1]; + } + + if (end_time) { + let restriction_end_time = new Date(end_time); + endTime = restriction_end_time.toISOString().split("T")[1]; + } + + const { data: restrictionData, error: restrictionError } = await supabase + .schema("timetable") + .from("restriction") + .insert([ + { + user_id, + type, + days, + start_time: startTime, + end_time: endTime, + disabled, + num_days, + calendar_id, + max_gap, + }, + ]) + .select(); + + if (restrictionError) { + return res.status(400).json({ error: restrictionError.message }); + } + + return res.status(201).json(restrictionData); + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Get all restrictions for a given calendar_id + * @route GET /api/restrictions/:calendar_id + */ + + getRestriction: asyncHandler(async (req: Request, res: Response) => { + try { + const { calendar_id } = req.params; + const user_id = (req as any).user.id; + + // Check for calendar_id + if (!calendar_id) { + return res.status(400).json({ error: "calendar id is required" }); + } + + // Retrieve users allowed to access the timetable + const { data: timetableData, error: timetableError } = await supabase + .schema("timetable") + .from("timetables") + .select("*") + .eq("user_id", user_id) + .eq("id", calendar_id) + .maybeSingle(); + + if (timetableError) + return res.status(400).json({ error: timetableError.message }); + + // Validate timetable validity: + if (!timetableData || timetableData.length === 0) { + return res.status(404).json({ error: "Calendar id not found" }); + } + + const timetable_user_id = timetableData.user_id; + + // Validate user access + if (user_id !== timetable_user_id) { + return res + .status(401) + .json({ error: "Unauthorized access to timetable restriction" }); + } + + const { data: restrictionData, error: restrictionError } = await supabase + .schema("timetable") + .from("restriction") + .select() + .eq("user_id", user_id) + .eq("calendar_id", calendar_id); + + if (restrictionError) { + return res.status(400).json({ error: restrictionError.message }); + } + + return res.status(200).json(restrictionData); + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Update a restriction + * @route PUT /api/restriction/:id + */ + + updateRestriction: asyncHandler(async (req: Request, res: Response) => { + try { + const { id } = req.params; + const { calendar_id } = req.query; + const updateData = req.body; + const user_id = (req as any).user.id; + + // Check for calendar_id + if (!calendar_id) { + return res.status(400).json({ error: "calendar id is required" }); + } + + // Check restriction id + const { data: restrictionCurrData, error: restrictionCurrError } = + await supabase + .schema("timetable") + .from("restriction") + .select("*") + .eq("user_id", user_id) + .eq("calendar_id", calendar_id) + .eq("id", id) + .maybeSingle(); + + if (restrictionCurrError) + return res.status(400).json({ error: restrictionCurrError.message }); + + if (!restrictionCurrData || restrictionCurrData.length === 0) { + return res.status(404).json({ error: "Restriction id does not exist" }); + } + + // Ensure start_time and end_time only contain time value + if (updateData.start_time) { + const restriction_start_time = new Date(updateData.start_time); + updateData.start_time = restriction_start_time + .toISOString() + .split("T")[1]; + } + + if (updateData.end_time) { + const restriction_end_time = new Date(updateData.end_time); + updateData.end_time = restriction_end_time.toISOString().split("T")[1]; + } + + // Retrieve users allowed to access the timetable + const { data: timetableData, error: timetableError } = await supabase + .schema("timetable") + .from("timetables") + .select("*") + .eq("user_id", user_id) + .eq("id", calendar_id) + .maybeSingle(); + + if (timetableError) + return res.status(400).json({ error: timetableError.message }); + + // Validate timetable validity: + if (!timetableData || timetableData.length === 0) { + return res.status(404).json({ error: "Calendar id not found" }); + } + + const timetable_user_id = timetableData.user_id; + + // Validate user access + if (user_id !== timetable_user_id) { + return res + .status(401) + .json({ error: "Unauthorized access to timetable restriction" }); + } + + // Validate mapping restriction id to calendar id + if (restrictionCurrData.calendar_id !== timetableData.id) { + return res.status(400).json({ + error: "Restriction id does not belong to the provided calendar id", + }); + } + + if (!Object.keys(updateData).length) { + return res + .status(400) + .json({ error: "At least one field is required to update" }); + } + + const { data: restrictionData, error: restrictionError } = await supabase + .schema("timetable") + .from("restriction") + .update(updateData) + .eq("user_id", user_id) + .eq("calendar_id", calendar_id) + .eq("id", id) + .select(); + + if (restrictionError) { + return res.status(400).json({ error: restrictionError.message }); + } + + if (!restrictionData || restrictionData.length === 0) { + return res.status(404).json({ error: "Restriction not found" }); + } + return res.status(200).json(restrictionData); + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Delete a restriction + * @route DELETE /api/restriction/:id + */ + + deleteRestriction: asyncHandler(async (req: Request, res: Response) => { + try { + const { id } = req.params; + const { calendar_id } = req.query; + const user_id = (req as any).user.id; + + // Check for calendar_id + if (!calendar_id) { + return res.status(400).json({ error: "calendar id is required" }); + } + + // Check restriction id + const { data: restrictionCurrData, error: restrictionCurrError } = + await supabase + .schema("timetable") + .from("restriction") + .select("*") + .eq("user_id", user_id) + .eq("calendar_id", calendar_id) + .eq("id", id) + .maybeSingle(); + + if (restrictionCurrError) { + return res.status(400).json({ error: restrictionCurrError.message }); + } + + if (!restrictionCurrData || restrictionCurrData.length === 0) { + return res.status(404).json({ error: "Restriction id does not exist" }); + } + + // Retrieve users allowed to access the timetable + const { data: timetableData, error: timetableError } = await supabase + .schema("timetable") + .from("timetables") + .select("*") + .eq("user_id", user_id) + .eq("id", calendar_id) + .maybeSingle(); + + if (timetableError) { + return res.status(400).json({ error: timetableError.message }); + } + + // Validate timetable validity: + if (!timetableData || timetableData.length === 0) { + return res.status(404).json({ error: "Calendar id not found" }); + } + + // Validate mapping restriction id to calendar id + if (restrictionCurrData.calendar_id !== timetableData.id) { + return res.status(400).json({ + error: "Restriction id does not belong to the provided calendar id", + }); + } + + const timetable_user_id = timetableData.user_id; + + // Validate user access + if (user_id !== timetable_user_id) { + return res + .status(401) + .json({ error: "Unauthorized access to timetable restriction" }); + } + + const { error: restrictionError } = await supabase + .schema("timetable") + .from("restriction") + .delete() + .eq("user_id", user_id) + .eq("calendar_id", calendar_id) + .eq("id", id); + + if (restrictionError) { + return res.status(400).json({ error: restrictionError.message }); + } + + return res + .status(200) + .json({ message: "Restriction successfully deleted" }); + } catch (error) { + return res.status(500).send({ error }); + } + }), +}; diff --git a/course-matrix/backend/src/controllers/sharesController.ts b/course-matrix/backend/src/controllers/sharesController.ts new file mode 100644 index 00000000..13e639b7 --- /dev/null +++ b/course-matrix/backend/src/controllers/sharesController.ts @@ -0,0 +1,474 @@ +import { Request, Response } from "express"; +import asyncHandler from "../middleware/asyncHandler"; +import { supabase } from "../db/setupDb"; + +export default { + /** + * Create a new share entry + * @route POST /api/shared + */ + createShare: asyncHandler(async (req: Request, res: Response) => { + try { + const owner_id = (req as any).user.id; + const owner_email = (req as any).user.email; + const { shared_email, calendar_id } = req.body; + + if (!shared_email || !calendar_id) { + return res + .status(400) + .json({ error: "Shared user email and calendar ID are required" }); + } + + // Owner cannot share a timetable to themselves + if (shared_email === owner_email) { + return res + .status(400) + .json({ error: "Users cannot share a timetable with themselves" }); + } + + const { data: sharedUser, error: sharedError } = await supabase.rpc( + "get_user_id_by_email", + { email: shared_email }, + ); + + if (sharedError) { + return res.status(400).json({ Error: sharedError.message }); + } + + if (!sharedUser || sharedUser.length === 0) { + return res + .status(400) + .json({ error: "User with provided email not found" }); + } + const shared_id = sharedUser[0].id; + + // Check if the calendar exists and belongs to the owner + const { data: timeTable, error: timeTableError } = await supabase + .schema("timetable") + .from("timetables") + .select("id") + .eq("id", calendar_id) + .eq("user_id", owner_id) + .maybeSingle(); + + if (timeTableError || !timeTable) { + return res.status(404).json({ + error: "Timetable not found or user unauthorized to share", + }); + } + + // Check if the sharing already exists + const { data: existingShare, error: existingShareError } = await supabase + .schema("timetable") + .from("shared") + .select("id") + .eq("calendar_id", calendar_id) + .eq("owner_id", owner_id) + .eq("shared_id", shared_id) + .maybeSingle(); + + if (existingShare) { + return res.status(400).json({ + error: "This calendar has already been shared with the provided user", + }); + } + + // Insert the shared timetable entry + const { data: shareInsert, error: shareError } = await supabase + .schema("timetable") + .from("shared") + .insert([{ owner_id, shared_id, calendar_id }]) + .select("*") + .single(); + + if (shareError) { + return res.status(400).json({ error: shareError.message }); + } + + return res.status(201).json(shareInsert); + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Get all timetables that the owner has shared + */ + getOwnerShare: asyncHandler(async (req: Request, res: Response) => { + try { + const user_id = (req as any).user.id; + + //Fetch all shared calendar IDs where user is the owner who share + const { data: shareData, error: sharedError } = await supabase + .schema("timetable") + .from("shared") + .select( + "id,calendar_id, owner_id, shared_id, timetables!inner(id, user_id, timetable_title, semester, favorite)", + ) + .eq("owner_id", user_id); + + if (sharedError) { + return res.status(400).json({ error: sharedError.message }); + } + + if (!shareData || shareData.length === 0) { + return res + .status(404) + .json({ error: "This user has not shared any timetables" }); + } + + return res.status(200).json(shareData); + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Get all timetables shared with the current user + * @route GET /api/shared + */ + + getShare: asyncHandler(async (req: Request, res: Response) => { + try { + const user_id = (req as any).user.id; + + //Fetch all shared calendar IDs where user is the shared recipient + const { data: shareData, error: sharedError } = await supabase + .schema("timetable") + .from("shared") + .select("id, calendar_id, owner_id, shared_id, timetables!inner(*)") + .eq("shared_id", user_id); + + if (sharedError) { + return res.status(400).json({ error: sharedError.message }); + } + + return res.status(200).json(shareData); + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Get all restrictions from a shared timetable id + * @route GET /api/shared/restrictions/:calendar_id + */ + getSharedRestrictions: asyncHandler(async (req: Request, res: Response) => { + try { + const { user_id, calendar_id } = req.query; + + if (!user_id || !calendar_id) { + return res.status(400).json({ + error: "User ID and Calendar ID are required", + }); + } + + //Retrieve users allowed to access the timetable + const { data: timetableData, error: timetableError } = await supabase + .schema("timetable") + .from("timetables") + .select("*") + .eq("id", calendar_id) + .eq("user_id", user_id) + .maybeSingle(); + + if (timetableError) + return res.status(400).json({ error: timetableError.message }); + + //Validate timetable validity: + if (!timetableData || timetableData.length === 0) { + return res.status(404).json({ error: "Calendar id not found" }); + } + + const { data: restrictionData, error: restrictionError } = await supabase + .schema("timetable") + .from("restriction") + .select() + .eq("user_id", user_id) + .eq("calendar_id", calendar_id); + + if (restrictionError) { + return res.status(400).json({ error: restrictionError.message }); + } + + return res.status(200).json(restrictionData); + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Delete all shared record for a timetable as the timetable's owner + * @route DELETE /api/shared/owner/:id? + */ + + deleteOwnerShare: asyncHandler(async (req: Request, res: Response) => { + try { + const owner_id = (req as any).user.id; + const { id } = req.params; + const { calendar_id, shared_email } = req.body; + + if (!id) { + if (calendar_id && !shared_email) { + // Check if the provided calendar_id belong to the current user + const { data: existingTimetable, error: existingTimetableError } = + await supabase + .schema("timetable") + .from("shared") + .select("*") + .eq("calendar_id", calendar_id) + .eq("owner_id", owner_id); + + if (existingTimetableError) { + return res + .status(500) + .json({ error: existingTimetableError.message }); + } + + if (!existingTimetable || existingTimetable.length === 0) { + return res + .status(404) + .json({ error: "Provided timetable for delete does not found" }); + } + + //Delete all shares belong to the owner for a specific table + const { error: deleteError } = await supabase + .schema("timetable") + .from("shared") + .delete() + .eq("calendar_id", calendar_id) + .eq("owner_id", owner_id); + + if (deleteError) { + return res.status(400).json({ error: deleteError.message }); + } + + return res.status(200).send({ + message: `All sharing records for the timetable: ${calendar_id} of user: ${ + (req as any).user.email + } have been deleted successfully`, + }); + } + + if (!calendar_id && shared_email) { + // Delete all shares belonging to the owner shared with a specific person + + // Get Person id via email + const { data: sharedUser, error: sharedError } = await supabase.rpc( + "get_user_id_by_email", + { email: shared_email }, + ); + + if (sharedError) { + return res.status(400).json({ error: sharedError.message }); + } + + if (!sharedUser || sharedUser.length === 0) { + return res + .status(400) + .json({ error: "User with provided email not found" }); + } + + const shared_id = sharedUser[0].id; + + //Check if the curernt owner has shared with the provided user + const { data: existingTimetable, error: existingTimetableError } = + await supabase + .schema("timetable") + .from("shared") + .select("*") + .eq("shared_id", shared_id) + .eq("owner_id", owner_id); + + if (existingTimetableError) { + return res + .status(500) + .json({ error: existingTimetableError.message }); + } + + if (!existingTimetable || existingTimetable.length === 0) { + return res.status(404).json({ + error: "You have not shared any timetable with the provided user", + }); + } + + const { error: deleteError } = await supabase + .schema("timetable") + .from("shared") + .delete() + .eq("owner_id", owner_id) + .eq("shared_id", shared_id); + + if (deleteError) { + return res.status(400).json({ error: deleteError.message }); + } + + return res.status(200).json({ + message: `All sharing records of user: ${ + (req as any).user.email + } to user: ${shared_email} have been deleted successfully`, + }); + } + + if (calendar_id && shared_email) { + // Get Person id via email + const { data: sharedUser, error: sharedError } = await supabase.rpc( + "get_user_id_by_email", + { email: shared_email }, + ); + + if (sharedError) { + return res.status(400).json({ error: sharedError.message }); + } + + if (!sharedUser || sharedUser.length === 0) { + return res + .status(400) + .json({ error: "User with provided email not found" }); + } + + const shared_id = sharedUser[0].id; + + //Check if the curernt owner has shared with the provided user + const { data: existingTimetable, error: existingTimetableError } = + await supabase + .schema("timetable") + .from("shared") + .select("*") + .eq("calendar_id", calendar_id) + .eq("shared_id", shared_id) + .eq("owner_id", owner_id); + + if (existingTimetableError) { + return res + .status(500) + .json({ error: existingTimetableError.message }); + } + + if (!existingTimetable || existingTimetable.length === 0) { + return res.status(404).json({ + error: + "You have not shared the provided timetable with the provided user", + }); + } + + const { error: deleteError } = await supabase + .schema("timetable") + .from("shared") + .delete() + .eq("calendar_id", calendar_id) + .eq("owner_id", owner_id) + .eq("shared_id", shared_id); + + if (deleteError) { + return res.status(400).json({ error: deleteError.message }); + } + + return res.status(200).json({ + message: `All sharing records of table: ${calendar_id} from user: ${ + (req as any).user.email + } to user: ${shared_email} have been deleted successfully`, + }); + } + return res.status(400).json({ + error: "Calendar_id, shared_email or share id is required", + }); + } else { + if (!calendar_id) { + return res.status(400).json({ + error: "Calendar_id is requried to delete a specific share entry", + }); + } + + const { data: existingShare, error: existingShareError } = + await supabase + .schema("timetable") + .from("shared") + .select("*") + .eq("id", id) + .eq("calendar_id", calendar_id) + .eq("owner_id", owner_id); + + if (existingShareError) { + return res.status(400).json({ error: existingShareError.message }); + } + + if (!existingShare || existingShare.length === 0) { + return res + .status(404) + .json({ error: "Cannot find the provided share entry" }); + } + + const { error: deleteError } = await supabase + .schema("timetable") + .from("shared") + .delete() + .eq("id", id) + .eq("calendar_id", calendar_id) + .eq("owner_id", owner_id); + + if (deleteError) { + return res.status(400).json({ error: deleteError.message }); + } + + return res.status(200).json({ + message: `Share number ${id} of calendar: ${calendar_id} has been sucessfully deleted`, + }); + } + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Delete a shared entryas shared userd + * @route DELETE /api/shared/:id? + */ + deleteShare: asyncHandler(async (req: Request, res: Response) => { + try { + const shared_id = (req as any).user.id; + const { calendar_id, owner_id } = req.body; + + if (!calendar_id || !owner_id) { + return res.status(400).json({ + error: "Calendar ID and Owner ID are required", + }); + } + + const { data: existingTimetable, error: existingTimetableError } = + await supabase + .schema("timetable") + .from("shared") + .select("*") + .eq("owner_id", owner_id) + .eq("calendar_id", calendar_id) + .eq("shared_id", shared_id); + + if (existingTimetableError) { + return res.status(500).json({ error: existingTimetableError.message }); + } + + if (!existingTimetable || existingTimetable.length === 0) { + return res.status(404).json({ + error: "Provided timetable for delete does not found", + }); + } + const { error: deleteError } = await supabase + .schema("timetable") + .from("shared") + .delete() + .eq("owner_id", owner_id) + .eq("calendar_id", calendar_id) + .eq("shared_id", shared_id); + if (deleteError) { + return res.status(400).json({ error: deleteError.message }); + } + + return res.status(200).json({ + message: `Sharing record with owner_id of ${owner_id} and calendar_id of ${calendar_id} deleted successfully`, + }); + } catch (error) { + return res.status(500).send({ error }); + } + }), +}; diff --git a/course-matrix/backend/src/controllers/timetablesController.ts b/course-matrix/backend/src/controllers/timetablesController.ts new file mode 100644 index 00000000..2a3cfeca --- /dev/null +++ b/course-matrix/backend/src/controllers/timetablesController.ts @@ -0,0 +1,310 @@ +import { Request, Response } from "express"; +import asyncHandler from "../middleware/asyncHandler"; +import { supabase } from "../db/setupDb"; +import { coreToolMessageSchema } from "ai"; + +export default { + /** + * Create, Read (Get), Update, and Delete user's timetables + */ + + /** + * Create a new timetbale + * @route POST api/timetables + */ + + createTimetable: asyncHandler(async (req: Request, res: Response) => { + try { + //Get user id from session authentication to insert in the user_id col + const user_id = (req as any).user.id; + + //Retrieve timetable title + const { timetable_title, semester, favorite = false } = req.body; + if (!timetable_title || !semester) { + return res + .status(400) + .json({ error: "timetable title and semester are required" }); + } + // Timetables cannot be longer than 50 characters. + if (timetable_title.length > 50) { + return res + .status(400) + .json({ error: "Timetable Title cannot be over 50 characters long" }); + } + // Timetables cannot exceed the size of 25. + const { count: timetable_count, error: timetableCountError } = + await supabase + .schema("timetable") + .from("timetables") + .select("*", { count: "exact", head: true }) + .eq("user_id", user_id); + + console.log(timetable_count); + + if ((timetable_count ?? 0) >= 25) { + return res + .status(400) + .json({ error: "You have exceeded the limit of 25 timetables" }); + } + + // Check if a timetable with the same title already exist for this user + const { data: existingTimetable, error: existingTimetableError } = + await supabase + .schema("timetable") + .from("timetables") + .select("id") + .eq("user_id", user_id) + .eq("timetable_title", timetable_title) + .maybeSingle(); + + if (existingTimetableError) { + return res.status(400).json({ error: existingTimetableError.message }); + } + + if (existingTimetable) { + return res + .status(400) + .json({ error: "A timetable with this title already exists" }); + } + //Create query to insert the user_id and timetable_title into the db + let insertTimetable = supabase + .schema("timetable") + .from("timetables") + .insert([ + { + user_id, + timetable_title, + semester, + favorite, + }, + ]) + .select("*"); + + const { data: timetableData, error: timetableError } = + await insertTimetable; + + if (timetableError) { + return res.status(400).json({ error: timetableError.message }); + } + + return res.status(201).json(timetableData); + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Get all timetables for a user + * @route GET /api/timetables + */ + + getTimetables: asyncHandler(async (req: Request, res: Response) => { + try { + //Retrieve user_id + const user_id = (req as any).user.id; + + //Retrieve user timetable item based on user_id + let timeTableQuery = supabase + .schema("timetable") + .from("timetables") + .select() + .eq("user_id", user_id); + const { data: timetableData, error: timetableError } = + await timeTableQuery; + + if (timetableError) + return res.status(400).json({ error: timetableError.message }); + + //Validate timetable validity: + if (!timetableData) { + return res.status(404).json({ error: "Calendar id not found" }); + } + + return res.status(200).json(timetableData); + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Get a single timetable for a user + * @route GET /api/timetables/:id + */ + + getTimetable: asyncHandler(async (req: Request, res: Response) => { + try { + //Retrieve user_id and timetable_id + const user_id = (req as any).user.id; + const { id: timetable_id } = req.params; + + // Retrieve based on user_id and timetable_id + let timeTableQuery = supabase + .schema("timetable") + .from("timetables") + .select() + .eq("user_id", user_id) + .eq("id", timetable_id); + + const { data: timetableData, error: timetableError } = + await timeTableQuery; + + if (timetableError) + return res.status(400).json({ error: timetableError.message }); + + //Validate timetable validity: + if (!timetableData) { + return res.status(404).json({ error: "Calendar id not found" }); + } + + return res.status(200).json(timetableData); + } catch (error) { + return res.status(500).send({ error }); + } + }), + + /** + * Update a timetable + * @route PUT /api/timetables/:id + */ + + updateTimetable: asyncHandler(async (req: Request, res: Response) => { + try { + const { id } = req.params; + + //Retrieve timetable title + const { + timetable_title, + semester, + favorite, + email_notifications_enabled, + } = req.body; + + // Timetables cannot be longer than 50 characters. + if (timetable_title && timetable_title.length > 50) { + return res + .status(400) + .json({ error: "Timetable Title cannot be over 50 characters long" }); + } + + //Retrieve the authenticated user + const user_id = (req as any).user.id; + //Retrieve users allowed to access the timetable + const { data: timetableUserData, error: timetableUserError } = + await supabase + .schema("timetable") + .from("timetables") + .select("*") + .eq("user_id", user_id) + .eq("id", id) + .maybeSingle(); + if (timetableUserError) + return res.status(400).json({ error: timetableUserError.message }); + + //Validate timetable validity: + if (!timetableUserData || timetableUserData.length === 0) { + return res.status(404).json({ error: "Calendar id not found" }); + } + // Check if another timetable with the same title already exist for this user + const { data: existingTimetable, error: existingTimetableError } = + await supabase + .schema("timetable") + .from("timetables") + .select("id") + .eq("user_id", user_id) + .eq("timetable_title", timetable_title) + .neq("id", id) + .maybeSingle(); + if (existingTimetableError) { + return res.status(400).json({ error: existingTimetableError.message }); + } + + if (existingTimetable) { + return res + .status(400) + .json({ error: "Another timetable with this title already exists" }); + } + let updateData: any = {}; + updateData.updated_at = new Date().toISOString(); + if (timetable_title) updateData.timetable_title = timetable_title; + if (semester) updateData.semester = semester; + if (favorite !== undefined) updateData.favorite = favorite; + if (email_notifications_enabled !== undefined) + updateData.email_notifications_enabled = email_notifications_enabled; + + //Update timetable title, for authenticated user only + let updateTimetableQuery = supabase + .schema("timetable") + .from("timetables") + .update(updateData) + .eq("user_id", user_id) + .eq("id", id) + .select() + .single(); + const { data: timetableData, error: timetableError } = + await updateTimetableQuery; + + if (timetableError) + return res.status(400).json({ error: timetableError.message }); + // If no records were updated due to non-existence timetable or it doesn't belong to the user. + if (!timetableData || timetableData.length === 0) { + return res.status(404).json({ + error: "Timetable not found or you are not authorized to update it", + }); + } + return res.status(200).json(timetableData); + } catch (error) { + console.error(error); + return res.status(500).send({ error }); + } + }), + + /** + * Delete a timetable + * @route DELETE /api/timetables/:id + */ + deleteTimetable: asyncHandler(async (req: Request, res: Response) => { + try { + const { id } = req.params; + + // Retrieve the authenticated user + const user_id = (req as any).user.id; + + //Retrieve users allowed to access the timetable + const { data: timetableUserData, error: timetableUserError } = + await supabase + .schema("timetable") + .from("timetables") + .select("*") + .eq("user_id", user_id) + .eq("id", id) + .maybeSingle(); + + if (timetableUserError) + return res.status(400).json({ error: timetableUserError.message }); + + //Validate timetable validity: + if (!timetableUserData || timetableUserData.length === 0) { + return res.status(404).json({ error: "Calendar id not found" }); + } + + // Delete only if the timetable belongs to the authenticated user + let deleteTimetableQuery = supabase + .schema("timetable") + .from("timetables") + .delete() + .eq("user_id", user_id) + .eq("id", id); + + const { error: timetableError } = await deleteTimetableQuery; + + if (timetableError) + return res.status(400).json({ error: timetableError.message }); + + return res + .status(200) + .json({ message: "Timetable successfully deleted" }); + } catch (error) { + return res.status(500).send({ error }); + } + }), +}; diff --git a/course-matrix/backend/src/controllers/userController.ts b/course-matrix/backend/src/controllers/userController.ts new file mode 100644 index 00000000..2520cd86 --- /dev/null +++ b/course-matrix/backend/src/controllers/userController.ts @@ -0,0 +1,328 @@ +import cookieParser from "cookie-parser"; +import { CookieOptions, Request, Response } from "express"; +import config from "../config/config"; +import { supabase } from "../db/setupDb"; +import asyncHandler from "../middleware/asyncHandler"; + +const COOKIE_OPTIONS: CookieOptions = { + httpOnly: true, // Prevents JavaScript access (XSS protection) + secure: process.env.NODE_ENV === "production", + sameSite: "strict", +}; + +/** + * @route POST /auth/signup + * @description Registers a new user by creating an account with Supabase. + * + * This endpoint: + * - Accepts user details (email and password) from the request body. + * - Calls Supabase's `signUp()` method to create a new user account. + * - Sends a confirmation email to the user if registration is successful. + */ +export const signUp = asyncHandler(async (req: Request, res: Response) => { + try { + const { username, email, password } = req.body; + + // calling supabase for user registeration + const { data, error } = await supabase.auth.signUp({ + email, + password, + options: { + emailRedirectTo: `${config.CLIENT_APP_URL}/signup-success`, + data: { + username: username, + }, + }, + }); + + if (data.user?.identities?.length === 0) { + console.error("User already exists", error); + return res.status(400).json({ + error: { + message: "User already exists", + status: 400, + }, + }); + } + + if (error) { + return res.status(400).json(error); + } + + res + .status(201) + .json({ message: "User registered successfully!", user: data.user }); + } catch (error) { + res.status(500).json({ message: "Internal Server Error" }); + } +}); + +/** + * @route POST /auth/login + * @description Authenticates a user using Supabase and starts a session. + * + * This endpoint: + * - Accepts user credentials (email and password) from the request body. + * - Calls Supabase's `signInWithPassword()` method to verify the credentials. + * - Store the refresh_token as Cookies if authentication is successful. + * - Responds with an error if authentication fails. + */ +export const login = asyncHandler(async (req: Request, res: Response) => { + const { email, password } = req.body; + + try { + // user sign in via supabase + const { data, error } = await supabase.auth.signInWithPassword({ + email, + password, + }); + + if (error) { + return res.status(401).json(error); + } + + res.cookie("refresh_token", data.session?.refresh_token, COOKIE_OPTIONS); + + await supabase.auth.setSession({ + access_token: data.session.access_token, + refresh_token: data.session.refresh_token, + }); + + res.status(200).json({ + message: "Login Success!", + access_token: data.session?.access_token, + user: data.user, + }); + } catch (error) { + res.status(500).json({ message: "Internal Server Error" }); + } +}); + +/** + * @route POST /auth/logout + * @description Logs out the authenticated user by signing them out of Supabase. + * + * This endpoint: + * - Calls Supabase's `signOut()` method to end the user's session. + * - Clears the user's refresh token Cookie + * - Returns a success message if the logout is successful. + * - Responds with an error if the logout process fails. + */ +export const logout = asyncHandler(async (req: Request, res: Response) => { + try { + const { error } = await supabase.auth.signOut(); + if (error) { + return res.status(400).json(error); + } + + res.clearCookie("refresh_token", COOKIE_OPTIONS); + + res.status(200).json({ message: "User logged out" }); + } catch (error) { + res.status(500).json({ message: "Internal Server Error" }); + } +}); + +/** + * @route GET /auth/session + * @description Fetches the current user session using the refresh token. + * + * This endpoint: + * - Retrieves the refresh token from cookies. + * - Calls Supabase's `refreshSession()` method to refresh the session. + * - Responds with the user data if the session is successfully refreshed. + * - Responds with an error if the session refresh fails. + */ +export const session = asyncHandler(async (req: Request, res: Response) => { + try { + const refresh_token = req.cookies.refresh_token; + if (!refresh_token) + return res.status(401).json({ error: "Not Authorized" }); + + const { data, error } = await supabase.auth.refreshSession({ + refresh_token, + }); + + if (error) return res.status(401).json({ error: error.message }); + + res + .status(200) + .json({ message: "User fetched successfully", user: data.user }); + } catch (error: any) { + console.error("Session Error:", error); + res.status(500).json({ error: error.message }); + } +}); + +/** + * @route POST /auth/request-password-reset + * @description Sends a password reset email to the user. + * + * This endpoint: + * - Accepts the user's email from the request body. + * - Calls Supabase's `resetPasswordForEmail()` method to send a reset email. + * - Responds with a success message if the email is sent. + * - Responds with an error if the email sending fails. + */ +export const requestPasswordReset = asyncHandler( + async (req: Request, res: Response) => { + try { + const { email } = req.body; + + if (!email) { + return res.status(400).json({ error: "Email is required" }); + } + + const { error } = await supabase.auth.resetPasswordForEmail(email, { + redirectTo: `${config.CLIENT_APP_URL}/reset-password`, + }); + + if (error) { + return res.status(400).json({ error: error.message }); + } + + return res.json({ + message: "Password reset email sent. Check your inbox.", + }); + } catch (error: any) { + console.error("Error requesting reset:", error); + res.status(500).json({ error: error.message }); + } + }, +); + +/** + * @route POST /auth/reset-password + * @description Updates the user's password after verifying the token. + * + * This endpoint: + * - Accepts the new password from the request body. + * - Calls Supabase's `updateUser()` method to update the password. + * - Responds with a success message if the password is updated. + * - Responds with an error if the password update fails. + */ +export const resetPassword = asyncHandler( + async (req: Request, res: Response) => { + try { + const { password } = req.body; + + if (!password) { + return res.status(400).json({ error: "New password is required" }); + } + + const { data, error } = await supabase.auth.updateUser({ password }); + + if (error) { + return res.status(400).json({ error: error.message }); + } + + return res.json({ message: "Password successfully updated." }); + } catch (error: any) { + console.error("Error resetting password:", error); + res.status(500).json({ error: error.message }); + } + }, +); + +/** + * @route DELETE /auth/accountDelete + * @description Deletes a users's account + * + * This endpoint: + * - Takes 1 field, the user's UUID + * - Calls supabase's deleteUser() method to delete the user + * - Responds with a success message if the user is deleted successfully + * - Responds with an error message if the user is not deleted successfully + */ +export const accountDelete = asyncHandler( + async (req: Request, res: Response) => { + const { uuid } = req.body; + + if (!uuid) { + return res.status(400).json({ error: "User ID (uuid) is required" }); + } + + const { error } = await supabase.auth.admin.deleteUser(uuid); + + if (error) { + console.error("Supabase Error:", error); + return res.status(500).json({ error: error.message }); + } + + res.status(200).json({ + message: `User ${uuid} deleted successfully`, + }); + }, +); + +/** + * @route POST + * @description Updates a users's accoount username + * + * This endpoint: + * - Takes 1 field, the user's new username + * - Calls supabase's updayUserById function + * - Responds with a success message if the username updates successfully + * - Responds with an error message if the username updates unsuccessfully + */ +export const updateUsername = asyncHandler( + async (req: Request, res: Response) => { + const { userId, username } = req.body; + + const { + data: { user }, + } = await supabase.auth.getUser(); + + if (!username) { + return res.status(400).json({ error: "Username is required" }); + } + + if (!user) { + return res.status(400).json({ error: "Unable to get user" }); + } else { + const updatedMetadata = { ...user.user_metadata, username: username }; + + const { data, error } = await supabase.auth.admin.updateUserById(userId, { + user_metadata: updatedMetadata, + }); + + if (error) { + return res.status(400).json({ error: "unable to update user" }); + } else { + return res.status(200).json(`Updated metadata: ${updatedMetadata}`); + } + } + }, +); + +/** + * @route GET + * @description Gets a user's username from their user ID + * + * This endpoint: + * - Takes 1 field, the user's id + * - Calls supabase's getUsers() function + * - Responds with the user's username if the user is found + * - Responds with an error message if the user is not found + */ +export const usernameFromUserId = asyncHandler( + async (req: Request, res: Response) => { + const { user_id } = req.query; + if (!user_id) { + return res.status(400).json({ error: "User ID is required" }); + } + + const { data: userData, error } = await supabase.auth.admin.getUserById( + user_id as string, + ); + + if (error) { + return res + .status(400) + .json({ error: "Unable to get username from email" }); + } else { + const username = userData?.user?.user_metadata?.username; + return res.status(200).json(username); + } + }, +); diff --git a/course-matrix/backend/src/db/setupDb.ts b/course-matrix/backend/src/db/setupDb.ts new file mode 100644 index 00000000..48e31aee --- /dev/null +++ b/course-matrix/backend/src/db/setupDb.ts @@ -0,0 +1,26 @@ +import { createClient } from "@supabase/supabase-js"; + +import config from "../config/config"; + +/** + * Initializes and exports the Supabase client. + * + * This client is used to interact with the Supabase backend services. + * The client is configured using the Supabase URL and API key from the config file. + */ +export const supabase = createClient( + config.DATABASE_URL!, + config.DATABASE_KEY!, +); + +export const supabaseServersideClient = createClient( + config.DATABASE_URL!, + config.DATABASE_KEY!, + { + auth: { + persistSession: false, + }, + }, +); + +console.log("Connected to Supabase Client!"); diff --git a/course-matrix/backend/src/index.ts b/course-matrix/backend/src/index.ts new file mode 100644 index 00000000..0c84b2e7 --- /dev/null +++ b/course-matrix/backend/src/index.ts @@ -0,0 +1,104 @@ +import cookieParser from "cookie-parser"; +import cors from "cors"; +import express, { Express } from "express"; +import { Server } from "http"; +import swaggerjsdoc from "swagger-jsdoc"; +import swaggerUi from "swagger-ui-express"; +import config from "./config/config"; +import { swaggerOptions } from "./config/swaggerOptions"; +import { supabase } from "./db/setupDb"; +import asyncHandler from "./middleware/asyncHandler"; +import { errorConverter, errorHandler } from "./middleware/errorHandler"; +import { authRouter } from "./routes/authRouter"; +import { + coursesRouter, + departmentsRouter, + offeringsRouter, +} from "./routes/courseRouter"; +import { timetableRouter } from "./routes/timetableRouter"; +import { aiRouter } from "./routes/aiRouter"; +import cron from "node-cron"; +import { checkAndNotifyEvents } from "./services/emailNotificationService"; + +const app: Express = express(); +const HOST = "localhost"; +let server: Server; +const swaggerDocs = swaggerjsdoc(swaggerOptions); + +app.use(cors({ origin: config.CLIENT_APP_URL, credentials: true })); +app.use(express.json()); +app.use(cookieParser()); +app.use(express.urlencoded({ extended: true })); +app.use(errorConverter); +app.use(errorHandler); +app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerDocs)); + +// Routes +app.use("/auth", authRouter); + +app.use("/api/courses", coursesRouter); +app.use("/api/departments", departmentsRouter); +app.use("/api/offerings", offeringsRouter); +app.use("/api/timetables", timetableRouter); +app.use("/api/ai", aiRouter); + +// Initialize cron job +// Note: For testing purposes can set first argument to '*/15 * * * * *' to run every 15s +cron.schedule("45 * * * *", checkAndNotifyEvents); + +/** + * Root route to test the backend server. + * @route GET / + */ +app.get( + "/", + asyncHandler(async (_, response) => + response.json({ + info: "Testing course matrix backend server", + }), + ), +); + +/** + * Test route to get data from the database. + * @route GET /post + */ +app.get( + "/post", + asyncHandler(async (_, res) => { + try { + const { data, error } = await supabase.from("posts").select(); + console.log("Got posts", data); + return res.status(200).send(data); + } catch (err) { + return res.status(500).send({ err }); + } + }), +); + +server = app.listen(config.PORT, () => { + console.log(`Server is running at http://${HOST}:${config.PORT}`); +}); + +// graceful shutdown +const exitHandler = () => { + if (server) { + server.close(() => { + console.info("Server closed"); + process.exit(1); + }); + } else { + process.exit(1); + } +}; + +const unexpectedErrorHandler = (error: unknown) => { + console.error(error); + exitHandler(); +}; + +process.on("uncaughtException", unexpectedErrorHandler); +process.on("unhandledRejection", unexpectedErrorHandler); + +export { server }; +export default app; diff --git a/course-matrix/backend/src/middleware/asyncHandler.ts b/course-matrix/backend/src/middleware/asyncHandler.ts new file mode 100644 index 00000000..d4d43f61 --- /dev/null +++ b/course-matrix/backend/src/middleware/asyncHandler.ts @@ -0,0 +1,26 @@ +import { Request, Response, NextFunction, RequestHandler } from "express"; + +type AsyncFunction = ( + req: Request, + res: Response, + next: NextFunction, +) => Promise; + +/** + * A higher-order function that wraps an asynchronous route handler. + * + * This function catches any errors thrown by the asynchronous handler and passes them to the next middleware. + * It helps to avoid repetitive try-catch blocks in route handlers. + * + * @param fn - The asynchronous route handler function. + * @returns A new function that wraps the original handler with error handling. + */ +const asyncHandler = (fn: AsyncFunction): RequestHandler => { + return (req: Request, res: Response, next: NextFunction): void => { + Promise.resolve(fn(req, res, next)).catch((error: Error) => { + res.status(500).json({ message: error.message }); + }); + }; +}; + +export default asyncHandler; diff --git a/course-matrix/backend/src/middleware/authHandler.ts b/course-matrix/backend/src/middleware/authHandler.ts new file mode 100644 index 00000000..b4f9d5c8 --- /dev/null +++ b/course-matrix/backend/src/middleware/authHandler.ts @@ -0,0 +1,48 @@ +// Middleware to check if user is authenticated (via access token) +// Use on endpoints that require an authenticated user to access + +import { Request, Response, NextFunction } from "express"; +import asyncHandler from "./asyncHandler"; +import { supabase } from "../db/setupDb"; +import { Session, User } from "@supabase/supabase-js"; + +interface AuthenticatedRequest extends Request { + user?: User; + session?: Session; +} + +/** + * Middleware to check if the user is authenticated using a refresh token. + * + * @param {AuthenticatedRequest} req - The request object with optional user and session properties. + * @param {Response} res - The response object to send error messages if authentication fails. + * @param {NextFunction} next - The next middleware function to call if authentication succeeds. + * @returns {Promise} - The next middleware function or an error response. + */ +export const authHandler = asyncHandler( + async (req: AuthenticatedRequest, res: Response, next: NextFunction) => { + // Check refresh token in cookies to determine if authorized + const refreshToken = req.cookies.refresh_token; + + if (!refreshToken) { + return res.status(401).json({ message: "No refresh token found" }); + } + + try { + // Verify the session + const { data, error } = await supabase.auth.getUser(); + + if (error) { + res.clearCookie("refresh_token"); + return res.status(401).json({ message: "Invalid or expired session" }); + } + + // Attach user to request for route handlers to access later + (req as AuthenticatedRequest).user = data?.user ?? undefined; + + next(); + } catch (error) { + res.status(500).json({ message: "Internal Server Error" }); + } + }, +); diff --git a/course-matrix/backend/src/middleware/errorHandler.ts b/course-matrix/backend/src/middleware/errorHandler.ts new file mode 100644 index 00000000..ba0b6875 --- /dev/null +++ b/course-matrix/backend/src/middleware/errorHandler.ts @@ -0,0 +1,57 @@ +import { ErrorRequestHandler } from "express"; +import ApiError from "../utils/utils"; + +/** + * Middleware to convert errors to ApiError instances if they are not already. + * + * @param {Error} err - The error object. + * @param {Request} req - The request object. + * @param {Response} res - The response object. + * @param {NextFunction} next - The next middleware function. + */ +export const errorConverter: ErrorRequestHandler = (err, req, res, next) => { + let error = err; + if (!(error instanceof ApiError)) { + const statusCode = + error.statusCode || + (error instanceof Error + ? 400 // Bad Request + : 500); // Internal Server Error + const message = + error.message || + (statusCode === 400 ? "Bad Request" : "Internal Server Error"); + error = new ApiError(statusCode, message, false, err.stack.toString()); + } + next(error); +}; + +/** + * Middleware to handle errors and send appropriate responses. + * + * @param {Error} err - The error object. + * @param {Request} req - The request object. + * @param {Response} res - The response object. + * @param {NextFunction} next - The next middleware function. + */ +export const errorHandler: ErrorRequestHandler = (err, req, res, next) => { + let { statusCode, message } = err; + if (process.env.NODE_ENV === "production" && !err.isOperational) { + statusCode = 500; // Internal Server Error + message = "Internal Server Error"; + } + + res.locals.errorMessage = err.message; + + const response = { + code: statusCode, + message, + ...(process.env.NODE_ENV === "development" && { stack: err.stack }), + }; + + if (process.env.NODE_ENV === "development") { + console.error(err); + } + + res.status(statusCode).json(response); + next(); +}; diff --git a/course-matrix/backend/src/models/timetable-form.ts b/course-matrix/backend/src/models/timetable-form.ts new file mode 100644 index 00000000..dc8f4b24 --- /dev/null +++ b/course-matrix/backend/src/models/timetable-form.ts @@ -0,0 +1,126 @@ +import { z, ZodType } from "zod"; + +export type TimetableForm = { + name: string; + date: Date; + semester: string; + search: string; + courses: { id: number; code: string; name: string }[]; + restrictions: RestrictionForm[]; +}; + +export type RestrictionForm = { + type: string; + days?: string[]; + numDays?: number; + maxGap?: number; + startTime?: string; + endTime?: string; + disabled?: boolean; +}; + +export const daysOfWeek = [ + { + id: "MO", + label: "Monday", + }, + { + id: "TU", + label: "Tuesday", + }, + { + id: "WE", + label: "Wednesday", + }, + { + id: "TH", + label: "Thursday", + }, + { + id: "FR", + label: "Friday", + }, +] as const; + +export const DayOfWeekEnum = z.enum(["MO", "TU", "WE", "TH", "FR"]); + +export const SemesterEnum = z.enum(["Summer 2025", "Fall 2025", "Winter 2026"]); + +export const CourseSchema = z.object({ + id: z.number().describe("The id of the course"), + code: z + .string() + .max(8, "Invalid course code") + .min(1, "Course code is required") + .describe( + "The course code. Formatted like: CSCA08H3. Course codes cannot be provided without the H3 at the end.", + ), + name: z.string().describe("The name of the course"), +}); + +export const RestrictionSchema = z.object({ + type: z + .enum([ + "Restrict Before", + "Restrict After", + "Restrict Between", + "Restrict Day", + "Days Off", + "Max Gap", + ]) + .describe( + "The type of restriction being applied. Restrict before restricts all times before 'endTime', Restrict Before restricts all times after 'startTime', Restrict Between restricts all times between 'startTime' and 'endTime', Restrict Day restricts the entirety of each day in field 'days', and Days Off enforces as least 'numDays' days off per week.", + ), + days: z + .array(DayOfWeekEnum) + .default(["MO", "TU", "WE", "TH", "FR"]) + .describe("Specific days of the week this restriction applies to"), + numDays: z + .number() + .positive() + .max(4, "Cannot block all days of the week") + .optional() + .describe( + "If type is Days Off, then this field is used and describes min number of days off per week. For example, if set to 2, and 'type' is Days Off, then this means we want at least 2 days off per week.", + ), + maxGap: z + .number() + .positive() + .max(23, "Cannot have a gap of an entire day for between courses") + .optional() + .describe( + "If type is Max Gap, then this field is used to describe the maximum gap between courses, in hours. For example, if set to 3, then 2 entires must not be further than 3 hours apart. ", + ), + startTime: z + .string() + .optional() + .describe( + "If type is Restrict After, or Restrict Between, then this field describes the start time of the restricted time. Formatted HH:mm:ss", + ), + endTime: z + .string() + .optional() + .describe( + "If type is Restrict Before, or Restrict Between, then this field describes the end time of the restricted time. Formatted HH:mm:ss", + ), + disabled: z + .boolean() + .optional() + .describe("Whether this restriction is currently disabled"), +}); + +export const TimetableFormSchema = z.object({ + name: z + .string() + .max(100, "Name cannot exceed 100 characters") + .min(1, "Name cannot be empty") + .describe("Title of timetable"), + date: z.string().describe("Creation time of timetable"), + semester: SemesterEnum, + search: z + .string() + .optional() + .describe("Keeps track of search query. Only used in UI."), + courses: z.array(CourseSchema), + restrictions: z.array(RestrictionSchema), +}); diff --git a/course-matrix/backend/src/models/timetable-generate.ts b/course-matrix/backend/src/models/timetable-generate.ts new file mode 100644 index 00000000..fb7bc316 --- /dev/null +++ b/course-matrix/backend/src/models/timetable-generate.ts @@ -0,0 +1,67 @@ +import { z } from "zod"; +import { DayOfWeekEnum, SemesterEnum } from "./timetable-form"; + +export const CreateTimetableArgs = z.object({ + name: z + .string() + .min(1, "Must include timetable name") + .max(100, "Timetable name length cannot exceed 100 characters") + .describe("Name of the timetable"), + semester: SemesterEnum, + schedule: z + .array( + z + .object({ + id: z.number().nonnegative().describe("Offering ID"), + course_id: z + .number() + .nonnegative() + .describe("ID of course this event is for"), + meeting_section: z + .string() + .describe("Meeting section e.g LEC01, TUT0002, PRAC0003"), + offering: SemesterEnum, + day: DayOfWeekEnum, + start: z + .string() + .describe("Time string HH:mm:ss represnting start time of event"), + end: z + .string() + .describe("Time string HH:mm:ss represnting start time of event"), + location: z + .string() + .describe("Building and room in which event takes place"), + current: z + .number() + .nonnegative() + .optional() + .nullable() + .describe("Current number of people enrolled"), + max: z + .number() + .nonnegative() + .optional() + .nullable() + .describe("Max number of people that can enroll"), + isWaitlisted: z + .boolean() + .optional() + .nullable() + .describe("Whether the event is full or not"), + deliveryMode: z + .string() + .optional() + .nullable() + .describe("If event is online synchronough, in person, etc"), + instructor: z + .string() + .optional() + .nullable() + .describe("Instructor of course event"), + notes: z.string().optional(), + code: z.string().describe("Course code"), + }) + .describe("A course event"), + ) + .describe("List of meeting sections"), +}); diff --git a/course-matrix/backend/src/routes/aiRouter.ts b/course-matrix/backend/src/routes/aiRouter.ts new file mode 100644 index 00000000..97e1050b --- /dev/null +++ b/course-matrix/backend/src/routes/aiRouter.ts @@ -0,0 +1,17 @@ +import express from "express"; +import { chat, testSimilaritySearch } from "../controllers/aiController"; +import { authHandler } from "../middleware/authHandler"; + +export const aiRouter = express.Router(); + +/** + * @route POST /api/ai/chat + * @description Handles user queries and generates responses using GPT-4o, with optional knowledge retrieval. + */ +aiRouter.post("/chat", authHandler, chat); + +/** + * @route POST /api/ai/test-similarity-search + * @description Test vector database similarity search feature + */ +aiRouter.post("/test-similarity-search", testSimilaritySearch); diff --git a/course-matrix/backend/src/routes/authRouter.ts b/course-matrix/backend/src/routes/authRouter.ts new file mode 100644 index 00000000..577691a2 --- /dev/null +++ b/course-matrix/backend/src/routes/authRouter.ts @@ -0,0 +1,77 @@ +import express from "express"; + +import { handleAuthCode } from "../controllers/authentication"; +import { + login, + logout, + session, + signUp, + requestPasswordReset, + resetPassword, + accountDelete, + updateUsername, + usernameFromUserId, +} from "../controllers/userController"; +import { authHandler } from "../middleware/authHandler"; + +export const authRouter = express.Router(); + +/** + * Route to handle user signup. + * @route POST /signup + */ +authRouter.post("/signup", signUp); + +/** + * Route to handle user login. + * @route POST /login + */ +authRouter.post("/login", login); + +/** + * Route to handle user logout. + * @route POST /logout + */ +authRouter.post("/logout", logout); + +/** + * Route to handle email confirmation. + * @route GET /confirm + */ +authRouter.get("/confirm", handleAuthCode); + +/** + * Route to get the current session. + * @route GET /session + */ +authRouter.get("/session", session); + +/** + * Route to request a password reset. + * @route POST /request-password-reset + */ +authRouter.post("/request-password-reset", requestPasswordReset); + +/** + * Route to reset the password. + * @route POST /reset-password + */ +authRouter.post("/reset-password", resetPassword); + +/** + * Route to request that an account is deleted. + * @route POST /delete-account + */ +authRouter.delete("/accountDelete", accountDelete); + +/** + * Route to request to update username + * @route POST /updateUsername + */ +authRouter.post("/updateUsername", authHandler, updateUsername); + +/** + * Route to get the username from the user id + * @route GET /username-from-user-id + */ +authRouter.get("/username-from-user-id", authHandler, usernameFromUserId); diff --git a/course-matrix/backend/src/routes/courseRouter.ts b/course-matrix/backend/src/routes/courseRouter.ts new file mode 100644 index 00000000..ac591c13 --- /dev/null +++ b/course-matrix/backend/src/routes/courseRouter.ts @@ -0,0 +1,52 @@ +import express from "express"; +import coursesController from "../controllers/coursesController"; +import departmentsController from "../controllers/departmentsController"; +import offeringsController from "../controllers/offeringsController"; +import { authHandler } from "../middleware/authHandler"; + +export const coursesRouter = express.Router(); +export const departmentsRouter = express.Router(); +export const offeringsRouter = express.Router(); + +/** + * Route to get a list of courses. + * @route GET / + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +coursesRouter.get("/", authHandler, coursesController.getCourses); + +/** + * Route to get the total number of sections from a list of courses. + * @route GET /total-courses + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +coursesRouter.get( + "/total-sections", + authHandler, + coursesController.getNumberOfSections, +); + +/** + * Route to get a list of departments. + * @route GET / + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +departmentsRouter.get("/", authHandler, departmentsController.getDepartments); + +/** + * Route to get a list of events for an offering. + * @route GET /events/:offering_id + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +offeringsRouter.get( + "/events", + authHandler, + offeringsController.getOfferingEvents, +); + +/** + * Route to get a list of offerings. + * @route GET / + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +offeringsRouter.get("/", authHandler, offeringsController.getOfferings); diff --git a/course-matrix/backend/src/routes/timetableRouter.ts b/course-matrix/backend/src/routes/timetableRouter.ts new file mode 100644 index 00000000..a5b4b5a9 --- /dev/null +++ b/course-matrix/backend/src/routes/timetableRouter.ts @@ -0,0 +1,195 @@ +import express from "express"; +import eventController from "../controllers/eventsController"; +import generatorController from "../controllers/generatorController"; +import restrictionsController from "../controllers/restrictionsController"; +import sharesController from "../controllers/sharesController"; +import timetableController from "../controllers/timetablesController"; +import { authHandler } from "../middleware/authHandler"; + +export const timetableRouter = express.Router(); + +/** + * Route to create a new timetable + * @route POST /api/timetables + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.post("/", authHandler, timetableController.createTimetable); + +/** + * Route to get all tiemtables for a user + * @route GET /api/timetables + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.get("/", authHandler, timetableController.getTimetables); + +/** + * Route to get a single tiemtable for a user + * @route GET /api/timetables/:id + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.get("/:id", authHandler, timetableController.getTimetable); + +/** + * Route to update a timetable + * @route PUT /api/timetable/:id + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.put("/:id", authHandler, timetableController.updateTimetable); + +/** + * Route to delete a timetable + * @route DELETE api/timetable/:id + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.delete( + "/:id", + authHandler, + timetableController.deleteTimetable, +); + +/** + * Route to create an event + * @route POST /api/timetables/events + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.post("/events", authHandler, eventController.createEvent); + +/** + * Route to get all events in a calendar + * @route GET /api/timetables/events/:calendar_id + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.get( + "/events/:calendar_id", + authHandler, + eventController.getEvents, +); + +/** + * Route to get all events in a calendar shared with the authenticated user + * @route GET /api/timetables/events/shared + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.get( + "/events/shared/:user_id/:calendar_id", + authHandler, + eventController.getSharedEvents, +); + +/** + * Route to update an event + * @route PUT /api/timetables/events/:id + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.put("/events/:id", authHandler, eventController.updateEvent); + +/** + * Route to delete events + * @route DELETE /api/timetables/events/:id + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.delete("/events/:id", authHandler, eventController.deleteEvent); + +/** + * Route to create restriction + * @route POST /api/timetables/restriction + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.post( + "/restrictions", + authHandler, + restrictionsController.createRestriction, +); + +/** + * Route to get restriction + * @route GET /api/restrictions/:calendar_id + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.get( + "/restrictions/:calendar_id", + authHandler, + restrictionsController.getRestriction, +); + +/** + * Route to update restriction + * @route PUT /api/restriction/:id + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.put( + "/restrictions/:id", + authHandler, + restrictionsController.updateRestriction, +); + +/** + * Route to delete restriction + * @route DELETE /api/restriction/:id + * @middleware authHandler - Middleware to check if the user is authenticated. + */ +timetableRouter.delete( + "/restrictions/:id", + authHandler, + restrictionsController.deleteRestriction, +); + +timetableRouter.post( + "/generate", + authHandler, + generatorController.generateTimetable, +); + +/** + * Route to create shared entry + * @route POST /api/timetables/shared + * @middleware authHandler - Middleware to check if the user is authenticated + */ +timetableRouter.post("/shared", authHandler, sharesController.createShare); + +/** + * Route to get all shared entry of authenticated user + * @route GET /api/timetables/shared/owner + * @middleware authHandler - Middleware to check if the user is authenticated + */ +timetableRouter.get( + "/shared/owner", + authHandler, + sharesController.getOwnerShare, +); + +/** + * Route to get all shared entry with authenticated user + * @route GET /api/timetables/shared/me + * @middleware authHandler - Middleware to check if the user is authenticated + */ +timetableRouter.get("/shared/me", authHandler, sharesController.getShare); + +/** + * Route to get all the restrictions of a timetable + * @route GET /api/timetables/shared/restrictions + * @middleware authHandler - Middleware to check if the user is authenticated + */ +timetableRouter.get( + "/shared/restrictions", + authHandler, + sharesController.getSharedRestrictions, +); + +/** + * Route to delete all shared entries for a timetable as timetable's owner + * @route DELETE /api/timetables/shared/owner/:calendar_id + * @middleware authHandler - Middleware to check if the user is authenticated + */ +timetableRouter.delete( + "/shared/owner/:id?", + authHandler, + sharesController.deleteOwnerShare, +); + +/** + * Route to delete a single entry for the authneticate user + * @route DELETE /api/timetables/shared/me/:calendar_id + * @middleware authHandler - Middleware to check if the user is authenticated + */ +timetableRouter.delete("/shared/me", authHandler, sharesController.deleteShare); diff --git a/course-matrix/backend/src/routes/userRouter.ts b/course-matrix/backend/src/routes/userRouter.ts new file mode 100644 index 00000000..43b8b571 --- /dev/null +++ b/course-matrix/backend/src/routes/userRouter.ts @@ -0,0 +1,12 @@ +import express from "express"; + +import { handleAuthCode } from "../controllers/authentication"; +import { login, logout, session, signUp } from "../controllers/userController"; + +export const usersRouter = express.Router(); + +usersRouter.post("/signup", signUp); +usersRouter.post("/login", login); +usersRouter.post("/logout", logout); +usersRouter.get("/confirm", handleAuthCode); +usersRouter.get("/session", session); diff --git a/course-matrix/backend/src/services/emailNotificationService.ts b/course-matrix/backend/src/services/emailNotificationService.ts new file mode 100644 index 00000000..a486a8ea --- /dev/null +++ b/course-matrix/backend/src/services/emailNotificationService.ts @@ -0,0 +1,221 @@ +import { TEST_DATE_NOW, TEST_NOTIFICATIONS } from "../constants/constants"; +import { supabaseServersideClient } from "../db/setupDb"; +import { isDateBetween } from "../utils/compareDates"; +import axios from "axios"; + +type EmaiLData = { + sender: { + email: string; + name: string; + }; + to: { + email: string; + name: string; + }[]; + subject: string; + htmlContent: string; +}; + +// Create a function to send emails via Brevo API +async function sendBrevoEmail(emailData: EmaiLData) { + try { + const response = await axios({ + method: "post", + url: "https://api.brevo.com/v3/smtp/email", + headers: { + accept: "application/json", + "Api-key": process.env.BREVO_API_KEY!, + "content-type": "application/json", + }, + data: emailData, + }); + + return response?.data; + } catch (error: any) { + console.error( + "Error sending email:", + error?.response ? error?.response?.data : error?.message, + ); + throw error; + } +} + +// Ensure offering is in current semester and current day of week +export function correctDay(offering: any): boolean { + const weekdays = ["SU", "MO", "TU", "WE", "TH", "FR", "SA"]; + const semester = offering?.offering; + const day = offering?.day; + + if (!semester || !day) return false; + + let now; + if (TEST_NOTIFICATIONS) { + now = TEST_DATE_NOW; + } else { + now = new Date(); + } + + let startDay; + let endDay; + + // console.log(offering) + + if (semester === "Summer 2025") { + startDay = new Date(2025, 4, 2); + endDay = new Date(2025, 7, 7); + } else if (semester === "Fall 2025") { + startDay = new Date(2025, 8, 3); + endDay = new Date(2025, 11, 3); + } else { + // Winter 2026 + startDay = new Date(2026, 0, 6); + endDay = new Date(2026, 3, 4); + } + + if (!isDateBetween(now, startDay, endDay)) { + // console.log(`${now.toDateString()} is not between ${startDay.toDateString()} and ${endDay.toDateString()}`) + return false; + } + + if (weekdays[now.getDay()] !== day) { + // console.log(`${weekdays[now.getDay()]} is not equal to ${day}`) + return false; + } + + return true; +} + +// Function to check for upcoming events and send notifications +export async function checkAndNotifyEvents() { + console.log("Checking for upcoming events..."); + let now; + if (TEST_NOTIFICATIONS) { + now = TEST_DATE_NOW; + } else { + now = new Date(); + } + + // Calculate time 15 minutes from now + const fifteenMinutesFromNow = new Date(now.getTime() + 15 * 60 * 1000); + + const formattedStartTime = now.toTimeString().slice(0, 8); + const formattedEndTime = fifteenMinutesFromNow.toTimeString().slice(0, 8); + const today = now.toISOString().split("T")[0]; + //console.log(today); + try { + // Get events that start between now and 15 minutes from now + const { data: events, error } = await supabaseServersideClient + .schema("timetable") + .from("course_events") + .select("*") + .gte("event_start", formattedStartTime) + .lte("event_start", formattedEndTime) + .eq("event_date", today); + + if (error) { + console.error("Error fetching events:", error); + return; + } + + console.log(`Found ${events.length} events to notify users about`); + + // Send email notifications for each event + for (const event of events) { + // get timetable notif enabled + const { data: timetables, error: errorTimetable } = + await supabaseServersideClient + .schema("timetable") + .from("timetables") + .select("email_notifications_enabled") + .eq("id", event.calendar_id) + .eq("user_id", event.user_id) + .limit(1); + + if (errorTimetable) { + console.error("Error fetching timetable: ", errorTimetable); + return; + } + + if (!timetables || timetables.length === 0) { + console.error("Timetable not found id:", event.offering_id); + return; + } + + if (!timetables[0].email_notifications_enabled) { + continue; + } + + // Get offering + const { data: offerings, error: errorOffering } = + await supabaseServersideClient + .schema("course") + .from("offerings") + .select("*") + .eq("id", event.offering_id) + .limit(1); + + if (errorOffering) { + console.error("Error fetching offering: ", errorOffering); + return; + } + + if (!offerings || offerings.length === 0) { + console.error("Offering not found id:", event.offering_id); + return; + } + + // Ensure we are in the correct semester and day of week + if (!correctDay(offerings[0])) { + continue; + } + + // Get user info + const { data: userData, error } = + await supabaseServersideClient.auth.admin.getUserById(event.user_id); + + if (error) { + console.error("Error fetching user: ", error); + return; + } + + if (!userData) { + console.error("User not found id:", event.user_id); + return; + } + + const user = userData?.user; + const userEmail = user?.email; + const userName = user?.user_metadata?.username; + + console.log(`Sending email to ${userEmail} for ${event.event_name}`); + + try { + const email = { + sender: { + email: process.env.SENDER_EMAIL!, + name: process.env.SENDER_NAME || "Course Matrix Notifications", + }, + to: [{ email: userEmail!, name: userName }], + subject: `Reminder: ${event.event_name} starting soon`, + htmlContent: ` +

Event Reminder

+

Hello ${userName},

+

Your event "${event.event_name}" is starting soon

+

Start time: ${event.event_start}

+

Description: ${ + event.event_description || "No description provided" + }

+

Thank you for using our calendar service!

+ `, + }; + + const result = await sendBrevoEmail(email); + console.log("Email sent successfully:", result); + } catch (error) { + console.error("Failed to send email:", error); + } + } + } catch (err) { + console.error("Error in notification process:", err); + } +} diff --git a/course-matrix/backend/src/services/getOfferings.ts b/course-matrix/backend/src/services/getOfferings.ts new file mode 100644 index 00000000..6b085e9a --- /dev/null +++ b/course-matrix/backend/src/services/getOfferings.ts @@ -0,0 +1,34 @@ +import { supabase } from "../db/setupDb"; + +// Function to fetch offerings from the database for a given course and semester +export default async function getOfferings( + course_id: number, + semester: string, +) { + let { data: offeringData, error: offeringError } = await supabase + .schema("course") + .from("offerings") + .select( + ` + id, + course_id, + meeting_section, + offering, + day, + start, + end, + location, + current, + max, + is_waitlisted, + delivery_mode, + instructor, + notes, + code + `, + ) + .eq("course_id", course_id) + .eq("offering", semester); + + return offeringData; +} diff --git a/course-matrix/backend/src/services/getValidSchedules.ts b/course-matrix/backend/src/services/getValidSchedules.ts new file mode 100644 index 00000000..466a879e --- /dev/null +++ b/course-matrix/backend/src/services/getValidSchedules.ts @@ -0,0 +1,62 @@ +import { CategorizedOfferingList, Offering } from "../types/generatorTypes"; +import { + canInsertList, + getFrequencyTable, + getMinHour, +} from "../utils/generatorHelpers"; + +// Function to generate all valid schedules based on offerings and restrictions + +export function getValidSchedules( + validSchedules: Offering[][], + courseOfferingsList: CategorizedOfferingList[], + curList: Offering[], + cur: number, + len: number, + maxdays: number, + maxhours: number, + exit: boolean, +) { + // Base case: if all courses have been considered + if (cur == len) { + if (validSchedules.length > 200) { + exit = true; + return; + } + + const freq: Map = getFrequencyTable(curList); + // If the number of unique days is within the allowed limit, add the current + // schedule to the list, also checks if max gap is being violated + if (freq.size <= maxdays && getMinHour(curList, maxhours)) { + validSchedules.push([...curList]); // Push a copy of the current list + } + return; + } + + const offeringsForCourse = courseOfferingsList[cur]; + + // Recursively attempt to add offerings for the current course + for (const [groupKey, offerings] of Object.entries( + offeringsForCourse.offerings, + )) { + if (canInsertList(offerings, curList)) { + const count = offerings.length; + curList.push(...offerings); // Add offering to the current list + + // Recursively generate schedules for the next course + getValidSchedules( + validSchedules, + courseOfferingsList, + curList, + cur + 1, + len, + maxdays, + maxhours, + exit, + ); + if (exit) return; + // Backtrack: remove the last offering if no valid schedule was found + for (let i = 0; i < count; i++) curList.pop(); + } + } +} diff --git a/course-matrix/backend/src/types/generatorTypes.ts b/course-matrix/backend/src/types/generatorTypes.ts new file mode 100644 index 00000000..81b2292f --- /dev/null +++ b/course-matrix/backend/src/types/generatorTypes.ts @@ -0,0 +1,62 @@ +// Interface to define the structure of an Offering +export interface Offering { + id: number; + course_id: number; + meeting_section: string; + offering: string; + day: string; + start: string; + end: string; + location: string; + current: number; + max: number; + is_waitlisted: boolean; + delivery_mode: string; + instructor: string; + notes: string; + code: string; +} + +// Enum to define different types of restrictions for offerings +export enum RestrictionType { + RestrictBefore = "Restrict Before", + RestrictAfter = "Restrict After", + RestrictBetween = "Restrict Between", + RestrictDay = "Restrict Day", + RestrictDaysOff = "Days Off", + RestrictMaxGap = "Max Gap", +} + +// Interface for the restriction object +export interface Restriction { + type: RestrictionType; + days: string[]; + startTime: string; + endTime: string; + disabled: boolean; + numDays: number; + maxGap: number; +} + +// Interface for organizing offerings with the same meeting_section together +export interface GroupedOfferingList { + course_id: number; + groups: Record; + lectures: number; + tutorials: number; + practicals: number; +} + +// Interface for organizing offerings by course ID +export interface OfferingList { + course_id: number; + offerings: Offering[]; +} + +// Interface for organizing offerings by course ID and the category of the +// course (LEC, TUT, PRA) +export interface CategorizedOfferingList { + course_id: number; + category: "LEC" | "TUT" | "PRA"; + offerings: Record; +} diff --git a/course-matrix/backend/src/utils/analyzeQuery.ts b/course-matrix/backend/src/utils/analyzeQuery.ts new file mode 100644 index 00000000..3ac5a601 --- /dev/null +++ b/course-matrix/backend/src/utils/analyzeQuery.ts @@ -0,0 +1,72 @@ +import { + NAMESPACE_KEYWORDS, + DEPARTMENT_CODES, + GENERAL_ACADEMIC_TERMS, + ASSISTANT_TERMS, +} from "../constants/promptKeywords"; + +// Analyze query contents and pick out relavent namespaces to search. +export function analyzeQuery(query: string): { + requiresSearch: boolean; + relevantNamespaces: string[]; +} { + const lowerQuery = query.toLowerCase(); + + // Check for course codes (typically 3 letters followed by numbers) + const courseCodeRegex = /\b[a-zA-Z]{3}[a-zA-Z]?\d{2,3}[a-zA-Z]?\b/i; + const containsCourseCode = courseCodeRegex.test(query); + + const relevantNamespaces: string[] = []; + + // Check each namespace's keywords + Object.entries(NAMESPACE_KEYWORDS).forEach(([namespace, keywords]) => { + if (keywords.some((keyword) => lowerQuery.includes(keyword))) { + relevantNamespaces.push(namespace); + } + }); + + // If a course code is detected, add tehse namespaces + if (containsCourseCode) { + if (!relevantNamespaces.includes("courses_v3")) + relevantNamespaces.push("courses_v3"); + if (!relevantNamespaces.includes("offerings")) + relevantNamespaces.push("offerings"); + if (!relevantNamespaces.includes("prerequisites")) + relevantNamespaces.push("prerequisites"); + } + + // Check for dept codes + if (DEPARTMENT_CODES.some((code) => lowerQuery.includes(code))) { + if (!relevantNamespaces.includes("departments")) + relevantNamespaces.push("departments"); + if (!relevantNamespaces.includes("courses_v3")) + relevantNamespaces.push("courses_v3"); + } + + // If search is required at all + const requiresSearch = + relevantNamespaces.length > 0 || + GENERAL_ACADEMIC_TERMS.some((term) => lowerQuery.includes(term)) || + containsCourseCode; + + // If no specific namespaces identified & search required, then search all + if (requiresSearch && relevantNamespaces.length === 0) { + relevantNamespaces.push( + "courses_v3", + "offerings", + "prerequisites", + "corequisites", + "departments", + "programs", + ); + } + + if ( + ASSISTANT_TERMS.some((term) => lowerQuery.includes(term)) && + relevantNamespaces.length === 0 + ) { + return { requiresSearch: false, relevantNamespaces: [] }; + } + + return { requiresSearch, relevantNamespaces }; +} diff --git a/course-matrix/backend/src/utils/compareDates.ts b/course-matrix/backend/src/utils/compareDates.ts new file mode 100644 index 00000000..b30d249b --- /dev/null +++ b/course-matrix/backend/src/utils/compareDates.ts @@ -0,0 +1,13 @@ +export const compareDates = (date1: Date, date2: Date) => { + if (date1 < date2) { + return -1; + } else if (date1 > date2) { + return 1; + } else { + return 0; + } +}; + +export const isDateBetween = (date: Date, start: Date, end: Date): boolean => { + return compareDates(date, start) >= 0 && compareDates(date, end) <= 0; +}; diff --git a/course-matrix/backend/src/utils/convert-breadth-requirement.ts b/course-matrix/backend/src/utils/convert-breadth-requirement.ts new file mode 100644 index 00000000..0537ea3b --- /dev/null +++ b/course-matrix/backend/src/utils/convert-breadth-requirement.ts @@ -0,0 +1,9 @@ +export const convertBreadthRequirement = (code: string) => { + if (code === "ART_LIT_LANG") return "Arts, Literature and Language"; + else if (code === "HIS_PHIL_CUL") + return "History, Philosophy and Cultural Studies"; + else if (code === "SOCIAL_SCI") return "Social and Behavioral Sciences"; + else if (code === "NAT_SCI") return "Natural Sciences"; + else if (code === "QUANT") return "Quantitative Reasoning"; + else return ""; +}; diff --git a/course-matrix/backend/src/utils/convert-time-string.ts b/course-matrix/backend/src/utils/convert-time-string.ts new file mode 100644 index 00000000..1107f1b9 --- /dev/null +++ b/course-matrix/backend/src/utils/convert-time-string.ts @@ -0,0 +1,20 @@ +export function convertTimeStringToDate(timeString: string): Date { + // Validate the timeString format (HH:mm:ss) + const isValidFormat = /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/.test( + timeString, + ); + if (!isValidFormat) { + throw new Error("Invalid time format. Expected HH:mm:ss"); + } + + const date = new Date(); + + const [hours, minutes, seconds] = timeString.split(":").map(Number); + + date.setHours(hours); + date.setMinutes(minutes); + date.setSeconds(seconds); + date.setMilliseconds(0); + + return date; +} diff --git a/course-matrix/backend/src/utils/convert-year-level.ts b/course-matrix/backend/src/utils/convert-year-level.ts new file mode 100644 index 00000000..7be7ad17 --- /dev/null +++ b/course-matrix/backend/src/utils/convert-year-level.ts @@ -0,0 +1,7 @@ +export const convertYearLevel = (code: string) => { + if (code === "first_year") return "1st year"; + else if (code === "second_year") return "2nd year"; + else if (code === "third_year") return "3rd year"; + else if (code === "fourth_year") return "4th year"; + else return ""; +}; diff --git a/course-matrix/backend/src/utils/embeddings.ts b/course-matrix/backend/src/utils/embeddings.ts new file mode 100644 index 00000000..25d56fde --- /dev/null +++ b/course-matrix/backend/src/utils/embeddings.ts @@ -0,0 +1,135 @@ +import { OpenAIEmbeddings } from "@langchain/openai"; +import { CSVLoader } from "@langchain/community/document_loaders/fs/csv"; +import { PDFLoader } from "@langchain/community/document_loaders/fs/pdf"; +import { PineconeStore } from "@langchain/pinecone"; +import { Pinecone } from "@pinecone-database/pinecone"; +import config from "../config/config"; +import path from "path"; +import { convertBreadthRequirement } from "./convert-breadth-requirement"; + +console.log("Running embeddings process..."); + +const embeddings = new OpenAIEmbeddings({ + openAIApiKey: process.env.OPENAI_API_KEY!, +}); + +const pinecone = new Pinecone({ + apiKey: process.env.PINECONE_API_KEY!, +}); + +// Generate embeddings for csv tables +async function processCSV(filePath: string, namespace: string) { + const fileName = path.basename(filePath); + const loader = new CSVLoader(filePath); + let docs = await loader.load(); + + docs = docs.map((doc, index) => ({ + ...doc, + metadata: { ...doc.metadata, source: fileName, row: index + 1 }, // Store row number & csv filename + })); + console.log("Sample doc: ", docs[0]); + + const index = pinecone.Index(process.env.PINECONE_INDEX_NAME!); + + // Store each row as an individual embedding + await PineconeStore.fromDocuments(docs, embeddings, { + pineconeIndex: index as any, + namespace: namespace, + }); +} + +// Generate embeddings for courses.csv +async function processCoursesCSV(filePath: string, namespace: string) { + const fileName = path.basename(filePath); + const loader = new CSVLoader(filePath); + let docs = await loader.load(); + + docs = docs.map((doc, index) => ({ + ...doc, + metadata: { + ...doc.metadata, + source: fileName, + row: index + 1, + breadth_requirement: convertBreadthRequirement( + doc.pageContent.split("\n")[1].split(": ")[1], + ), + year_level: doc.pageContent.split("\n")[10].split(": ")[1], + }, + })); + console.log("Sample doc: ", docs[0]); + + const index = pinecone.Index(process.env.PINECONE_INDEX_NAME!); + + // Store each row as an individual embedding + await PineconeStore.fromDocuments(docs, embeddings, { + pineconeIndex: index as any, + namespace: namespace, + }); +} + +// Generate embeddings for pdfs +async function processPDF(filePath: string, namespace: string) { + const fileName = path.basename(filePath); + const loader = new PDFLoader(filePath); + let docs = await loader.load(); + + const fullText = docs.map((doc) => doc.pageContent).join(" "); + + const sections = fullText.split("Calendar Section:"); + + // Create new documents with proper metadata + const splitDocs = sections + .map((section, index) => { + const sectionTitle = `Calendar Section ${index}`; + const content = + index === 0 ? section.trim() : "Calendar Section:" + section.trim(); + + // Use the same Document structure as the original docs + const newDoc = { ...docs[0] }; + newDoc.pageContent = content; + newDoc.metadata = { + ...newDoc.metadata, + fileName, + sectionTitle, + sectionIndex: index, + }; + + return newDoc; + }) + .filter(Boolean); // Remove any nulls + + // console.log("Sample split docs: ", splitDocs.slice(0, 6)) + + console.log( + `Split into ${splitDocs.length} sections by "Calendar Section:" delimiter`, + ); + + // Store the split documents as embeddings + const index = pinecone.Index(process.env.PINECONE_INDEX_NAME!); + await PineconeStore.fromDocuments(splitDocs, embeddings, { + pineconeIndex: index as any, + namespace: namespace, + }); +} + +// processPDF("../data/pdfs/Programs 1.pdf", "programs"); +// processPDF("../data/pdfs/Programs 2.pdf", "programs"); +// processPDF("../data/pdfs/Programs 3.pdf", "programs"); +// processPDF("../data/pdfs/Programs 4.pdf", "programs"); +// processPDF("../data/pdfs/Programs 5.pdf", "programs"); +// processPDF("../data/pdfs/Programs 6.pdf", "programs"); +// processPDF("../data/pdfs/Programs 7.pdf", "programs"); +// processPDF("../data/pdfs/Programs 8.pdf", "programs"); +// processCSV("../data/tables/corequisites.csv", "corequisites"); +// processCSV("../data/tables/prerequisites.csv", "prerequisites") +// processCSV("../data/tables/courses.csv", "courses") +// processCSV("../data/tables/offerings_fall_2025.csv", "offerings") +// processCSV("../data/tables/offerings_summer_2025.csv", "offerings") +// processCSV("../data/tables/offerings_winter_2026.csv", "offerings") +// processCSV("../data/tables/departments.csv", "departments") +// processCSV("../data/tables/courses_with_year.csv", "courses_v2") +// processCoursesCSV("../data/tables/courses_with_year.csv", "courses_v3"); + +console.log("embeddings done."); + +export const pdfsa = "d"; diff --git a/course-matrix/backend/src/utils/generatorHelpers.ts b/course-matrix/backend/src/utils/generatorHelpers.ts new file mode 100644 index 00000000..9590405d --- /dev/null +++ b/course-matrix/backend/src/utils/generatorHelpers.ts @@ -0,0 +1,285 @@ +import { + CategorizedOfferingList, + GroupedOfferingList, + Offering, + OfferingList, + Restriction, + RestrictionType, +} from "../types/generatorTypes"; + +// Utility function to create an Offering object with optional overrides +export function createOffering(overrides: Partial = {}): Offering { + return { + id: overrides.id ?? -1, + course_id: overrides.course_id ?? -1, + meeting_section: overrides.meeting_section ?? "No Section", + offering: overrides.offering ?? "No Offering", + day: overrides.day ?? "N/A", + start: overrides.start ?? "00:00:00", + end: overrides.end ?? "00:00:00", + location: overrides.location ?? "No Room", + current: overrides.current ?? -1, + max: overrides.max ?? -1, + is_waitlisted: overrides.is_waitlisted ?? false, + delivery_mode: overrides.delivery_mode ?? "N/A", + instructor: overrides.instructor ?? "N/A", + notes: overrides.notes ?? "N/A", + code: overrides.code ?? "N/A", + }; +} + +export function getFreq(groupedOfferings: GroupedOfferingList) { + for (const [groupKey, offerings] of Object.entries(groupedOfferings.groups)) { + if (groupKey && groupKey.startsWith("PRA")) { + groupedOfferings.practicals++; + } else if (groupKey && groupKey.startsWith("TUT")) { + groupedOfferings.tutorials++; + } else { + groupedOfferings.lectures++; + } + } + return groupedOfferings; +} + +// Function to group offerings with the same meeting section together +export function groupOfferings(courseOfferingsList: OfferingList[]) { + const groupedOfferingsList: GroupedOfferingList[] = []; + for (const offering of courseOfferingsList) { + let groupedOfferings: GroupedOfferingList = { + course_id: offering.course_id, + groups: {}, + lectures: 0, + tutorials: 0, + practicals: 0, + }; + offering.offerings.forEach((offering) => { + if (!groupedOfferings.groups[offering.meeting_section]) { + groupedOfferings.groups[offering.meeting_section] = []; + } + groupedOfferings.groups[offering.meeting_section].push(offering); + }); + groupedOfferings = getFreq(groupedOfferings); + groupedOfferingsList.push(groupedOfferings); + } + return groupedOfferingsList; +} + +// Function to get the maximum number of days allowed based on restrictions +export function getMaxDays(restrictions: Restriction[]) { + for (const restriction of restrictions) { + if (restriction.disabled) continue; + if (restriction.type == RestrictionType.RestrictDaysOff) { + return 5 - restriction.numDays; // Subtract the restricted days from the total days + } + } + return 5; // Default to 5 days if no restrictions +} + +// Function to get the hour for max gap +export function getMaxHour(restrictions: Restriction[]) { + for (const restriction of restrictions) { + if (restriction.disabled) continue; + if (restriction.type == RestrictionType.RestrictMaxGap) { + return restriction.maxGap; + } + } + return 24; // Default to 5 days if no restrictions +} + +// Function to check if an offering satisfies the restrictions +export function isValidOffering( + offering: Offering, + restrictions: Restriction[], +) { + for (const restriction of restrictions) { + if (restriction.disabled) continue; + if (!restriction.days.includes(offering.day)) continue; + // Check based on the restriction type + switch (restriction.type) { + case RestrictionType.RestrictBefore: + if (offering.start < restriction.endTime) return false; + break; + + case RestrictionType.RestrictAfter: + if (offering.end > restriction.startTime) return false; + break; + + case RestrictionType.RestrictBetween: + if ( + offering.start < restriction.endTime && + restriction.startTime < offering.end + ) { + return false; + } + break; + + case RestrictionType.RestrictDay: + if (restriction.days.includes(offering.day)) { + return false; + } + break; + } + } + + return true; +} + +// Function to get valid offerings by filtering them based on the restrictions +export function getValidOfferings( + groups: Record, + restrictions: Restriction[], +) { + const validGroups: Record = {}; + + // Loop through each group in the groups object + for (const [groupKey, offerings] of Object.entries(groups)) { + // Check if all offerings in the group are valid + const allValid = offerings.every((offering) => + isValidOffering(offering, restrictions), + ); + + // Only add the group to validGroups if all offerings are valid + if (allValid) { + validGroups[groupKey] = offerings; + } + } + + // Return the object with valid groups + return validGroups; +} + +// Function to categorize offerings into lectures, tutorials, and practicals +export function categorizeValidOfferings(offerings: GroupedOfferingList[]) { + const lst: CategorizedOfferingList[] = []; + + for (const offering of offerings) { + const lectures: CategorizedOfferingList = { + course_id: offering.course_id, + category: "LEC", + offerings: {}, + }; + const tutorials: CategorizedOfferingList = { + course_id: offering.course_id, + category: "TUT", + offerings: {}, + }; + const practicals: CategorizedOfferingList = { + course_id: offering.course_id, + category: "PRA", + offerings: {}, + }; + + for (const [meeting_section, offerings] of Object.entries( + offering.groups, + )) { + if (meeting_section && meeting_section.startsWith("PRA")) { + practicals.offerings[meeting_section] = offerings; + } else if (meeting_section && meeting_section.startsWith("TUT")) { + tutorials.offerings[meeting_section] = offerings; + } else { + lectures.offerings[meeting_section] = offerings; + } + } + + for (const x of [lectures, practicals, tutorials]) { + if (Object.keys(x.offerings).length > 0) { + lst.push(x); + } + } + } + return lst; +} + +function maxString(a: string, b: string): string { + return a.localeCompare(b) >= 0 ? a : b; +} + +function minString(a: string, b: string): string { + return a.localeCompare(b) <= 0 ? a : b; +} + +// Function to check if an offering can be inserted into the current list of +// offerings without conflicts +export function canInsert(toInsert: Offering, curList: Offering[]) { + for (const offering of curList) { + if (offering.day == toInsert.day) { + if ( + maxString(offering.start, toInsert.start) < + minString(offering.end, toInsert.end) + ) { + return false; // Check if the time overlaps + } + } + } + + return true; // No conflict found +} + +// Function to check if an ever offerings in toInstList can be inserted into +// the current list of offerings without conflicts +export function canInsertList(toInsertList: Offering[], curList: Offering[]) { + return toInsertList.every((x) => canInsert(x, curList)); +} + +// Function to generate a frequency table of days from a list of offerings +export function getFrequencyTable(arr: Offering[]): Map { + const freqMap = new Map(); + + for (const item of arr) { + const count = freqMap.get(item.day) || 0; + freqMap.set(item.day, count + 1); + } + return freqMap; +} + +// Trims the list of scheules to only return 10 random schedule if there is more +// than 10 available options. +export function trim(schedules: Offering[][]) { + if (schedules.length <= 10) return schedules; + const num = schedules.length; + + const uniqueNumbers = new Set(); + while (uniqueNumbers.size < 10) { + uniqueNumbers.add(Math.floor(Math.random() * num)); + } + const trim_schedule: Offering[][] = []; + for (const value of uniqueNumbers) trim_schedule.push(schedules[value]); + + return trim_schedule; +} + +export function getMinHourDay(schedule: Offering[], maxhours: number): boolean { + if (schedule.length <= 1) return true; + schedule.sort((a, b) => a.start.localeCompare(b.start)); + for (let i = 1; i < schedule.length; i++) { + const cur = parseInt(schedule[i].start.split(":")[0]); + const prev = parseInt(schedule[i - 1].end.split(":")[0]); + if (cur - prev > maxhours) { + return false; + } + } + return true; +} + +export function getMinHour(schedule: Offering[], maxhours: number): boolean { + if (maxhours == 24) return true; + const scheduleByDay: Record = {}; + schedule.forEach((offering) => { + if (!scheduleByDay[offering.day]) { + scheduleByDay[offering.day] = []; + } + scheduleByDay[offering.day].push(offering); + }); + return Object.values(scheduleByDay).every((x) => getMinHourDay(x, maxhours)); +} + +export function shuffle( + array: CategorizedOfferingList[], +): CategorizedOfferingList[] { + const shuffled = [...array]; // Create a copy to avoid mutating the original array + for (let i = shuffled.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]]; // Swap elements + } + return shuffled; +} diff --git a/course-matrix/backend/src/utils/includeFilters.ts b/course-matrix/backend/src/utils/includeFilters.ts new file mode 100644 index 00000000..94c86210 --- /dev/null +++ b/course-matrix/backend/src/utils/includeFilters.ts @@ -0,0 +1,54 @@ +import { + BREADTH_REQUIREMENT_KEYWORDS, + YEAR_LEVEL_KEYWORDS, +} from "../constants/promptKeywords"; +import { convertBreadthRequirement } from "./convert-breadth-requirement"; +import { convertYearLevel } from "./convert-year-level"; + +// Determines whether to apply metadata filtering based on user query. +export function includeFilters(query: string) { + const lowerQuery = query.toLocaleLowerCase(); + const relaventBreadthRequirements: string[] = []; + const relaventYearLevels: string[] = []; + + Object.entries(BREADTH_REQUIREMENT_KEYWORDS).forEach( + ([namespace, keywords]) => { + if (keywords.some((keyword) => lowerQuery.includes(keyword))) { + relaventBreadthRequirements.push(convertBreadthRequirement(namespace)); + } + }, + ); + + Object.entries(YEAR_LEVEL_KEYWORDS).forEach(([namespace, keywords]) => { + if (keywords.some((keyword) => lowerQuery.includes(keyword))) { + relaventYearLevels.push(convertYearLevel(namespace)); + } + }); + + let filter = {}; + if (relaventBreadthRequirements.length > 0 && relaventYearLevels.length > 0) { + filter = { + $and: [ + { + $or: relaventBreadthRequirements.map((req) => ({ + breadth_requirement: { $eq: req }, + })), + }, + { + $or: relaventYearLevels.map((yl) => ({ year_level: { $eq: yl } })), + }, + ], + }; + } else if (relaventBreadthRequirements.length > 0) { + filter = { + $or: relaventBreadthRequirements.map((req) => ({ + breadth_requirement: { $eq: req }, + })), + }; + } else if (relaventYearLevels.length > 0) { + filter = { + $or: relaventYearLevels.map((yl) => ({ year_level: { $eq: yl } })), + }; + } + return filter; +} diff --git a/course-matrix/backend/src/utils/utils.ts b/course-matrix/backend/src/utils/utils.ts new file mode 100644 index 00000000..fef22a96 --- /dev/null +++ b/course-matrix/backend/src/utils/utils.ts @@ -0,0 +1,33 @@ +/** + * Class representing an API error. + * Extends the built-in Error class to include a status code and operational flag. + */ +class ApiError extends Error { + statusCode: number; + isOperational: boolean; + + /** + * Create an ApiError. + * @param {number} statusCode - The HTTP status code. + * @param {string} message - The error message. + * @param {boolean} [isOperational=true] - Whether the error is operational. + * @param {string} [stack=""] - The stack trace. + */ + constructor( + statusCode: number, + message: string | undefined, + isOperational = true, + stack = "", + ) { + super(message); + this.statusCode = statusCode; + this.isOperational = isOperational; + if (stack) { + this.stack = stack; + } else { + Error.captureStackTrace(this, this.constructor); + } + } +} + +export default ApiError; diff --git a/course-matrix/backend/tests/mocks/svgMock.tsx b/course-matrix/backend/tests/mocks/svgMock.tsx new file mode 100644 index 00000000..4e215833 --- /dev/null +++ b/course-matrix/backend/tests/mocks/svgMock.tsx @@ -0,0 +1,2 @@ +export default "SvgrURL"; +export const ReactComponent = "div"; diff --git a/course-matrix/backend/tests/setupTests.ts b/course-matrix/backend/tests/setupTests.ts new file mode 100644 index 00000000..d0de870d --- /dev/null +++ b/course-matrix/backend/tests/setupTests.ts @@ -0,0 +1 @@ +import "@testing-library/jest-dom"; diff --git a/course-matrix/backend/tsconfig.app.json b/course-matrix/backend/tsconfig.app.json new file mode 100644 index 00000000..c12cc5e3 --- /dev/null +++ b/course-matrix/backend/tsconfig.app.json @@ -0,0 +1,31 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true, + + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["src", "tests/setupTests.ts"] +} diff --git a/course-matrix/backend/tsconfig.json b/course-matrix/backend/tsconfig.json new file mode 100644 index 00000000..ae9f04dc --- /dev/null +++ b/course-matrix/backend/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "outDir": "./build", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "tests"] +} diff --git a/course-matrix/backend/tsconfig.test.json b/course-matrix/backend/tsconfig.test.json new file mode 100644 index 00000000..05992782 --- /dev/null +++ b/course-matrix/backend/tsconfig.test.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "node", + "esModuleInterop": true, + "skipLibCheck": true, + "strict": true, + "jsx": "react-jsx", + "types": ["jest", "@testing-library/jest-dom"] + }, + "include": [ + "**/*.test.tsx", + "**/*.test.ts", + "./jest.config.ts", + "tests", + "src" + ] +} diff --git a/course-matrix/data/add_year_level.py b/course-matrix/data/add_year_level.py new file mode 100644 index 00000000..111b292c --- /dev/null +++ b/course-matrix/data/add_year_level.py @@ -0,0 +1,38 @@ +import csv +import sys + +def get_year_level(code): + if len(code) >= 4: + fourth_char = code[3] + if fourth_char == 'A': + return "1st year" + elif fourth_char == 'B': + return "2nd year" + elif fourth_char == 'C': + return "3rd year" + elif fourth_char == 'D': + return "4th year" + return "" # Default empty string if code is too short or doesn't match + +def process_csv(input_file, output_file): + with open(input_file, 'r', newline='', encoding='utf-8') as infile: + reader = csv.DictReader(infile) + fieldnames = reader.fieldnames + ['year_level'] + + with open(output_file, 'w', newline='', encoding='utf-8') as outfile: + writer = csv.DictWriter(outfile, fieldnames=fieldnames) + writer.writeheader() + + for row in reader: + row['year_level'] = get_year_level(row['code']) + writer.writerow(row) + + print(f"Successfully processed {input_file} and created {output_file} with year_level column added.") + +if __name__ == "__main__": + if len(sys.argv) > 2: + process_csv(sys.argv[1], sys.argv[2]) + else: + input_file = "./tables/courses.csv" + output_file = "./tables/courses_with_year.csv" + process_csv(input_file, output_file) \ No newline at end of file diff --git a/course-matrix/data/extract_course_search.py b/course-matrix/data/extract_course_search.py new file mode 100644 index 00000000..79729eb0 --- /dev/null +++ b/course-matrix/data/extract_course_search.py @@ -0,0 +1,157 @@ +import pdfplumber +import csv +import re + +pdf_path = "UTSC Course Search.pdf" +csv_path = "courses.csv" +csv_path_prerequisites = "prerequisites.csv" +csv_path_corequisites = "corequisites.csv" + +headers = [ + "code", "breadth_requirement", "course_experience", "description", "recommended_preperation", "prerequisite_description", "exclusion_description", "name", "corequisite_description", "note", +] +headers_prerequisites = [ + "prerequisite_code", "course_code" +] +headers_corequisites = [ + "corequisite_code", "course_code" +] + +data, data_prerequisites, data_corequisites = [], [], [] + +def setup_bounding_boxes(width, height): + left_col = (0, 0, width / 2, height) + right_col = (width / 2, 0, width, height) + return (left_col, right_col) + +def find_course_code_match(line): + # Match course code: eg. ABCD01H3Y + return re.search(r"(\d+)\.\s+([A-Z]{4}\d{2,3}[A-Z]?\d?[A-Z]?)", line) + +def handle_prerequisites(prerequisite_description, code): + # print(prerequisite_description) + course_pattern = r"([A-Z]{4}\d{2,3}[A-Z]?\d?)" + matches = [m.group() for m in re.finditer(course_pattern, prerequisite_description)] + for mcode in matches: + data_prerequisites.append([mcode, code]) + +def handle_corequisites(corequisite_description, code): + # print(corequisite_description) + course_pattern = r"([A-Z]{4}\d{2,3}[A-Z]?\d?)" + matches = [m.group() for m in re.finditer(course_pattern, corequisite_description)] + for mcode in matches: + data_corequisites.append([mcode, code]) + +def convert_to_breadth_requirement_enum(s): + if (s == "Arts, Literature and Language"): + return "ART_LIT_LANG" + elif (s == "History, Philosophy and Cultural Studies"): + return "HIS_PHIL_CUL" + elif (s == "Social and Behavioural Sciences"): + return "SOCIAL_SCI" + elif (s == "Quantitative Reasoning"): + return "QUANT" + elif (s == "Natural Sciences"): + return "NAT_SCI" + else: + print(">>> Unknown Breadth Requirement: ", s) + return "" + +# Extraction flow +with pdfplumber.open(pdf_path) as pdf: + # Define column regions (left and right) + left_col, right_col = setup_bounding_boxes(pdf.pages[0].width, pdf.pages[0].height) + + for idx, page in enumerate(pdf.pages): + # print(f"\n>>>> Page {idx} ") + + left_text = page.within_bbox(left_col).extract_text() + right_text = page.within_bbox(right_col).extract_text() + + # print("LEFT COLUMN:\n", left_text) + # print("\nRIGHT COLUMN:\n", right_text) + + for text in [left_text, right_text]: + if not text: + continue + + start_pattern = r"([A-Z]{4}\d{2,3}[A-Z]?\d?:)" # course code (with colon at end to ensure it's a header) + end_pattern = r'Link to UTSC Timetable' + match_starts = [(m.start(), m.end(), m.group()) for m in re.finditer(start_pattern, text)] + match_ends = [((m.start(), m.end(), m.group())) for m in re.finditer(end_pattern, text)] + + # Handle each course section + for start, end in zip(match_starts, match_ends): + code = name = description = breadth_requirement = course_experience = recommended_preperation = prerequisite_description = exclusion_description = corequisite_description = note = "" + + section = text[start[0]: end[0]] # course section's text + code = start[2][:-1] + + # Find full course name (May span multiple lines) + name = section[10:section.index("\n")] + line2 = section[len(name)+11: section.index("\n", len(name)+11)] + if len(line2) <= 40: + name += " " + line2 + line3 = section[len(name)+11: section.index("\n", len(name)+11)] + if len(line3) <= 40: + name += " " + line3 + # print(code, name) + + # Find fields + field_pattern = r"(Exclusion|Breadth Requirements|Prerequisite|Corequisite|Course Experience|Note|Recommended Preparation):" + fields = [(m.start(), m.end(), m.group()) for m in re.finditer(field_pattern, section)] + + if len(fields) > 0: + description = section[len(name)+11:fields[0][0]].strip().replace("\n", " ") + + for j in range(len(fields)): + field = fields[j] + field_description = section[field[1]+1: fields[j+1][0] if j+1 < len(fields) else -1].strip().replace("\n", " ") + # print(fields[j][2], field_description, "\n") + if field[2] == "Exclusion:": + exclusion_description = field_description + elif field[2] == "Breadth Requirements:": + breadth_requirement = convert_to_breadth_requirement_enum(field_description) + elif field[2] == "Prerequisite:": + prerequisite_description = field_description + handle_prerequisites(prerequisite_description, code) + elif field[2] == "Corequisite:": + corequisite_description = field_description + handle_corequisites(corequisite_description, code) + elif field[2] == "Course Experience:": + course_experience = field_description + elif field[2] == "Note:": + note = field_description + elif field[2] == "Recommended Preparation:": + recommended_preperation = field_description + else: + print(">>> Invalid field: ", field) + + data.append([ + code, breadth_requirement, course_experience, description, recommended_preperation, + prerequisite_description, exclusion_description, name, corequisite_description, note + ]) + +with open(csv_path, mode="w", newline="", encoding="utf-8") as file: + writer = csv.writer(file) + writer.writerow(headers) + writer.writerows(data) + +print(f"CSV file '{csv_path}' created successfully.") + +with open(csv_path_prerequisites, mode="w", newline="", encoding="utf-8") as file1: + writer = csv.writer(file1) + writer.writerow(headers_prerequisites) + writer.writerows(data_prerequisites) + +print(f"CSV file '{csv_path_prerequisites}' created successfully.") + +with open(csv_path_corequisites, mode="w", newline="", encoding="utf-8") as file2: + writer = csv.writer(file2) + writer.writerow(headers_corequisites) + writer.writerows(data_corequisites) + +print(f"CSV file '{csv_path_corequisites}' created successfully.") + + + diff --git a/course-matrix/data/extract_timetable.py b/course-matrix/data/extract_timetable.py new file mode 100644 index 00000000..f63c26ab --- /dev/null +++ b/course-matrix/data/extract_timetable.py @@ -0,0 +1,194 @@ +import pdfplumber +import csv +import re + +pdf_path = "Timetable _ Office of the Registrar Winter 2024.pdf" +csv_path = "offerings_winter_2026.csv" +# NOTE: Change this to modify session column of mock data +session = "Winter 2026" + +headers = [ + "code", "meeting_section", "offering", "day", "start", "end", "location", "current", "max", "is_waitlisted", "delivery_mode", "instructor", "notes" +] + +DAYS_OF_WEEK = ["MO", "TU", "WE", "TH", "FR", "SA", "SU"] +TABLE_START_INDICATORS = ["MeetingSection".upper(), "Meeting".upper()] +data = [] + +def is_day_of_week(s): + return s in DAYS_OF_WEEK + +def is_time(s): + pattern = r'\b([01]\d|2[0-3]):[0-5]\d\b' + return re.match(pattern, s) + +def is_num(s): + return s.isdigit() + +def is_table_start(line): + for indicator in TABLE_START_INDICATORS: + if line.replace("\n", "").replace(" ", "").upper().startswith(indicator): + return True + return False + +def find_course_code_match(line): + # Match course code: eg. ABCD01H3Y + return re.search(r"(\d+)\.\s+([A-Z]{4}\d{2,3}[A-Z]?\d?[A-Z]?)", line) + +def page_has_overflow_table(lines): + # if course code shows up BEFORE a table start, then this means this page has no overflow + # table. Otherwise, it does have an overflow table. + for line in lines: + if find_course_code_match(line): + return False + if is_table_start(line.replace("\n", "").replace(" ", "").upper()): + return True + return False + +def next_valid_table(tables, idx, current_course_code): + # Valid table has 10 columns. The PDFs sometimes treat blobs of text as tables, hence why we + # need this filter. + for i in range(idx, len(tables)): + if len(tables[i][0]) >= 10: + return i + + return idx + +def convert_to_delivery_mode_enum(s): + if (s == "In-person"): + return "IN_PERSON" + elif (s == "Online - Synchronous"): + return "ONLINE_SYNCHRONOUS" + elif (s == "Online - Asynchronous"): + return "ONLINE_ASYNCHRONOUS" + +def find_meeting_section(s, idx, table, prev_table): + full_table = prev_table + table + idx = idx + len(prev_table) + if full_table[idx][0] and len(full_table[idx][0]) > 0 and not is_table_start(full_table[idx][0]): + return full_table[idx][0] + elif idx-1 >= 0 and full_table[idx-1][0] and len(full_table[idx-1]) > 0 and not is_table_start(full_table[idx -1][0]): + return full_table[idx-1][0] + elif idx-2 >= 0 and full_table[idx-2][0] and len(full_table[idx-2]) > 0 and not is_table_start(full_table[idx - 2][0]): + return full_table[idx-2][0] + elif idx-2 >= 0 and full_table[idx-2][0] and len(full_table[idx-2]) > 0 and not is_table_start(full_table[idx - 3][0]): + return full_table[idx-3][0] + else: + return "" + +def handle_invalid_table(table, current_course_code): + for row_ in table: + for content in row_: + if not content: continue + # print(content) + pattern = r'(?<=\n)(?:\b(?:LEC|TUT|PRA)\d{2,4}\b|\b(?:MO|TU|WE|TH|FR|SA|SU)\b)' # start of a valid row + end_pattern = r'Add to' + match_starts = [m.start() for m in re.finditer(pattern, content)] + match_ends = [m.start() for m in re.finditer(end_pattern, content)] + prev_meeting_section = "" + for start, end in zip(match_starts, match_ends): + row = content[start:end].replace("\n", " ").replace("\uf067", " ").split(" ") + if row[0] in DAYS_OF_WEEK: + row.insert(0, "") + # print(row) + if len(row) < 10: + continue + if row[4] == "Available": + row.pop(5) + row.pop(5) + row[4] = "Available on ACORN" + if len(row) >= 10: + meeting_section = (row[0] if len(row[0]) > 0 else prev_meeting_section).replace("\n", "") + prev_meeting_section = meeting_section + day = row[1].replace("\n", "") if (row[1] and is_day_of_week(row[1].replace("\n", ""))) else None + start = row[2].replace("\n", "") if (row[2] and is_time(row[2].replace("\n", ""))) else None + end = row[3].replace("\n", "") if (row[3] and is_time(row[3].replace("\n", ""))) else None + location = row[4].replace("\n", "") if row[4] else None + current = row[5].replace("\n", "") if (row[5] and is_num(row[5].replace("\n", ""))) else None + max_capacity = row[6].replace("\n", "") if (row[6] and is_num(row[6].replace("\n", ""))) else None + wait = (True if row[7].replace("\n", "") == 'Y' else False) if row[7] else None + delivery_mode = convert_to_delivery_mode_enum(row[8].replace("\n", "")) if row[8] else None + + row[9] = row[9] + " " + row[10] # complete instructor full name + row.pop(10) + + instructor = row[9].replace("\n", "") if row[9] else None + notes = row[10].replace("\n", "") if len(row) > 10 and row[10] else None + + data.append([ + current_course_code, meeting_section, session, day, start, end, location, + current, max_capacity, wait, delivery_mode, instructor, notes + ]) + + +def process_table(table, course_code, prev_table): + if table[0][0] == '': + # print(table) + handle_invalid_table(table, course_code) + else: + for idx, row in enumerate(table): + if row[0] and is_table_start(row[0].replace("\n", "").replace(" ", "").upper()): # Skip header + continue + if len(row) >= 10: # Ensure it's a valid row + meeting_section = find_meeting_section(row[0], idx, table, prev_table).replace("\n", "") + day = row[1].replace("\n", "") if (row[1] and is_day_of_week(row[1].replace("\n", ""))) else None + start = row[2].replace("\n", "") if (row[2] and is_time(row[2].replace("\n", ""))) else None + end = row[3].replace("\n", "") if (row[3] and is_time(row[3].replace("\n", ""))) else None + location = row[4].replace("\n", "") if row[4] else None + current = row[5].replace("\n", "") if (row[5] and is_num(row[5].replace("\n", ""))) else None + max_capacity = row[6].replace("\n", "") if (row[6] and is_num(row[6].replace("\n", ""))) else None + wait = (True if row[7].replace("\n", "") == 'Y' else False) if row[7] else None + delivery_mode = convert_to_delivery_mode_enum(row[8].replace("\n", "")) if row[8] else None + instructor = row[9].replace("\n", "") if row[9] else None + notes = row[10].replace("\n", "") if len(row) > 10 and row[10] else None + + data.append([ + current_course_code, meeting_section, session, day, start, end, location, + current, max_capacity, wait, delivery_mode, instructor, notes + ]) + + + +# Extraction flow +with pdfplumber.open(pdf_path) as pdf: + current_course_code = "" + prev_page_table = [] + for idx, page in enumerate(pdf.pages): + text = page.extract_text() + tables = page.extract_tables() + tables_read_this_page = 0 + + # print(f"\n>>>> Page {idx} ") + + if text: + lines = text.split("\n") + # continue previous table + if page_has_overflow_table(lines): + # print(f"Processing overflow table!\n") + process_table(tables[0], current_course_code, prev_page_table) + tables_read_this_page += 1 + for line in lines: + match = find_course_code_match(line) # match a course code + if match: + current_course_code = match.group(2) + # print(current_course_code) + # Process the next available table + if tables and tables_read_this_page < len(tables): + tables_read_this_page = next_valid_table(tables, tables_read_this_page, current_course_code) + # print(f"Processing table number {tables_read_this_page}: {tables[tables_read_this_page]}") + process_table( + tables[tables_read_this_page], + current_course_code, + tables[tables_read_this_page - 1] if tables_read_this_page > 0 else prev_page_table + ) + tables_read_this_page += 1 + prev_page_table = tables[-1] if tables else [] + # print(prev_page_table) + + +with open(csv_path, mode="w", newline="", encoding="utf-8") as file: + writer = csv.writer(file) + writer.writerow(headers) + writer.writerows(data) + +print(f"CSV file '{csv_path}' created successfully.") diff --git a/course-matrix/data/pdfs/Programs 1.pdf b/course-matrix/data/pdfs/Programs 1.pdf new file mode 100644 index 00000000..4fbcb3d1 Binary files /dev/null and b/course-matrix/data/pdfs/Programs 1.pdf differ diff --git a/course-matrix/data/pdfs/Programs 2.pdf b/course-matrix/data/pdfs/Programs 2.pdf new file mode 100644 index 00000000..d92c2f4d Binary files /dev/null and b/course-matrix/data/pdfs/Programs 2.pdf differ diff --git a/course-matrix/data/pdfs/Programs 3.pdf b/course-matrix/data/pdfs/Programs 3.pdf new file mode 100644 index 00000000..3c8382cf Binary files /dev/null and b/course-matrix/data/pdfs/Programs 3.pdf differ diff --git a/course-matrix/data/pdfs/Programs 4.pdf b/course-matrix/data/pdfs/Programs 4.pdf new file mode 100644 index 00000000..73407aa1 Binary files /dev/null and b/course-matrix/data/pdfs/Programs 4.pdf differ diff --git a/course-matrix/data/pdfs/Programs 5.pdf b/course-matrix/data/pdfs/Programs 5.pdf new file mode 100644 index 00000000..4f62e474 Binary files /dev/null and b/course-matrix/data/pdfs/Programs 5.pdf differ diff --git a/course-matrix/data/pdfs/Programs 6.pdf b/course-matrix/data/pdfs/Programs 6.pdf new file mode 100644 index 00000000..35525e98 Binary files /dev/null and b/course-matrix/data/pdfs/Programs 6.pdf differ diff --git a/course-matrix/data/pdfs/Programs 7.pdf b/course-matrix/data/pdfs/Programs 7.pdf new file mode 100644 index 00000000..a95492d5 Binary files /dev/null and b/course-matrix/data/pdfs/Programs 7.pdf differ diff --git a/course-matrix/data/pdfs/Programs 8.pdf b/course-matrix/data/pdfs/Programs 8.pdf new file mode 100644 index 00000000..22e75987 Binary files /dev/null and b/course-matrix/data/pdfs/Programs 8.pdf differ diff --git a/course-matrix/data/pdfs/Timetable _ Office of the Registrar Fall 2024 (Short 2).pdf b/course-matrix/data/pdfs/Timetable _ Office of the Registrar Fall 2024 (Short 2).pdf new file mode 100644 index 00000000..7e22c28a Binary files /dev/null and b/course-matrix/data/pdfs/Timetable _ Office of the Registrar Fall 2024 (Short 2).pdf differ diff --git a/course-matrix/data/pdfs/Timetable _ Office of the Registrar Fall 2024 (Short 3).pdf b/course-matrix/data/pdfs/Timetable _ Office of the Registrar Fall 2024 (Short 3).pdf new file mode 100644 index 00000000..383762fa Binary files /dev/null and b/course-matrix/data/pdfs/Timetable _ Office of the Registrar Fall 2024 (Short 3).pdf differ diff --git a/course-matrix/data/pdfs/Timetable _ Office of the Registrar Fall 2024 (Short).pdf b/course-matrix/data/pdfs/Timetable _ Office of the Registrar Fall 2024 (Short).pdf new file mode 100644 index 00000000..2515e70c Binary files /dev/null and b/course-matrix/data/pdfs/Timetable _ Office of the Registrar Fall 2024 (Short).pdf differ diff --git a/course-matrix/data/pdfs/Timetable _ Office of the Registrar Fall 2024.pdf b/course-matrix/data/pdfs/Timetable _ Office of the Registrar Fall 2024.pdf new file mode 100644 index 00000000..498aa77b Binary files /dev/null and b/course-matrix/data/pdfs/Timetable _ Office of the Registrar Fall 2024.pdf differ diff --git a/course-matrix/data/pdfs/Timetable _ Office of the Registrar Summer 2024.pdf b/course-matrix/data/pdfs/Timetable _ Office of the Registrar Summer 2024.pdf new file mode 100644 index 00000000..d704e2cc Binary files /dev/null and b/course-matrix/data/pdfs/Timetable _ Office of the Registrar Summer 2024.pdf differ diff --git a/course-matrix/data/pdfs/Timetable _ Office of the Registrar Winter 2024.pdf b/course-matrix/data/pdfs/Timetable _ Office of the Registrar Winter 2024.pdf new file mode 100644 index 00000000..691eef70 Binary files /dev/null and b/course-matrix/data/pdfs/Timetable _ Office of the Registrar Winter 2024.pdf differ diff --git a/course-matrix/data/pdfs/UTSC Course search (Short 2).pdf b/course-matrix/data/pdfs/UTSC Course search (Short 2).pdf new file mode 100644 index 00000000..9bdca579 Binary files /dev/null and b/course-matrix/data/pdfs/UTSC Course search (Short 2).pdf differ diff --git a/course-matrix/data/pdfs/UTSC Course search (Short 3).pdf b/course-matrix/data/pdfs/UTSC Course search (Short 3).pdf new file mode 100644 index 00000000..e708f939 Binary files /dev/null and b/course-matrix/data/pdfs/UTSC Course search (Short 3).pdf differ diff --git a/course-matrix/data/pdfs/UTSC Course search (Short).pdf b/course-matrix/data/pdfs/UTSC Course search (Short).pdf new file mode 100644 index 00000000..6597b3a1 Binary files /dev/null and b/course-matrix/data/pdfs/UTSC Course search (Short).pdf differ diff --git a/course-matrix/data/pdfs/UTSC Course search.pdf b/course-matrix/data/pdfs/UTSC Course search.pdf new file mode 100644 index 00000000..b65f58ea Binary files /dev/null and b/course-matrix/data/pdfs/UTSC Course search.pdf differ diff --git a/course-matrix/data/remove_duplicates.py b/course-matrix/data/remove_duplicates.py new file mode 100644 index 00000000..3983f79a --- /dev/null +++ b/course-matrix/data/remove_duplicates.py @@ -0,0 +1,16 @@ +import pandas as pd + +def remove_duplicates(input_file: str, output_file: str, key_column: str): + df = pd.read_csv(input_file) + + df_deduplicated = df.drop_duplicates(subset=[key_column], keep='first') + + df_deduplicated.to_csv(output_file, index=False) + print(f"Duplicates removed. Cleaned file saved as: {output_file}") + +if __name__ == "__main__": + input_file = "courses.csv" + output_file = "courses.csv" + key_column = "code" + + remove_duplicates(input_file, output_file, key_column) diff --git a/course-matrix/data/tables/corequisites.csv b/course-matrix/data/tables/corequisites.csv new file mode 100644 index 00000000..ffee9677 --- /dev/null +++ b/course-matrix/data/tables/corequisites.csv @@ -0,0 +1,210 @@ +corequisite_code,course_code +MATB41H3,ASTB23H3 +MATB42H3,ASTC25H3 +BIOB10H3,BIOB12H3 +BIOB11H3,BIOB12H3 +BIOB30H3,BIOB32H3 +BIOB34H3,BIOB32H3 +BIOB50H3,BIOB52H3 +BIOB51H3,BIOB52H3 +BIOB10H3,BIOB90H3 +BIOB11H3,BIOB90H3 +BIOB34H3,BIOB90H3 +BIOB38H3,BIOB90H3 +BIOB50H3,BIOB90H3 +BIOB51H3,BIOB90H3 +BIOB11H3,BIOB97H3 +BIOB10H3,BIOB97H3 +BIOB34H3,BIOB97H3 +BIOB38H3,BIOB97H3 +BIOB50H3,BIOB97H3 +BIOB51H3,BIOB97H3 +BIOB50H3,BIOC52H3 +BIOB51H3,BIOC52H3 +BIOC12H3,BIOC90H3 +BIOC14H3,BIOC90H3 +BIOC20H3,BIOC90H3 +BIOC32H3,BIOC90H3 +BIOC34H3,BIOC90H3 +BIOC39H3,BIOC90H3 +BIOC40H3,BIOC90H3 +BIOC54H3,BIOC90H3 +BIOC61H3,BIOC90H3 +BIOC12H3,BIOD21H3 +CSCC43H3,CSCC09H3 +CSCD90H3,CSCD54H3 +CSCD54H3,CSCD90H3 +EESB15H3,EESB26H3 +FREB01H3,FREB50H3 +FREC02H3,FREC10H3 +FREB02H3,FREC18H3 +HLTC27H3,HLTD23H3 +JOUB11H3,JOUA06H3 +JOUB14H3,JOUA06H3 +JOUB18H3,JOUA06H3 +JOUB19H3,JOUA06H3 +JOUC13H3,JOUB03H3 +JOUC25H3,JOUB03H3 +JOUA06H3,JOUB11H3 +JOUB14H3,JOUB11H3 +JOUB18H3,JOUB11H3 +JOUB19H3,JOUB11H3 +JOUA06H3,JOUB14H3 +JOUB11H3,JOUB14H3 +JOUB18H3,JOUB14H3 +JOUB19H3,JOUB14H3 +JOUA06H3,JOUB18H3 +JOUB11H3,JOUB18H3 +JOUB14H3,JOUB18H3 +JOUB19H3,JOUB18H3 +JOUA06H3,JOUB19H3 +JOUB11H3,JOUB19H3 +JOUB14H3,JOUB19H3 +JOUB18H3,JOUB19H3 +JOUB05H3,JOUB20H3 +JOUC18H3,JOUB20H3 +JOUC19H3,JOUB20H3 +JOUC20H3,JOUB20H3 +JOUB03H3,JOUC13H3 +JOUC25H3,JOUC13H3 +JOUB05H3,JOUC18H3 +JOUB20H3,JOUC18H3 +JOUC19H3,JOUC18H3 +JOUC20H3,JOUC18H3 +JOUB05H3,JOUC19H3 +JOUB20H3,JOUC19H3 +JOUC18H3,JOUC19H3 +JOUC20H3,JOUC19H3 +JOUB20H3,JOUC21H3 +JOUC18H3,JOUC21H3 +JOUC19H3,JOUC21H3 +JOUC21H3,JOUC21H3 +JOUC22H3,JOUC21H3 +JOUB20H3,JOUC22H3 +JOUC18H3,JOUC22H3 +JOUC19H3,JOUC22H3 +JOUC21H3,JOUC22H3 +LINB04H3,LINB10H3 +LINB06H3,LINB10H3 +LINB29H3,LINC35H3 +MATB41H3,MATB44H3 +MATB42H3,MATC46H3 +MATC01H3,MATD02H3 +MBTB41H3,MBTB13H3 +MBTB50H3,MBTB13H3 +MBTC62H3,MBTB13H3 +MBTC63H3,MBTB13H3 +MBTC70H3,MBTB13H3 +MBTC72H3,MBTB13H3 +MBTB13H3,MBTB41H3 +MBTB50H3,MBTB41H3 +MBTC62H3,MBTB41H3 +MBTC63H3,MBTB41H3 +MBTC70H3,MBTB41H3 +MBTC72H3,MBTB41H3 +MBTB13H3,MBTB50H3 +MBTB50H3,MBTB50H3 +MBTC62H3,MBTB50H3 +MBTC63H3,MBTB50H3 +MBTC70H3,MBTB50H3 +MBTC72H3,MBTB50H3 +MDSA12H3,MDSA10H3 +MDSB10H3,MDSB14H3 +MDSA01H3,MDSB14H3 +MGEB01H3,MGEB32H3 +MGEB02H3,MGEB32H3 +MGED11H3,MGED50H3 +MGFC10H3,MGFC30H3 +MGFC10H3,MGFC35H3 +MGFC35H3,MGFC45H3 +MGFC35H3,MGFD25H3 +MGFD10H3,MGFD25H3 +MGFC30H3,MGFD60H3 +MGFC35H3,MGFD60H3 +MGFD10H3,MGFD60H3 +MGOC10H3,MGOC15H3 +MGOC10H3,MGOC50H3 +MGOC20H3,MGOD40H3 +MGMA01H3,MGSC07H3 +MGAB02H3,MGSC07H3 +NMEA02H3,NMEA01H3 +NMEA03H3,NMEA01H3 +NMEA04H3,NMEA01H3 +NMEA01H3,NMEA02H3 +NMEA03H3,NMEA02H3 +NMEA04H3,NMEA02H3 +MDSA01H3,NMEA03H3 +MDSA02H3,NMEA03H3 +NMEA01H3,NMEA04H3 +NMEA02H3,NMEA04H3 +NMEA03H3,NMEA04H3 +NMEB05H3,NMEB06H3 +NMEB08H3,NMEB06H3 +NMEB09H3,NMEB06H3 +NMEB10H3,NMEB06H3 +NMEB05H3,NMEB09H3 +NMEB06H3,NMEB09H3 +NMEB08H3,NMEB09H3 +NMEB10H3,NMEB09H3 +NMEB05H3,NMEB10H3 +NMEB06H3,NMEB10H3 +NMEB08H3,NMEB10H3 +NMEB09H3,NMEB10H3 +NROB60H3,NROB61H3 +NROC69H3,NROC60H3 +PSYC08H3,NROC60H3 +NROC61H3,NROC63H3 +PSYC08H3,NROC63H3 +PSYC08H3,NROD98Y3 +PSYC09H3,NROD98Y3 +MATA30H3,PHYA10H3 +MATA31H3,PHYA10H3 +MATA29H3,PHYA11H3 +MATA30H3,PHYA11H3 +MATA31H3,PHYA11H3 +MATA32H3,PHYA11H3 +MATA20H3,PHYA11H3 +MATA36H3,PHYA21H3 +MATA37H3,PHYA21H3 +MATA35H3,PHYA22H3 +MATA36H3,PHYA22H3 +MATA37H3,PHYA22H3 +MATA33H3,PHYA22H3 +MATA21H3,PHYA22H3 +MATB41H3,PHYB10H3 +MATB42H3,PHYB21H3 +MATB42H3,PHYB52H3 +MATB42H3,PHYB54H3 +MATB41H3,PHYB56H3 +MATB44H3,PHYB57H3 +MATC46H3,PHYC83H3 +LINB29H3,PLIC55H3 +PMDB25H3,PMDB22H3 +PMDB41H3,PMDB22H3 +PMDB33H3,PMDB22H3 +PMDB32Y3,PMDB30H3 +PMDB36H3,PMDB30H3 +PMDB30H3,PMDB32Y3 +PMDB36H3,PMDB32Y3 +PMDB22H3,PMDB33H3 +PMDC42Y3,PMDC40H3 +PMDC43H3,PMDC40H3 +PMDC40H3,PMDC42Y3 +PMDC43H3,PMDC42Y3 +PMDC40H3,PMDC43H3 +PMDC42Y3,PMDC43H3 +PMDC56H3,PMDC54Y3 +PMDC54Y3,PMDC56H3 +PSYB07H3,PSYB03H3 +STAB22H3,PSYB03H3 +STAB23H3,PSYB03H3 +PSYC02H3,PSYC73H3 +SOCA05H3,SOCB35H3 +SOCA03Y3,SOCB35H3 +SOCA01H3,SOCB35H3 +SOCA02H3,SOCB35H3 +MATC46H3,STAC70H3 +STAD57H3,STAD70H3 +VPSA63H3,VPSA62H3 +VPSA62H3,VPSB56H3 +VPSA63H3,VPSB56H3 diff --git a/course-matrix/data/tables/corequisites_test.csv b/course-matrix/data/tables/corequisites_test.csv new file mode 100644 index 00000000..9dfe6497 --- /dev/null +++ b/course-matrix/data/tables/corequisites_test.csv @@ -0,0 +1,5 @@ +corequisite_code,course_code +BIOB10H3,BIOB12H3 +BIOB11H3,BIOB12H3 +BIOB30H3,BIOB32H3 +BIOB34H3,BIOB32H3 diff --git a/course-matrix/data/tables/courses copy.csv b/course-matrix/data/tables/courses copy.csv new file mode 100644 index 00000000..952abbe5 --- /dev/null +++ b/course-matrix/data/tables/courses copy.csv @@ -0,0 +1,1081 @@ +code,breadth_requirement,course_experience,description,recommended_preperation,prerequisite_description,exclusion_description,name,corequisite_description,note +IDSD02H3,SOCIAL_SCI,,An advanced seminar in critical development studies with an emphasis on perspectives and theories from the global South. The main purpose of the course is to help prepare students theoretically and methodologically for the writing of a major research paper based on secondary data collection. The theoretical focus on the course will depend on the interests of the faculty member teaching it.,,14.0 credits including IDSC04H3,,Advanced Research Seminar in Critical Development Studies,,"Restricted to students in the Specialist (non Co-op) Programs in IDS. If space is available, students from the Major Program in IDS may gain admission with the permission of the instructor." +IDSD05H3,SOCIAL_SCI,,"This seminar course examines the history of global/international health and invites students to contemplate the ongoing resonance of past ideologies, institutions, and practices of the field for the global health and development arena in the present. Through exploration of historical documents (primary sources, images, and films) and scholarly works, the course will cover themes including: the role of health in empire-building and capitalist expansion via invasion/occupation, missionary work, enslavement, migration, trade, and labor/resource extraction; perennial fears around epidemics/pandemics and their economic and social consequences; the ways in which international/global health has interacted with and reflected overt and embedded patterns of oppression and discrimination relating to race, Indigeneity, gender, and social class; and colonial and post- colonial health governance, research, and institution-building.",,"[12.0 credits, including IDSB04H3] or permission of the instructor",,Historical Perspectives on Global Health and Development,, +IDSD06H3,HIS_PHIL_CUL,,This interdisciplinary course traces the advance of feminist and postcolonial thinking in development studies. The course serves as a capstone experience for IDS students and social science majors looking to fully engage with feminist and postcolonial theories of development. This course combines short lectures with student led-discussions and critical analyses of development thought and practice.,IDSB06H3,12.0 credits,,Feminist and Postcolonial Perspectives in Development Studies,, +IDSD07H3,HIS_PHIL_CUL,,"This course examines resource extraction in African history. We examine global trade networks in precolonial Africa, and the transformations brought by colonial extractive economies. Case studies, from diamonds to uranium, demonstrate how the resource curse has affected states and economies, especially in the postcolonial period. Same as AFSD07H3",,[10.0 credits including [AFSA01H3 or IDSA01H3 or POLB90H3]] or permission of instructor,AFSD07H3,Extractive Industries in Africa,, +IDSD08H3,SOCIAL_SCI,Partnership-Based Experience,"This course explores the intersection of community-centered research, art, media, politics, activism and how they intertwine with grass-root social change strategies. Students will learn about the multiple forms of media tactics, including alternative and tactical media (fusion of art, media, and activism) that are being used by individuals and grass-root organizations to promote public debate and advocate for changes in development-related public policies. Through case studies, hands-on workshops, community-led learning events, and a capstone project in collaboration with community organizations, students will gain practical research, media and advocacy skills in formulating and implementing strategies for mobilizing public support for social change.",,IDSA01H3 and [1.0 credit in C-level IDS courses] and [0.5 credit in D-level IDS courses],"IDSD10H3 (if taken in the Winter 2018, 2019, 2020 or 2021 sessions)",Community-Centered Media Tactics for Development Advocacy and Social Change,, +IDSD10H3,,,The topics presented in this course will represent a range of issues in international development studies. Topics will vary by instructor and term.,,"12.0 credits, including IDSA01H3",,Topics in International Development Studies,, +IDSD12H3,,,The topics presented in this course will represent a range of issues in international development studies. Topics will vary by instructor and term.,,"12.0 credits, including IDSA01H3",,Topics in International Development Studies,, +IDSD13H3,,,The topics presented in this course will represent a range of issues in international development studies. Topics will vary by instructor and term.,,"12.0 credits, including IDSA01H3",,Topics in International Development Studies,, +IDSD14H3,,,"The goal of the course is for students to examine in a more extensive fashion the academic literature on a particular topic in International Development Studies not covered by existing course offering. Courses will normally only be available to students in their final year of study at UTSC. It is the student's responsibility to find a faculty member who is willing to supervise the course, and the students must obtain consent from the supervising instructor and from the Chair/Associate Chair of the Department of Global Development Studies before registering for this course.",,"12.0 credits, including IDSA01H3 and permission of the instructor",,Directed Reading,, +IDSD15H3,,University-Based Experience,"The goal of the course is for students to prepare and write a senior undergraduate research paper in International Development Studies. For upper-level students whose interests are not covered in one of the other courses normally offered. Courses will normally only be available to students in their final year of study at UTSC. It is the student's responsibility to find a faculty member who is willing to supervise the course, and the students must obtain consent from the supervising instructor and from the Chair/Associate Chair of the Department of Global Development Studies before registering for this course.",,12.0 credits including IDSA01H3 and permission of the instructor,,Directed Research,, +IDSD16H3,SOCIAL_SCI,University-Based Experience,"This course analyzes racial capitalism among persons of African descent in the Global South and Global North with a focus on diaspora communities. Students learn about models for self-determination, solidarity economies and cooperativism as well as Black political economy theory. Same as AFSD16H3",,[10.0 credits including [AFSA01H3 or IDSA01H3 or POLB90H3]] or permission of instructor,AFSD16H3,Africana Political Economy in Comparative Perspective,, +IDSD19H3,SOCIAL_SCI,University-Based Experience,"This course focuses on recent theories and approaches to researcher-practitioner engagement in development. Using case studies, interviews, and extensive literature review, students will explore whether such engagements offer opportunities for effective social change and improved theory.",IDSC04H3,"12.0 credits, including IDSA01H3",,The Role of Researcher- Practitioner Engagement in Development,, +IDSD20H3,SOCIAL_SCI,,"This course offers an advanced critical introduction to the security-development nexus and the political economy of conflict, security, and development. It explores the major issues in contemporary conflicts, the securitization of development, the transformation of the security and development landscapes, and the broader implications they have for peace and development in the Global South. Same as AFSD20H3.",,[12.0 including (IDSA01H3 or AFSA01H3 or POLC09H3)] or by instructor’s permission,AFSD20H3,"Thinking Conflict, Security, and Development",, +IDSD90H3,SOCIAL_SCI,,"While domestic and international political factors have discouraged pro human development public policies in much of the global south, there have been some important success stories. This course examines the economic and social policies most successful in contributing to human development and explores the reasons behind these rare cases of relatively successful human development. Same as POLD90H3",,"[1.0 credit from: IDSB01H3, IDSB04H3, IDSB06H3, POLB90H3 or POLB91H3] and [2.0 credits at the C-level in any courses]",POLD90H3,Public Policy and Human Development in the Global South,, +JOUA01H3,ART_LIT_LANG,,"An introduction to the social, historical, philosophical, and practical contexts of journalism. The course will examine the skills required to become news literate. The course will look at various types of media and the role of the journalist. Students will be introduced to specific techniques to distinguish reliable news from so-called fake news. Media coverage and analysis of current issues will be discussed.",,,(MDSA21H3),Introduction to Journalism and News Literacy I,, +JOUA02H3,ART_LIT_LANG,,,,(MDSA21H3) or JOUA01H3,(MDSA22H3),Introduction to Journalism II A continuation of JOUA01H3. Prerequisite: (MDSA21H3) or JOUA01H3,, +JOUA06H3,HIS_PHIL_CUL,,"An examination of the key legal and ethical issues facing Canadian journalists, with an emphasis on the practical: what a journalist needs to know to avoid legal problems and develop strategies for handling ethical challenges. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,10.0 credits including: JOUB01H3 and JOUB02H3 and ACMB02H3,(MDSB04H3),Contemporary Issues in Law and Ethics,JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3, +JOUB01H3,ART_LIT_LANG,,"An examination of Canadian coverage of immigration and transnational issues. With the shift in Canada's demographics, media outlets are struggling to adapt to new realities. We will explore how media frame the public policy debate on immigration, multiculturalism, diaspora communities, and transnational issues which link Canada to the developing world.",,JOUA01H3 and JOUA02H3,(MDSB26H3),Covering Immigration and Transnational Issues,, +JOUB02H3,ART_LIT_LANG,,"The course examines the representation of race, gender, class and power in the media, traditional journalistic practices and newsroom culture. It will prepare students who wish to work in a media-related industry with a critical perspective towards understanding the marginalization of particular groups in the media.",,4.0 credits including JOUA01H3 and JOUA02H3,(MDSB27H3),Critical Journalism,, +JOUB03H3,ART_LIT_LANG,,"Today’s ‘contract economy’ means full-time staff jobs are rare. Students will dissect models of distribution and engagement, discussing trends, predictions and future opportunities in media inside and outside the traditional newsroom. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"14.5 credits, including: [JOUB05H3 and JOUB19H3 and JOUC18H3 and JOUC19H3 and JOUC20H3] and [(JOUB09H3) or JOUB20H3]; students must have a minimum CGPA of 2.0",,Business of Journalism,JOUC13H3 and JOUC25H3, +JOUB11H3,ART_LIT_LANG,,"Through research and practice, students gain an understanding of news judgment and value, finding and developing credible sources and developing interviewing, editing and curating skills. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,10.0 credits including: JOUB01H3 and JOUB02H3 and ACMB02H3,,News Reporting,JOUA06H3 and JOUB14H3 and JOUB18H3 and JOUB19H3, +JOUB14H3,ART_LIT_LANG,,"Today, content creators and consumers both use mobile tools and technologies. Students will explore the principles of design, including responsive design, and how they apply to various platforms and devices. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,10.0 credits including: JOUB01H3 and JOUB02H3 and ACMB02H3; students must have a minimum CGPA of 2.0,,Mobile Journalism,JOUA06H3 and JOUB11H3 and JOUB18H3 and JOUB19H3, +JOUB18H3,ART_LIT_LANG,,"Applying photo-journalism principles to the journalist's tool of choice, the smartphone. Students will take professional news and feature photos, video optimized for mobile use and will capture credible, shareable visual cross-platform stories. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"10.0 credits, including JOUB01H3 and JOUB02H3 and ACMB02H3",,Visual Storytelling: Photography and Videography,JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB19H3, +JOUB19H3,ART_LIT_LANG,,"To develop stories from raw numbers, students will navigate spreadsheets and databases, and acquire raw data from web pages. Students will learn to use Freedom of Information requests to acquire data. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"[10.0 credits, including: JOUA01H3 and JOUA02H3 and JOUB01H3 and JOUB02H3 and ACMB02H3]andstudents must have a minimum CGPA of 2.0",,Data Management and Presentation,JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3, +JOUB20H3,ART_LIT_LANG,,Building the blending of traditional skills in reporting and writing with interactive production protocols for digital news. The course provides an introduction to web development and coding concepts. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.,,"12.0 credits, including: JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3; students must have a minimum CGPA of 2.0",,Interactive: Data and Analytics,JOUB05H3 and JOUC18H3 and JOUC19H3 and JOUC20H3, +JOUB21H3,SOCIAL_SCI,,"Journalists must observe and understand while responsibly contextualizing and communicating. This course critically examines the motivations and methods of how current events are witnessed but also how changing journalistic forms mediate the social function of bearing witness to communicate a diversity of experiences across matrices of time, space, power, and privilege.",,Enrollment in Major program in Media Studies and Journalism – Journalism Stream or Enrolment in the Specialist (Joint) Program in Journalism,(ACMB02H3),Witnessing and Bearing Witness,, +JOUB24H3,ART_LIT_LANG,,"Journalism is undergoing a revolutionary change. Old trusted formats are falling away and young people are consuming, producing, exchanging, and absorbing news in a different way. The course will help students critically analyze new media models and give them the road map they will need to negotiate and work in New Media.",,,(MDSB24H3),Journalism in the Age of Digital Media,, +JOUB39H3,ART_LIT_LANG,,"An overview of the standard rules and techniques of journalistic writing. The course examines the basics of good writing style including words and structures most likely to cause problems for writers. Students will develop their writing skills through assignments designed to help them conceive, develop, and produce works of journalism.",,[(MDSA21H3) or JOUA01H3] and [(MDSA22H3) or JOUA02H3] and (HUMA01H3).,(MDSB39H3),Fundamentals of Journalistic Writing,, +JOUC13H3,ART_LIT_LANG,,"Working in groups under faculty supervision from the newsroom, students will create, present and share significant portfolio pieces of multiplatform content, demonstrating expertise in credible, verifiable storytelling for discerning audiences. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"14.5 credits, including: [JOUB05H3 and JOUC18H3 and JOUC19H3 and JOUC20H3] and [(JOUB09H3) or JOUB20H3]; students must have a minimum CGPA of 2.0",,Entrepreneurial Reporting,JOUB03H3 and JOUC25H3, +JOUC18H3,ART_LIT_LANG,,"This experiential learning course provides practical experience in communication, media and design industries, supporting the student-to-professional transition in advance of work placements, and graduation towards becoming practitioners in the field. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"[12.0 credits, including: JOUA06H3, JOUB11H3, JOUB14H3, JOUB18H3 and JOUB19H3; students must have a minimum CGPA of 2.0",,Storyworks,JOUB05H3 and JOUB20H3 and JOUC19H3 and JOUC20H3, +JOUC19H3,ART_LIT_LANG,,"Students will effectively use their mobile phones in the field to report, edit and share content, while testing emerging apps, storytelling tools and social platforms to connect with audiences. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"[12.0 credits, including: JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3; students must have a CGPA of 2.0",,Social Media and Mobile Storytelling,JOUB05H3 and JOUB20H3 and JOUC18H3 and JOUC20H3, +JOUC21H3,ART_LIT_LANG,Partnership-Based Experience,"Students will learn the technical fundamentals and performance skills of audio storytelling and explore best practices before researching, interviewing, reporting, editing and producing original podcasts of professional journalistic quality.",,"12 credits, including: JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3",,Podcasting,"JOUB20H3, JOUC18H3, JOUC19H3, JOUC21H3, JOUC22H3", +JOUC22H3,,University-Based Experience,Students will build on the skills in the Visual Storytelling course from the previous semester and focus on the creation and distribution of short- and long-form video for mobile devices and social platforms. Emphasis will be placed on refining interviewing skills and performance and producing documentary-style journalism.,,"12 credits, including: JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3",,Advanced Video and Documentary Storytelling,"JOUB20H3, JOUC18H3, JOUC19H3, JOUC21H3", +JOUC25H3,ART_LIT_LANG,Partnership-Based Experience,"In Field Placement, students use theoretical knowledge and applied skills in professional journalistic environments. Through individual work and as team members, students create editorial content on various platforms and undertake academic research and writing assignments that require them to reflect upon issues arising from their work placement experience. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"Students must be in good standing and have successfully completed groups 1, 2, and be completing group 3 of the Centennial College phase of the Specialist (Joint) program in Journalism.",,Field Placement,,This course will be graded as a CR if a student successfully completes their internship; and as NCR is the internship was unsuccessful. The NCR will impact the CGPA and count as a 0.0 CGPA value on a transcript. +JOUC30H3,ART_LIT_LANG,,"The forms of Journalism are being challenged as reporting styles diverge and change overtime, across genres and media. New forms of narrative experimentation are opened up by the Internet and multimedia platforms. How do participatory cultures challenge journalists to experiment with media and language to create new audience experiences?",,MDSB05H3 and JOUB39H3,,"Critical Approaches to Style, Form and Narrative",,Priority will be given to students in the Specialist (Joint) program in Journalism. +JOUC31H3,ART_LIT_LANG,,"The nexus between journalism, civic engagement and changing technologies presents opportunities and challenges for the way information is produced, consumed and shared. Topics range from citizen and networked journalism, mobile online cultures of social movements and everyday life, to the complicated promises of the internet’s democratizing potential and data-based problem solving.",,JOUB24H3,,"Journalism, Information Sharing and Technological Change",,Priority will be given to students in the Specialist (Joint) program in Journalism. +JOUC60H3,HIS_PHIL_CUL,,"New media technologies enable more production and distribution of culturally, ethnically and linguistically diverse voices than ever before. Who produces these diverse voices and how accessible are these media? This course explores various types of diasporic media from century-old newspapers to young and hip news and magazine blogs, produced by and for members of a multicultural society. Same as MDSC34H3",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"MDSC34H3, (MDSC60H3)",Diasporic Media,, +JOUC62H3,ART_LIT_LANG,,"This course explores themes of labour in news media and new media. Topics include labour conditions for media workers across sectors; the labour impacts of media convergence; and the global distribution of media labour including content generation and management. The course is structured by intersectional analyses, studying how race and racism, class, gender, sex and sexism, sexuality, nationality, global location and citizenship status, Indigeneity and religion shape our experiences of media, journalism and labour. Same as MDSC37H3",,[MDSA01H3 and MDSB05H3] or [JOUA01H3 and JOUA02H3] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"MDSC37H3, (MDSC62H3)","Media, Journalism and Digital Labour",, +JOUC80H3,HIS_PHIL_CUL,,"Understanding the interests and goals of audiences is a key part of media production. This course introduces communication research methods including ratings, metrics, in-depth interviews, and focus groups. The focus of class discussion and research project is to use these methods to be able to understand the nature of audiences’ media use in the digital age. Same as MDSC25H3",,[2.0 credits at the B level in MDS courses] or [2.0 credits at the B level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"MDSC25H3, (MDSC80H3)",Understanding Audiences in the Digital Age,, +JOUD10H3,ART_LIT_LANG,University-Based Experience,A project-oriented capstone course requiring students to demonstrate the skills and knowledge necessary for contemporary journalism. Students will create a project that will serve as part of a portfolio or as a scholarly exploration of the state of the mass media. This course is open only to students in the Journalism Joint Program.,,JOUB03H3 and JOUC13H3 and JOUC25H3,,Senior Seminar in Journalism,, +JOUD11H3,ART_LIT_LANG,University-Based Experience,"Focusing on independent research, this course requires students to demonstrate the necessary analysis, research and writing skills required for advanced study. This seminar course provides the essential research skills for graduate work and other research-intensive contexts. Students will design and undertake unique and independent research about the state of journalism. Same as MDSD11H3",,"ACMB02H3 and [an additional 4.5 credits in MDS or JOU courses, 1.0 credit of which must be at the C- level]",MDSD11H3,Senior Research Seminar in Media and Journalism,,Priority will be given to students in the Specialist (Joint) program in Journalism. +JOUD12H3,ART_LIT_LANG,,"Journalism is a field that influences – and is influenced by – politics, finance, and civil society. This course raises contentious questions about power and responsibility at the core of journalism’s role in society. Challenges to the obligations of responsible journalism are examined through changing economic pressures and ties to political cultures.",,"[1.0 credit from the following: JOUC30H3, JOUC31H3, JOUC62H3, JOUC63H3]",,"Journalism at the Intersection of Politics, Economics and Ethics",,Priority will be given to students in the Specialist (Joint) program in Journalism. +JOUD13H3,ART_LIT_LANG,,"There is a technological and strategic arms race between governmental, military, and corporate entities on the one hand and citizens, human rights workers, and journalists on the other. Across diverse geopolitical contexts, journalistic work faces systematic surveillance alongside the censorship of free speech and a free internet. This course examines those threats to press freedom and how the same technologies support collaboration among citizens and journalists–across borders, languages, and legal regimes – to hold abuses of power to account.",,0.5 credits at JOU C-level,,"Surveillance, Censorship, and Press Freedom",, +LGGA10H3,ART_LIT_LANG,,"Beginner Korean I is an introductory course to the Korean language. Designed for students with no or minimal knowledge of the language, the course will first introduce the Hangeul alphabet (consonants and vowels) and how words are constructed (initial, medial, final sounds). Basic grammar patterns, frequently used vocabulary, and common everyday topics will be covered. Weekly cultural titbits will also be introduced to assist and enrichen the language learning experience. The overall aim of the course is to give students a strong grasp of the basics of the Korean language as well as elements of contemporary Korean culture.",,,"EAS110Y1 (UTSG) EAS211Y1 (UTSG) Not open to native speakers of Korean (more than minimal knowledge of Korean etc.); the instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, with support from program administration as needed.",Beginner Korean I,, +LGGA12H3,ART_LIT_LANG,,"Beginner Korean II is the continuation of Beginner Korean I. Designed for students who have completed Beginner Korean I, the course will build upon and help to solidify knowledge of the Korean language already learnt. Additional grammar patterns, as well as commonly used vocabulary and expressions will be covered. Further weekly cultural titbits will also be introduced to assist and enrichen the language learning experience. The overall aim of the course is to give students a stronger grasp of beginner level Korean, prepare them for higher levels of Korean language study, increase their knowledge of contemporary Korean culture and enable them to communicate with Korean native speakers about daily life.",,LGGA10H3: Beginner Korean I,"EAS110Y1 (UTSG) EAS211Y1 (UTSG) Not open to native speakers of Korean (more than minimal knowledge of Korean etc.); the instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, with support from program administration as needed.",Beginner Korean II,, +LGGA61H3,HIS_PHIL_CUL,,A continuation of LGGA60H3. This course will build on the skills learned in LGGA60H3.,,LGGA60H3 or (LGGA01H3),"All EAS, CHI and LGG Chinese courses except LGGA60H3 or (LGGA01H3). The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Introductory Standard Chinese II,, +LGGA64H3,ART_LIT_LANG,,"An introduction to Modern Standard Chinese for students who speak some Chinese (any dialect) because of their family backgrounds but have minimal or no literacy skills in the language. Emphasis is placed on Mandarin phonetics and written Chinese through reading, writing and translation.",,,"(LGGA62H3), (LGGB64H3). All EAS, CHI and LGG Chinese language courses. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Chinese I for Students with Prior Backgrounds,, +LGGA65H3,HIS_PHIL_CUL,,,,LGGA64H3 or (LGGA62H3),"(LGGA63H3), (LGGB65H3). All EAS, CHI and LGG Chinese language courses except LGGA64H3 or (LGGB64H3) or (LGGA62H3). The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Chinese II for Students with Prior Backgrounds A continuation of LGGA64H3.,, +LGGA70H3,ART_LIT_LANG,,An elementary course for students with no knowledge of Hindi. Students learn the Devanagari script and the Hindi sound system in order to start reading and writing in Hindi. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer-based activities.,,,"HIN212Y, NEW212Y, LGGA72Y3, or any knowledge of Hindi. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Introductory Hindi I,,Students who speak Hindi or Urdu as a home language should enrol in LGGB70H3 or LGGB71H3. +LGGA71H3,HIS_PHIL_CUL,,,,LGGA70H3,"HIN212Y, NEW212Y, LGGA72Y3, or knowledge of Hindi beyond materials covered in LGGA70H3. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Introductory Hindi II A continuation of LGGA70H3. Prerequisite: LGGA70H3,, +LGGA72Y3,ART_LIT_LANG,,This is an intensive elementary course for students with no knowledge of Hindi. It combines the materials taught in both LGGA70H3 and LGGA71H3. Students will learn the Devanagari script and the Hindi sound system in order to start reading and writing in Hindi. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer-based activities.,,,"LGGA70H, LGGA71H, HIN212Y, NEW212Y, any prior knowledge of Hindi. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Hindi,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. +LGGA74H3,ART_LIT_LANG,,An elementary course for students with minimal or no knowledge of Tamil. Students learn the Tamil script and sound system. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer-based activities.,,,"NEW213Y, LGGA76Y3, or high school Tamil, more than minimal knowledge of Tamil. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Introductory Tamil I,, +LGGA75H3,HIS_PHIL_CUL,,,,LGGA74H3,"NEW213Y, LGGA76Y3, or knowledge of Tamil beyond materials covered in LGGA74H3. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Introductory Tamil II A continuation of LGGA74H3. Prerequisite: LGGA74H3,, +LGGA76Y3,ART_LIT_LANG,,An intensive elementary course for students with minimal or no knowledge of Tamil. Students learn the Tamil script and sound system. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer based activities.,,,"LGGA74H3, LGGA75H3, NEW213Y, high school Tamil, more than minimal knowledge of Tamil. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Tamil,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. +LGGA78Y3,ART_LIT_LANG,,This is an elementary course for students with no knowledge of Bengali. Students will learn the Bengali script and sound system in order to start reading and writing in Bengali. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer based activities.,,,Any knowledge of Bengali. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Intensive Introductory Bengali,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. +LGGA80H3,ART_LIT_LANG,,A beginning course for those with minimal or no knowledge of Japanese. The course builds proficiency in both language and culture. Language practice includes oral skills for simple daily conversation; students will be introduced to the Japanese writing systems and learn to read and write simple passages.,,,EAS120Y or LGGA82Y3. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Introductory Japanese I,, +LGGA81H3,HIS_PHIL_CUL,,,,LGGA80H3,"EAS120Y or LGGA82Y3. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Introductory Japanese II Continuation of Introductory Japanese I. Prerequisite: LGGA80H3,, +LGGA82Y3,ART_LIT_LANG,,"This course is an intensive elementary course for those with minimal or no knowledge of Japanese. It combines the materials taught in both LGGA80H3 and LGGA81H3, and builds on proficiency in both language and culture. Language practice includes oral skills for simple daily conversation. Students will also be introduced to the Japanese writing systems and learn to read and write simple passages.",,,"LGGA80H, LGGA81H, EAS120Y. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Japanese,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. +LGGA90Y3,ART_LIT_LANG,,"This course is an intensive elementary course in written and spoken Spanish, including comprehension, speaking, reading, and writing. It is designed for students who have no previous knowledge of Spanish. The course will develop listening and speaking skills through culturally-based materials, which will be enhanced by audio-visual and computer-based activities.",,,"Grade 12 Spanish, LGGA30H, LGGA31H, SPA100Y, native or near-native proficiency in Spanish. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Spanish,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute at UTSC. +LGGA91Y3,ART_LIT_LANG,,"An introduction to the basic grammar and vocabulary of standard Arabic - the language common to the Arab world. Classroom activities will promote speaking, listening, reading, and writing. Special attention will be paid to reading and writing in the Arabic script.",,,"LGGA40H, LGGA41H, ARA212Y, (NMC210Y), NML210Y, Arabic instruction in high school, prior knowledge of spoken Arabic. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Modern Standard Arabic,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. +LGGA95Y3,ART_LIT_LANG,,"This is an intensive elementary course for students with minimal to no knowledge of the featured language. Students will learn the script and sound system so they may begin to read and write in this language. The course will develop listening and speaking skills through culturally-based materials, which will be enhanced by audio-visual and computer-based activities. Students may not repeat this course for credit, including when the current featured language is different from previous featured languages.",,,"Exclusions will vary, dependent on the language offered; students are cautioned that duplicating their studies, whether inadvertently or otherwise, contravenes UTSC academic regulations.",Intensive Introduction to a Featured Language,,"This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute; it may not be offered every summer. When the course is offered, the featured language and exclusions will be indicated on the Course Timetable." +LGGB60H3,ART_LIT_LANG,,"This course will develop listening, speaking, reading, and writing skills in Standard Chinese. Writing tasks will help students to progress from characters to compositions and will include translation from Chinese to English and vice versa. The course is not open to students who have more than the rudiments of Chinese.",,LGGA61H3 or (LGGA02H3),"All EAS and CHI 200- and higher level Chinese language courses; all B- and higher level LGG Chinese language courses; native speakers of any variety of Chinese. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Intermediate Chinese I,, +LGGB61H3,ART_LIT_LANG,,,,LGGB60H3,"All EAS and CHI 200- and higher level language Chinese courses; all B- and higher level LGG Chinese language courses except LGGB60H3, LGGA64H3, and (LGGB64H3). All native speakers of any variety of Chinese. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Intermediate Chinese II A continuation of LGGB60H3. Prerequisite: LGGB60H3,, +LGGB62H3,ART_LIT_LANG,,"This course will further improve the literacy skills of heritage students by studying more linguistically sophisticated and topically extensive texts. Those who have not studied pinyin, the Mandarin pronunciation tool, but know about 600-800 complex or simplified Chinese characters should take this course instead of courses LGGA64H3 and LGGA65H3.",,LGGA65H3 or (LGGA63H3) or equivalent,"All EAS and CHI 200- and higher level language Chinese courses; all B- and higher level LGG language Chinese courses. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Intermediate Chinese for Heritage Students I,, +LGGB63H3,HIS_PHIL_CUL,,,,LGGB62H3,All EAS and CHI 200- and higher level language Chinese courses; all B- and higher level LGG Chinese language courses except LGGB62H3.,Intermediate Chinese for Heritage Students II A continuation of LGGB62H3.,, +LGGB70H3,ART_LIT_LANG,,"Develops language and literacy through the study of Hindi cinema, music and dance along with an introduction to theatrical and storytelling traditions. The course enhances acquisition of cultural competence in Hindi with composition and conversation, complemented by culture-based material, film and other media.",,,Not for students educated in India. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Hindi I for Students with Prior Background,, +LGGB71H3,HIS_PHIL_CUL,,,,LGGB70H3,Not for students educated in India. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course including those students who meet the prerequisite.,Hindi II for Students with Prior Background Continuation of LGGB70H3.,, +LGGB74H3,ART_LIT_LANG,,"Tamil language taught through culture for students with heritage language skills or prior formal study. The cultures of South India, Sri Lanka and diaspora populations will be studied to build literacy skills in the Tamil script as well as further development of speaking and listening skills.",,LGGA75H3,Not for students educated in Tamil Naadu or Sri Lanka.,Intermediate Tamil,, +LGGC60H3,ART_LIT_LANG,,"This course develops all language skills in speaking, listening, reading, writing, and translation, with special attention to idiomatic expressions. Through a variety of texts and interactive materials, students will be introduced to aspects of Chinese life and culture.",,LGGB61H3 or (LGGB04H3) or equivalent,"LGGC61H3 or higher at UTSC, and all third and fourth year Chinese language courses at FAS/UTSG and UTM",Advanced Chinese I,, +LGGC61H3,HIS_PHIL_CUL,,,,LGGC60H3 or equivalent,LGGC62H3 or higher at UTSC and all third and fourth year Chinese language courses at FAS/UTSG and UTM.,Advanced Chinese II A continuation of LGGC60H3. Prerequisite: LGGC60H3 or equivalent,, +LGGC62H3,ART_LIT_LANG,,"This course focuses on similarities and differences between Chinese and Western cultures through a variety of cultural and literary materials. Students will further develop their language skills and cultural awareness through reading, writing, and translation.",,,"(LGGB66H3), (LGGB67H3), LGGC64H3, LGGC65H3, LGGD66H3/(LGGC67H3), LGGD67H3/(LGGC66H3)",Cultures in the East and West,,1. This course is not required for the Minor program in English and Chinese Translation. 2. Students may take this course before or after LGGC63H3. +LGGC63H3,HIS_PHIL_CUL,,"This course focuses on aspects of Canadian and Chinese societies, and related regions overseas. Through a variety of text and non-text materials, in Chinese with English translation and in English with Chinese translation, students will further improve their language skills and have a better understanding of Canada, China, and beyond.",,,"(LGGB66H3), (LGGB67H3), LGGC64H3, LGGC65H3, LGGD66H3/(LGGC67H3), and LGGD67H3/(LGGC66H3)","Canada, China, and Beyond",,1. This course is not required for the Minor program in English and Chinese Translation. 2. Students may take LGGC63H3 before or after LGGC62H3. +LGGC64H3,ART_LIT_LANG,,"Intended for students who read Chinese and English well. Complex-simplified character conversion and vice versa, as well as English-Chinese and Chinese-English bilingual texts, are emphasized through reading, discussion, and translation in a variety of topics from, and outside of, Greater China, presentations, translation comparison, translation, and translation criticism.",,,(LGGB66H3). The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Reading Chinese and English: China Inside Out,,"1. This course is bilingual, and priority will be given to students enrolled in the Minor in English and Chinese Translation. 2. This course may be taken before or after LGGC65H3, LGGD66H3, and/or LGGD67H3. 3. Students who have taken this course should not subsequently take LGGC60H3, LGGC61H3, LGGC62H3, LGGC63H3, or any lower level LGG Chinese courses for credit." +LGGC65H3,HIS_PHIL_CUL,,"Designed for students who read Chinese and English well. Complex-simplified Chinese character conversion and vice versa, as well as English-Chinese and Chinese-English bilingual texts are emphasized through reading, discussion, and translation in a variety of topics from global perspectives, presentations, translation and translation comparison, and translation criticism.",,,(LGGB67H3). The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Reading Chinese and English: Global Perspectives,,"1. This course is bilingual and priority will be given to students enrolled in the Minor in English and Chinese Translation. 2. This course may be taken before or after LGGC64H3, LGGD66H3, and/or LGGD67H3. 3. Students who have taken this course may not subsequently take LGGC60H3, LGGC61H3, LGGC62H3, LGGC63H3, or any lower level LGG Chinese courses for credit." +LGGC70H3,ART_LIT_LANG,,"Advanced language learning through an introduction to the historical development of the Hindi language. Students develop language skills through the study of educational structure, and literary and cultural institutions in colonial and postcolonial India. The course studies a variety of texts and media and integrates composition and conversation.",,LGGB70H3 and LGGB71H3,Not for students educated in India.,Advanced Hindi: From Hindustan to Modern India,, +LGGD66H3,HIS_PHIL_CUL,,This course examines Chinese literary masterpieces of the pre-modern era and their English translations. They include the prose and poetry of many dynasties as well as examples in Literary Chinese of other genres that are still very much alive in Chinese language and society today. An in-depth review of the English translations will be strongly emphasized.,,A working knowledge of Modern Chinese and English,"(LGGC67H3), (EAS306Y), EAS358Y1, EAS455H1, EAS458H1, CHI311H5, CHI408H5, CHI409H5",Literary Chinese and English Translations,,"1. Priority will be given to students enrolled in the Minor in English and Chinese Translation. 2. Students who have taken this course should not subsequently take lower-level Chinese or Chinese/English bilingual courses for credit except LGGC64H3 and LGGC65H3. 3. This course may be taken before or after LGGC64H3, LGGC65H3, and/or LGGD67H3." +LGGD67H3,ART_LIT_LANG,,"This course examines Chinese classics and their English translations, such as The Book of Documents, The Analects of Confucius, The Mencius, The Dao De Jing, and other philosophical maxims, proverbial sayings, rhyming couplets, idioms and poems that still have an impact on Chinese language and culture today.",,A working knowledge of Modern Chinese and English,"(LGGC66H3), (EAS206Y), EAS218H1, (EAS306Y), EAS358Y1, EAS455H1, EAS458H1, CHI311H5, CHI408H5, CHI409H5",Classical Chinese and English Translations,,"1. Priority will be given to students enrolled in the Minor in English and Chinese Translation. 2. This course may be taken before or after LGGC64H3, LGGC65H3, and/or LGGD66H3 3. Students who have taken this course should not subsequently take lower-level Chinese or Chinese/English bilingual courses for credit except LGGC64H3 and/or LGGC65H3." +LINA01H3,ART_LIT_LANG,,"An introduction to the various methods and theories of analyzing speech sounds, words, sentences and meanings, both in particular languages and language in general.",,,"(LIN100Y), LIN101H, LIN102H",Introduction to Linguistics,, +LINA02H3,ART_LIT_LANG,,"Application of the concepts and methods acquired in LINA01H3 to the study of, and research into, language history and language change; the acquisition of languages; language disorders; the psychology of language; language and in the brain; and the sociology of language.",,LINA01H3,"(LIN100Y), LIN101H, LIN102H",Applications of Linguistics,, +LINB04H3,SOCIAL_SCI,,Practice in analysis of sound patterns in a broad variety of languages.,,LINB09H3,LIN229H,Phonology I,, +LINB06H3,HIS_PHIL_CUL,,Practice in analysis of sentence structure in a broad variety of languages.,,LINA01H3,LIN232H,Syntax I,, +LINB09H3,NAT_SCI,,An examination of physiological and acoustic bases of speech.,,LINA01H3,LIN228H,Phonetics: The Study of Speech Sounds,, +LINB10H3,SOCIAL_SCI,,"Core issues in morphological theory, including properties of the lexicon and combinatorial principles, governing word formation as they apply to French and English words.",,LINA01H3,"LIN231H, LIN333H, (LINB05H3), (LINC05H3) FRE387H, (FREC45H3)",Morphology,LINB04H3 and LINB06H3, +LINB18H3,ART_LIT_LANG,,"Description and analysis of the structure of English, including the sentence and word structure systems, with emphasis on those distinctive and characteristic features most of interest to teachers and students of the language.",,,LIN204H,English Grammar,, +LINB19H3,QUANT,,"The course will provide an introduction to the use of computer theory and methods to advance the understanding of computational aspects of linguistics. It will provide basic training in computer programming techniques employed in linguistics such as corpus mining, modifying speech stimuli, experimental testing, and data analysis.",,LINA02H3,"Any computer science course except [CSCA20H3, PSYC03H3]",Computers in Linguistics,,"Priority will be given to students in Specialist/Specialist Co-op programs in Linguistics or Psycholinguistics, or Major/Major Co-op programs in Linguistics. Students in the Minor program in Linguistics, followed by students in other programs, will be admitted as space permits." +LINB20H3,SOCIAL_SCI,,"The study of the relationship between language and society. Topics include: how language reflects and constructs aspects of social identity such as age, gender, socioeconomic class and ethnicity; ways in which social context affects speakers' use of language; and social factors which cause the spread or death of languages.",,LINA02H3,"(LINB21H3), (LINB22H3), LIN251H, LIN256H, FREC48H3",Sociolinguistics,, +LINB29H3,QUANT,,"An introduction to experimental design and statistical analysis for linguists. Topics include both univariate and multivariate approaches to data analysis for acoustic phonetics, speech perception, psycholinguistics, language acquisition, language disorders, and sociolinguistics.",LINB19H3,LINA02H3,"LIN305H, (PLIC65H3), PSYB07H3, STAB23H3",Quantitative Methods in Linguistics,, +LINB30H3,QUANT,,"This course provides students a practical, hands-on introduction to programming, with a focus on analyzing natural language text as quantitative data. This course will be taught in Python and is meant for students with no prior programming background. We will cover the basics of Python, and students will gain familiarity with existing tools and packages, along with algorithmic thinking skills such as abstraction and decomposition.",,LINA01H3,LINB19H3,Programming for Linguists,, +LINB60H3,ART_LIT_LANG,,"This course is an investigation into the lexicon, morphology, syntax, semantics, discourse and writing styles in Chinese and English. Students will use the tools of linguistic analysis to examine the structural and related key properties of the two languages. Emphasis is on the comparison of English and Chinese sentences encountered during translation practice.",,LINB06H3 or LINB18H3,"LGGA60H3, LGGA61H3, (LINC60H3)",Comparative Study of English and Chinese,,Students are expected to be proficient in Chinese and English. +LINB62H3,SOCIAL_SCI,,"An introduction to the structure of American Sign Language (ASL): Comparison to spoken languages and other signed languages, together with practice in using ASL for basic communication.",,LINA01H3 and LINA02H3,(LINA10H3),Structure of American Sign Language,, +LINB98H3,SOCIAL_SCI,University-Based Experience,"This course provides an introduction to, and experience in, ongoing theoretical and empirical research in any field of linguistics. Supervision of the work is arranged by mutual agreement between student and instructor.",0.5 credit at the B-level in LIN or PLI courses,[4.0 credits including [LINA01H3 or LINA02H3]] and a CGPA of 3.3,PSYB90H3 and ROP299Y,Supervised Introductory Research in Linguistics,,"Enrolment is limited based on the research opportunities available with each faculty member and the interests of the students. Students must complete and submit a permission form available from the Registrar's Office, along with an outline of work to be performed, signed by the intended supervisor. Priority will be given to students enrolled in the Specialist/Specialist Co-op programs in Linguistics or Psycholinguistics, and the Major/Major Co-op programs in Linguistics." +LINC02H3,SOCIAL_SCI,,"Basic issues in phonological theory. This course assumes familiarity with phonetic principles, as discussed in LINB09H3, and with phonological problem-solving methods, as discussed in LINB04H3.",,LINB04H3 and LINB09H3,LIN322H,Phonology II,, +LINC10H3,ART_LIT_LANG,,"In this course, students will develop skills that are needed in academic writing by reading and analyzing articles regarding classic and current issues in Linguistics. They will also learn skills including summarizing, paraphrasing, making logical arguments, and critically evaluating linguistic texts. They will also learn how to make references in their wiring using the APA style.",,LINA02H3 and LINB04H3 and LINB06H3 and LINB10H3,"LIN410H5, LIN481H1",Linguistic Analysis and Argumentation,,Priority will be given to students enrolled in any Linguistics programs. +LINC11H3,HIS_PHIL_CUL,,"Core issues in syntactic theory, with emphasis on universal principles and syntactic variation.",,LINB06H3,"FREC46H3, LIN232H, LIN331H, FRE378H",Syntax II,, +LINC12H3,HIS_PHIL_CUL,,"An introduction to the role of meaning in the structure, function, and use of language. Approaches to the notion of meaning as applied to English data will be examined.",,LINA01H3 or [FREB44H3 and FREB45H3],"FREC12H3, FREC44H3, FRE386H, LIN241H, LIN247H, LIN341H",Semantics: The Study of Meaning,, +LINC13H3,ART_LIT_LANG,,"An introduction to linguistic typology with special emphasis on cross-linguistic variation and uniformity in phonology, morphology, and syntax.",,LINB04H3 and LINB06H3 and LINB10H3,"LIN306H, (LINB13H3)",Language Diversity and Universals,, +LINC28H3,SOCIAL_SCI,,"An introduction to the research on differences between women and men in how they use language and how they behave in conversational interaction, together with an examination of the role of language in reflecting and perpetuating cultural attitudes towards gender. Same as WSTC28H3",,"LINA01H3 and one full credit at the B-level in ANT, LIN, SOC or WST","JAL355H, WSTC28H3",Language and Gender,, +LINC29H3,QUANT,Partnership-Based Experience,"This course provides students with advanced statistical methods in linguistics and psycholinguistics. Specifically, an introduction to multiple linear regression (MLR) and its applications in linguistic and psycholinguistic research are presented. The course covers the data analysis process from data collection, to visualization, to interpretation. The goal is to provide students with the theoretical and practical skills needed to reason about and conduct MLR analyses.",Any prior math or statistics course,[LINB29H3 or STAB22H3 or STAB23H3 or PSYB07H3] and an additional 1.0 FCE at the B-level or above in Linguistics or Psycholinguistics,"PSYC09H3, MGEC11H3",Advanced Quantitative Methods in Linguistics,,"Priority will be given to students enrolled in a Linguistics or Psycholinguistics Specialist or Major degree. If additional space remains, the course will be open to all students who meet the prerequisites. This course will be run in an experiential learning format with students alternating between learning advanced statistical methods and applying that theory using a computer to inspect and analyze data in a hands-on manner. If the possibility exists, students will also engage in a consultancy project with a partner or organization in Toronto or a surrounding community that will provide students with data that require analysis to meet certain goals/objectives or to guide future work. Care will be taken to ensure that the project is of linguistic/psycholinguistic relevance. If no such opportunity exists, students will conduct advanced exploration, visualization, and analysis of data collected in our laboratories. Together, managing the various aspects of the course and sufficient interactions with students leads to this course size restriction." +LINC35H3,QUANT,,This course focuses on computational methods in linguistics. It is geared toward students with a background in linguistics but minimal background in computer science. This course offers students a foundational understanding of two domains of computational linguistics: cognitive modeling and natural language processing. Students will be introduced to the tools used by computational linguists in both these domains and to the fundamentals of computer programming in a way that highlights what is important for working with linguistic data.,,LINB30H3 or with permission of instructor,"(LINB35H3), LIN340H5(UTM), LIN341H5(UTM)",Introduction to Computational Linguistics,LINB29H3, +LINC47H3,ART_LIT_LANG,,"A study of pidgin and Creole languages worldwide. The course will introduce students to the often complex grammars of these languages and examine French, English, Spanish, and Dutch-based Creoles, as well as regional varieties. It will include some socio-historical discussion. Same as FREC47H3.",,[LINA01H3 and LINA02H3] or [FREB44H3 and FREB45H3],"FREC47H3, LIN366H",Pidgin and Creole Languages,, +LINC61H3,ART_LIT_LANG,,"An introduction to the phonetics, phonology, word-formation rules, syntax, and script of a featured language other than English or French. Students will use the tools of linguistic analysis learned in prior courses to examine the structural properties of this language. No prior knowledge of the language is necessary.",,LINB04H3 and LINB06H3,LIN409H,Structure of a Language,, +LINC98H3,SOCIAL_SCI,,"This course provides an opportunity to build proficiency and experience in ongoing theoretical and empirical research in any field of linguistics. Supervision of the work is arranged by mutual agreement between student and instructor. For any additional requirements, please speak with your intended faculty supervisor. Students must download the Supervised Study Form, that is to be completed with the intended faculty supervisor, along with an agreed-upon outline of work to be performed., The form must then be signed by the student and the intended supervisor and submitted to the Program Coordinator by email or in person.",,5.0 credits including: [LINA01H3 or LINA02H3] and [1.0 credits at the B-level or higher in Linguistics or Psycholinguistics]; and a minimum cGPA of 3.3,,Supervised Research in Linguistics,,1. Priority will be given to students enrolled in a Specialist or Major program in Linguistics or Psycholinguistics. 2. Students who have taken the proposed course cannot enroll in LINB98H3. 3. Enrollment will depend each year on the research opportunities available with each individual faculty member and the interests of the students who apply for enrollment. +LIND01H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Linguistics for further information.,,At least 1.0 credit at the C-level in LIN courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Linguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +LIND02H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Linguistics for further information.,,At least 1.0 credit at the C-level in LIN courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Linguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +LIND03H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Program Supervisor for Linguistics.,,At least 1.0 credit at the C-level in LIN courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Linguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +LIND07Y3,,University-Based Experience,A reading and research independent study course on a topic of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Linguistics for further information.,,At least 1.0 credit at the C-level in LIN courses; and a CGPA of 3.3; and permission of the supervising instructor.,LIN495Y,Independent Study in Linguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +LIND09H3,NAT_SCI,,Practical application of phonetic theory with special emphasis on instrumental and experimental techniques.,,LINB09H3 and LINB29H3,"LIN423H, (LINC09H3)",Phonetic Analysis,, +LIND11H3,SOCIAL_SCI,,"This course is concerned with modern sociolinguistic theory as well as methods of conducting sociolinguistic research including data collection and the analysis of sociolinguistic data. The theoretical approaches learned include discourse analysis, language variation, conversation analysis, and variationist sociolinguistics.",,LINB20H3,"LIN456H1, LIN351H1, LIN458H",Advanced Sociolinguistic Theory and Method,,Priority will be given to students in the Linguistics program. +LIND29H3,ART_LIT_LANG,,"This course focuses on research methodologies (interviews, corpus collection, surveys, ethnography, etc.). Students conduct individual research studies in real-life contexts.",,LINB04H3 and LINB06H3 and LINB10H3,,Linguistic Research Methodologies,,Topics will vary each time the course is offered. Please check with the department's Undergraduate Assistant or on the Web Timetable on the Office of the Registrar website for details regarding the proposed subject matter. +LIND46H3,ART_LIT_LANG,,"Practice in language analysis based on elicited data from second language learners and foreign speakers. Emphasis is put on procedures and techniques of data collection, as well as theoretical implications arising from data analysis.",LINC02H3 and LINC11H3,[FREB44H3 and FREC46H3] or LINB10H3,"(FRED46H3), JAL401H",Field Methods in Linguistics,, +MATA02H3,QUANT,,"A selection from the following topics: the number sense (neuroscience of numbers); numerical notation in different cultures; what is a number; Zeno’s paradox; divisibility, the fascination of prime numbers; prime numbers and encryption; perspective in art and geometry; Kepler and platonic solids; golden mean, Fibonacci sequence; elementary probability.",,,"MATA29H3, MATA30H3, MATA31H3, (MATA32H3), MATA34H3 (or equivalent). These courses cannot be taken previously or concurrently with MATA02H3.",The Magic of Numbers,,MATA02H3 is primarily intended as a breadth requirement course for students in the Humanities and Social Sciences. +MATA22H3,QUANT,,"A conceptual and rigorous approach to introductory linear algebra that focuses on mathematical proofs, the logical development of fundamental structures, and essential computational techniques. This course covers complex numbers, vectors in Euclidean n-space, systems of linear equations, matrices and matrix algebra, Gaussian reduction, structure theorems for solutions of linear systems, dependence and independence, rank equation, linear transformations of Euclidean n-space, determinants, Cramer's rule, eigenvalues and eigenvectors, characteristic polynomial, and diagonalization.",,Grade 12 Calculus and Vectors or [Grade 12 Advanced Functions and Introductory Calculus and Geometry and Discrete Mathematics],"MATA23H3, MAT223H, MAT240H",Linear Algebra I for Mathematical Sciences,,Students are cautioned that MAT223H cannot be used as a substitute for MATA22H3 in any courses for which MATA22H3 appears as a prerequisite. +MATA23H3,QUANT,,"Systems of linear equations, matrices, Gaussian elimination; basis, dimension; dot products; geometry to Rn; linear transformations; determinants, Cramer's rule; eigenvalues and eigenvectors, diagonalization.",,Grade 12 Calculus and Vectors or [Grade 12 Advanced Functions and Introductory Calculus and Geometry and Discrete Mathematics],"MATA22H3, MAT223H",Linear Algebra I,, +MATA29H3,QUANT,,"A course in differential calculus for the life sciences. Algebraic and transcendental functions; semi-log and log-log plots; limits of sequences and functions, continuity; extreme value and intermediate value theorems; approximation of discontinuous functions by continuous ones; derivatives; differentials; approximation and local linearity; applications of derivatives; antiderivatives and indefinite integrals.",,Grade 12 Calculus and Vectors,"(MATA20H3), (MATA27H3), MATA30H3, MATA31H3, (MATA32H3), MATA34H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus I for the Life Sciences,, +MATA30H3,QUANT,,"An introduction to the basic techniques of Calculus. Elementary functions: rational, trigonometric, root, exponential and logarithmic functions and their graphs. Basic calculus: limits, continuity, derivatives, derivatives of higher order, analysis of graphs, use of derivatives; integrals and their applications.",,Grade 12 Calculus and Vectors,"(MATA20H3), (MATA27H3), MATA29H3, MATA31H3, (MATA32H3), MATA34H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus I for Physical Sciences,, +MATA31H3,QUANT,,"A conceptual introduction to Differential Calculus of algebraic and transcendental functions of one variable; focus on logical reasoning and fundamental notions; first introduction into a rigorous mathematical theory with applications. Course covers: real numbers, set operations, supremum, infimum, limits, continuity, Intermediate Value Theorem, derivative, differentiability, related rates, Fermat's, Extreme Value, Rolle's and Mean Value Theorems, curve sketching, optimization, and antiderivatives.",,Grade 12 Calculus and Vectors,"(MATA20H3), (MATA27H3), MATA29H3, MATA30H3, (MATA32H3), MATA34H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus I for Mathematical Sciences,, +MATA34H3,QUANT,,This is a calculus course designed primarily for students in management. The main concepts of calculus of one and several variables are studied with interpretations and applications to business and economics. Systems of linear equations and matrices are covered with applications in business.,,Ontario Grade 12 Calculus and Vectors or approved equivalent.,"MATA30H3, MATA31H3, MATA33H3, MAT133Y",Calculus for Management,,"Students who are pursuing a BBA degree or who are interested in applying to the BBA programs or the Major Program in Economics must take MATA34H3 for credit (i.e., they should not take the course as CR/NCR)." +MATA35H3,QUANT,,"A calculus course emphasizing examples and applications in the biological and environmental sciences. Discrete probability; basic statistics: hypothesis testing, distribution analysis. Basic calculus: extrema, growth rates, diffusion rates; techniques of integration; differential equations; population dynamics; vectors and matrices in 2 and 3 dimensions; genetics applications.",,MATA29H3,"(MATA21H3), (MATA33H3), MATA34H3, MATA36H3, MATA37H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y,(MATA27H3)",Calculus II for Biological Sciences,,"This course will not satisfy the Mathematics requirements for any Program in Computer and Mathematical Sciences, nor will it normally serve as a prerequisite for further courses in Mathematics. Students who are not sure which Calculus II course they should choose are encouraged to consult with the supervisor(s) of Programs in their area(s) of interest." +MATA36H3,QUANT,,"This course is intended to prepare students for the physical sciences. Topics to be covered include: techniques of integration, Newton's method, approximation of functions by Taylor polynomials, numerical methods of integration, complex numbers, sequences, series, Taylor series, differential equations.",,MATA30H3,"(MATA21H3), MATA35H3, MATA37H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus II for Physical Sciences,,Students who have completed MATA34H3 must still take MATA30H3 +MATA37H3,QUANT,,"A rigorous introduction to Integral Calculus of one variable and infinite series; strong emphasis on combining theory and applications; further developing of tools for mathematical analysis. Riemann Sum, definite integral, Fundamental Theorem of Calculus, techniques of integration, improper integrals, numerical integration, sequences and series, absolute and conditional convergence of series, convergence tests for series, Taylor polynomials and series, power series and applications.",,MATA31H3 and [MATA67H3 or CSCA67H3],"(MATA21H3), (MATA33H3), MATA34H3, MATA35H3, MATA36H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus II for Mathematical Sciences,, +MATA67H3,QUANT,,"Introduction to discrete mathematics: Elementary combinatorics; discrete probability including conditional probability and independence; graph theory including trees, planar graphs, searches and traversals, colouring. The course emphasizes topics of relevance to computer science, and exercises problem-solving skills and proof techniques such as well ordering, induction, contradiction, and counterexample. Same as CSCA67H3",CSCA08H3 or CSCA20H3,Grade 12 Calculus and Vectors and one other Grade 12 mathematics course,"CSCA67H3, (CSCA65H3), CSC165H, CSC240H, MAT102H",Discrete Mathematics,, +MATB24H3,QUANT,,"Fields, vector spaces over a field, linear transformations; inner product spaces, coordinatization and change of basis; diagonalizability, orthogonal transformations, invariant subspaces, Cayley-Hamilton theorem; hermitian inner product, normal, self-adjoint and unitary operations. Some applications such as the method of least squares and introduction to coding theory.",,MATA22H3 or MAT240H,MAT224H,Linear Algebra II,,Students are cautioned that MAT224H cannot be used as a substitute for MATB24H3 in any courses for which MATB24H3 appears as a prerequisite. +MATB41H3,QUANT,,"Partial derivatives, gradient, tangent plane, Jacobian matrix and chain rule, Taylor series; extremal problems, extremal problems with constraints and Lagrange multipliers, multiple integrals, spherical and cylindrical coordinates, law of transformation of variables.",,[MATA22H3 or MATA23H3 or MAT223H] and [[MATA36H3 or MATA37H3] or [MAT137H5 and MAT139H5] or [MAT157H5 and MAT159H5]],"MAT232H, MAT235Y, MAT237Y, MAT257Y",Techniques of the Calculus of Several Variables I,, +MATB42H3,QUANT,,"Fourier series. Vector fields in Rn, Divergence and curl, curves, parametric representation of curves, path and line integrals, surfaces, parametric representations of surfaces, surface integrals. Green's, Gauss', and Stokes' theorems will also be covered. An introduction to differential forms, total derivative.",,MATB41H3,"MAT235Y, MAT237Y, MAT257Y, MAT368H",Techniques of the Calculus of Several Variables II,, +MATB43H3,QUANT,,"Generalities of sets and functions, countability. Topology and analysis on the real line: sequences, compactness, completeness, continuity, uniform continuity. Topics from topology and analysis in metric and Euclidean spaces. Sequences and series of functions, uniform convergence.",,[MATA37H3 or [MAT137H5 and MAT139H5]] and MATB24H3,MAT246Y,Introduction to Analysis,, +MATB44H3,QUANT,,"Ordinary differential equations of the first and second order, existence and uniqueness; solutions by series and integrals; linear systems of first order; non-linear equations; difference equations.",,[MATA36H3 or MATA37H3] and [MATA22H3 or MATA23H3],"MAT244H, MAT267H",Differential Equations I,MATB41H3, +MATB61H3,QUANT,,"Linear programming, simplex algorithm, duality theory, interior point method; quadratic and convex optimization, stochastic programming; applications to portfolio optimization and operations research.",,[MATA22H3 or MATA23H3] and MATB41H3,APM236H,Linear Programming and Optimization,, +MATC01H3,QUANT,,"Congruences and fields. Permutations and permutation groups. Linear groups. Abstract groups, homomorphisms, subgroups. Symmetry groups of regular polygons and Platonic solids, wallpaper groups. Group actions, class formula. Cosets, Lagrange's theorem. Normal subgroups, quotient groups. Emphasis on examples and calculations.",,[MATA36H3 or MATA37H3] and [MATB24H3 or MAT224H],"MAT301H, MAT347Y",Groups and Symmetry,, +MATC09H3,QUANT,,Predicate calculus. Relationship between truth and provability; Gödel's completeness theorem. First order arithmetic as an example of a first-order system. Gödel's incompleteness theorem; outline of its proof. Introduction to recursive functions.,,MATB24H3 and [MATB43H3 or CSCB36H3],"MAT309H, CSC438H",Introduction to Mathematical Logic,, +MATC15H3,QUANT,,"Elementary topics in number theory; arithmetic functions; polynomials over the residue classes modulo m, characters on the residue classes modulo m; quadratic reciprocity law, representation of numbers as sums of squares.",,MATB24H3 and MATB41H3,MAT315H,Introduction to Number Theory,, +MATC27H3,QUANT,,"Fundamentals of set theory, topological spaces and continuous functions, connectedness, compactness, countability, separatability, metric spaces and normed spaces, function spaces, completeness, homotopy.",,MATB41H3 and MATB43H3,MAT327H,Introduction to Topology,, +MATC32H3,QUANT,,"Graphs, subgraphs, isomorphism, trees, connectivity, Euler and Hamiltonian properties, matchings, vertex and edge colourings, planarity, network flows and strongly regular graphs; applications to such problems as timetabling, personnel assignment, tank form scheduling, traveling salesmen, tournament scheduling, experimental design and finite geometries.",,[MATB24H3 or CSCB36H3] and at least one other B-level course in Mathematics or Computer Science,,Graph Theory and Algorithms for its Applications,, +MATC34H3,QUANT,,"Theory of functions of one complex variable, analytic and meromorphic functions. Cauchy's theorem, residue calculus, conformal mappings, introduction to analytic continuation and harmonic functions.",,MATB42H3,"MAT334H, MAT354H",Complex Variables,, +MATC37H3,QUANT,,"Topics in measure theory: the Lebesgue integral, Riemann- Stieltjes integral, Lp spaces, Hilbert and Banach spaces, Fourier series.",MATC27H3,MATB43H3,"MAT337H, (MATC38H3)",Introduction to Real Analysis,, +MATC44H3,QUANT,,"Basic counting principles, generating functions, permutations with restrictions. Fundamentals of graph theory with algorithms; applications (including network flows). Combinatorial structures including block designs and finite geometries.",,MATB24H3,MAT344H,Introduction to Combinatorics,, +MATC46H3,QUANT,,"Sturm-Liouville problems, Green's functions, special functions (Bessel, Legendre), partial differential equations of second order, separation of variables, integral equations, Fourier transform, stationary phase method.",,MATB44H3,APM346H,Differential Equations II,MATB42H3, +MATC58H3,QUANT,,"Mathematical analysis of problems associated with biology, including models of population growth, cell biology, molecular evolution, infectious diseases, and other biological and medical disciplines. A review of mathematical topics: linear algebra (matrices, eigenvalues and eigenvectors), properties of ordinary differential equations and difference equations.",,MATB44H3,,An Introduction to Mathematical Biology,, +MATC63H3,QUANT,,"Curves and surfaces in Euclidean 3-space. Serret-Frenet frames and the associated equations, the first and second fundamental forms and their integrability conditions, intrinsic geometry and parallelism, the Gauss-Bonnet theorem.",,MATB42H3 and MATB43H3,MAT363H,Differential Geometry,, +MATC82H3,QUANT,,"The course discusses the Mathematics curriculum (K-12) from the following aspects: the strands of the curriculum and their place in the world of Mathematics, the nature of proofs, the applications of Mathematics, and its connection to other subjects.",,[MATA67H3 or CSCA67H3 or (CSCA65H3)] and [MATA22H3 or MATA23H3] and [MATA37H3 or MATA36H3],MAT382H,Mathematics for Teachers,, +MATC90H3,QUANT,,"Mathematical problems which have arisen repeatedly in different cultures, e.g. solution of quadratic equations, Pythagorean theorem; transmission of mathematics between civilizations; high points of ancient mathematics, e.g. study of incommensurability in Greece, Pell's equation in India.",,"10.0 credits, including 2.0 credits in MAT courses [excluding MATA02H3], of which 0.5 credit must be at the B-level",MAT390H,Beginnings of Mathematics,, +MATD01H3,QUANT,,"Abstract group theory: Sylow theorems, groups of small order, simple groups, classification of finite abelian groups. Fields and Galois theory: polynomials over a field, field extensions, constructibility; Galois groups of polynomials, in particular cubics; insolvability of quintics by radicals.",MATC34H3,MATC01H3,"(MAT302H), MAT347Y, (MATC02H3)",Fields and Groups,, +MATD02H3,QUANT,,"An introduction to geometry with a selection of topics from the following: symmetry and symmetry groups, finite geometries and applications, non-Euclidean geometry.",,[MATA22H3 or MATA23H3],"MAT402H, (MAT365H), (MATC25H3)",Classical Plane Geometries and their Transformations,MATC01H3, +MATD09H3,QUANT,,"This course is an introduction to axiomatic set theory and its methods. Set theory is a foundation for practically every other area of mathematics and is a deep, rich subject in its own right. The course will begin with the Zermelo-Fraenkel axioms and general set constructions. Then the natural numbers and their arithmetic are developed axiomatically. The central concepts of cardinality, cardinal numbers, and the Cantor- Bernstein theorem are studied, as are ordinal numbers and transfinite induction. The Axiom of Choice and its equivalents are presented along with applications.",,MATB43H3 and [MATC09H3 or MATC27H3 or MATC37H3].,MAT409H1,Set Theory,, +MATD10H3,,,"A variety of topics from geometry, analysis, combinatorics, number theory and algebra, to be chosen by the instructor.",,"Permission from the instructor is required. Typically, this will require that the student has completed courses such as: MATC01H3 and MATC34H3 and [(MATC35H3) or MATC37H3] and [MATC15H3 or MATD02H3] but, depending on the topics covered, the instructor may specify alternative course requirements.",,Topics in Mathematics,, +MATD11H3,,,"A variety of topics from geometry, analysis, combinatorics, number theory and algebra, to be chosen by the instructor.",,"Permission from the instructor is required. Typically this will require that the student has completed courses such as MATC01H3 and MATC34H3 and [(MATC35H3) or MATC37H3] and [MATC15H3 or MATD02H3] but, depending on the topics covered, the instructor may specify alternative course requirements.",,Topics in Mathematics,, +MATD12H3,,,"A variety of topics from geometry, analysis, combinatorics, number theory and algebra, to be chosen by the instructor.",,"Permission from the instructor is required. Typically this will require that the student has completed courses such as MATC01H3 and MATC34H3 and [(MATC35H3) or MATC37H3] and [MATC15H3 or MATD02H3] but, depending on the topics covered, the instructor may specify alternative course requirements.",,Topics in Mathematics,, +MATD16H3,QUANT,,"The main problems of coding theory and cryptography are defined. Classic linear and non-linear codes. Error correcting and decoding properties. Cryptanalysis of classical ciphers from substitution to DES and various public key systems [e.g. RSA] and discrete logarithm based systems. Needed mathematical results from number theory, finite fields, and complexity theory are stated.",,MATC15H3 and [STAB52H3 or STAB53H3],(MATC16H3),Coding Theory and Cryptography,, +MATD26H3,QUANT,,"An intuitive and conceptual introduction to general relativity with emphasis on a rigorous treatment of relevant topics in geometric analysis. The course aims at presenting rigorous theorems giving insights into fundamental natural phenomena. Contents: Riemannian and Lorentzian geometry (parallelism, geodesics, curvature tensors, minimal surfaces), Hyperbolic differential equations (domain of dependence, global hyperbolicity). Relativity (causality, light cones, inertial observes, trapped surfaces, Penrose incompleteness theorem, black holes, gravitational waves).",,MATC63H3,APM426H1,Geometric Analysis and Relativity,, +MATD34H3,QUANT,,"Applications of complex analysis to geometry, physics and number theory. Fractional linear transformations and the Lorentz group. Solution to the Dirichlet problem by conformal mapping and the Poisson kernel. The Riemann mapping theorem. The prime number theorem.",,MATB43H3 and MATC34H3,(MATC65H3),Complex Variables II,, +MATD35H3,QUANT,,"This course provides an introduction and exposure to dynamical systems, with particular emphasis on low- dimensional systems such as interval maps and maps of the plane. Through these simple models, students will become acquainted with the mathematical theory of chaos and will explore strange attractors, fractal geometry and the different notions of entropy. The course will focus mainly on examples rather than proofs; students will be encouraged to explore dynamical systems by programming their simulations in Mathematica.",,[[MATA37H3 or MATA36H3] with a grade of B+ or higher] and MATB41H3 and MATC34H3,,Introduction to Discrete Dynamical Systems,, +MATD44H3,QUANT,,This course will focus on combinatorics. Topics will be selected by the instructor and will vary from year to year.,,[MATC32H3 or MATC44H3],,Topics in Combinatorics,, +MATD46H3,QUANT,,"This course provides an introduction to partial differential equations as they arise in physics, engineering, finance, optimization and geometry. It requires only a basic background in multivariable calculus and ODEs, and is therefore designed to be accessible to most students. It is also meant to introduce beautiful ideas and techniques which are part of most analysts' bag of tools.",,[[MATA37H3 or MATA36H]3 with grade of at least B+] and MATB41H3 and MATB44H3,,Partial Differential Equations,, +MATD50H3,QUANT,,"This course introduces students to combinatorial games, two- player (matrix) games, Nash equilibrium, cooperative games, and multi-player games. Possible additional topics include: repeated (stochastic) games, auctions, voting schemes and Arrow's paradox. Numerous examples will be analyzed in depth, to offer insight into the mathematical theory and its relation to real-life situations.",,MATB24H3 and [STAB52H3 or STAB53H3],MAT406H,Mathematical Introduction to Game Theory,, +MATD67H3,QUANT,,"Manifolds, vector fields, tangent spaces, vector bundles, differential forms, integration on manifolds.",,MATB43H3,MAT367H1,Differentiable Manifolds,, +MATD92H3,QUANT,,A significant project in any area of mathematics. The project may be undertaken individually or in small groups. This course is offered by arrangement with a mathematics faculty member. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken.,,[1.5 credits at the C-level in MAT courses] and [permission of the Supervisor of Studies] and [a CGPA of at least 3.0 or enrolment in a Mathematics Subject POSt],,Mathematics Project,,Enrolment procedures: the project supervisor's note of agreement must be presented to the Supervisor of Studies who will issue permission for registration. +MATD93H3,QUANT,,A significant project in any area of mathematics. The project may be undertaken individually or in small groups. This course is offered by arrangement with a mathematics faculty member. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken.,,[1.5 credits at the C-level in MAT courses] and [permission of the Supervisor of Studies] and [a CGPA of at least 3.0 or enrolment in a Mathematics Subject POSt],,Mathematics Project,,Enrolment procedures: the project supervisor's note of agreement must be presented to the Supervisor of Studies who will issue permission for registration. +MATD94H3,,,Independent study under direction of a faculty member.,,[1.5 credits at the C-level in MAT courses] and [permission of the Supervisor of Studies] and [a CGPA of at least 3.0 or enrolment in a Mathematics Subject POSt],,Readings in Mathematics,,Enrolment procedures: the project supervisor's note of agreement must be presented to the Supervisor of Studies who will issue permission for registration. +MATD95H3,,,Independent study under direction of a faculty member.,,[1.5 credits at the C-level in MAT courses] and permission of the Supervisor of Studies] and [a CPGA of at least 3.0 or enrolment in a Mathematics Subject POSt],,Readings in Mathematics,,Enrolment procedures: the project supervisor's note of agreement must be presented to the Supervisor of Studies who will issue permission for registration. +MBTB13H3,ART_LIT_LANG,University-Based Experience,"In this course students explore a variety of topics relating to songwriting. Advanced techniques relating to melody, lyric, and chord writing will be discussed and applied creatively to original songs. This course is taught at Centennial College.",,MUZA80H3 and MUZB40H3 and MUZB41H3 and MUZB80H3 and 1.0 credit in performance ensembles,,Songwriting 2,MBTB41H3 and MBTB50H3 and [[MBTC62H3 and MBTC63H3] or [MBTC70H3 and MBTC72H3]],Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology. +MBTB41H3,ART_LIT_LANG,University-Based Experience,This course will introduce students to live and studio sound by giving them hands-on experience on equipment in a professional recording studio. This course is taught at Centennial College.,,MUZA80H3 and MUZB40H3 and MUZB41H3 and MUZB80H3 and 1.0 credit in performance ensembles,,Introduction to Audio Engineering,MBTB13H3 and MBTB50H3 and [[MBTC62H3 and MBTC63H3] or [MBTC70H3 and MBTC72H3]],Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology. +MBTB50H3,ART_LIT_LANG,,"Students will develop a foundational knowledge of the music industry that will serve as a base for all other music business- related courses. Students will be introduced to the terminology, history, infrastructure, and careers of the music industry. Students will be introduced to fundamental areas of business management. Legal issues and the future of the music industry will also be discussed. All material will be taught from a uniquely Canadian perspective.",,MUZA80H3 and MUZB40H3 and MUZB41H3 and MUZB80H3 and 1.0 credit in performance ensembles,,Music Business Fundamentals,MBTB13H3 and MBTB50H3 and [[MBTC62H3 and MBTC63H3] or [MBTC70H3 and MBTC72H3]],Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology. +MBTC62H3,ART_LIT_LANG,University-Based Experience,"This course focuses specifically on sound mixing and editing – all stages of post-production. Students will learn how to work efficiently with a variety of different musical content. This course will help students with regard to software proficiency, and to develop a producer's ear. This course is taught at Centennial College.",,MUZA80H3 and MUZB80H3 and MUZB40H3 and MUZB41H3 and 1.0 credit in performance ensembles,,Advanced Sound Mixing and Editing,,Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology. +MBTC63H3,ART_LIT_LANG,University-Based Experience,"This course focuses on a variety of techniques for achieving the best possible sound quality during the sound recording process. Topics discussed include acoustics, microphone selection and placement, drum tuning, guitar and bass amplifiers, preamplifiers, and dynamics processors. This course will help prepare students for work as recording studio engineers, and to be self-sufficient when outputting recorded works as a composer/musician. This course is taught at Centennial College.",,MUZA80H3 and MUZB80H3 and MUZB40H3 and MUZB41H3 and 1.0 credit in performance ensembles,,Advanced Sound Production and Recording,,Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology. +MBTC70H3,ART_LIT_LANG,University-Based Experience,"This course will delve deeper into the overlapping areas of copyright, royalties, licensing, and publishing. These topics will be discussed from an agency perspective. Students will learn about the processes and activities that occur at publishing and licensing agencies in order to prepare for careers at such businesses. This course is taught at Centennial College.",,MUZA80H3 and MUZB80H3 and MUZB40H3 and MUZB41H3 and 1.0 credit in performance ensembles,,"Copyright, Royalties, Licensing, and Publishing",,Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology +MBTC72H3,ART_LIT_LANG,University-Based Experience,"Students will delve deeper into a variety of topics relating to working in the music industry. Topics include grant writing, bookkeeping, contracts, and the future of the music industry. Students will be taught how to be innovative, flexible team players in a rapidly changing industry. This course is taught at Centennial College.",,MUZA80H3 and MUZB80H3 and MUZB40H3 and MUZB41H3 and 1.0 credit in performance ensembles,,Advanced Music Business,,Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology. +MDSA10H3,HIS_PHIL_CUL,,"A survey of foundational critical approaches to media studies, which introduces students to transnational and intersectional perspectives on three core themes in Media Studies: arts, society, and institutions.",,,(MDSA01H3),Media Foundations,MDSA12H3, +MDSA11H3,HIS_PHIL_CUL,,"Introduces students to ethical issues in media. Students learn theoretical aspects of ethics and apply them to media industries and practices in the context of advertising, public relations, journalism, mass media entertainment, and online culture.",,,"(JOUC63H3), (MDSC43H3)",Media Ethics,, +MDSA12H3,ART_LIT_LANG,,"An introduction to diverse forms and genres of writing in Media Studies, such as blog entries, Twitter essays, other forms of social media, critical analyses of media texts, histories, and cultures, and more. Through engagement with published examples, students will identify various conventions and styles in Media Studies writing and develop and strengthen their own writing and editing skills.",,,ACMB01H3,Writing for Media Studies,, +MDSA13H3,HIS_PHIL_CUL,,"This course surveys the history of media and communication from the development of writing through the printing press, newspaper, telegraph, radio, film, television and internet. Students examine the complex interplay among changing media technologies and cultural, political and social changes, from the rise of a public sphere to the development of highly- mediated forms of self identity.",,MDSA10H3 or (MDSA01H3),(MDSA02H3),Media History,, +MDSB05H3,HIS_PHIL_CUL,,"This course examines the role of technological and cultural networks in mediating and facilitating the social, economic, and political processes of globalization. Key themes include imperialism, militarization, global political economy, activism, and emerging media technologies. Particular attention is paid to cultures of media production and reception outside of North America. Same as GASB05H3",,4.0 credits and MDSA01H3,GASB05H3,Media and Globalization,, +MDSB09H3,ART_LIT_LANG,,"Around the world, youth is understood as liminal phase in our lives. This course examines how language and new media technologies mark the lives of youth today. We consider social media, smartphones, images, romance, youth activism and the question of technological determinism. Examples drawn fromm a variety of contexts. Same as ANTB35H3",,"ANTA02H3 or MDSA01H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]",ANTB35H3,"Kids These Days: Youth, Language and Media",, +MDSB11H3,ART_LIT_LANG,,"A course that explores the media arts, with a focus on the creation and circulation of artistic and cultural works including photographs, films, games, gifs, memes and more. Through this exploration, students will develop critical skills to engage with these forms and genres, and investigate their capacity to produce meaning and shape our political, cultural, and aesthetic realities. This course will also introduce students to creation-based research (research-creation) methods.",,Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3],,Media and the Arts,, +MDSB12H3,ART_LIT_LANG,,"Visual Culture studies the construction of the visual in art, media, technology and everyday life. Students learn the tools of visual analysis; investigate how visual depictions such as YouTube and advertising structure and convey ideologies; and study the institutional, economic, political, social, and market factors in the making of contemporary visual culture.",,MDSA01H3 and MDSA02H3,(MDSB62H3) (NMEB20H3),Visual Culture,, +MDSB14H3,HIS_PHIL_CUL,,"What makes humans humans, animals animals, and machines machines? This course probes the leaky boundaries between these categories through an examination of various media drawn from science fiction, contemporary art, film, TV, and the critical work of media and posthumanist theorists on cyborgs, genetically-modified organisms, and other hybrid creatures.",,,"(IEEB01H3), (MDSB01H3)","Human, Animal, Machine",MDSB10H3 or (MDSA01H3), +MDSB16H3,ART_LIT_LANG,,"This course centres Indigenous critical perspectives on media studies to challenge the colonial foundations of the field. Through examination of Indigenous creative expression and critique, students will analyze exploitative approaches, reexamine relationships to land, and reorient connections with digital spaces to reimagine Indigenous digital world- making.",,[MDSA10H3 or (MDSA01H3)] or VPHA46H3,,Indigenous Media Studies,,"Priority enrolment is for MDS, VPH and JOU students" +MDSB17H3,ART_LIT_LANG,,"An exploration of critical approaches to the study of popular culture that surveys diverse forms and genres, including television, social media, film, photography, and more. Students will learn key concepts and theories with a focus on the significance of processes of production, representation, and consumption in mediating power relations and in shaping identity and community in local, national, and global contexts.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Popular Culture and Media Studies,, +MDSB20H3,HIS_PHIL_CUL,,"This course offers an introduction to the field of Science and Technology Studies (STS) as it contributes to the field of media studies. We will explore STS approaches to media technologies, the materiality of communication networks, media ecologies, boundary objects and more. This will ask students to consider the relationship between things like underground cables and colonialism, resource extraction (minerals for media technologies) and economic exploitation, plants and border violences, Artificial Intelligence and policing.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],(MDSB20H3),"Media, Science and Technology Studies",, +MDSB21H3,ART_LIT_LANG,,"This course introduces students to perspectives and frameworks to critically analyze complex media-society relations. How do we understand media in its textual, cultural technological, institutional forms as embedded in and shaped by various societal forces? How do modern media and communication technologies impact the ways in which societies are organized and social interactions take place? To engage with these questions, we will be closely studying contemporary media texts, practices and phenomena while drawing upon insights from various disciplines such as sociology, anthropology, art history and visual culture, and cultural studies.",,Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ],,Media and Society,, +MDSB22H3,ART_LIT_LANG,,"This course offers an introduction to the major topics, debates and issues in contemporary Feminist Media Studies – from digital coding and algorithms to film, television, music and social networks – as they interact with changing experiences, expressions and possibilities for gender, race, sexuality, ethnicity and economic power in their social and cultural contexts. We will explore questions such as: how do we study and understand representations of gender, race and sexuality in various media? Can algorithms reproduce or interrupt racism and sexism? What roles can media play in challenging racial, gendered, sexual and economic violence? How can media technologies normalize or transform relations of oppression and exploitation in specific social and cultural contexts?",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Feminist Media Studies,, +MDSB23H3,ART_LIT_LANG,,"Media not only represents war; it has also been deployed to advance the ends of war, and as part of antiwar struggles. This course critically examines the complex relationship between media and war, with focus on historicizing this relationship in transnational contexts.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Media and Militarization,, +MDSB25H3,ART_LIT_LANG,,"This course follows money in media industries. It introduces a variety of economic theories and methods to analyse cultural production and circulation, and the organization of media and communication companies. These approaches are used to better understand the political economy of digital platforms, apps, television, film, and games.",,MDSA01H3 and MDSA02H3,,Political Economy of Media,, +MDSB29H3,HIS_PHIL_CUL,,"This course introduces students to the key terms and concepts in new media studies as well as approaches to new media criticism. Students examine the myriad ways that new media contribute to an ongoing reformulation of the dynamics of contemporary society, including changing concepts of community, communication, identity, privacy, property, and the political.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],(MDSB61H3),Mapping New Media,, +MDSB30H3,ART_LIT_LANG,,"This course introduces students to the interdisciplinary and transnational field of media studies that helps us to understand the ways that social media and digital culture have impacted social, cultural, political, economic and ecological relations. Students will be introduced to Social Media and Digital Cultural studies of social movements, disinformation, changing labour conditions, algorithms, data, platform design, environmental impacts and more",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],"CCT331H5, (MDSB15H3)",Social Media and Digital Culture,, +MDSB31H3,ART_LIT_LANG,,"This course follows the money in the media industries. It introduces a variety of economic theories, histories, and methods to analyse the organization of media and communication companies. These approaches are used to better understand the critical political economy of media creation, distribution, marketing and monetization.",,Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ],,Media and Institutions,, +MDSB33H3,HIS_PHIL_CUL,,"This course introduces students to the study of advertising as social communication and provides a historical perspective on advertising's role in the emergence and perpetuation of ""consumer culture"". The course examines the strategies employed to promote the circulation of goods as well as the impact of advertising on the creation of new habits and expectations in everyday life.",,MDSA10H3 or SOCB58H3 or (MDSA01H3),(MDSB03H3),Media and Consumer Cultures,, +MDSB34H3,ART_LIT_LANG,,"This course provides an overview of various segments of the media industries, including music, film, television, social media entertainment, games, and digital advertising. Each segment’s history, business models, and labour practices will be examined taking a comparative media approach.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Comparative Media Industries,, +MDSB35H3,ART_LIT_LANG,,"The course explores the different types of platform labour around the world, including micro-work, gig work and social media platforms. It presents aspects of the platformization of labour, as algorithmic management, datafication, work conditions and platform infrastructures. The course also emphasizes workers' organization, platform cooperativism and platform prototypes.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Platform Labour,, +MDSC01H3,HIS_PHIL_CUL,,This is an advanced seminar for third and fourth year students on theories applied to the study of media.,,2.0 credits at the B-level in MDS courses,,Theories in Media Studies,, +MDSC02H3,SOCIAL_SCI,,"This course explores the centrality of mass media such as television, film, the Web, and mobile media in the formation of multiple identities and the role of media as focal points for various cultural and political contestations.",,2.0 credits at the B-level in MDS courses,,"Media, Identities and Politics",, +MDSC10H3,ART_LIT_LANG,,A seminar that explores historical and contemporary movements and issues in media art as well as creation-based research methods that integrate media studies inquiry and analysis through artistic and media-making practice and experimentation.,,"Enrollment in the Major program in Media and Communication Studies and 3.0 credits at MDS B-level and a minimum GPA of 3.3 in MDS A-, B- and C-level courses",,Advanced Studies in Media and the Arts,, +MDSC12H3,ART_LIT_LANG,,"This course builds on a foundation in Feminist Media Studies to engage the scholarly field of Trans-Feminist Queer (TFQ) Media Studies. While these three terms (trans, feminist and queer) can bring us to three separate areas of media studies, this course immerses students in scholarship on media and technology that is shaped by and committed to their shared critical, theoretical and political priorities. This scholarship centers transgender, feminist and queer knowledges and experiences to both understand and reimagine the ways that media and communication technologies contribute to racial, national, ethnic, gender, sexual and economic relations of power and possibility.",,[Enrolment in the Major program in Media and Communication Studies and 3.0 credits at the MDS B-level including MDSB22H3] or [Enrolment in the Minor in Media Studies and 2.0 credits at the MDS B-level including MDSB22H3],(MDSC02H3),Trans-Feminist Queer Media Studies,, +MDSC13H3,ART_LIT_LANG,,"This course explores the importance of sound and sound technology to visual media practices by considering how visuality in cinema, video, television, gaming, and new media art is organized and supported by aural techniques such as music, voice, architecture, and sound effects.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],(MDSB63H3),Popular Music and Media Cultures,, +MDSC20H3,ART_LIT_LANG,,"This seminar provides students with a theoretical toolkit to understand, analyze and evaluate media-society relations in the contemporary world. Students will, through reading and writing, become familiar with social theories that intersect with questions and issues related to media production, distribution and consumption. These theories range from historical materialism, culturalism, new materialism, network society, public sphere, feminist and queer studies, critical race theory, disability media theories, and so on. Special attention is paid to the mutually constitutive relations between digital media and contemporary societies and cultures.",,"Enrollment in the Major program in Media and Communication Studies, and 3.0 credits at MDS B-level and a minimum GPA of 3.3 in MDS A-, B- and C-level courses",,Advanced Studies in Media and Society,, +MDSC21H3,ART_LIT_LANG,,"Anthropology studies language and media in ways that show the impact of cultural context. This course introduces this approach and also considers the role of language and media with respect to intersecting themes: ritual, religion, gender, race/ethnicity, power, nationalism, and globalization. Class assignments deal with lectures, readings, and students' examples. Same as ANTC59H3",,[ANTB19H3 and ANTB20H3] or [MDSA01H3 and MDSB05H3],"(MDSB02H3), (ANTB21H3), ANTC59H3",Anthropology of Language and Media,, +MDSC22H3,HIS_PHIL_CUL,,"This course focuses on modern-day scandals, ranging from scandals of politicians, corporate CEOs, and celebrities to scandals involving ordinary people. It examines scandals as conditioned by technological, social, cultural, political, and economic forces and as a site where meanings of deviances of all sorts are negotiated and constructed. It also pays close attention to media and journalistic practices at the core of scandals.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],"SOC342H5, (MDSC35H3)",Understanding Scandals,, +MDSC23H3,,,"This course explores Black media production, representation, and consumption through the analytical lenses of Black diaspora studies, critical race studies, political economy of media and more. Themes include, Black media histories, radical traditions, creative expression, and social movements. Students will explore various forms of media production created and influenced by Black communities globally. The course readings and assignments examine the interconnection between the lived cultural, social, and historical experiences of the African diaspora and the media artefacts they create as producers, or they are referenced as subjects. Students will critically examine media artefacts (music, television shows, movies, social media content) through various lenses, including race and gender theory, rhetoric, visual communication, and digital media analysis.",,[Enrolment in the Major program in Media and Communication Studies - Media Studies stream and 3.0 credits at the MDS B-level] or [Enrolment in the Major program in Media and Communication Studies - Journalism stream and 3.0 credits at the MDS B-level/JOU B-level] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level],,Black Media Studies,, +MDSC24H3,HIS_PHIL_CUL,,"Selfies are an integral component of contemporary media culture and used to sell everyone from niche celebrities to the Prime Minister. This class examines the many meanings of selfies to trace their importance in contemporary media and digital cultures as well as their place within, and relationship to, historically and theoretically grounded concepts of photography and self portraiture.",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],(MDSC66H3),Selfies and Society,, +MDSC25H3,HIS_PHIL_CUL,,"Understanding the interests and goals of audiences is a key part of media production. This course introduces communication research methods including ratings, metrics, in-depth interviews, and focus groups. The focus of class discussion and research project is to use these methods to be able to understand the nature of audiences’ media use in the digital age. Same as JOUC80H3",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"JOUC80H3, (MDSC80H3)",Understanding Audiences in the Digital Age,, +MDSC26H3,ART_LIT_LANG,,"This course will examine Critical Disability Studies as it intersects with and informs Media Studies and Science & Technology Studies with a focus on the advancement of disability justice goals as they relate to topics that may include: interspecies assistances and co-operations, military/medical technologies that enhance ""ability,"" the possibilities and limitations of cyborg theory for a radical disabilities politics and media practice informed by the disability justice ethics of “nothing about us without us.”",,[Enrolment in the Major program in Media and Communication Studies and 3.0 credits at the MDS B-level including MDSB21H3] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level including MDSB21H3],,"Media, Technology & Disability Justice",, +MDSC27H3,ART_LIT_LANG,,"This course will examine ethical considerations for conducting digital research with a focus on privacy, consent, and security protections, especially as these issues affect underrepresented and minoritized communities.",,[Enrolment in the Major program in Media and Communication Studies and 3.0 credits at the MDS B-level] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level],,Digital Research Ethics,, +MDSC28H3,ART_LIT_LANG,,"The course explores critical data studies and considers critical understandings of artificial intelligence, with a focus on topics that may include algorithmic fairness, data infrastructures, AI colonialism, algorithmic resistance, and interplays between race/gender/sexuality issues and data/artificial intelligence.",,[3.0 credits at MDS B-level and enrolment in Major program in Media and Communication Studies - Media Studies stream] or [3.0 credits at MDS B-level/JOU B-level and enrolment in Major program in Media and Communication Studies - Journalism Studies stream] or [2.0 credits at the MDS B-level and enrolment in the Minor program in Media Studies],,Data and Artificial Intelligence,, +MDSC29H3,HIS_PHIL_CUL,,"The advancement of religious concepts and movements has consistently been facilitated - and contested - by contemporaneous media forms, and this course considers the role of media in the creation, development, and transmission of religion(s), as well as the challenges posed to modern religiosities in a digital era.",,2.0 credits at the B-level in MDS courses,,Media and Religion,, +MDSC30H3,ART_LIT_LANG,,"This seminar elaborates on foundational concepts and transformations in the media industries, such as conglomeration, platformization, datafication, and digitization. Taking a global perspective, emerging industry practices will be discussed, such as gig labour, digital advertising, and cryptocurrency.",,"Enrollment in Major program in Media and Communication Studies; and 3.0 credits at MDS B-level and a minimum GPA of 3.3 in MDS A-, B- and C-level courses",,Advanced Studies in Media and Institutions,, +MDSC31H3,ART_LIT_LANG,,"This course focuses on the process of platformization and how it impacts cultural production. It provides an introduction into the fields of software, platform, and app studies. The tenets of institutional platform power will be discussed, such as economics, infrastructure, and governance, as well as questions pertaining to platform labour, digital creativity, and democracy.",,[Enrolment in the Major program in Media and Communication Studies - Media Studies stream and 3.0 credits at the MDS B-level] or [Enrolment in the Major program in Media and Communication Studies - Journalism stream and 3.0 credits at the MDS B-level/JOU B-level] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level],,Platforms and Cultural Production,, +MDSC32H3,ART_LIT_LANG,,"The course introduces students to contemporary Chinese media. It explores the development of Chinese media in terms of production, regulation, distribution and audience practices, in order to understand the evolving relations between the state, the market, and society as manifested in China’s news and entertainment industries. The first half of the course focuses on how journalistic practices have been impacted by the changing political economy of Chinese media. The second half examines China’s celebrity culture, using it as a crucial lens to examine contemporary Chinese media.",,[Enrolment in the Major program in Media and Communication Studies and 3.0 credits at the MDS B-level] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level],,Chinese Media and Politics,, +MDSC33H3,ART_LIT_LANG,,"This course introduces students to academic perspectives on games and play. Students develop a critical understanding of a variety of topics and discussions related to games, gamification, and play in the physical and virtual world.",,[2.0 credits at the B-level in MDS courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],(MDSC65H3),Games and Play,, +MDSC34H3,HIS_PHIL_CUL,,"New media technologies enable more production and distribution of culturally, ethnically and linguistically diverse voices than ever before. Who produces these diverse voices and how accessible are these media? This course explores various types of diasporic media from century-old newspapers to young and hip news and magazine blogs, produced by and for members of a multicultural society. Same as JOUC60H3",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"JOUC60H3, (MDSC60H3)",Diasporic Media,, +MDSC37H3,ART_LIT_LANG,,"This course explores themes of labour in news media and new media. Topics include labour conditions for media workers across sectors; the labour impacts of media convergence; and the global distribution of media labour including content generation and management. The course is structured by intersectional analyses, studying how race and racism, class, gender, sex and sexism, sexuality, nationality, global location and citizenship status, Indigeneity and religion shape our experiences of media, journalism and labour. Same as JOUC62H3",,[ [MDSA10H3 or (MDSA01H3)] and MDSB05H3] or [JOUA01H3 and JOUA02H3]] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"JOUC62H3, (MDSC62H3)","Media, Journalism and Digital Labour",, +MDSC40H3,HIS_PHIL_CUL,,This course examines the complex and dynamic interplay of media and politics in contemporary China and the role of the government in this process. Same as GASC40H3,,Any 4.0 credits,GASC40H3,Chinese Media and Politics,, +MDSC41H3,HIS_PHIL_CUL,,"This course introduces students to media industries and commercial popular cultural forms in East Asia. Topics include reality TV, TV dramas, anime and manga, as well as issues such as regional cultural flows, global impact of Asian popular culture, and the localization of global media in East Asia. Same as GASC41H3",,Any 4.0 credits,GASC41H3,Media and Popular Culture in East Asia,, +MDSC53H3,ART_LIT_LANG,,"How do media work to circulate texts, images, and stories? Do media create unified publics? How is the communicative process of media culturally-distinct? This course examines how anthropologists have studied communication that occurs through traditional and new media. Ethnographic examples drawn from several contexts. Same as ANTC53H3",,[ANTB19H3 and ANTB20H3] or [MDSA01H3 and MDSB05H3],ANTC53H3,Anthropology of Media and Publics,, +MDSC61H3,HIS_PHIL_CUL,,"This course examines the history, organization and social role of a range of independent, progressive, and oppositional media practices. It emphasizes the ways alternative media practices, including the digital, are the product of and contribute to political movements and perspectives that challenge the status quo of mainstream consumerist ideologies.",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],,Alternative Media,, +MDSC64H3,ART_LIT_LANG,,Media are central to organizing cultural discourse about technology and the future. This course examines how the popularization of both real and imagined technologies in various media forms contribute to cultural attitudes that attend the introduction and social diffusion of new technologies.,,[2.0 credits at the B-level in MDS courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],,Media and Technology,, +MDSC85H3,ART_LIT_LANG,,"This course examines the synergistic relationship between the moving image and music and how these synergies result in processes of meaning-making and communication. Drawing on readings in cultural theory, cultural studies, musicology and film studies, the course considers examples from the feature film, the Hollywood musical, and the animated cartoon. Same as MUZC20H3/(VPMC85H3)",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in MUZ/(VPM) courses],MUZC20H3/(VPMC85H3),"Movies, Music and Meaning",,No Specialist knowledge in Musicology or Film Studies required. +MDSD10H3,,University-Based Experience,"This is a senior seminar that focuses on the connections among media and the arts. Students explore how artists use the potentials offered by various media forms, including digital media, to create new ways of expression. Topics vary.",,"3.0 credits in MDS courses, including 1.0 credit at the C-level",(MDSD01H3),Senior Seminar: Topics in Media and Arts,, +MDSD11H3,ART_LIT_LANG,University-Based Experience,"Focusing on independent research, this course requires students to demonstrate the necessary analysis, research and writing skills required for advanced study. This seminar course provides the essential research skills for graduate work and other research-intensive contexts. Students will design and undertake unique and independent research about the state of journalism. Same as JOUD11H3",,"ACMB02H3 and [an additional 4.5 credits in MDS or JOU courses, 1.0 credit of which must be at the C- level]",JOUD11H3,Senior Research Seminar in Media and Journalism,, +MDSD20H3,,University-Based Experience,"This is a senior seminar that focuses on media and society. It explores the social and political implications of media, including digital media, and how social forces shape their development. Topics vary.",,"3.0 credits in MDS courses, including 1.0 credit at the C-level",(MDSD02H3),Senior Seminar: Topics in Media and Society,, +MDSD30H3,ART_LIT_LANG,,"This is a senior seminar that closely examines media as institutions such as media regulatory bodies, firms, and organizations, as well as media in relation to other institutions in broader political economies. In this course, students will have the opportunity to interrogate key theoretical concepts developed in critical media industry studies and apply them to real-life cases through research and writing.",,Enrollment in Major program in Media and Communication Studies and 2.5 credits at MDS C-level,,Senior Seminar: Topics in Media and Institutions,, +MGAB01H3,SOCIAL_SCI,,"Together with MGAB02H3, this course provides a rigorous introduction to accounting techniques and to the principles and concepts underlying these techniques. The preparation of financial statements is addressed from the point of view of both preparers and users of financial information.",,,"VPAB13H3, MGT120H5, RSM219H1",Introductory Financial Accounting I,, +MGAB02H3,SOCIAL_SCI,,"This course is a continuation of MGAB01H3. Students are encouraged to take it immediately after completing MGAB01H3. Technical topics include the reporting and interpretation of debt and equity issues, owners' equity, cash flow statements and analysis. Through cases, choices of treatment and disclosure are discussed, and the development of professional judgment is encouraged.",,MGAB01H3,"VPAB13H3, MGT220H5, RSM220H1",Introductory Financial Accounting II,, +MGAB03H3,SOCIAL_SCI,,"An introduction to management and cost accounting with an emphasis on the use of accounting information in managerial decision-making. Topics include patterns of cost behaviour, transfer pricing, budgeting and control systems.",,[[MGEA02H3 and MGEA06H3] or [MGEA01H3 and MGEA05H3]] and MGAB01H3,"VPAB13H3, MGT223H5, MGT323H5, RSM222H1, RSM322H1",Introductory Management Accounting,, +MGAC01H3,SOCIAL_SCI,,"Together with MGAC02H3, this course examines financial reporting in Canada. Through case analysis and the technical material covered, students will build on their knowledge covered in MGAB01H3, MGAB02H3 and, to a lesser extent, MGAB03H3.",,MGAB03H3 and MGAB02H3 and [MGTA38H3 or (MGTA35H3) or (MGTA36H3)],"MGT224H5, MGT322H5, RSM221H1, RSM320H1",Intermediate Financial Accounting I,, +MGAC02H3,SOCIAL_SCI,,"This course is a continuation of MGAC01H3. Students will further develop their case writing, technical skills and professional judgment through the study of several complex topics. Topics include leases, bonds, pensions, future taxes and earnings per share.",,MGAC01H3,"MGT224H5, MGT322H5, RSM221H1, RSM320H1",Intermediate Financial Accounting II,, +MGAC03H3,SOCIAL_SCI,,"An examination of various cost accumulation and performance evaluation systems and decision-making tools. Topics include job and process costing, flexible budgeting, and variance analysis and cost allocations.",,MGAB03H3,"MGT323H5, RSM322H1",Intermediate Management Accounting,, +MGAC10H3,SOCIAL_SCI,,"An introduction to the principles and practice of auditing. The course is designed to provide students with a foundation in the theoretical and practical approaches to auditing by emphasizing auditing theory and concepts, with some discussion of audit procedures and the legal and professional responsibilities of the auditor.",,MGAC01H3,,Auditing,, +MGAC50H3,SOCIAL_SCI,,"First of two courses in Canadian income taxation. It provides the student with detailed instruction in income taxation as it applies to individuals and small unincorporated businesses. Current tax laws are applied to practical problems and cases. Covers employment income, business and property income, and computation of tax for individuals.",MGAC01H3 is highly recommended.,Completion of at least 10.0 credits including MGAB01H3 and MGAB02H3 and MGAB03H3.,"MGT423H5, RSM324H1",Canadian Income Taxation I,, +MGAC70H3,SOCIAL_SCI,University-Based Experience,"This course is intended to help students understand the information systems that are a critical component of modern organizations. The course covers the technology, design, and application of data processing and information systems, with emphasis on managerial judgment and decision-making. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAB03H3 and MGHB02H3,"MGT371H5, RSM327H1",Management Information Systems,, +MGAC80H3,SOCIAL_SCI,,"This course covers special topics in the area of accounting. The specific topics will vary from year to year, but could include topics in: data analytics for accounting profession, accounting for finance professionals, forensic accounting, bankruptcy management and integrated reporting, etc. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,MGAB02H3 and MGAB03H3,,Special Topics in Accounting,, +MGAD20H3,SOCIAL_SCI,,"An extension of the study of areas covered in the introductory audit course and will include the application of risk and materiality to more advanced topic areas such as pension and comprehensive auditing. Other topics include special reports, future oriented financial information and prospectuses. This will include a review of current developments and literature.",,MGAC10H3,,Advanced Auditing,, +MGAD40H3,SOCIAL_SCI,Partnership-Based Experience,"An examination of how organizations support the implementation of strategy through the design of planning processes, performance evaluation, reward systems and HR policies, as well as corporate culture. Class discussion will be based on case studies that illustrate a variety of system designs in manufacturing, service, financial, marketing and professional organizations, including international contexts. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAB03H3 and MGHB02H3,"MGT428H5, RSM422H1",Management Control Systems,, +MGAD45H3,SOCIAL_SCI,University-Based Experience,"This course examines issues in Corporate Governance in today’s business environment. Through case studies of corporate “ethical scandals”, students will consider workplace ethical risks, opportunities and legal issues. Students will also examine professional accounting in the public interest as well as accounting and planning for sustainability. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAC01H3 and MGSC30H3,,Corporate Governance and Strategy - CPA Perspective,, +MGAD50H3,SOCIAL_SCI,,An in-depth study of advanced financial accounting topics: long-term inter-corporate investment; consolidation (including advanced measurements and reporting issues); foreign currency translation and consolidation of foreign subsidiaries and non-profit and public sector accounting. This course is critical to the education of students preparing for a career in accounting.,,MGAC01H3 and MGAC02H3,,Advanced Financial Accounting,, +MGAD60H3,SOCIAL_SCI,,"Through case analysis and literature review, this seminar addresses a variety of controversial reporting issues, impression management, the politics of standard setting and the institutional context. Topics may include: international harmonization, special purpose entities, whistle-blowing, the environment and social responsibility and professional education and career issues.",,MGAC01H3 and MGAC02H3,,Controversial Issues in Accounting,, +MGAD65H3,SOCIAL_SCI,,"This course is designed to give the student an understanding of the more complex issues of federal income taxation, by applying current tax law to practical problems and cases. Topics include: computation of corporate taxes, corporate distributions, corporate re-organizations, partnerships, trusts, and individual and corporate tax planning.",,MGAC50H3,"MGT429H5, RSM424H1",Canadian Income Taxation II,, +MGAD70H3,HIS_PHIL_CUL,,"A capstone case course integrating critical thinking, problem solving, professional judgement and ethics. Business simulations will strategically include the specific technical competency areas and the enabling skills of the CPA Competency Map. This course should be taken as part of the last 5.0 credits of the Specialist/Specialist Co-op in Management and Accounting.",,MGAC02H3 and MGAC03H3 and MGAC10H3 and MGAC50H3,,Advanced Accounting Case Analysis: A Capstone Course,, +MGAD80H3,SOCIAL_SCI,,"An overview of international accounting and financial reporting practices with a focus on accounting issues related to international business activities and foreign operations. Understanding the framework used in establishing international accounting standards, preparation and translation of financial statements, transfer pricing and taxation, internal and external auditing issues and discussion of the role of accounting and performance measurement for multinational corporations.",,MGAB02H3 and MGAB03H3,,Accounting Issues in International Business,, +MGAD85H3,SOCIAL_SCI,,"This course covers special topics in the area of accounting. The special topics will vary from year to year but could include topics in bankruptcies, forensic accounting, controversial issues in financial reporting, accounting principles for non-accounting students, accounting for international business, accounting for climate change, ESG accounting and Accounting for general financial literacy. The specific topics to be covered will be set out in the syllabus for the course for the term in which the course is offered.",,MGAB02H3 and MGAB03H3,,Advanced Special Topics in Accounting,, +MGEA01H3,SOCIAL_SCI,,"Economic theory of the firm and the consumer. Although calculus is not used in this course, algebra and graphs are used extensively to illuminate economic analysis.",,,"MGEA02H3, ECO100Y1, ECO105Y1, ECO101H5",Introduction to Microeconomics,,This course is not for students interested in applying to the Specialists in Management and Economics leading to the B.B.A or for the Major program in Economics. +MGEA02H3,SOCIAL_SCI,,"Economic theory of the firm and the consumer. Calculus, algebra and graphs are used extensively. The course is oriented towards students interested in the Specialist Program in Management, the Specialist program in Economics for Management Studies, and the Major Program in Economics for Management Studies.",Completion of Grade 12 Calculus is strongly recommended. It is also recommended that MATA34H3 (or equivalents) be taken simultaneously with MGEA02H3 and MGEA06H3.,,"MGEA01H3, ECO100Y1, ECO105Y1, ECO101H5",Introduction to Microeconomics: A Mathematical Approach,, +MGEA05H3,SOCIAL_SCI,,"Topics include output, employment, prices, interest rates and exchange rates. Although calculus is not used in this course, algebra and graphs are used extensively to illuminate economic analysis.",,,"MGEA06H3, ECO100Y1, ECO105Y1, ECO102H5",Introduction to Macroeconomics,,This course is not for students interested in applying to the Specialists in Management and Economics leading to the B.B.A or for the Major program in Economics. +MGEA06H3,SOCIAL_SCI,,"Study of the determinants of output, employment, prices, interest rates and exchange rates. Calculus, algebra and graphs are used extensively. The course is oriented towards students interested in the Specialist Program in Management, the Specialist program in Economics for Management Studies, and the Major Program in Economics for Management Studies.",Completion of Grade 12 Calculus is strongly recommended. It is also recommended that MATA34H3 (or equivalents) be taken simultaneously with MGEA02H3 and MGEA06H3.,,"MGEA05H3, ECO100Y1, ECO105Y1, ECO102H5",Introduction to Macroeconomics: A Mathematical Approach,, +MGEB01H3,SOCIAL_SCI,,"This course covers the intermediate level development of the principles of microeconomic theory. The emphasis is on static partial equilibrium analysis. Topics covered include: consumer theory, theory of production, theory of the firm, perfect competition and monopoly. This course does not qualify as a credit for either the Major in Economics for Management Studies or the B.B.A.",,[MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],"MGEB02H3, ECO200Y1, ECO204Y1, ECO206Y1",Price Theory,, +MGEB02H3,SOCIAL_SCI,,Intermediate level development of the principles of microeconomic theory. The course will cover the same topics as MGEB01H3 but will employ techniques involving calculus so as to make the theory clearer to students. Enrolment is limited to students registered in programs requiring this course.,,[MGEA02H3 and MGEA06H3 and MATA34H3] or [MGEA02H3 and MGEA06H3 and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]].,"MGEB01H3, ECO200Y1, ECO204Y1, ECO206Y1",Price Theory: A Mathematical Approach,,"1. Students who have completed [MGEA01H3 and MGEA05H3 and MATA34H3] or [[MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3]] and [[MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]] may be admitted with the permission of the Academic Director, Economics. 2. MGEB01H3 is not equivalent to MGEB02H3" +MGEB05H3,SOCIAL_SCI,,"Intermediate level development of the principles of macroeconomic theory. Topics covered include: theory of output, employment and the price level. This course does not qualify as a credit for either the Major in Economics for Management Studies or for the B.B.A.",,[MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],"MGEB06H3, ECO202Y1, ECO208Y1, ECO209Y1",Macroeconomic Theory and Policy,, +MGEB06H3,SOCIAL_SCI,,Intermediate level development of the principles of macroeconomic theory. The course will cover the same topics as MGEB05H3 but will employ techniques involving calculus so as to make the theory clearer to students. Enrolment is limited to students registered in programs requiring this course.,,[MGEA02H3 and MGEA06H3 and MATA34H3] or [MGEA02H3 and MGEA06H3 and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]].,"MGEB05H3, ECO202Y1, ECO208Y1, ECO209Y1",Macroeconomic Theory and Policy: A Mathematical Approach,,"Students who have completed: [MGEA01H3 and MGEA05H3 and MATA34H3] or [[MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]] may be admitted with the permission of the Academic Director, Economics." +MGEB11H3,QUANT,,"An introduction to probability and statistics as used in economic analysis. Topics to be covered include: descriptive statistics, probability, special probability distributions, sampling theory, confidence intervals. Enrolment is limited to students registered in programs requiring this course.",,[MGEA02H3 and MGEA06H3 and MATA34H3] or [MGEA02H3 and MGEA06H3 and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]].,"ANTC35H3, ECO220Y1, ECO227Y1, PSYB07H3, (SOCB06H3), STAB22H3, STAB23H3, STAB52H3, STAB53H3, STAB57H3, STA107H5, STA237H1, STA247H1, STA246H5, STA256H5, STA257H1",Quantitative Methods in Economics I,,"Students who have completed: [MGEA01H3 and MGEA05H3 and MATA34H3] or [[MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]] may be admitted with the permission of the Academic Director, Economics." +MGEB12H3,QUANT,,"A second course in probability and statistics as used in economic analysis. Topics to be covered include: confidence intervals, hypothesis testing, simple and multiple regression. Enrolment is limited to students registered in programs requiring this course.",,MGEB11H3 or STAB57H3,"ECO220Y1, ECO227Y1, STAB27H3, STAC67H3",Quantitative Methods in Economics II,,1. STAB27H3 is not equivalent to MGEB12H3. 2. Students are expected to have completed MGEA02H3 and MGEA06H3 (or equivalent) before taking MGEB12H3. +MGEB31H3,SOCIAL_SCI,,A study of decision-making by governments from an economic perspective. The course begins by examining various rationales for public involvement in the economy and then examines a number of theories explaining the way decisions are actually made in the public sector. The course concludes with a number of case studies of Canadian policy making.,,[MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],,Public Decision Making,, +MGEB32H3,SOCIAL_SCI,,"Cost-Benefit Analysis (CBA) is a key policy-evaluation tool developed by economists to assess government policy alternatives and provide advice to governments. In this course, we learn the key assumption behind and techniques used by CBA and how to apply these methods in practice.",,[MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],,Economic Aspects of Public Policy,MGEB01H3 or MGEB02H3, +MGEC02H3,SOCIAL_SCI,,"Continuing development of the principles of microeconomic theory. This course will build on the theory developed in MGEB02H3. Topics will be chosen from a list which includes: monopoly, price discrimination, product differentiation, oligopoly, game theory, general equilibrium analysis, externalities and public goods. Enrolment is limited to students registered in programs requiring this course.",,MGEB02H3,"MGEC92H3, ECO200Y1, ECO2041Y, ECO206Y1",Topics in Price Theory,, +MGEC06H3,SOCIAL_SCI,,"Continuing development of the principles of macroeconomic theory. The course will build on the theory developed in MGEB06H3. Topics will be chosen from a list including consumption theory, investment, exchange rates, rational expectations, inflation, neo-Keynesian economics, monetary and fiscal policy. Enrolment is limited to students registered in programs requiring this course.",,MGEB06H3,"ECO202Y1, ECO208Y1, ECO209Y1",Topics in Macroeconomic Theory,, +MGEC08H3,SOCIAL_SCI,,"This course covers key concepts and theories in both microeconomics and macroeconomics that are relevant to businesses and investors. Topics to be covered include the market structures; the economics of regulations; the foreign exchange market; economic growth; and policy mix under different macro settings. Aside from enhancing students' understanding of economic analyses, this course also helps students prepare for the economics components in all levels of the CFA exams.",,MGEB02H3 and MGEB06H3,"MGEC41H3, MGEC92H3, MGEC93H3, ECO200Y1, ECO204Y1, ECO206Y1, ECO310H1, ECO364H1, ECO365H1",Economics of Markets and Financial Decision Making,, +MGEC11H3,QUANT,,"This course builds on the introductory regression analysis learned in MGEB12H3 to develop the knowledge and skills necessary to obtain and analyze cross-sectional economic data. Topics includes, multiple regression, Instrumental variables, panel data, maximum likelihood estimation, probit regression & logit regression. “ R”, a standard software for econometric and statistical analysis, will be used throughout the course. By the end of the course students will learn how to estimate economic relations in different settings, and critically assess statistical results.",,MGEB12H3,"ECO374H5, ECM375H5, STA302H; MGEC11H3 may not be taken after STAC67H3.",Introduction to Regression Analysis,, +MGEC20H3,SOCIAL_SCI,,"An examination of the role and importance of communications media in the economy. Topics to be covered include: the challenges media pose for conventional economic theory, historical and contemporary issues in media development, and basic media-research techniques. The course is research-oriented, involving empirical assignments and a research essay.",,MGEB01H3 or MGEB02H3,,Economics of the Media,, +MGEC22H3,SOCIAL_SCI,,Intermediate level development of the principles of behavioural economics. Behavioural economics aims to improve policy and economic models by incorporating psychology and cognitive science into economics. The course will rely heavily on the principles of microeconomic analysis.,Grade B or higher in MGEB02H3. MGEC02H3 and the basics of game theory would be helpful.,MGEB02H3,,Behavioural Economics,,Priority will be given to students who have completed MGEC02H3. +MGEC25H3,SOCIAL_SCI,,"This course covers special topics in an area of Economics. The specific topics will vary from year to year. It will provide students with an opportunity to explore a range of topics through the application of different economic methodologies and analyses. Also, it will highlight current faculty research expertise, and will also allow faculty to present material not covered in our existing course offerings in greater detail.",,MGEB02H3 and MGEB06H3,,Special Topics in Economics,, +MGEC26H3,SOCIAL_SCI,,This course covers special topics an area of economics. The specific topics will vary from year to year. It will provide students with an opportunity to explore a range of topics through the application of different economic methodologies and analyses. It will also highlight current faculty research expertise and provide an opportunity to present material not covered in our existing course offerings in greater detail.,,MGEB02H3 and MGEB06H3,,Special Topics in Economics,, +MGEC31H3,SOCIAL_SCI,,"A course concerned with the revenue side of government finance. In particular, the course deals with existing tax structures, in Canada and elsewhere, and with criteria for tax design.",,MGEB01H3 or MGEB02H3,"MGEC91H3, ECO336H1, ECO337H1",Economics of the Public Sector: Taxation,, +MGEC32H3,SOCIAL_SCI,,"A study of resource allocation in relation to the public sector, with emphasis on decision criteria for public expenditures. The distinction between public and private goods is central to the course.",,MGEB01H3 or MGEB02H3,"MGEC91H3, ECO336H1, ECO337H1",Economics of the Public Sector: Expenditures,, +MGEC34H3,SOCIAL_SCI,,"A study of the economic principles underlying health care and health insurance. This course is a survey of some of the major topics in health economics. Some of the topics that will be covered will include the economic determinants of health, the market for medical care, the market for health insurance, and health and safety regulation.",,MGEB02H3,ECO369H1,Economics of Health Care,, +MGEC37H3,SOCIAL_SCI,,"A study of laws and legal institutions from an economic perspective. It includes the development of a positive theory of the law and suggests that laws frequently evolve so as to maximize economic efficiency. The efficiency of various legal principles is also examined. Topics covered are drawn from: externalities, property rights, contracts, torts, product liability and consumer protection, and procedure.",,MGEB01H3 or MGEB02H3,ECO320H1,Law and Economics,, +MGEC38H3,SOCIAL_SCI,,"This course provides a comprehensive study of selected Canadian public policies from an economic point of view. Topics may include environmental policy, competition policy, inflation and monetary policy, trade policy and others. We will study Canadian institutions, decision-making mechanisms, implementation procedures, policy rationales, and related issues.",,[MGEB01H3 or MGEB02H3] and [MGEB05H3 or MGEB06H3],"ECO336H1, ECO337H1",The Economics of Canadian Public Policy,, +MGEC40H3,SOCIAL_SCI,,"This course examines the economics of the internal organization of the firm. Emphasis will be on economic relationships between various parties involved in running a business: managers, shareholders, workers, banks, and government. Topics include the role of organizations in market economies, contractual theory, risk sharing, property rights, corporate financial structure and vertical integration.",,MGEB01H3 or MGEB02H3,"ECO310H1, ECO370Y5, ECO380H5",Economics of Organization and Management,, +MGEC41H3,SOCIAL_SCI,,"This course covers the economics of the firm in a market environment. The aim is to study business behaviour and market performance as influenced by concentration, entry barriers, product differentiation, diversification, research and development and international trade. There will be some use of calculus in this course.",,MGEB02H3,"MGEC08H3, MGEC92H3, ECO310H1",Industrial Organization,, +MGEC45H3,SOCIAL_SCI,,"This course is intended to apply concepts of analytic management and data science to the sports world. Emphasis on model building and application of models studied previously, including economics and econometrics, is intended to deepen the students’ ability to apply these skills in other areas as well. The course will address papers at the research frontier, since those papers are an opportunity to learn about the latest thinking. The papers will both be interested in sports intrinsically, and interested in sports as a way to assess other theories that are a part of business education.",,MGEB12H3,RSM314H3,"Sports Data, Analysis and Economics",, +MGEC51H3,SOCIAL_SCI,,Applications of the tools of microeconomics to various labour market issues. The topics covered will include: labour supply; labour demand; equilibrium in competitive and non- competitive markets; non-market approaches to the labour market; unemployment. Policy applications will include: income maintenance programs; minimum wages; and unemployment.,,MGEB02H3,ECO339H1,Labour Economics I,, +MGEC54H3,SOCIAL_SCI,,"This course studies the economic aspects of how individuals and firms make decisions: about education and on-the-job training. Economics and the business world consider education and training as investments. In this class, students will learn how to model these investments, and how to create good policies to encourage individuals and firms to make wise investment decisions.",,MGEB01H3 or MGEB02H3,"ECO338H1, ECO412Y5",Economics of Training and Education,, +MGEC58H3,SOCIAL_SCI,,"This course focuses on the various methods that firms and managers use to pay, recruit and dismiss employees. Topics covered may include: training decisions, deferred compensation, variable pay, promotion theory, incentives for teams and outsourcing.",,MGEB02H3,"(MGEC52H3), ECO381H5",Economics of Human Resource Management,, +MGEC61H3,SOCIAL_SCI,,"Macroeconomic theories of the balance of payments and the exchange rate in a small open economy. Recent theories of exchange-rate determination in a world of floating exchange rates. The international monetary system: fixed ""versus"" flexible exchange rates, international capital movements, and their implications for monetary policy.",,MGEB05H3 or MGEB06H3,"ECO230Y1, ECO365H1",International Economics: Finance,, +MGEC62H3,SOCIAL_SCI,,"An outline of the theories of international trade that explain why countries trade with each other, and the welfare implications of this trade, as well as empirical tests of these theories. The determination and effects of trade policy instruments (tariffs, quotas, non-tariff barriers) and current policy issues are also discussed.",,MGEB02H3 or [MGEB01H3 and MATA34H3] or [MGEB01H3 and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]],"MGEC93H3, ECO230Y1, ECO364H1",International Economics: Trade Theory,, +MGEC65H3,SOCIAL_SCI,,"This course provides an Economic framework to understand issues around the environment and climate change. The economic toolkit to understand these issues includes externalities, tradeoffs, cost-benefit analysis, marginal analysis, and dynamic accounting. The course will cover optimal policy approaches to pollution, carbon emissions, and resource extraction. These include carbon taxes, subsidies, cap-and-trade systems, bans, and quotas. Both theoretical and empirical approaches in Economics will be discussed.",,MGEB02H3 and MGEB12H3,,Economics of the Environment and Climate Change,, +MGEC71H3,SOCIAL_SCI,,"There will be a focus on basic economic theory underlying financial intermediation and its importance to growth in the overall economy. The interaction between domestic and global financial markets, the private sector, and government will be considered.",,MGEB05H3 or MGEB06H3,ECO349H1,Money and Banking,, +MGEC72H3,SOCIAL_SCI,,"This course introduces students to the theoretical underpinnings of financial economics. Topics covered include: intertemporal choice, expected utility, the CAPM, Arbitrage Pricing, State Prices (Arrow-Debreu security), market efficiency, the term structure of interest rates, and option pricing models. Key empirical tests are also reviewed.",,MGEB02H3 and MGEB06H3 and MGEB12H3,ECO358H1,Financial Economics,, +MGEC81H3,SOCIAL_SCI,,"An introduction to the processes of growth and development in less developed countries and regions. Topics include economic growth, income distribution and inequality, poverty, health, education, population growth, rural and urban issues, and risk in a low-income environment.",,MGEB01H3 or MGEB02H3,ECO324H1,Economic Development,, +MGEC82H3,SOCIAL_SCI,,"This course will use the tools of economics to understand international aspects of economic development policy. Development policy will focus on understanding the engagement of developing countries in the global economy, including the benefits and challenges of that engagement. Topics to be discussed will include globalization and inequality, foreign aid, multinational corporations, foreign direct investment, productivity, regional economic integration, and the environment.",,MGEB01H3 or MGEB02H3,"ECO324H1, ECO362H5",International Aspects of Development Policy,, +MGEC91H3,SOCIAL_SCI,,"This course provides an overview of what governments can do to benefit society, as suggested by economic theory and empirical research. It surveys what governments actually do, especially Canadian governments. Efficient methods of taxation and methods of controlling government are also briefly covered.",,MGEB01H3 or MGEB02H3,"MGEC31H3, MGEC32H3, ECO336Y5, ECO336H1, ECO337H1",Economics and Government,,"This course may be applied to the C-level course requirements of the Minor Program in Economics for Management Studies. It may not, however, be used to meet the requirements of any program that leads to a B.B.A. or of the Major Program in Economics for Management Studies." +MGEC92H3,SOCIAL_SCI,,"The course builds on MGEB01H3 or MGEB02H3 by exposing students to the economics of market structure and pricing. How and why certain market structures, such as monopoly, oligopoly, perfect competition, etc., arise. Attention will also be given to how market structure, firm size and performance and pricing relate. Role of government will be discussed.",,MGEB01H3 or MGEB02H3,"MGEC02H3, MGEC08H3, MGEC41H3, ECO200Y1, ECO204Y1, ECO206Y1, ECO310H1, ECO310Y5",Economics of Markets and Pricing,,"This course may be applied to the C-level course requirements of the Minor Program in Economics for Management Studies. It may not, however, be used to meet the requirements of any program that leads to a B.B.A. or of the Major Program in Economics for Management Studies." +MGEC93H3,SOCIAL_SCI,,"This course provides general understanding on issues related to open economy and studies theories in international trade and international finance. Topics include why countries trade, implications of various trade policies, theories of exchange rate determination, policy implications of different exchange rate regimes and other related topics.",,[MGEB01H3 or MGEB02H3] and [MGEB05H3 or MGEB06H3],"MGEC08H3, MGEC62H3, ECO230Y1, ECO364H1, ECO365H1",International Economics,,"This course may be applied to the C-level course requirements of the Minor Program in Economics for Management Studies. It may not, however, be used to meet the requirements of any program that leads to a B.B.A. or of the Major Program in Economics for Management Studies." +MGED02H3,SOCIAL_SCI,,"An upper-level extension of the ideas studied in MGEC02H3. The course offers a more sophisticated treatment of such topics as equilibrium, welfare economics, risk and uncertainty, strategic and repeated interactions, agency problems, and screening and signalling problems. Enrolment is limited to students registered in programs requiring this course.",,MGEB12H3 and MGEC02H3,ECO326H1,Advanced Microeconomic Theory,, +MGED06H3,SOCIAL_SCI,,"This course will review recent developments in macroeconomics, including new classical and new Keynesian theories of inflation, unemployment and business cycles. Enrolment is limited to students registered in programs requiring this course.",,MGEB12H3 and MGEC06H3,ECO325H1,Advanced Macroeconomic Theory,, +MGED11H3,QUANT,,"This is an advanced course building on MGEC11H3. Students will master regression theory, hypothesis and diagnostic tests, and assessment of econometric results. Treatment of special statistical problems will be discussed. Intensive computer-based assignments will provide experience in estimating and interpreting regressions, preparing students for MGED50H3. Enrolment is limited to students registered in programs requiring this course.",,MGEB02H3 and MGEB06H3 and MGEB11H3 and MGEB12H3 and MGEC11H3,ECO475H1,Theory and Practice of Regression Analysis,, +MGED25H3,SOCIAL_SCI,,"This course covers more advanced special topics an area of economics. That is, the topics covered will be more advanced than those covered by a C-level special topics course and thus have at least one specified C-level course as a listed prerequisite. The specific topics will vary from year to year. This course will provide students with an opportunity to explore a range of topics through the application of different economic methodologies and analyses. It will highlight current faculty research expertise and provide an opportunity to present material not covered in our existing course offerings in greater detail.",,At least 0.5 credit at the C-level in MGE courses,,Advanced Special Topics in Economics,, +MGED26H3,SOCIAL_SCI,,"This course covers more advanced special topics an area of economics. That is, the topics covered will be more advanced than those covered by a C-level special topics course and thus have at least one specified C-level course as a listed prerequisite. The specific topics will vary from year to year. This course will provide students with an opportunity to explore a range of topics through the application of different economic methodologies and analyses. It will highlight current faculty research expertise and provide an opportunity to present material not covered in our existing course offerings in greater detail.",,At least 0.5 credit at the C-level in MGE courses,,Advanced Special Topics in Economics,, +MGED43H3,SOCIAL_SCI,,"Explores the issue of outsourcing, and broadly defines which activities should a firm do ""in-house"" and which should it take outside? Using a combination of cases and economic analysis, it develops a framework for determining the ""best"" firm organization.",,MGEB02H3 and [MGEC40H3 or MGEC41H3],RSM481H1,Organization Strategies,, +MGED50H3,SOCIAL_SCI,University-Based Experience,"This course introduces to students the techniques used by economists to define research problems and to do research. Students will choose a research problem, write a paper on their topic and present their ongoing work to the class.",,MGEB02H3 and MGEC02H3 and MGEB06H3 and MGEC06H3 and MGEB11H3 and MGEB12H3 and MGEC11H3. This course should be taken among the last 5.0 credits of a twenty-credit degree.,ECO499H1,Workshop in Economic Research,MGED11H3, +MGED63H3,SOCIAL_SCI,,"This course studies the causes, consequences and policy implications of recent financial crises. It studies key theoretical concepts of international finance such as exchange-rate regimes, currency boards, common currency, banking and currency crises. The course will describe and analyze several major episodes of financial crises, such as East Asia, Mexico and Russia in the 1990s, Argentina in the early 2000s, the U.S. and Greece in the late 2000s, and others in recent years.",,MGEC61H3,,"Financial Crises: Causes, Consequences and Policy Implications",, +MGED70H3,QUANT,,"Financial econometrics applies statistical techniques to analyze the financial data in order to solve problems in Finance. In doing so, this course will focus on four major topics: Forecasting returns, Modeling Univariate and Multivariate Volatility, High Frequency and market microstructure, Simulation Methods and the application to risk management.",,MGEC11H3 and [MGEC72H3 or MGFC10H3],ECO462H`,Financial Econometrics,, +MGED90H3,,,These courses will normally be made available only to upper- level students whose interests are not covered by other courses and whose performance in Economics courses has been well above average. Not all faculty will be available for these courses in any single session.,,,,Supervised Reading,,"Students must obtain consent from the Economic, Academic Director, the supervising instructor and the Department of Management before registering for this course." +MGED91H3,,,These courses will normally be made available only to upper- level students whose interests are not covered by other courses and whose performance in Economics courses has been well above average. Not all faculty will be available for these courses in any single session.,,,,Supervised Reading,,"Students must obtain consent from the Economic, Academic Director, the supervising instructor and the Department of Management before registering for this course." +MGFB10H3,SOCIAL_SCI,,"An introduction to basic concepts and analytical tools in financial management. Building on the fundamental concept of time value of money, the course will examine stock and bond valuations and capital budgeting under certainty. Also covered are risk-return trade-off, financial planning and forecasting, and long-term financing decisions.",,MGEB11H3 and MGAB01H3 and [MGTA38H3 or (MGTA35H3) or (MGTA36H3)],"MGT338H5, RSM332H1, MGM230H5, RSM230H1",Principles of Finance,, +MGFC10H3,SOCIAL_SCI,,"This course covers mainstream finance topics. Besides a deeper examination of certain topics already covered in MGFB10H3, the course will investigate additional subjects such as working capital management, capital budgeting under uncertainty, cost of capital, capital structure, dividend policy, leasing, mergers and acquisitions, and international financial management.",,MGFB10H3,"MGT339H5, RSM333H1, MGM332H5",Intermediate Finance,, +MGFC20H3,SOCIAL_SCI,,"This course covers goal setting, personal financial statements, debt and credit management, risk management, investing in financial markets, real estate appraisal and mortgage financing, tax saving strategies, retirement and estate planning. The course will benefit students in managing their personal finances, and in their future careers with financial institutions.",,MGFB10H3,,Personal Financial Management,, +MGFC30H3,SOCIAL_SCI,,"This course introduces students to the fundamentals of derivatives markets covering futures, swaps, options and other financial derivative securities. Detailed descriptions of, and basic valuation techniques for popular derivative securities are provided. As each type of derivative security is introduced, its applications in investments and general risk management will be discussed.",,,"MGT438H5, RSM435H1",Introduction to Derivatives Markets,MGFC10H3, +MGFC35H3,SOCIAL_SCI,,"This course deals with fundamental elements of investments. Basic concepts and techniques are introduced for various topics such as risk and return characteristics, optimal portfolio construction, security analysis, investments in stocks, bonds and derivative securities, and portfolio performance measurements.",,,"(MGFD10H3), MGT330H5, RSM330H1",Investments,MGFC10H3, +MGFC45H3,QUANT,,"This course introduces students to both the theoretical and practical elements of portfolio management. On the theoretical side, students learn the investment theories and analytic models applicable to portfolio management. Students gain fundamental knowledge of portfolio construction, optimization, and performance attribution. The hands-on component of the course aims to provide students with a unique experiential learning opportunity, through participation in the different stages of the portfolio management process. The investment exercises challenge students to apply and adapt to different risk and return scenarios, time horizons, legal and other unique investment constraints. Classes are conducted in the experiential learning lab, where students explore academic, research and practical components of Portfolio Management.",,,,Portfolio Management: Theory and Practice,MGFC35H3, +MGFC50H3,SOCIAL_SCI,,"This course provides students with a framework for making financial decisions in an international context. It discusses foreign exchange markets, international portfolio investment and international corporate finance. Next to covering the relevant theories, students also get the opportunity to apply their knowledge to real world issues by practicing case studies.",,MGFC10H3,"MGT439H5, RSM437H1",International Financial Management,, +MGFC60H3,SOCIAL_SCI,,This course introduces the tools and skills required to perform a comprehensive financial statement analysis from a user perspective. Students will learn how to integrate the concepts and principles in accounting and finance to analyze the financial statements and to utilize that information in earnings-based security valuation.,,MGFC10H3,RSM429H1,Financial Statement Analysis and Security Valuation,, +MGFC85H3,SOCIAL_SCI,,"This course covers special topics in the area of finance. The specific topics will vary from year to year, but could include topics in Financial Markets, Financial Intermediation, Corporate Governance, Real Estate Finance, Retirement Planning, and Sustainable Finance. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,MGFB10H3 and MGFC10H3,,Special Topics in Finance,, +MGFD15H3,SOCIAL_SCI,,"This course explores the private equity asset class and the private equity acquisition process. It covers both the academic and practical components of private equity investing, including: deal sourcing, financial modelling and valuations, transaction structuring, financing, diligence, negotiations, post transaction corporate strategy and governance.",,MGAB02H3 and MGFC10H3,"RSM439H1, MGT495H5",Private Equity,, +MGFD25H3,QUANT,,"Financial Technologies (FinTech) are changing our everyday lives and challenging many financial institutions to evolve and adapt. The course explores disruptive financial technologies and innovations such as mobile banking, cryptocurrencies, Robo-advisory and the financial applications of artificial intelligence (AI) etc. The course covers the various areas within the financial industry that are most disrupted, thus leading to discussions on the challenges and opportunities for both the financial institutions and the regulators. Classes are conducted in the experiential learning lab where students explore academic, research and practical components of FinTech.",CSCA20H3,MGFC10H3,"RSM316H1, MGT415H5",Financial Technologies and Applications (FinTech),MGFC35H3/(MGFD10H3), +MGFD30H3,SOCIAL_SCI,,"This course develops analytical skills in financial risk management. It introduces techniques used for evaluating, quantifying and managing financial risks. Among the topics covered are market risk, credit risk, operational risk, liquidity risk, bank regulations and credit derivatives.",,MGFC10H3,"ECO461H1, RSM432H1",Risk Management,, +MGFD40H3,SOCIAL_SCI,University-Based Experience,"This course is designed to help students understand how different psychological biases can affect investor behaviours and lead to systematic mispricing in the financial market. With simulated trading games, students will learn and practice various trading strategies to take advantage of these market anomalies.",,MGFC10H3 and MGEB12H3,MGT430H5,Investor Psychology and Behavioural Finance,, +MGFD50H3,SOCIAL_SCI,,"This course provides a general introduction to the important aspects of M&A, including valuation, restructuring, divestiture, takeover defences, deal structuring and negotiations, and legal issues.",,MGFC10H3,MGT434H5,Mergers and Acquisitions: Theory and Practice,, +MGFD60H3,SOCIAL_SCI,,This course integrates finance theories and practice by using financial modeling and simulated trading. Students will learn how to apply the theories they learned and to use Excel and VBA to model complex financial decisions. They will learn how the various security markets work under different simulated information settings.,,,"MGT441H5, RSM434H1",Financial Modeling and Trading Strategies,MGFC30H3 and MGFC35H3/(MGFD10H3), +MGFD70H3,SOCIAL_SCI,,"This course reinforces and expands upon the topics covered in MGFB10H3/(MGTB09H3), (MGTC03H3) and MGFC10H3/(MGTC09H3). It examines more advanced and complex decision making situations a financial manager faces in such areas as capital budgeting, capital structure, financing, working capital management, dividend policy, leasing, mergers and acquisitions, and risk management.",,MGFC10H3,"MGT431H5, MGT433H5, RSM433H1",Advanced Financial Management,, +MGFD85H3,SOCIAL_SCI,,"This course covers special topics in the area of finance. The specific topics will vary from year to year but could include topics in Financial Markets, Financial Intermediation, Corporate Governance, Real Estate Finance, Retirement Planning, Sustainable Finance, and Fixed Income. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,MGFB10H3 and MGFC10H3,,Advanced Special Topics in Finance,, +MGHA12H3,SOCIAL_SCI,,"An introduction to current human resource practices in Canada, emphasizing the role of Human Resource Management in enhancing performance, productivity and profitability of the organization. Topics include recruitment, selection, training, career planning and development, diversity and human rights issues in the work place.",,,"(MGHB12H3), (MGIB12H3), MGIA12H3, MGT460H5, RSM460H1",Human Resource Management,, +MGHB02H3,SOCIAL_SCI,,"An introduction to micro- and macro-organizational behaviour theories from both conceptual and applied perspectives. Students will develop an understanding of the behaviour of individuals and groups in different organizational settings. Topics covered include: individual differences, motivation and job design, leadership, organizational design and culture, group dynamics and inter-group relations.",,MGTA38H3 or (MGTA35H3) or (MGTA36H3),"MGIB02H3, MGT262H5, RSM260H1, PSY332H",Managing People and Groups in Organizations,, +MGHC02H3,SOCIAL_SCI,Partnership-Based Experience,"This course will help students develop the critical skills required by today's managers. Topics covered include self- awareness, managing stress and conflict, using power and influence, negotiation, goal setting, and problem-solving. These skills are important for leadership and will enable students to behave more effectively in their working and personal lives. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,[MGHB02H3 or MGIB02H3] and [MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3)],MGIC02H3,Management Skills,, +MGHC23H3,SOCIAL_SCI,Partnership-Based Experience,"Examines the nature and effects of diversity in the workplace. Drawing on theories and research from psychology, the course will examine topics like stereotyping, harassment, discrimination, organizational climate for diversity, conflict resolution within diverse teams, and marketing to a diverse clientele.",,MGHB02H3 or MGIB02H3,,Diversity in the Workplace,, +MGHC50H3,SOCIAL_SCI,,"This course covers special topics in the area of organizational behaviour. The specific topics will vary from year to year but could include topics in organizational culture, motivation, leadership, communication, organizational design, work attitudes, or equity, diversity and inclusion at work. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",[MGHA12H3 or MGIA12H3] and [MGTA35H3 or MGTA36H3 or MGTA38H3],7.5 credits including MGHB02H3,,Special Topics in Human Resources,, +MGHC51H3,SOCIAL_SCI,,"This course covers special topics in the area of organizational behaviour. The specific topics will vary from year to year but could include topics in organizational culture, motivation, leadership, communication, organizational design, work attitudes, or equity, diversity and inclusion at work. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",MGTA35H3 or MGTA36H3 or [MGTA38H3 and MGHA12H3] or MGIA12H3,7.5 credits including MGHB02H3 or MGIB02H3,,Special Topics in Organizational Behaviour,, +MGHC52H3,SOCIAL_SCI,University-Based Experience,"An introduction to the theory and practice of negotiation in business. This course develops approaches and tactics to use in different forums of negotiation, and an introduction to traditional and emerging procedures for resolving disputes. To gain practical experience, students will participate in exercises which simulate negotiations.",,MGHB02H3 or MGIB02H3,,Business Negotiation,, +MGHC53H3,SOCIAL_SCI,University-Based Experience,"An overview of the industrial system and process. The course will introduce students to: industrial relations theory, the roles of unions and management, law, strikes, grievance arbitration, occupational health and safety, and the history of the industrial relations system. Students will participate in collective bargaining simulations. This course includes work- integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,Completion of at least 10.0 credits including [[MGEA01H3 and MGEA05H3] or [MGEA02H3 and MGEA06H3]].,,Introduction to Industrial Relations,, +MGHD14H3,SOCIAL_SCI,,"This advanced leadership seminar builds on MGHC02H3/(MGTC90H3) Management Skills, focusing on leadership theories and practices. Through case studies, skill-building exercises, and world-class research, students will learn critical leadership theories and concepts while gaining an understanding of how effective leaders initiate and sustain change at the individual and corporate levels, allowing each student to harness their full leadership potential.",,[MGHB02H3 or MGIB02H3] or MGHC02H3 or MGIC02H3,,Leadership,, +MGHD24H3,SOCIAL_SCI,,"Occupational health and safety is a management function, however, many managers are not prepared for this role when they arrive in their first jobs. This course will consider the physical, psychological, social, and legal environments relevant to health and safety in the workplace.",,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Occupational Health and Safety Management,, +MGHD25H3,SOCIAL_SCI,,"An in-depth look at recruitment and selection practices in organizations. Students will learn about organizational recruitment strategies, the legal issues surrounding recruitment and selection, how to screen job applicants, and the role of employee testing and employee interviews in making selection decisions.",,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Human Resources Recruitment and Selection,, +MGHD26H3,SOCIAL_SCI,,"This course is designed to teach students about the training and development process. Topics include how training and development fits within the larger organizational context as well as learning, needs analysis, the design and delivery of training programs, on and off-the-job training methods, the transfer of training, and training evaluation.",,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Training and Development,, +MGHD27H3,SOCIAL_SCI,,"This course is designed to provide students with an understanding of strategic human resources management and the human resource planning process. Students will learn how to forecast, design, and develop human resource plans and requirements using both qualitative and quantitative techniques.",,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Human Resources Planning and Strategy,, +MGHD28H3,SOCIAL_SCI,University-Based Experience,This course is designed to provide students with an understanding of compensation programs and systems. Students will learn how to design and manage compensation and benefit programs; individual and group reward and incentive plans; and how to evaluate jobs and assess employee performance.,,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Compensation,, +MGHD60H3,SOCIAL_SCI,,"This course covers advanced special topics in the area of organizational behaviour and human resources. The specific topics will vary from year to year, but could include topics in: organizational culture, motivation, leadership, communication, organizational design, work attitudes, job analysis, employee well-being and performance, performance management, selection, training, or equity, diversity and inclusion at work. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",MGTA38H3 or MGTA35H3 or MGTA36H3,[MGHA12H3 or MGIA12H3] and [MGHB02H3 or MGIB02H3] and 7.5 credits,,Advanced Special Topics in Organizational Behaviour and Human Resources,, +MGIA01H3,SOCIAL_SCI,,"An introduction to basic marketing concepts and tools that provide students with a conceptual framework for analyzing marketing problems facing global managers. Topics are examined from an international marketing perspective and include: buyer behaviour, market segmentation and basic elements of the marketing mix.",,Enrolment in the MIB program,"MGMA01H3, MGT252H5, RSM250H1",Principles of International Marketing,, +MGIA12H3,SOCIAL_SCI,,"This course examines how human resource practices are different across cultures and how they are affected when they ""go global."" It examines how existing organizational structures and human resource systems need to adapt to globalization, in order to succeed domestically and internationally.",,,"(MGIB12H3), (MGHB12H3), MGT460H5, RSM406H1, MGHA12H3",International Human Resources,, +MGIB01H3,SOCIAL_SCI,,"This course examines the challenge of entering and operating in foreign markets. Topics such as international marketing objectives, foreign market selection, adaptation of products, and communication and cultural issues, are examined through case discussions and class presentations. The term project is a detailed plan for marketing a specific product to a foreign country.",,MGMA01H3 or MGIA01H3,MGMB01H3,Global Marketing,, +MGIB02H3,SOCIAL_SCI,,"Examines how and why people from different cultures differ in their workplace behaviours, attitudes, and in how they behave in teams. Uses discussion and case studies to enable students to understand how employees who relocate or travel to a different cultural context, can manage and work in that context.",,,"MGHB02H3, RSM260H1",International Organizational Behaviour,, +MGIC01H3,SOCIAL_SCI,,"International Corporate Strategy examines the analyses and choices that corporations make in an increasingly globalized world. Topics will include: recent trends in globalization, the notion of competitive advantage, the choice to compete through exports or foreign direct investment, and the risks facing multinational enterprises.",,Minimum of 10.0 credits including MGAB02H3 and MGIA01H3 and MGFB10H3 and MGIB02H3,MGSC01H3,International Corporate Strategy,, +MGIC02H3,SOCIAL_SCI,,"Leaders who work internationally must learn how to customize their leadership competencies to the different cultures in which they practice. By using role plays, simulations, cases, and class discussions, students will develop the culturally appropriate leadership skills of articulating a vision, planning and implementing goals, negotiation, and providing effective feedback.",,MGIB02H3,MGHC02H3,International Leadership Skills,, +MGID40H3,SOCIAL_SCI,,"This course offers an introduction to key topics in the law governing international trade and business transactions, including the law and conventions governing foreign investment, and the legal structure of doing business internationally, the international sale and transportation of goods, international finance, intellectual property and international dispute settlement.",,Completion of 10.0 credits,,Introduction to International Business Law,, +MGID79H3,SOCIAL_SCI,Partnership-Based Experience,"This course focuses on critical thinking and problem solving skills through analyzing, researching and writing comprehensive business cases, and is offered in the final semester of the MIB specialist program. It is designed to provide students the opportunity to apply the knowledge acquired from each major area of management studies to international real-world situations.",,MGAB03H3 and MGIA01H3 and MGIA12H3/(MGIB12H3) and MGIB02H3 and MGFC10H3 and MGIC01H3,MGSD01H3,International Capstone Case Analysis,, +MGMA01H3,SOCIAL_SCI,University-Based Experience,"An introduction to basic concepts and tools of marketing designed to provide students with a conceptual framework for the analysis of marketing problems. The topics include an examination of buyer behaviour, market segmentation; the basic elements of the marketing mix. Enrolment is limited to students registered in Programs requiring this course. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,Enrolment in any Bachelor of Business Administration (BBA) program.,"MGIA01H3, RSM250H1",Principles of Marketing,, +MGMB01H3,SOCIAL_SCI,,"This course builds on the introductory course in marketing and takes a pragmatic approach to develop the analytical skills required of marketing managers. The course is designed to help improve skills in analyzing marketing situations, identifying market opportunities, developing marketing strategies, making concise recommendations, and defending these recommendations. It will also use case study methodology to enable students to apply the concepts learned in the introductory course to actual issues facing marketing managers.",,[MGMA01H3 or MGIA01H3] and [MGTA38H3 or (MGTA35H3) or (MGTA36H3)],MGIB01H3,Marketing Management,, +MGMC01H3,SOCIAL_SCI,,"A decision oriented course, which introduces students to the market research process. It covers different aspects of marketing research, both quantitative and qualitative, and as such teaches some essential fundamentals for the students to master in case they want to specialize in marketing. And includes alternative research approaches (exploratory, descriptive, causal), data collection, sampling, analysis and evaluation procedures are discussed. Theoretical and technical considerations in design and execution of market research are stressed. Instruction involves lectures and projects including computer analysis.",,MGMA01H3 or MGIA01H3,"MGT453H5, RSM452H1",Market Research,, +MGMC02H3,SOCIAL_SCI,Partnership-Based Experience,"This course provides an overview of the role of products in the lives of consumers. Drawing on theories from psychology, sociology and economics, the course provides (1) a conceptual understanding of consumer behaviour (e.g. why people buy), and (2) an experience in the application of these concepts to marketing decisions. This course includes work- integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGMA01H3/(MGTB04H3) or MGIA01H3/(MGTB07H3),(MGTD13H3),Consumer Behaviour,, +MGMC11H3,SOCIAL_SCI,Partnership-Based Experience,"Managing products and brands is one of the most important functions of a successful marketer. Product lines and extensions and other issues of product portfolio will be covered in this course. This course also examines issues about brand equity, its measurement and contemporary challenges faced by marketers about branding product management.",,MGMA01H3 or MGIA01H3,,Product Management and Branding,, +MGMC12H3,SOCIAL_SCI,Partnership-Based Experience,"An introduction to the basic communication tools used in planning, implementing and evaluating promotional strategies .The course reviews basic findings of the behavioural sciences dealing with perception, personality, psychological appeals, and their application to advertising as persuasive communication. Students will gain experience preparing a promotional plan for a small business. The course will rely on lectures, discussions, audio-visual programs and guest speakers from the local advertising industry.",,MGMA01H3 or MGIA01H3,,Advertising: From Theory to Practice,, +MGMC13H3,SOCIAL_SCI,,"Pricing right is fundamental to a firm's profitability. This course draws on microeconomics to develop practical approaches for optimal pricing decision-making. Students develop a systematic framework to think about, analyze and develop strategies for pricing right. Key issues covered include pricing new product, value pricing, behavioural issues, and price segmentation.",,[MGMA01H3 or MGIA01H3] and MGEB02H3,,Pricing Strategy,, +MGMC14H3,SOCIAL_SCI,,"Sales and distribution are critical components of a successful marketing strategy. The course discusses key issues regarding sales force management and distribution structure and intermediaries. The course focuses on how to manage sales force rather than how to sell, and with the design and management of an effective distribution network.",,MGMA01H3 or MGIA01H3,,Sales and Distribution Management,, +MGMC20H3,SOCIAL_SCI,Partnership-Based Experience,"This course covers the advantages/disadvantages, benefits and limitations of E-commerce. Topics include: E-commerce business models; Search Engine Optimization (SEO); Viral marketing; Online branding; Online communities and Social Networking; Mobile and Wireless E-commerce technologies and trends; E-Payment Systems; E-commerce security issues; Identity theft; Hacking; Scams; Social Engineering; Biometrics; Domain name considerations and hosting issues. Students will also gain valuable insight from our guest speakers.",,MGMA01H3 or MGIA01H3,,Marketing in the Information Age,, +MGMC30H3,SOCIAL_SCI,,"Event and Sponsorship Management involves the selection, planning and execution of specific events as well as the management of sponsorship rights. This will involve the integration of management skills, including finance, accounting, marketing and organizational behaviour, required to produce a successful event.",,Completion of at least 10.0 credits in any B.B.A. program,,Event and Sponsorship Management,, +MGMC40H3,SOCIAL_SCI,,"This course covers special topics in the area of Marketing. The specific topics will vary from year to year but could include topics in consumer behaviour, marketing management, marketing communication, new developments in the marketing area and trends. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,[MGMA01H3 or MGIA01H3] and [MGMB01H3 or MGIB01H3],,Special Topics in Marketing,, +MGMD01H3,QUANT,,"Marketing is a complex discipline incorporating not only an “art” but also a “science”. This course reviews the “science” side of marketing by studying multiple models used by companies. Students will learn how to assess marketing problems and use appropriate models to collect, analyze and interpret marketing data.",,[MGMA01H3 or MGIA01H3] and MGEB11H3 and MGEB12H3,MGT455H5,Applied Marketing Models,, +MGMD02H3,SOCIAL_SCI,,"This course combines the elements of behavioural research as applied to consumers' decision making models and how this can be used to predict decisions within the marketing and consumer oriented environment. It also delves into psychology, economics, statistics, and other disciplines.",,MGMA01H3 or MGIA01H3,PSYC10H3,Judgement and Decision Making,, +MGMD10H3,SOCIAL_SCI,University-Based Experience,"This seminar style course has advanced discussions that will go in-depth into a variety of topics in consumer psychology. Students will read papers from academic journals each week, lead the discussions, and share their ideas. Students are expected to submit a research paper at the end of the term. This course is appropriate for senior marketing students who are keen on getting insights into consumer psychology and/or those who want to get exposure to academic research in consumer psychology.",,[MGMA01H3 or MGIA01H3] and MGMB01H3,,Seminar in Consumer Psychology I,, +MGMD11H3,SOCIAL_SCI,,"This seminar style course has advanced discussions that will go in-depth into a variety of topics in consumer psychology. Students will read papers from academic journals each week, lead the discussions, and share their ideas. Students are expected to submit a research paper at the end of the term. This course is appropriate for senior marketing students who are keen on getting insights into consumer psychology and/or those who want to get exposure to academic research in consumer psychology.",,[MGMA01H3 or MGIA01H3] and MGMB01H3,,Seminar in Consumer Psychology II,, +MGMD19H3,SOCIAL_SCI,,"This course focuses on current faculty research in areas like consumer behaviour and choice, pricing, promotions, etc. and their importance to marketing and research methodology. Topics covered will include specific theoretical or functional areas in marketing. The particular content in any given year will depend on the faculty member.",Some interest in or additional knowledge of different aspects of Marketing,[MGMA01H3 or MGIA01H3] and [MGMB01H3 or MGIB01H3],MGMD21H3,Advanced Special Topics in Marketing II,,"This course can be taken as CR/NCR only for degree requirements, not program requirements." +MGMD20H3,SOCIAL_SCI,,"This course focuses on current faculty research in areas like consumer behaviour and choice, pricing, promotions etc. and their importance to marketing and research methodology. Topics covered will include specific theoretical or functional areas in marketing. The particular content in any given year will depend on the faculty member.",Some interest in or additional knowledge of different aspects of Marketing,[MGMA01H3 or MGIA01H3] and [MGMB01H3 or MGIB01H3],,Advanced Special Topics in Marketing I,, +MGMD21H3,SOCIAL_SCI,,"This course focuses on the analysis required to support marketing decisions and aid in the formation of marketing strategy. This is a Marketing simulation course which will challenge students to make real-time decisions with realistic consequences in a competitive market scenario. As part of a team, students will make decisions on Pricing, branding, distribution strategy, commissioning and using market research, new product launches and a variety of related marketing actions while competing with other teams in a simulation that will dynamically unfold over the semester. This is an action-packed capstone course and will give students the chance to apply what they have learned and to polish their skills in a realistic environment.",Some interest in or additional knowledge of different aspects of Marketing,[MGMA01H3 or MGIA01H3] and [MGMB01H3 or MGIB01H3],,Competitive Marketing in Action,, +MGOC10H3,QUANT,,"The course develops understanding and practical skills of applying quantitative analysis for making better management decisions. Studied analytics methodologies include linear programming; multi-criteria optimization; network and waiting- line models; decision analysis. Methodologies are practiced in a broad range of typical business problems drawn from different areas of management, using spreadsheet modelling tools.",,MGEB02H3 and MGEB12H3 and [MGTA38H3 or (MGTA36H3) or (MGTA35H3)],,Analytics for Decision Making,, +MGOC15H3,QUANT,,"The course lays the foundation of business data analytics and its application to Management. Using state-of-the-art computational tools, students learn the fundamentals of processing, visualizing, and identifying patterns from data to draw actionable insights and improve decision making in business processes.",,MGEB12H3,"MGT458H5, (MGOD30H3)",Introductory Business Data Analytics,MGOC10H3, +MGOC20H3,QUANT,,"An introduction to a broad scope of major strategic and tactical issues in Operations Management. Topics include project management, inventory management, supply chain management, forecasting, revenue management, quality management, lean and just-in-time operations, and production scheduling.",,MGOC10H3,"MGT374H5, RSM370H1",Operations Management,, +MGOC50H3,QUANT,,"This course will focus on topics in Analytics and Operations Management that are not covered or are covered only lightly in regularly offered courses. The particular content in any given year will depend on the faculty member. Possible topics include (but are not limited to) production planning, revenue management, project management, logistics planning, operations management in shared economy, and health care operations management.",,MGEB02H3 and MGEB12H3,,Special Topics in Analytics and Operations,MGOC10H3, +MGOD31H3,QUANT,Partnership-Based Experience,"The course covers advanced Management concepts of Big Data analytics via state-of-the-art computational tools and real-world case studies. By the end of the course, students will be able to conceptualize, design, and implement a data- driven project to improve decision-making.",,MGOC10H3 and MGOC15H3,(MGOD30H3),Advanced Business Data Analytics,, +MGOD40H3,QUANT,,"Students will learn how to construct and implement simulation models for business processes using a discrete-event approach. They will gain skills in the statistical analysis of input data, validation and verification of the models. Using these models, they can evaluate the alternative design and make system improvements. Students will also learn how to perform a Monte Carlo simulation. Spreadsheet and simulation software are integral components to this course and will enhance proficiency in Excel.",,MGOC10H3,MIE360H1,Simulation and Analysis of Business Processes,MGOC20H3, +MGOD50H3,QUANT,,This course will focus on topics in Analytics and Operations Management that are not covered in regularly offered courses. The particular content in any given year will depend on the faculty member.,,MGOC10H3,,Advanced Special Topics in Analytics and Operations Management,, +MGSB01H3,SOCIAL_SCI,University-Based Experience,"This course offers an introduction to strategic management. It analyzes strategic interactions between rival firms in the product market, provides conceptual tools for analyzing these interactions, and highlights the applications of these tools to key elements of business strategy. The course then moves beyond product market competition and considers (among other things) strategic interactions inside the organization, and with non-market actors.",MGAB01H3,Minimum 4.0 credits including MGEA02H3 and MATA34H3 or [[MATA29H3 or MATA30H3 or MATA31H3 or (MATA32H3)] and [(MATA33H3) or MATA35H3 or MATA36H3 or MATA37H3]],RSM392H1 and MGT492H5,Introduction to Strategy,, +MGSB22H3,SOCIAL_SCI,University-Based Experience,"This course focuses on the skills required and issues such as personal, financial, sales, operational, and personnel, which entrepreneurs face as they launch and then manage their early-stage ventures. Particular focus is placed on developing the analytical skills necessary to assess opportunities, and applying the appropriate strategies and resources in support of an effective business launch. This course includes work- integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAB01H3 and [MGHB02H3 or MGIB02H3],"MGT493H5, RSM493H1",Entrepreneurship,, +MGSC01H3,SOCIAL_SCI,,"Begins with an examination of the concept of business mission. Students are then challenged to evaluate the external and industry environments in which businesses compete, to identify sources of competitive advantage and value creation, and to understand and evaluate the strategies of active Canadian companies.",,MGHB02H3 and [MGEB02H3 or MGEB06H3],"MGIC01H3, VPAC13H3, MGT492H5, RSM392H1",Strategic Management I,, +MGSC03H3,SOCIAL_SCI,,"An introduction to key public sector management processes: strategic management at the political level, planning, budgeting, human resource management, and the management of information and information technology. Makes use of cases, and simulations to develop management skills in a public sector setting.",,MGHB02H3 or [POLB56H3 and POLB57H3/(POLB50Y3)],,Public Management,,POLB56H3 and POLB57H3 are prerequisites only for students enrolled in Public Policy programs +MGSC05H3,SOCIAL_SCI,,"How regulation, privatization and globalization are affecting today's managers. Most major management issues and business opportunities involve government (domestic or foreign) at some level - whether as lawmaker, customer, partner, investor, tax- collector, grant-giver, licensor, dealmaker, friend or enemy. This course provides students with an understanding of the issues and introduces some of the skills necessary to successfully manage a business's relationship with government.",,4.0 credits or [POLB56H3 and POLB57H3/(POLB50Y3)],,The Changing World of Business - Government Relations,,POLB56H3 and POLB57H3 are prerequisites only for students enrolled in Public Policy programs +MGSC07H3,SOCIAL_SCI,,This course focuses on the theory and techniques of analyzing and writing business cases. The main focus is to assist students in developing their conceptual and analytical skills by applying the theory learned from each major area of management studies to practical situations. Critical thinking and problem solving skills are developed through extensive use of case analysis.,,MGAB03H3 and MGFB10H3 and MGHB02H3,,Introduction to Case Analysis Techniques,MGMA01H3 and MGAB02H3, +MGSC10H3,SOCIAL_SCI,,"This course teaches students the ways in which business strategy and strategic decisions are affected by the recent explosion of digital technologies. Key considerations include the market and organizational context, process design, and managerial practices that determine value from data, digital infrastructures, and AI. It provides classic frameworks augmented by frontier research to make sense of digital transformation from the perspective of a general manager. Leaning on case study analysis and in-class discussion, this course will surface both practical and ethical pitfalls that can emerge in an increasingly digital world and equip students to operate effectively in professional contexts affected by these fast-moving trends.","Introductory Logic, Probability and Statistics Econometrics (Linear Regression)",Completion of 10.0 credits including MGEB11H3 and MGEB12H3,,Business Strategy in the Digital Age,, +MGSC12H3,ART_LIT_LANG,,"Through the analysis of fiction and non-fiction narratives, particularly film, dealing with managers in both private and public sector organizations, the course explores the ethical dilemmas, organizational politics and career choices that managers can expect to face.",,MGHB02H3 or ENGD94H3 or [2.0 credits at the C-level in POL courses],,Narrative and Management,, +MGSC14H3,HIS_PHIL_CUL,,"Increasingly, the marketplace has come to reward, and government regulators have come to demand a sophisticated managerial approach to the ethical problems that arise in business. Topics include ethical issues in international business, finance, accounting, advertising, intellectual property, environmental policy, product and worker safety, new technologies, affirmative action, and whistle-blowing.",,MGTA38H3 or (MGTA35H3) or (MGTA36H3),"(MGIC14H3), PHLB06H3",Management Ethics,, +MGSC20H3,SOCIAL_SCI,University-Based Experience,"Tomorrow's graduates will enjoy less career stability than previous generations. Technology and demography are changing the nature of work. Instead of having secure progressive careers, you will work on contract or as consultants. You will need to think, and act like entrepreneurs. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAB03H3 and MGHB02H3,,Consulting and Contracting: New Ways of Work,, +MGSC26H3,SOCIAL_SCI,,"Venture capital and other sources of private equity play a critical role in the founding and development of new enterprises. In this course, we will review all aspects of starting and operating a venture capital firm. At the end of the course, students will better understand how the venture capital industry works; what types of businesses venture capitalists invest in and why; how contract structures protect investors; how venture capitalists create value for their investors and for the companies in which they invest; and how the North American venture capital model ports to other contexts.",,MGFB10H3 and MGEC40H3,,Venture Capital,,Priority will be given to students enrolled in the Specialist program in Strategic Management: Entrepreneurship Stream. Additional students will be admitted as space permits. +MGSC30H3,SOCIAL_SCI,,"An introduction to the Canadian legal system and its effects on business entities. The course includes an examination of the Canadian court structure and a discussion of the various forms of business ownership, tort law, contract law, and property law.",,Completion of at least 10.0 credits including MGAB01H3 and MGAB02H3 and [MGTA38H3 or (MGTA35H3) or (MGTA36H3)],"MGT393H5, RSM225H1",The Legal Environment of Business I,, +MGSC35H3,SOCIAL_SCI,Partnership-Based Experience,"This course introduces students to the nature and elements of innovation and explores the application of innovation to various stages of business evolution and to different business sectors. The course has a significant practical component, as student groups will be asked to provide an innovation plan for a real company. This course includes work-integrated- learning components, and satisfies the WIL requirement of the BBA degree.",,Completion of 10.0 credits and [MGSB22H3 or MGSC01H3 or MGSC20H3],,Innovation,,Priority will be given to students enrolled in the Entrepreneurship Stream of the Specialist/Specialist Co-op programs in Strategic Management. +MGSC44H3,SOCIAL_SCI,Partnership-Based Experience,"This Course deals with: political risk & contingency planning; human threats; weather extremes; NGOs (WTO, IMF and World Bank); government influences - dumping, tariffs, subsidies; cultures around the world; foreign exchange issues; export financing for international business; international collaborative arrangements; and pro-active/re- active reasons for companies going international. There will also be guest speakers.",,MGHB02H3,"MGT491H1, RSM490H1",International Business Management,, +MGSC91H3,SOCIAL_SCI,,"This course covers special topics in the area of strategy. The specific topics will vary from year to year, but could include topics in business or corporate strategy, strategy and technology, strategy for sustainability, international business strategy, entrepreneurship, or managing emerging enterprises. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,MGSB01H3,,Special Topics in Strategy,, +MGSD01H3,SOCIAL_SCI,,This course allows 4th-year Specialists students in Strategic Management to deepen and broaden their strategic skills by strengthening their foundational knowledge of the field and by highlighting applications to key strategic management issues facing modern organizations. It will improve students’ ability to think strategically and understand how strategic decisions are made at the higher levels of management.,,"Completion of at least 11.0 credits, including MGSC01H3 and one of [MGSC03H3 or MGSC05H3]",MGID79H3,Senior Seminar in Strategic Management,, +MGSD05H3,SOCIAL_SCI,,"Topics include competitive advantage, organizing for competitive advantage, and failures in achieving competitive advantage. Through case analysis and class discussion, the course will explore competitive positioning, sustainability, globalization and international expansion, vertical integration, ownership versus outsourcing, economies of scale and scope, and the reasons for failure.",,MGSC01H3 or MGIC01H3,,Strategic Management II,,Admission is restricted to students enrolled in a BBA subject POSt. Priority will be given to students enrolled in the Management Strategy stream of the Specialist/Specialist Co- op in Strategic Management. +MGSD15H3,HIS_PHIL_CUL,University-Based Experience,"Topics include identifying, managing and exploiting information assets, the opportunities and limits of dealing with Big Data, the impact of digitalization of information, managing under complexity, globalization, and the rise of the network economy. Students will explore a topic in greater depth through the writing of a research paper.",,MGSC01H3 or MGIC01H3 or enrolment in the Specialist/Specialist (Co-op) program in Management and Information Technology (BBA).,,Managing in the Information Economy,,Admission is restricted to students enrolled in a BBA subject POSt. +MGSD24H3,SOCIAL_SCI,University-Based Experience,"Aimed at students interested in launching their own entrepreneurial venture. The core of the course is the development of a complete business plan which details the student's plans for the venture's initial marketing, finance and growth. This course provides a framework for the evaluation of the commercial potential of business ideas. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGMA01H3 and MGAB01H3 and MGAB02H3,,New Venture Creation and Planning,, +MGSD30H3,SOCIAL_SCI,,"This course considers patents, trademarks, copyright and confidential information. Canada's international treaty obligations as well as domestic law will be covered. Policy considerations, such as the patentability of life forms, copyright in an Internet age of easy copying and patents and international development will be included.",9.5 credits in addition to the prerequisite.,MGSC30H3,,Intellectual Property Law,, +MGSD32H3,SOCIAL_SCI,,"This course further examines the issues raised in Legal Environment of Business I. It focuses on relevant areas of law that impact business organizations such as consumer protection legislation and agency and employment law, and it includes a discussion of laws affecting secured transactions and commercial transactions.",,MGSC30H3,"MGT394H5, RSM325H1",The Legal Environment of Business II,, +MGSD40H3,HIS_PHIL_CUL,,"This course will examine the role of business in society including stakeholder rights and responsibilities, current important environmental and social issues (e.g., climate change, ethical supply chains, etc.) and management practices for sustainable development. It is designed for students who are interested in learning how to integrate their business skills with a desire to better society.",,Completion of 10.0 credits,,Principles of Corporate Social Responsibility,, +MGSD55H3,SOCIAL_SCI,,"This is an advanced course tackling critical issues in technology and information strategy. We focus on the theory and application of platform, screening, and AI strategies",,MGAB02H3 and MGEB02H3 and MGSB01H3 and [MGIC01H3 or MGSC01H3],MGSD15H3 and [MGSD91H3 if taken in Fall 2023],Strategy and Technology,, +MGSD91H3,SOCIAL_SCI,University-Based Experience,"This course covers special topics in the area of strategy. The specific topics will vary from year to year but could include topics in corporate strategy, strategy for public organizations, strategy for sustainability, international business strategy or entrepreneurship. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",MGSC01H3 or MGIC01H3,Completion of 10.0 credits,,Advanced Special Topics in Strategy,, +MGTA01H3,SOCIAL_SCI,,"This course serves as an introduction to the organizations called businesses. The course looks at how businesses are planned, organized and created, and the important role that businesses play within the Canadian economic system.",,,"MGTA05H3, MGM101H1, RSM100Y1",Introduction to Business,, +MGTA02H3,SOCIAL_SCI,,"This course serves as an introduction to the functional areas of business, including accounting, finance, production and marketing. It builds on the material covered in MGTA01H3.",,MGTA01H3,"MGTA05H3, MGM101H5, MGM102H5, RSM100Y1",Managing the Business Organization,, +MGTA38H3,ART_LIT_LANG,Partnership-Based Experience,"In this course, students will learn skills and techniques to communicate effectively in an organization. Creativity, innovation and personal style will be emphasized. Students will build confidence in their ability to communicate effectively in every setting while incorporating equity, diversity, and inclusion considerations. This course is a mandatory requirement for all management students. It includes work- integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,,(MGTA35H3) and (MGTA36H3),Management Communications,, +MGTB60H3,SOCIAL_SCI,,"This course provides an introductory overview to the business of sport as it has become one of the largest industries in the world. Drawing from relevant theories applied to sports management, the course will incorporate practical case studies, along with critical thinking assignments and guest speakers from the industry.",,,(HLTB05H3),Introduction to the Business of Sport,, +MGTC28H3,QUANT,,"This is an introductory coding course for Management students who have little programming experience. Beginning with the introduction to the fundamentals of computer scripting languages, students will then learn about the popular tools and libraries often used in various business areas. The case studies used in the course prepare students for some Management specializations that require a certain level of computer programming skills.",,MGEB12H3,"CSCA20H3, CSC120H1, MGT201H1",Computer Programming Applications for Business,,"Students are expected to know introductory algebra, calculus, and statistics to apply coding solutions to these business cases successfully." +MGTD80H3,,,These courses are intended for upper level students whose interests are not covered in one of the other Management courses normally offered. The courses will only be offered when a faculty member is available for supervision and to students whose Management performance has been well above average. Students interested in these courses should consult with the Management Academic Director well in advance.,,,,Supervised Reading In Management,,"Students must obtain consent from the Management, Academic Director, the supervising instructor and the Department of Management before registering for this course." +MGTD81H3,,,These courses are intended for upper level students whose interests are not covered in one of the other Management courses normally offered. The courses will only be offered when a faculty member is available for supervision and to students whose Management performance has been well above average. Students interested in these courses should consult with the Management Academic Director well in advance.,,,,Supervised Reading In Management,,"Students must obtain consent from the Management, Academic Director, the supervising instructor and the Department of Management before registering for this course." +MGTD82Y3,,,These courses are intended for upper level students whose interests are not covered in one of the other Management courses normally offered. The courses will only be offered when a faculty member is available for supervision and to students whose Management performance has been well above average. Students interested in these courses should consult with the Management Academic Director well in advance.,,,,Supervised Reading In Management,,"Students must obtain consent from the Management, Academic Director, the supervising instructor and the Department of Management before registering for this course." +MUZA60H3,ART_LIT_LANG,University-Based Experience,The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone but is not a course to learn an instrument for the first time.,,,(VPMA73H3),Concert Band Ia,, +MUZA61H3,ART_LIT_LANG,University-Based Experience,The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone but is not a course to learn an instrument for the first time.,,MUZA60H3/(VPMA73H3),(VPMA74H3),Concert Band Ib,, +MUZA62H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,,(VPMA70H3),Concert Choir Ia,, +MUZA63H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Place interview required. Concert Choir attempts to accommodate everyone.,,MUZA62H3/(VPMA70H3),(VPMA71H3),Concert Choir Ib,, +MUZA64H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,,(VPMA66H3),String Orchestra Ia,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZA65H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZA64H3/(VPMA66H3),(VPMA67H3),String Orchestra 1b,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZA66H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,,(VPMA68H3),Small Ensembles Ia,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02." +MUZA67H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZA66H3/(VPMA68H3),(VPMA69H3),Small Ensembles Ib,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02." +MUZA80H3,ART_LIT_LANG,,"A practical introduction to musicianship through music- making and creation, with an emphasis on aural skills, rhythmic fluency, notation, and basic vocal and instrumental techniques. This course is open to students with no musical training and background.",,,(VPMA95H3),Foundations in Musicianship,,"Priority will be given to first and second-year students in Major and Minor Music and Culture programs. Additional students will be admitted as space permits. A placement test will be held in Week 1 of the course. Students who pass this test do not have to take MUZA80H3, and can move on to B-levels directly. Contact acm- pa@utsc.utoronto.ca for more information" +MUZA81H3,ART_LIT_LANG,University-Based Experience,"This course will provide a broad overview of the music industry and fundamentals in audio theory and engineering. It will cover the physics of sound, psychoacoustics, the basics of electricity, and music business and audio engineering to tie into the Centennial College curriculum.",,Enrollment in the SPECIALIST (JOINT) PROGRAM IN MUSIC INDUSTRY AND TECHNOLOGY,,Introduction to Music Industry and Technology,, +MUZA99H3,HIS_PHIL_CUL,,"An introduction to music through active listening and the consideration of practical, cultural, historical and social contexts that shape our aural appreciation of music. No previous musical experience is necessary.",,,(VPMA93H3),Listening to Music,, +MUZB01H3,SOCIAL_SCI,,"Music within communities functions in ways that differ widely from formal models. Often the defining activity, it blurs boundaries between amateur, professional, audience and performer, and stresses shared involvement. Drawing upon their own experience, students will examine a variety of community practices and current research on this rapidly evolving area.",,MUZA80H3/(VPMA95H3),(VPMB01H3),Introduction to Community Music,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZB02H3,SOCIAL_SCI,,"An introduction to the theory and practice of music teaching, facilitation, and learning. Students will develop practical skills in music leadership, along with theoretical understandings that distinguish education, teaching, facilitation, and engagement as they occur in formal, informal, and non formal spaces and contexts.",,MUZA80H3/(VPMA95H3) or successful clearance of the MUZA80H3 exemption test,(VPMB02H3),"Introduction to Music Teaching, Facilitation, and Learning",,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZB20H3,HIS_PHIL_CUL,,"An examination of art and popular musics. This course will investigate the cultural, historical, political and social contexts of music-making and practices as experienced in the contemporary world.",,,(VPMB82H3),Music in the Contemporary World,, +MUZB21H3,HIS_PHIL_CUL,,"A critical investigation of a wide range of twentieth and twenty-first-century music. This interdisciplinary course will situate music in its historical, social, and cultural environments.",,MUZB20H3/(VPMB82H3),,Exploring Music in Social and Cultural Contexts,, +MUZB40H3,ART_LIT_LANG,,"A comprehensive study of the technologies in common use in music creation, performance and teaching. This course is lab and lecture based.",,,(VPMB91H3),Music and Technology,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZB41H3,HIS_PHIL_CUL,,"This course explores the aesthetic innovations of DJs from various musical genres, from disco to drum’n’bass to dub. We also spend time exploring the political, legal, and social aspects of DJs as their production, remixes, touring schedules, and community involvement reveal what is at stake when we understand DJs as more than entertainers. The course utilizes case studies and provides a hands-on opportunity to explore some of the basic elements of DJ-ing, while simultaneously providing a deep dive into critical scholarly literature.",,MUZA80H3/(VPMA95H3),(VPMC88H3) if taken in Winter 2020 session,DJ Cultures: Analogue Innovations and Digital Aesthetics,, +MUZB60H3,ART_LIT_LANG,University-Based Experience,The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone but is not a course to learn an instrument for the first time.,,MUZA61H3 /(VPMA74H3),(VPMB73H3),Concert Band IIa,, +MUZB61H3,ART_LIT_LANG,University-Based Experience,The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone but is not a course to learn an instrument for the first time.,,MUZB60H3/(VPMB73H3),(VPMB74H3),Concert Band IIb,, +MUZB62H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,MUZA63H3/(VPMA71H3),(VPMB70H3),Concert Choir IIa,, +MUZB63H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,MUZB62H3 /(VPMB70H3),(VPMB71H3),Concert Choir IIb,, +MUZB64H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZA65H3/(VPMA67H3),(VPMB66H3),String Orchestra IIa,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZB65H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZB64H3/(VPMB66H3),(VPMB67H3),String Orchestra IIb,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZB66H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone but is not a course to learn an instrument for the first time.",,MUZA67H3/(VPMA69H3),(VPMB68H3),Small Ensembles IIa,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02." +MUZB67H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone but is not a course to learn an instrument for the first time.",,MUZB66H3/(VPMB68H3),(VPMB69H3),Small Ensembles IIb,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02." +MUZB80H3,ART_LIT_LANG,,"The continuing development of musicianship through music- making and creation, including elementary harmony, musical forms, introductory analytical and compositional techniques, and aural training.",,MUZA80H3/(VPMA95H3) or successful clearance of the MUZA80H3 exemption test.,(VPMA90H3),Developing Musicianship,, +MUZB81H3,ART_LIT_LANG,,"Building upon Developing Musicianship, this course involves further study of musicianship through music-making and creation, with increased emphasis on composition. The course will provide theory and formal analysis, dictation, notation methods, and ear-training skills.",,MUZB80H3/(VPMB88H3),(VPMB90H3),The Independent Music-Maker,, +MUZC01H3,SOCIAL_SCI,Partnership-Based Experience,"Our local communities are rich with music-making engagement. Students will critically examine community music in the GTA through the lenses of intergenerational music-making, music and social change, music and wellbeing, and interdisciplinary musical engagement. Off- campus site visits are required.",,MUZB01H3/(VPMB01H3),(VPMC01H3),Exploring Community Music,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZC02H3,SOCIAL_SCI,,"This course introduces the histories, contexts, and theories of music in relation to health and wellness. Students will develop deeper understandings of how music can be used for therapeutic and non-therapeutic purposes.",Prior musical experience is recommended,Any 7.0 credits,(VPMC02H3),"Music, Health, and Wellness",,Priority will be given to students enrolled in the Minor and Major programs in Music and Culture. Additional students will be admitted as space permits. +MUZC20H3,ART_LIT_LANG,,"This course examines the synergistic relationship between the moving image and music and how these synergies result in processes of meaning-making and communication. Drawing on readings in cultural theory, cultural studies, musicology and film studies, the course considers examples from the feature film, the Hollywood musical, and the animated cartoon. Same as MDSC85H3",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in MUZ/(VPM) courses],"MDSC85H3, (VPMC85H3)","Movies, Music and Meaning",,No Specialist knowledge in Musicology or Film Studies required. +MUZC21H3,SOCIAL_SCI,,"This course examines the unique role of music and the arts in the construction and maintenance of transnational identity in the diaspora. The examples understudy will cover a wide range of communities (e.g. Asian, Caribbean and African) and places.",,MUZB80H3/(VPMB88H3) and [an additional 0.5 credit at the B-level in MUZ/(VPM) courses],(VPMC95H3),Musical Diasporas,, +MUZC22H3,HIS_PHIL_CUL,,"A history of jazz from its African and European roots to present-day experiments. Surveys history of jazz styles, representative performers and contexts of performance.",,MUZB20H3/(VPMB82H3) and [an additional 1.0 credit at the B-level in MUZ/(VPM) courses],(VPMC94H3),Jazz Roots and Routes,, +MUZC23H3,HIS_PHIL_CUL,,"An investigation into significant issues in music and society. Topics will vary but may encompass art, popular and world music. Issues may include music’s relationship to technology, commerce and industry, identity, visual culture, and performativity. Through readings and case studies we consider music's importance to and place in society and culture.",,MUZB20H3/(VPMB82H3) and 1.0 credit at the C-level in MUZ/(VPM) courses,(VPMC65H3),Critical Issues in Music and Society,, +MUZC40H3,ART_LIT_LANG,,Students will write original works for diverse styles and genres while exploring various compositional methods. The class provides opportunities for students to work with musicians and deliver public performances of their own work.,,MUZB81H3/(VPMB90H3) and an additional 1.0 credit at the B-level in MUZ/(VPM) courses,(VPMC90H3),The Composer's Studio,, +MUZC41H3,ART_LIT_LANG,,"This course will explore various techniques for digital audio production including recording, editing, mixing, sequencing, signal processing, and sound synthesis. Students will develop creative skills for electronic media through theoretical, aesthetic, and practical perspectives.",,MUZB40H3/(VPMB91H3) and MUZB80H3/(VPMB88H3),(VPMC91H3),Digital Music Creation,, +MUZC42H3,ART_LIT_LANG,,"This course will explore music production and sound design techniques while examining conceptual underpinnings for creating works that engage with space and live audiences. Students will develop creative skills for electronic media through theoretical, aesthetic, and practical perspectives.",,MUZB40H3/(VPMB91H3) and MUZB80H3/(VPMB88H3),,Creative Audio Design Workshop,, +MUZC43H3,HIS_PHIL_CUL,,This course examines critical issues of music technology and the ways in which digital technology and culture impact the ideologies and aesthetics of musical artists. Students will become familiar with contemporary strategies for audience building and career development of technology-based musicians.,,[2.0 credits at the B-level in MUZ/(VPM) courses] or [2.0 credits at the B-level in MDS courses],(VPMC97H3),"Music, Technologies, Media",, +MUZC60H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZB61H3/(VPMB74H3),(VPMC73H3),Concert Band IIIa,, +MUZC61H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZC60H3/(VPMC73H3),(VPMC74H3),Concert Band IIIb,, +MUZC62H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,MUZB63H3/(VPMB71H3),(VPMC70H3),Concert Choir IIIa,, +MUZC63H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,MUZC62H3/(VPMC70H3),(VPMC71H3),Concert Choir IIIb,, +MUZC64H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZB65H3/(VPMB67H3),(VPMC66H3),String Orchestra IIIa,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZC65H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZC64H3/(VPMC66H3),(VPMC67H3),String Orchestra IIIb,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZC66H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZB67H3/(VPMB69H3),(VPMC68H3),Small Ensembles IIIa,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02." +MUZC67H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZC66H3/(VPMC68H3),(VPMC69H3),Small Ensembles IIIb,,"Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02." +MUZC80H3,HIS_PHIL_CUL,,The investigation of an area of current interest and importance in musical scholarship. The topic to be examined will change from year to year and will be available in advance on the ACM department website.,,"1.0 credit at the B-level from the following: MUZB01H3, MUZB20H3, or MUZB80H3",(VPMC88H3),Topics in Music and Culture,, +MUZC81H3,HIS_PHIL_CUL,,"Popular music, especially local music, are cultural artifacts that shape local communities and the navigation of culturally hybrid identities. Music is also a significant technology of “remembering in everyday life,” a storehouse of our memories. In this course we examine acts of popular music preservation and consider questions such as: what happens when museums house popular music exhibitions? Who has the authority to narrate popular music, and how does popular music become a site of cultural heritage? Throughout this course, we will work with a notion of “heritage” as an act that brings the past into conversation with the present and can powerfully operate to bring people together while simultaneously excluding others or strategically forgetting. We will spend time with bottom-up heritage projects and community archives to better understand how memory is becoming democratized beyond large cultural institutions. As more and more cultural heritage becomes digitally born, new possibilities and new risks emerge for the preservation of popular music cultures.",,"1.0 credit at the B-level from the following: MUZB01H3, MUZB20H3, or MUZB80H3",,"Issues in Popular Music: Heritage, Preservation & Archives",, +MUZD01H3,SOCIAL_SCI,Partnership-Based Experience,"Through advanced studies in community music, students will combine theory and practice through intensive seminar-style discussions and an immersive service-learning placement with a community music partner. Off-campus site visits are required.",,MUZC01H3/(VPMC01H3),(VPMD01H3),Senior Seminar: Music in Our Communities,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZD80H3,ART_LIT_LANG,University-Based Experience,"This course will help students develop their self-directed projects that will further their research and interests. This project is intended to function as a capstone in the Major program in Music and Culture, reflecting rigorous applied and/or theoretical grounding in one or more areas of focus in the Music and Culture program.",,1.5 credits at the C-level in VPM/MUZ courses.,(VPMD02H3),Music and Culture Senior Project,, +MUZD81H3,,,"A directed research, composition or performance course for students who have demonstrated a high level of academic maturity and competence. Students in performance combine a directed research project with participation in one of the performance ensembles.",,"A minimum overall average of B+ in MUZ/VPM courses, and at least 1.0 full credit in music at the C-level. Students in the Composition option must also have completed MUZC40H3/(VPMC90H3). Students in the Performance/research option must complete at least one course in performance at the C-level.",(VPMD80H3),Independent Study in Music,,"Students must submit a proposed plan of study for approval in the term prior to the beginning of the course, and must obtain consent from the supervising instructor and the Music Program Director." +NMEA01H3,SOCIAL_SCI,,"This course introduces basic hardware and software for new media. Students will learn basics of HTML (tags, tables and frames) and JavaScript for creation of new media. Discusses hardware requirements including storage components, colour palettes and different types of graphics (bitmap vs. vector- based). Students will be introduced to a variety of software packages used in new media production. This course is taught at Centennial College.",,5.0 credits including MDSA01H3 and MDSA02H3,,Digital Fundamentals,"NMEA02H3, NMEA03H3, NMEA04H3",This course is only open to students registered in the Joint Major Program in New Media. +NMEA02H3,HIS_PHIL_CUL,,"This course enables students to develop strong written communications skills for effective project proposals and communications, as well as non-linear writing skills that can be applied to a wide range of interactive media projects. The course examines the difference between successful writing for print and for new media, and how to integrate text and visual material. This course is taught at Centennial College.",,5.0 credits including MDSA01H3 and MDSA02H3,,Introduction to New Media Communications,"NMEA01H3, NMEA03H3, NMEA04H3",This course is only open to students registered in the Joint Major Program in New Media. +NMEA03H3,ART_LIT_LANG,,"This course introduces the fundamentals of two-dimensional design, graphic design theory, graphic design history, colour principles, typographic principles and visual communication theories applied to New Media Design. Working from basic form generators, typography, two-dimensional design principles, colour and visual communication strategies, learners will be introduced to the exciting world of applied graphic design and multi-media. This course is taught at Centennial College.",,10 full credits,,The Language of Design,5.0 credits including MDSA01H3 and MDSA02H3,This course is only open to students registered in the Joint Major Program in New Media. +NMEA04H3,ART_LIT_LANG,,"This course introduces students to the discipline of user interface and software design, and in particular their impact and importance in the world of new media. The course uses theory and research in combination with practical application, to bring a user-centred design perspective to developing new media software. This course is taught at Centennial College.",,5.0 credits including MDSA01H3 and MDSA02H3,,"Interface Design, Navigation and Interaction I","NMEA01H3, NMEA02H3, NMEA03H3",This course is only open to students registered in the Joint Major Program in New Media. +NMEB05H3,ART_LIT_LANG,,"Extends work on interface design. Students have opportunities to gain real world experience in the techniques of user interface design. Participants learn to do a ""requirements document"" for projects, how to design an interface which meets the needs of the requirements of the document and how to test a design with real world users.",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,"Interface Design, Navigation and Interaction II",,This course is only open to students registered in the Joint Major Program in New Media. +NMEB06H3,SOCIAL_SCI,,"This course enables the participant to understand the new media production process. Learners will develop the skills to conduct benchmarking, scoping and testing exercises that lead to meaningful project planning documents. Learners will develop and manage production schedules for their group projects that support the development efforts using the project planning documents.",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,Project Development and Presentation,NMEB05H3 and NMEB08H3 and NMEB09H3 and NMEB10H3,This course is only open to students registered in the Joint Major Program in New Media. +NMEB08H3,SOCIAL_SCI,,"This course builds on NMEA01H3. It enables learners to extend their understanding of software requirements and of advanced software techniques. Software used may include Dreamweaver, Flash, Director, and animation (using Director).",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,Application Software for Interactive Media,,This course is only open to students registered in the Joint Major Program in New Media. +NMEB09H3,ART_LIT_LANG,,"This course introduces students to the scope of sound design - creative audio for new media applications. Students will work with audio applications software to sample, create and compress files, and in the planning and post-production of new media. Students will also learn to use audio in interactive ways such as soundscapes.",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,Sound Design,NMEB05H3 and NMEB06H3 and NMEB08H3 and NMEB10H3,This course is only open to students registered in the Joint Major Program in New Media. +NMEB10H3,ART_LIT_LANG,,"This course discusses the integration of multiple media with the art of good design. The course examines the conventions of typography and the dynamics between words and images, with the introduction of time, motion and sound. The course involves guest speakers, class exercises, assignments, field trips, group critiques and major projects.",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,New Media Design,NMEB05H3 and NMEB06H3 and NMEB08H3 and NMEB09H3,This course is only open to students registered in the Joint Major Program in New Media. +NMEC01H3,HIS_PHIL_CUL,,"This seminar examines the ideological, political, structural, and representational assumptions underlying new media production and consumption from both theoretical and practice-based perspectives. Students critically reflect on and analyze digital media applications and artefacts in contemporary life, including business, information, communication, entertainment, and creative practices.",,4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses,(NMED20H3),Theory and Practice of New Media,, +NMED10Y3,,University-Based Experience,"Students develop a new media project that furthers their research into theoretical issues around digital media practices and artefacts. Projects may focus on digital media ranging from the internet to gaming, to social networking and the Web, to CD-ROMS, DVDs, mobile apps, and Virtual and Augmented Reality technologies.",,Completion of 15.0 credits including 4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses,(NMED01H3),New Media Senior Project,, +NROB60H3,NAT_SCI,University-Based Experience,"This course focuses on functional neuroanatomy of the brain at both the human and animal level. Topics include gross anatomy of the brain, structure and function of neurons and glia, neurotransmitters and their receptors, and examples of major functional systems. Content is delivered through lecture and laboratories.",,BIOA01H3 and BIOA02H3 and CHMA10H3 and [CHMA11H3 or CHMA12H3] and PSYA01H3 and PSYA02H3,"CSB332H, HMB320H, PSY290H, PSY391H, (ZOO332H)",Neuroanatomy Laboratory,, +NROB61H3,NAT_SCI,University-Based Experience,"This course focuses on the electrical properties of neurons and the ways in which electrical signals are generated, received, and integrated to underlie neuronal communication. Topics include principles of bioelectricity, the ionic basis of the resting potential and action potential, neurotransmission, synaptic integration, and neural coding schemes. Content will be delivered through lectures, labs, and tutorials.",,BIOA01H3 and BIOA02H3 and CHMA10H3 and [CHMA11H3 or CHMA12H3] and PSYA01H3 and PSYA02H3,,Neurophysiology,NROB60H3, +NROC34H3,NAT_SCI,,"Neural basis of natural behaviour; integrative function of the nervous system; motor and sensory systems; mechanisms of decision-making, initiating action, co-ordination, learning and memory. Topics may vary from year to year.",,BIOB34H3 or NROB60H3 or NROB61H3,,Neuroethology,, +NROC36H3,NAT_SCI,,"This course will focus on the molecular mechanisms underlying neuronal communication in the central nervous system. The first module will look into synaptic transmission at the molecular level, spanning pre and postsynaptic mechanisms. The second module will focus on molecular mechanisms of synaptic plasticity and learning and memory. Additional topics will include an introduction to the molecular mechanisms of neurodegenerative diseases and channelopathies.",BIOC13H3,BIOB11H3 and NROB60H3 and NROB61H3 and [PSYB55H3 or (PSYB65H3) ] and [PSYB07H3 or STAB22H3] and [(PSYB01H3) or (PSYB04H3) or PSYB70H3 ],,Molecular Neuroscience,,Priority will be given to students enrolled in the Specialist/Specialist Co-op programs in Neuroscience Cellular/Molecular stream. Students enrolled in the Specialist/Specialist Co-op programs in Neuroscience Systems/Behavioural or Cognitive streams or the Major program in Neuroscience will be admitted as space permits. +NROC60H3,NAT_SCI,University-Based Experience,"This course involves a theoretical and a hands-on cellular neuroscience laboratory component. Advanced systems, cellular and molecular neuroscience techniques will be covered within the context of understanding how the brain processes complex behaviour. Practical experience on brain slicing, immunohistochemistry and cell counting will feature in the completion of a lab project examining the cellular mechanisms underlying schizophrenia-like behavioural deficits. These experiments do not involve contact with animals.",,BIOB10H3 and NROB60H3 and NROB61H3 and PSYB55H3 and PSYB70H3 and [PSYB07H3 or STAB22H3],,Cellular Neuroscience Laboratory,NROC69H3 and PSYC08H3,Priority will be given to students enrolled in the Cellular/Molecular stream Specialist and Specialist Co-op programs in Neuroscience. Students enrolled in the Systems/Behavioural stream Specialist and Specialist Co-op programs in Neuroscience and the Major program in Neuroscience will be admitted as space permits. +NROC61H3,NAT_SCI,,"This course will explore the neural and neurochemical bases of learning and motivation. Topics covered under the category of learning include: Pavlovian learning, instrumental learning, multiple memory systems, and topics covered under motivation include: regulation of eating, drinking, reward, stress and sleep.",,BIOB10H3 and NROB60H3 and NROB61H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3] and [PSYB55H3 or (PSYB65H3)],,Learning and Motivation,,"Priority will be given to students enrolled in the Specialist/Specialist Co-op program in Neuroscience (Stage 2, all streams) and the Major program in Neuroscience." +NROC63H3,NAT_SCI,University-Based Experience,"This is a lecture and hands-on laboratory course that provides instruction on various experimental approaches, design, data analysis and scientific communication of research outcomes in the field of systems/behavioural neuroscience, with a focus on the neural basis of normal and abnormal learning and cognition. Topics covered include advanced pharmacological and neurological manipulation techniques, behavioural techniques and animal models of psychological disease (e.g., anxiety, schizophrenia). The class involves the use of experimental animals.",,BIOB10H3 and NROB60H3 and NROB61H3 and PSYB55H3 and PSYB70H3 and [PSYB07H3 or STAB22H3],,Behavioural Neuroscience Laboratory,NROC61H3 and PSYC08H3,Priority will be given to students enrolled in the Systems/Behavioural stream Specialist and Specialist Co-op programs in Neuroscience. Students enrolled in the Cellular/Molecular stream Specialist and Specialist Co-op programs in Neuroscience and the Major program in Neuroscience will be admitted as space permits. +NROC64H3,NAT_SCI,,"A focus on the mechanisms by which the nervous system processes sensory information and controls movement. The topics include sensory transduction and the physiology for sensory systems (visual, somatosensory, auditory, vestibular). Both spinal and central mechanisms of motor control are also covered.",,BIOB10H3 and NROB60H3 and NROB61H3 and [ (PSYB01H3) or (PSYB04H3) or PSYB70H3 ] and [PSYB07H3 or STAB22H3] and [ PSYB55H3 or (PSYB65H3) ],,Sensorimotor Systems,,"Priority will be given to students enrolled in the Specialist/Specialist Co-op program in Neuroscience (Stage 2, all streams) and students enrolled in the Major program in Neuroscience." +NROC69H3,NAT_SCI,,"The course will provide an in-depth examination of neural circuits, synaptic connectivity and cellular mechanisms of synaptic function. Similarities and differences in circuit organization and intrinsic physiology of structures such as the thalamus, hippocampus, basal ganglia and neocortex will also be covered. The goal is to engender a deep and current understanding of cellular mechanisms of information processing in the CNS.",,BIOB10H3 and NROB60H3 and NROB61H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3] and [PSYB55H3 or (PSYB65H3)],,Synaptic Organization and Physiology of the Brain,,Priority will be given to students enrolled in the Specialist/Specialist Co-op program in Neuroscience Systems/Behavioural and Cellular/Molecular streams. Students enrolled in the Specialist/Specialist Co-op program in Neuroscience Cognitive Neuroscience stream or the Major program in Neuroscience will be admitted as space permits. +NROC90H3,,University-Based Experience,"An intensive research project intended to provide laboratory/field experience in data collection and analysis. The project must be completed over 2 consecutive terms. NROC90H and NROC93H3 provide an opportunity to engage in research in an area after completing basic coverage in regularly scheduled courses. The student must demonstrate a background adequate for the project proposed and should present a clear rationale to prospective supervisors. Regular consultation with the supervisor is necessary, and extensive data collection and analysis will be required. Such a project will culminate in a written research report. Students must first find a supervisor before the start of the academic term in which the project will be initiated. They must then obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and returned to the Psychology Office. Students seeking supervision off campus are further advised to check the appropriateness of the proposed advisor with the Program Supervisor. If the proposed supervisor is not appointed to the Neuroscience faculty at UTSC then a secondary supervisor who is a member of the Neuroscience group at UTSC will be required.",,BIOB10H3 and NROB60H3 and NROB61H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3] and [PSYB55H3 or (PSYB65H3)] and permission of the proposed supervisor.,PSYC90H3,Supervised Study in Neuroscience,, +NROC93H3,,University-Based Experience,"An intensive research project intended to provide laboratory/field experience in data collection and analysis. The project must be completed over 2 consecutive terms. NROC90H3 and NROC93H3 provide an opportunity to engage in research in an area after completing basic coverage in regularly scheduled courses. The student must demonstrate a background adequate for the project proposed and should present a clear rationale to prospective supervisors. Regular consultation with the supervisor is necessary, and extensive data collection and analysis will be required. Such a project will culminate in a written research report. Students must first find a supervisor before the start of the academic term in which the project will be initiated. They must then obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and returned to the Psychology Office. Students seeking supervision off campus are further advised to check the appropriateness of the proposed advisor with the Program Supervisor. If the proposed supervisor is not appointed to the Neuroscience faculty at UTSC then a secondary supervisor who is a member of the Neuroscience group at UTSC will be required.",,BIOB10H3 and NROB60H3 and NROB61H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3] and [PSYB55H3 or (PSYB65H3)] and permission of the proposed supervisor.,PSYC93H3,Supervised Study in Neuroscience,, +NROD08H3,NAT_SCI,,"A seminar covering topics in the theory of neural information processing, focused on perception, action, learning and memory. Through reading, discussion and working with computer models students will learn fundamental concepts underlying current mathematical theories of brain function including information theory, population codes, deep learning architectures, auto-associative memories, reinforcement learning and Bayesian optimality. Same as BIOD08H3",,[NROC34H3 or NROC64H3 or NROC69H3] and [MATA29H3 or MATA30H3 or MATA31H3] and [PSYB07H3 or STAB22H3],BIOD08H3,Theoretical Neuroscience,, +NROD60H3,NAT_SCI,,An intensive examination of selected issues and research problems in the Neurosciences.,,"1.0 credit from the following: [NROC34H3, or NROC36H3 or NROC61H3 or NROC64H3 or NROC69H3]",,Current Topics in Neuroscience,, +NROD61H3,NAT_SCI,,"A seminar based course covering topics on emotional learning based on animal models of fear and anxiety disorders in humans. Through readings, presentations and writing students will explore the synaptic, cellular, circuit and behavioural basis of fear memory processing, learning how the brain encodes fearful and traumatic memories, how these change with time and developmental stage, as well as how brain circuits involved in fear processing might play a role in depression and anxiety.",NROC60H3,NROC61H3 and NROC64H3 and NROC69H3,[NROD60H3 if taken in Fall 2018],Emotional Learning Circuits,, +NROD66H3,NAT_SCI,,"An examination of the major phases of the addiction cycle, including drug consumption, withdrawal, and relapse. Consideration will be given to what basic motivational and corresponding neurobiological processes influence behaviour during each phase of the cycle. Recent empirical findings will be examined within the context of major theoretical models guiding the field.",PSYC08H3,[NROC61H3 or NROC64H3] and PSYC62H3,,Drug Addiction,, +NROD67H3,NAT_SCI,,"This course will characterize various anatomical, biochemical, physiological, and psychological changes that occur in the nervous system with age. We will examine normal aging and age-related cognitive deterioration (including disease states) with a focus on evaluating the validity of current theories and experimental models of aging.",,NROC61H3 and NROC64H3,,Neuroscience of Aging,, +NROD98Y3,,University-Based Experience,"This course offers the opportunity to engage in a year long research project under the supervision of an interested member of the faculty in Neuroscience. The project will culminate in a written report in the form of a thesis and a poster presentation. During the course of the year, at appropriate times, students will meet to present their own research proposals, to appraise the proposals of others, and to discuss the results of their investigation. Students must first find a supervisor, which is usually confirmed before the start of the academic term in which the project will be initiated. Students will meet as a group with the coordinator as well as individually with their supervisor. Students planning to pursue graduate studies are especially encouraged to enrol in the course. Students must obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and submitted to the Psychology Office. Students seeking supervision off campus will need to arrange co supervision with a faculty member in Neuroscience at UTSC.",,"BIOB10H3 and NROB60H3 and NROB61H3 and [PSYB07H3 or STAB22H3] and PSYB55H3 and PSYB70H3 and [0.5 credits from the NRO C-level courses or PSY 50-series C-level courses] and [enrolment in the Specialist Co-op, Specialist, or Major Program in Neuroscience] and [GPA of 3.3 or higher over the last 5.0 credit equivalents completed] and permission of the proposed neuroscience faculty supervisor.","BIOD98Y3, BIOD99Y3, PSYD98Y3",Thesis in Neuroscience,[PSYC08H3 or PSYC09H3], +PHLA10H3,HIS_PHIL_CUL,University-Based Experience,"An introduction to philosophy focusing on issues of rationality, metaphysics and the theory of knowledge. Topics may include: the nature of mind, freedom, the existence of God, the nature and knowability of reality. These topics will generally be introduced through the study of key texts from the history of philosophy.",,,"PHL100Y1, PHL101Y1",Reason and Truth,, +PHLA11H3,HIS_PHIL_CUL,University-Based Experience,Ethics is concerned with concrete questions about how we ought to treat one another as well as more general questions about how to justify our ethical beliefs. This course is an introduction that both presents basic theories of ethics and considers their application to contemporary moral problems.,,,"PHL275H, PHL100Y1, PHL101Y1",Introduction to Ethics,, +PHLB02H3,HIS_PHIL_CUL,,"This course examines ethical issues raised by our actions and our policies for the environment. Do human beings stand in a moral relationship to the environment? Does the environment have moral value and do non-human animals have moral status? These fundamental questions underlie more specific contemporary issues such as sustainable development, alternative energy, and animal rights.",PHLA11H3,,PHL273H,Environmental Ethics,, +PHLB03H3,ART_LIT_LANG,,"An examination of challenges posed by the radical changes and developments in modern and contemporary art forms. For example, given the continuously exploding nature of art works, what do they have in common - what is it to be an artwork?",,,PHL285H,Philosophy of Aesthetics,, +PHLB04H3,ART_LIT_LANG,,"This course examines some of the classic problems concerning literary texts, such as the nature of interpretation, questions about the power of literary works and their relationship to ethical thought, and problems posed by fictional works - how can we learn from works that are fictional and how can we experience genuine emotions from works that we know are fictional?",,,,Philosophy and Literature,, +PHLB05H3,SOCIAL_SCI,,"An examination of contemporary or historical issues that force us to consider and articulate our values and commitments. The course will select issues from a range of possible topics, which may include globalization, medical ethics, war and terrorism, the role of government in a free society, equality and discrimination.",,,,Social Issues,, +PHLB06H3,HIS_PHIL_CUL,,"An examination of philosophical issues in ethics, social theory, and theories of human nature as they bear on business. What moral obligations do businesses have? Can social or environmental costs and benefits be calculated in a way relevant to business decisions? Do political ideas have a role within business?",,,"MGSC14H3/(MGTC59H3), PHL295H",Business Ethics,, +PHLB07H3,HIS_PHIL_CUL,,"What is the difference between right and wrong? What is 'the good life'? What is well-being? What is autonomy? These notions are central in ethical theory, law, bioethics, and in the popular imagination. In this course we will explore these concepts in greater depth, and then consider how our views about them shape our views about ethics.",,,,Ethics,, +PHLB09H3,HIS_PHIL_CUL,,"This course is an examination of moral and legal problems in medical practice, in biomedical research, and in the development of health policy. Topics may include: concepts of health and disease, patients' rights, informed consent, allocation of scarce resources, euthanasia, risks and benefits in research and others.",,,"PHL281H, (PHL281Y)",Biomedical Ethics,, +PHLB11H3,HIS_PHIL_CUL,,"A discussion of right and rights, justice, legality, and related concepts. Particular topics may include: justifications for the legal enforcement of morality, particular ethical issues arising out of the intersection of law and morality, such as punishment, freedom of expression and censorship, autonomy and paternalism, constitutional protection of human rights.",,,PHL271H,Philosophy of Law,, +PHLB12H3,HIS_PHIL_CUL,,"Philosophical issues about sex and sexual identity in the light of biological, psychological and ethical theories of sex and gender; the concept of gender; male and female sex roles; perverse sex; sexual liberation; love and sexuality.",,,PHL243H,Philosophy of Sexuality,, +PHLB13H3,HIS_PHIL_CUL,,"What is feminism? What is a woman? Or a man? Are gender relations natural or inevitable? Why do gender relations exist in virtually every society? How do gender relations intersect with other social relations, such as economic class, culture, race, sexual orientation, etc.?",,,PHL267H,Philosophy and Feminism,, +PHLB17H3,HIS_PHIL_CUL,,"This course will introduce some important concepts of and thinkers in political philosophy from the history of political philosophy to the present. These may include Plato, Aristotle, Augustine, Aquinas, Thomas Hobbes, John Locke, Jean- Jacques Rousseau, G.W.F. Hegel, John Stuart Mill, or Karl Marx. Topics discussed may include political and social justice, liberty and the criteria of good government.",,,"PHL265H, (POLB71H3); in addition, PHLB17H3 may not be taken after or concurrently with POLB72H3",Introduction to Political Philosophy,, +PHLB18H3,HIS_PHIL_CUL,University-Based Experience,"This course will provide an accessible understanding of AI systems, such as ChatGPT, focusing on the ethical issues raised by ongoing advances in AI. These issues include the collection and use of big data, the use of AI to manipulate human beliefs and behaviour, its application in the workplace and its impact on the future of employment, as well as the ethical standing of autonomous AI systems.","PHLA10H3 or PHLA11H3. These courses provide an introductory background of philosophical reasoning and core background concepts, which would assist students taking a B level course in Philosophy.",,,Ethics of Artificial Intelligence,, +PHLB20H3,HIS_PHIL_CUL,,"An examination of the nature of knowledge, and our ability to achieve it. Topics may include the question of whether any of our beliefs can be certain, the problem of scepticism, the scope and limits of human knowledge, the nature of perception, rationality, and theories of truth.",,,(PHL230H),"Belief, Knowledge, and Truth",, +PHLB30H3,HIS_PHIL_CUL,,"A study of the views and approaches pioneered by such writers as Kierkegaard, Husserl, Jaspers, Heidegger and Sartre. Existentialism has had influence beyond philosophy, impacting theology, literature and psychotherapy. Characteristic topics include the nature of the self and its relations to the world and society, self-deception, and freedom of choice.",,,PHL220H,Existentialism,, +PHLB31H3,HIS_PHIL_CUL,,"A survey of some main themes and figures of ancient philosophical thought, concentrating on Plato and Aristotle. Topics include the ultimate nature of reality, knowledge, and the relationship between happiness and virtue.",,,"PHL200Y, PHL202H",Introduction to Ancient Philosophy,, +PHLB33H3,HIS_PHIL_CUL,,"This course is a thematic introduction to the history of metaphysics, focusing on topics such as the nature of God, our own nature as human beings, and our relation to the rest of the world. We will read a variety of texts, from ancient to contemporary authors, that will introduce us to concepts such as substance, cause, essence and existence, mind and body, eternity and time, and the principle of sufficient reason. We will also look at the ethical implications of various metaphysical commitments.",,,,"God, Self, World",, +PHLB35H3,HIS_PHIL_CUL,,"This course is an introduction to the major themes and figures of seventeenth and eighteenth century philosophy, from Descartes to Kant, with emphasis on metaphysics, epistemology, and ethics.",,,PHL210Y,Introduction to Early Modern Philosophy,, +PHLB50H3,QUANT,,"An introduction to formal, symbolic techniques of reasoning. Sentential logic and quantification theory (or predicate logic), including identity will be covered. The emphasis is on appreciation of and practice in techniques, for example, the formal analysis of English statements and arguments, and for construction of clear and rigorous proofs.",,,PHL245H,Symbolic Logic I,, +PHLB55H3,QUANT,,"Time travel, free will, infinity, consciousness: puzzling and paradoxical issues like these, brought under control with logic, are the essence of philosophy. Through new approaches to logic, we will find new prospects for understanding philosophical paradoxes.",,,,Puzzles and Paradoxes,, +PHLB58H3,QUANT,,"Much thought and reasoning occur in a context of uncertainty. How do we know if a certain drug works against a particular illness? Who will win the next election? This course examines various strategies for dealing with uncertainty. Topics include induction and its problems, probabilistic reasoning and the nature of probability, the assignment of causes and the process of scientific confirmation and refutation. Students will gain an appreciation of decision making under uncertainty in life and science.",,,"PHL246H1, PHL246H5",Reasoning Under Uncertainty,, +PHLB60H3,HIS_PHIL_CUL,,"A consideration of problems in metaphysics: the attempt to understand 'how everything fits together' in the most general sense of this phrase. Some issues typically covered include: the existence of God, the nature of time and space, the nature of mind and the problem of the freedom of the will.",,,(PHL231H),Introduction to Metaphysics,, +PHLB81H3,HIS_PHIL_CUL,,"An examination of questions concerning the nature of mind. Philosophical questions considered may include: what is consciousness, what is the relation between the mind and the brain, how did the mind evolve and do animals have minds, what is thinking, what are feelings and emotions, and can machines have minds.",,,PHL240H,Theories of Mind,, +PHLB91H3,HIS_PHIL_CUL,,"An exploration of theories which provide answers to the question 'What is a human being?', answers that might be summarized with catchphrases such as: 'Man is a rational animal,' 'Man is a political animal,' 'Man is inherently individual,' 'Man is inherently social,' etc. Authors studied are: Aristotle, Hobbes, Rousseau, Darwin, Marx, Freud and Sartre.",,,"PHL244H, (PHLC91H3)",Theories of Human Nature,, +PHLB99H3,HIS_PHIL_CUL,,"In this writing-intensive course, students will become familiar with tools and techniques that will enable them to competently philosophize, on paper and in person. Students will learn how to write an introduction and how to appropriately structure philosophy papers, how to accurately present someone else's position or argumentation, how to critically assess someone else's view or argumentation, and how to present and defend their own positive proposal or argumentation concerning a given topic. Students will learn many more specific skills, such as, how to `signpost' what students are doing, how to identify and charitably interpret ambiguities in another discussion, and how to recognize and apply various argumentative strategies.",,"0.5 credit in PHL courses, excluding [PHLB50H3 and PHLB55H3]",,Philosophical Writing and Methodology,,This course is strongly recommended for students enrolled in the Specialist and Major program in Philosophy. It is open to students enrolled in the Minor program in Philosophy as well as all other students by permission of the instructor. +PHLC03H3,ART_LIT_LANG,,"An exploration of some current issues concerning the various forms of art such as: the role of the museum, the loss of beauty and the death of art.",,Any 4.5 credits and [PHLB03H3 and an additional 1.0 credit in PHL courses],,Topics in the Philosophy of Aesthetics,, +PHLC05H3,HIS_PHIL_CUL,,"Philosophers offer systematic theories of ethics: theories that simultaneously explain what ethics is, why it matters, and what it tells us to do. This course is a careful reading of classic philosophical texts by the major systematic thinkers in the Western tradition of ethics. Particular authors read may vary from instructor to instructor.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus – see Table 1.0 for reference]","(PHLC01H3), PHL375H",Ethical Theory,, +PHLC06H3,HIS_PHIL_CUL,,"Philosophical ethics simultaneously aims to explain what ethics is, why it matters, and what it tells us to do. This is what is meant by the phrase 'ethical theory.' In this class we will explore specific topics in ethical theory in some depth. Specific topics may vary with the instructor.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus – see Table 1.0 for reference]",(PHLC01H3),Topics in Ethical Theory,, +PHLC07H3,HIS_PHIL_CUL,,"An intermediate-level study of the ethical and legal issues raised by death and dying. Topics may vary each year, but could include the definition of death and the legal criteria for determining death, the puzzle of how death can be harmful, the ethics of euthanasia and assisted suicide, the relationship between death and having a meaningful life, and the possibility of surviving death.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus, see Table 1.0 for reference]",PHL382H1,Death and Dying,, +PHLC08H3,HIS_PHIL_CUL,,"This is an advanced, reading and discussion intensive course in the history of Arabic and Jewish thought, beginning with highly influential medieval thinkers such as Avicenna (Ibn Sīnā), al-Ghazālī, Al Fārābī, Averroes (Ibn Rushd), and Maimonides, and ending with 20th century philosophers (among them Arendt, Freud and Levinas).",,"Any 4.5 credits and [and additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus – see Table 1.0 for reference]",,Topics in Arabic and Jewish Philosophy,, +PHLC09H3,HIS_PHIL_CUL,,"This course is a reading and discussion intensive course in 20th century German and French European Philosophy. Among the movements we shall study will be phenomenology, existentialism, and structuralism. We will look at the writings of Martin Heidegger, Jean-Paul Sartre, Maurice Merleau-Ponty, Michel Foucault, and Gilles Deleuze, among others.",,Any 4.5 credits and [an additional 1.5 credits in PHL courses],,Topics in Continental Philosophy,, +PHLC10H3,HIS_PHIL_CUL,,"An intermediate-level study of bioethical issues. This course will address particular issues in bioethics in detail. Topics will vary from year to year, but may include such topics as reproductive ethics, healthcare and global justice, ethics and mental health, the patient-physician relationship, or research on human subjects.",PHLB09H3 is strongly recommended,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus, see Table 1.0 for reference]",,Topics in Bioethics,, +PHLC13H3,HIS_PHIL_CUL,,"Feminist philosophy includes both criticism of predominant approaches to philosophy that may be exclusionary for women and others, and the development of new approaches to various areas of philosophy. One or more topics in feminist philosophy will be discussed in some depth. Particular topics will vary with the instructor.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory sub-discipline area of focus – see Table 1.0 for reference]",,Topics in Philosophy and Feminism,, +PHLC14H3,HIS_PHIL_CUL,,"Contemporary Philosophy, as taught in North America, tends to focus on texts and problematics associated with certain modes of philosophical investigation originating in Greece and developed in Europe and North America. There are rich alternative modes of metaphysical investigation, however, associated with Arabic, Indian, East Asian, and African philosophers and philosophizing. In this course, we will explore one or more topics drawn from metaphysics, epistemology, or value theory, from the points of view of these alternative philosophical traditions.",PHLB99H3,Any 4.5 credits and an additional 1.5 credits in PHL courses,,Topics in Non-Western Philosophy,, +PHLC20H3,HIS_PHIL_CUL,,"A follow up to PHLB20H3. This course will consider one or two epistemological topics in depth, with an emphasis on class discussion.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",PHL332H,Theory of Knowledge,, +PHLC22H3,HIS_PHIL_CUL,,"This course addresses particular issues in the theory of knowledge in detail. Topics will vary from year to year but may typically include such topics as The Nature of Knowledge, Scepticism, Epistemic Justification, Rationality and Rational Belief Formation.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",PHL332H,Topics in Theory of Knowledge,, +PHLC31H3,HIS_PHIL_CUL,,"This course examines the foundational work of Plato in the major subject areas of philosophy: ethics, politics, metaphysics, theory of knowledge and aesthetics.",PHLB31H3 is strongly recommended,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus, see Table 1.0 for reference]",PHL303H1,Topics in Ancient Philosophy: Plato,, +PHLC32H3,HIS_PHIL_CUL,,"This course examines the foundational work of Aristotle in the major subject areas of philosophy: metaphysics, epistemology, ethics, politics, and aesthetics.",PHLB31H3 strongly recommended,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus, see Table 1.0 for reference]",PHL304H1,Topics in Ancient Philosophy: Aristotle,, +PHLC35H3,HIS_PHIL_CUL,,"In this course we study the major figures of early modern rationalism, Descartes, Spinoza, and Leibniz, with a particular emphasis on topics such as substance, knowledge and sense perception, the mind-body problem, and the existence and nature of God.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus – see Table 1.0 for reference]",PHL310H,Topics in Early Modern Philosophy: Rationalism,, +PHLC36H3,HIS_PHIL_CUL,,"In this course we study major figures of early modern empiricism, Locke, Berkeley, Hume, with a particular emphasis on topics such as substance, knowledge and sense perception, the mind-body problem, and the existence and nature of God.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus – see Table 1.0 for reference]",PHL311H,Topics in Early Modern Philosophy: Empiricism,, +PHLC37H3,HIS_PHIL_CUL,,"This course focuses on the thought of Immanuel Kant, making connections to some of Kant’s key predecessors such as Hume or Leibniz. The course will focus either on Kant’s metaphysics and epistemology, or his ethics, or his aesthetics.",,Any 4.5 credits and [[PHLB33H3 or PHLB35H3] and additional 1.0 credit in PHL courses],PHL314H,Kant,, +PHLC43H3,HIS_PHIL_CUL,,"This course explores the foundation of Analytic Philosophy in the late 19th and early 20th century, concentrating on Frege, Russell, and Moore. Special attention paid to the discovery of mathematical logic, its motivations from and consequences for metaphysics and the philosophy of mind.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, including PHLB50H3 and 0.5 credit from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",PHL325H,History of Analytic Philosophy,, +PHLC45H3,HIS_PHIL_CUL,University-Based Experience,This course critically examines advanced topics in philosophy.,,Any 4.5 credits and [an additional 1.0 credit in PHL courses],,Advanced Topics in Philosophy,, +PHLC51H3,QUANT,,"After consolidating the material from Symbolic Logic I, we will introduce necessary background for metalogic, the study of the properties of logical systems. We will introduce set theory, historically developed in parallel to logic. We conclude with some basic metatheory of the propositional logic learned in Symbolic Logic I.",,PHLB50H3 or CSCB36H3 or MATB24H3 or MATB43H3,"MATC09H3, PHL345H",Symbolic Logic II,, +PHLC60H3,HIS_PHIL_CUL,,"A follow up to PHLB60H3. This course will consider one or two metaphysical topics in depth, with an emphasis on class discussion.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]","PHL331H, PHL332H (UTM only)",Metaphysics,, +PHLC72H3,HIS_PHIL_CUL,,"This course will consider one or two topics in the Philosophy of Science in depth, with an emphasis on class discussion.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Philosophy of Science,, +PHLC80H3,HIS_PHIL_CUL,,"An examination of philosophical issues about language. Philosophical questions to be covered include: what is the relation between mind and language, what is involved in linguistic communication, is language an innate biological feature of human beings, how do words manage to refer to things, and what is meaning.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Philosophy of Language,, +PHLC86H3,HIS_PHIL_CUL,,"Advance Issues in the Philosophy of Mind. For example, an examination of arguments for and against the idea that machines can be conscious, can think, or can feel. Topics may include: Turing's test of machine intelligence, the argument based on Gödel's theorem that there is an unbridgeable gulf between human minds and machine capabilities, Searle's Chinese Room thought experiment.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Issues in the Philosophy of Mind,, +PHLC89H3,HIS_PHIL_CUL,,"Advanced topic(s) in Analytic Philosophy. Sample contemporary topics: realism/antirealism; truth; interrelations among metaphysics, epistemology, philosophy of mind and of science.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Topics in Analytic Philosophy,, +PHLC92H3,HIS_PHIL_CUL,,An examination of some central philosophical problems of contemporary political philosophy.,,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus – see Table 1.0 for reference]",,Political Philosophy,, +PHLC93H3,HIS_PHIL_CUL,,"This course will examine some contemporary debates in recent political philosophy. Topics discussed may include the nature of justice, liberty and the criteria of good government, and problems of social coordination.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus – see Table 1.0 for reference]",,Topics in Political Philosophy,, +PHLC95H3,HIS_PHIL_CUL,,"Advanced topics in the Philosophy of mind, such as an exploration of philosophical problems and theories of consciousness. Topics to be examined may include: the nature of consciousness and 'qualitative experience', the existence and nature of animal consciousness, the relation between consciousness and intentionality, as well as various philosophical theories of consciousness.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Topics in the Philosophy of Mind,, +PHLC99H3,HIS_PHIL_CUL,,"This course aims to foster a cohesive cohort among philosophy specialists and majors. The course is an intensive seminar that will develop advanced philosophical skills by focusing on textual analysis, argumentative techniques, writing and oral presentation. Students will work closely with the instructor and their peers to develop a conference-style, research-length paper. Each year, the course will focus on a different topic drawn from the core areas of philosophy for its subject matter. This course is strongly recommended for students in the Specialist and Major programs in Philosophy.",,Any 4.5 credits and [an additional 1.5 credits in PHL courses],,Philosophical Development Seminar,, +PHLD05H3,HIS_PHIL_CUL,,This course offers an in-depth investigation into selected topics in moral philosophy.,,"3.5 credits in PHL courses, including [[PHLC05H3 or PHLC06H3] and 0.5 credit at the C-level]","PHL407H, PHL475H",Advanced Seminar in Ethics,, +PHLD09H3,HIS_PHIL_CUL,,This advanced seminar will delve deeply into an important topic in bioethics. The topics will vary from year to year. Possible topics include: a detailed study of sperm and ovum donation; human medical research in developing nations; informed consent; classification of mental illness.,,"3.5 credits in PHL courses, including [PHLC10H3 and 0.5 credit at the C-level]",,Advanced Seminar in Bioethics,, +PHLD20H3,HIS_PHIL_CUL,,"This courses addresses core issues in the theory of knowledge at an advanced level. Topics to be discussed may include The Nature of Knowledge, Scepticism, Epistemic Justification, Rationality and Rational Belief Formation.",,"3.5 credits in PHL courses, including [[PHLC20H3 or PHLC22H3] and 0.5 credit at the C-level]",,Advanced Seminar in Theory of Knowledge,, +PHLD31H3,HIS_PHIL_CUL,,"This course offers in-depth examination of selected topics from the philosophy of Plato and Aristotle, as well as the Epicurean and Stoic schools of thought. Topics will range from the major areas of philosophy: metaphysics, epistemology, ethics, politics and aesthetics.",It is strongly recommended that students take both PHLC31H3 and PHLC32H3.,"3.5 credits in PHL courses, including [[PHLC31H3 or PHLC32H3] and [an additional 0.5 credit at the C-level]]",,Advanced Seminar in Ancient Philosophy,, +PHLD35H3,HIS_PHIL_CUL,,"This course offers in-depth examination of the philosophical approach offered by one of the three principal Rationalist philosophers, Descartes, Spinoza or Leibniz.",,"3.5 credits in PHL courses, including [PHLC35H3 and 0.5 credit at the C-level]",,Advanced Seminar in Rationalism,, +PHLD36H3,HIS_PHIL_CUL,,"In this course, we will explore in depth certain foundational topics in the philosophy of Berkeley and Hume, with an eye to elucidating both the broadly Empiricist motivations for their approaches and how their approaches to key topics differ. Topics may address the following questions: Is there a mind- independent world? What is causation? Is the ontological or metaphysical status of persons different from that of ordinary objects? Does God exist?",,"3.5 credits in PHL courses, including [PHLC36H3 and an additional 0.5 credit at the C-level]",,Advanced Seminar in Empiricism,, +PHLD43H3,HIS_PHIL_CUL,,"This course examines Analytic Philosophy in the mid-20th century, concentrating on Wittgenstein, Ramsey, Carnap, and Quine. Special attention paid to the metaphysical foundations of logic, and the nature of linguistic meaning, including the relations between ""truth-conditional"" and ""verificationist"" theories.",,"3.5 credits in PHL courses, including [PHLC43H3 and 0.5 credit at the C-level]","PHL325H, (PHLC44H3)",Advanced Seminar in History of Analytic Philosophy,, +PHLD51H3,QUANT,,"Symbolic Logic deals with formal languages: you work inside formal proof systems, and also consider the ""semantics"", dealing with truth, of formal languages. Instead of working inside formal systems, Metalogic treats systems themselves as objects of study, from the outside.",,PHLC51H3,"PHL348H, (PHLC54H3)",Metalogic,, +PHLD78H3,HIS_PHIL_CUL,,"This advanced seminar will delve more deeply into an issue in political philosophy. Topics will vary from year to year, but some examples include: distributive justice, human rights, and the political morality of freedom. Students will be required to present material to the class at least once during the semester.",,"3.5 credits in PHL courses, including 1.0 credit at the C-level",,Advanced Seminar in Political Philosophy,, +PHLD79H3,,,"This seminar addresses core issues in metaphysics. Topics to be discussed may include the nature of persons and personal identity, whether physicalism is true, what is the relation of mind to reality in general, the nature of animal minds and the question of whether machines can possess minds.",,"3.5 credits in PHL courses, including 1.0 credit at the C-level",,Advanced Seminar in Metaphysics,, +PHLD85H3,HIS_PHIL_CUL,University-Based Experience,"The Socrates Project Mentorship Seminar is a half-year seminar course that provides experiential learning in philosophy in conjunction with a teaching assignment to lead tutorials and mark assignments in PHLA10H3. This course is designed for a select number of returning Socrates Project participants chosen to mentor new Project participants. These students will solidify their teaching/grading skills and advise new participants in the Project. The seminar course will further enhance their philosophical abilities in an extension of PHLD88Y3. Roughly 75% of the seminar will be devoted to a more in-depth study of the topics taken up in the PHLA10H3 Reason and Truth. Students will write a seminar paper on one of these topics under the supervision of a UTSC Philosophy faculty member working in the relevant area, and they will give an oral presentation on their research topic each semester. The remaining 25% of the seminar will focus on the further exploration of the methods and challenges of teaching philosophy, benchmark grading, and grading generally and, most distinctively, issues of mentorship of new participants to the Socrates Project.",,PHLD88Y3,"PHL489Y1, PHL489Y5",Advanced Seminar in Philosophy: Socrates Project Mentorship,,"The teaching component of the Socrates Project will consist of the following components. Students will optionally attend two 1-hour PHLA10H3 lectures each week, and teach one tutorial of approximately 25 students, meeting with them for 1 hour every other week. Students will grade papers, hold office hours, and meet with the relevant professor as needed as well as provide mentorship to new participants in the Socrates Project." +PHLD86H3,HIS_PHIL_CUL,University-Based Experience,"The Socrates Project Mentorship Seminar is a half-year seminar course that provides experiential learning in philosophy in conjunction with a teaching assignment to lead tutorials and mark assignments in PHLA11H3. This course is designed for a select number of returning Socrates Project participants chosen to mentor new Project participants. These students will solidify their teaching/grading skills and advise new participants in the Project. The seminar course will further enhance their philosophical abilities in an extension of PHLD88Y3. Roughly 75% of the seminar will be devoted to a more in-depth study of the topics taken up in the PHLA11H3 Introduction to Ethics. Students will write a seminar paper on one of these topics under the supervision of a UTSC Philosophy faculty member working in the relevant area, and they will give an oral presentation on their research topic each semester. The remaining 25% of the seminar will focus on the further exploration of the methods and challenges of teaching philosophy, benchmark grading, and grading generally and, most distinctively, issues of mentorship of new participants to the Socrates Project.",,PHLD88Y3,"PHL489Y1, PHL489Y5",Advanced Seminar in Philosophy: Socrates Project Mentorship,,"The teaching component of the Socrates Project will consist of the following components. Students will optionally attend two 1-hour PHLA11H3 lectures each week, and teach one tutorial of approximately 25 students, meeting with them for 1 hour every other week. Students will grade papers, hold office hours, and meet with the relevant professor as needed as well as provide mentorship to new participants in the Socrates Project." +PHLD87H3,HIS_PHIL_CUL,,"This course offers in-depth examination of selected contemporary theories and issues in philosophy of mind, such as theories of perception or of consciousness, and contemporary research examining whether minds must be embodied or embedded in a larger environment.",PHLC95H3,"3.5 credits in PHL courses, including [[PHLC95H3 or PHLC86H3] and 0.5 credit at the C-level]",PHL405H,Advanced Seminar in Philosophy of Mind,, +PHLD88Y3,HIS_PHIL_CUL,University-Based Experience,"The Socrates Project Seminar is a full-year seminar course that provides experiential learning in philosophy in conjunction with a teaching assignment to lead tutorials and mark assignments in PHLA10H3 and PHLA11H3. Roughly 75% of the seminar will be devoted to more in-depth study of the topics taken up in PHLA10H3 and PHLA11H3. Students will write a seminar paper on one of these topics under the supervision of a UTSC Philosophy faculty member working in the relevant area, and they will give an oral presentation on their research topic each semester. The remaining 25% of the seminar will focus on the methods and challenges of teaching philosophy, benchmark grading, and grading generally.",,Permission of the instructor and Department.,"PHL489Y1, PHL489Y5",Advanced Seminar in Philosophy: Socrates Project,, +PHLD89Y3,HIS_PHIL_CUL,University-Based Experience,"The Socrates Project for Applied Ethics is a seminar course which occurs over two terms that provides experiential learning in philosophy in conjunction with a teaching assignment to lead tutorials and mark assignments in PHLB09H3. Roughly 75% of the seminar will be devoted to a more in-depth study of the topics taken up in PHLB09H3. Students will write a seminar paper on one of these topics under the supervision of a UTSC Philosophy faculty member working in the relevant area, and they will give an oral presentation on their research topic each semester. The remaining 25% of the seminar will focus on the methods and challenges of teaching philosophy, benchmark grading, and grading generally.",,Permission of the instructor and Department.,,Advanced Seminar in Philosophy: The Socrates Project for Applied Ethics,, +PHLD90H3,,,,,,,Independent Study,, +PHLD91H3,,,,,,,Independent Study,, +PHLD92H3,,,,,,,Independent Study,, +PHLD93H3,,,,,,,Independent Study,, +PHLD94H3,,,,,,,Independent Study,, +PHLD95H3,,,,,,,Independent Study,, +PHLD96H3,,,,,,,Independent Study,, +PHLD97H3,,,,,,,Independent Study,, +PHLD98H3,,,,,,,Independent Study,, +PHLD99H3,,,,,,,Independent Study,, +PHYA10H3,NAT_SCI,,"The course is intended for students in physical, environmental and mathematical sciences. The course introduces the basic concepts used to describe the physical world with mechanics as the working example. This includes mechanical systems (kinematics and dynamics), energy, momentum, conservation laws, waves, and oscillatory motion.",,Physics 12U - SPH4U (Grade 12 Physics) and Calculus and Vectors (MCV4U) and Advanced Functions (MHF4U),"PHYA11H3, PHY131H, PHY135Y, PHY151H, (PHY110Y), (PHY138Y)",Physics I for the Physical Sciences,MATA30H3 or MATA31H3, +PHYA11H3,NAT_SCI,,This first course in Physics at the university level is intended for students enrolled in the Life sciences. It covers fundamental concepts of classical physics and its applications to macroscopic systems. It deals with two main themes; which are Particle and Fluid Mechanics and Waves and Oscillations. The approach will be phenomenological with applications related to life and biological sciences.,Grade 12 Physics (SPH4U),Grade 12 Advanced Functions (MHF4U) and Grade 12 Calculus and Vectors (MCV4U),"PHYA10H3, PHY131H, PHY135Y, PHY151H, (PHY110Y), (PHY138Y)",Physics I for the Life Sciences,MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3 or (MATA20H3), +PHYA21H3,NAT_SCI,,This second physics course is intended for students in physical and mathematical sciences programs. Topics include electromagnetism and special relativity.,,PHYA10H3 and [MATA30H3 or MATA31H3],"PHYA22H3, (PHY110Y1), PHY132H1, PHY135Y1, (PHY138Y1), PHY152H1",Physics II for the Physical Sciences,[MATA36H3 or MATA37H3], +PHYA22H3,NAT_SCI,,"The course covers the main concepts of Electricity and Magnetism, Optics, and Atomic and Nuclear Physics. It provides basic knowledge of these topics with particular emphasis on its applications in the life sciences. It also covers some of the applications of modern physics such as atomic physics and nuclear radiation.",,[PHYA10H3 or PHYA11H3 or (PHYA01H3)] and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3],"PHYA21H3, (PHY110Y), PHY132H, PHY135Y, (PHY138Y), PHY152H",Physics II for the Life Sciences,MATA35H3 or MATA36H3 or MATA37H3 or MATA33H3 or (MATA21H3).,Students interested in completing programs in science are cautioned that (MATA21H3) and MATA35H3 do not fulfill the program completion requirements of most science programs. +PHYB01H3,NAT_SCI,,A conceptual overview of some of the most interesting advances in physics and the intellectual background in which they occurred. The interrelationship of the actual practice of physics and its cultural and intellectual context is emphasized. (Space time; Symmetries; Quantum Worlds; Chaos.),,4.0 credits,,Modern Physics for Non- Scientists,, +PHYB10H3,NAT_SCI,,Experimental and theoretical study of AC and DC circuits with applications to measurements using transducers and electronic instrumentation. Practical examples are used to illustrate several physical systems.,,PHYA21H3 and [MATA36H3 or MATA37H3],(PHYB23H3),Intermediate Physics Laboratory I,MATB41H3, +PHYB21H3,NAT_SCI,,"A first course at the intermediate level in electricity and magnetism. The course provides an in-depth study of electrostatics and magnetostatics. Topics examined include Coulomb's Law, Gauss's Law, electrostatic energy, conductors, Ampere's Law, magnetostatic energy, Lorentz Force, Faraday's Law and Maxwell's equations.",,PHYA21H3 and MATB41H3,"PHY241H, PHY251H",Electricity and Magnetism,MATB42H3, +PHYB52H3,NAT_SCI,,"The quantum statistical basis of macroscopic systems; definition of entropy in terms of the number of accessible states of a many particle system leading to simple expressions for absolute temperature, the canonical distribution, and the laws of thermodynamics. Specific effects of quantum statistics at high densities and low temperatures.",,PHYA21H3 and MATB41H3,PHY252H1,Thermal Physics,MATB42H3, +PHYB54H3,NAT_SCI,,"The linear, nonlinear and chaotic behaviour of classical mechanical systems such as oscillators, rotating bodies, and central field systems. The course will develop analytical and numerical tools to solve such systems and determine their basic properties. The course will include mathematical analysis, numerical exercises (Python), and demonstrations of mechanical systems.",,PHYA21H3 and MATB41H3 and MATB44H3,"PHY254H, (PHYB20H3)",Mechanics: From Oscillations to Chaos,MATB42H3, +PHYB56H3,NAT_SCI,,The course introduces the basic concepts of Quantum Physics and Quantum Mechanics starting with the experimental basis and the properties of the wave function. Schrödinger's equation will be introduced with some applications in one dimension. Topics include Stern-Gerlach effect; harmonic oscillator; uncertainty principle; interference packets; scattering and tunnelling in one-dimension.,,PHYA21H3 and [MATA36H3 or MATA37H3],"PHY256H1, (PHYB25H3)",Introduction to Quantum Physics,MATB41H3, +PHYB57H3,QUANT,,"Scientific computing is a rapidly growing field because computers can solve previously intractable problems and simulate natural processes governed by equations that do not have analytic solutions. During the first part of this course, students will learn numerical algorithms for various standard tasks such as root finding, integration, data fitting, interpolation and visualization. In the second part, students will learn how to model physical systems. At the end of the course, students will be expected to write small programs by themselves. Assignments will regularly include programming exercises.",,[MATA36H3 or MATA37H3] and [MATA22H3 or MATA23H3] and PHYA21H3,(PSCB57H3),Introduction to Scientific Computing,MATB44H3, +PHYC11H3,NAT_SCI,,"The main objective of this course is to help students develop skills in experimental physics by introducing them to a range of important measuring techniques and associated physical phenomena. Students will carry on several experiments in Physics and Astrophysics including electricity and magnetism, optics, solid state physics, atomic and nuclear physics.",,PHYB10H3 and PHYB21H3 and PHYB52H3,(PHYB11H3),Intermediate Physics Laboratory II,, +PHYC14H3,NAT_SCI,,"This course provides an introduction to atmospheric physics. Topics include atmospheric structure, atmospheric thermodynamics, convection, general circulation of the atmosphere, radiation transfer within atmospheres and global energy balance. Connections will be made to topics such as climate change and air pollution.",,PHYB21H3 and PHYB52H3 and MATB42H3 and MATB44H3,"PHY392H1, PHY315H1, PHY351H5",Introduction to Atmospheric Physics,, +PHYC50H3,NAT_SCI,,"Solving Poisson and Laplace equations via method of images and separation of variables, Multipole expansion for electrostatics, atomic dipoles and polarizability, polarization in dielectrics, Ampere and Biot-Savart laws, Multipole expansion in magnetostatics, magnetic dipoles, magnetization in matter, Maxwell’s equations in matter.",,PHYB54H3 and PHYB21H3 and [MATA22H3 or MATA23H3] and MATB42H3 and MATB44H3,PHY350H1,Electromagnetic Theory,, +PHYC54H3,NAT_SCI,,"A course that will concentrate in the study of symmetry and conservation laws, stability and instability, generalized co- ordinates, Hamilton’s principle, Hamilton’s equations, phase space, Liouville’s theorem, canonical transformations, Poisson brackets, Noether’s theorem.",,PHYB54H3 and MATB44H3,PHY354H,Classical Mechanics,, +PHYC56H3,NAT_SCI,,The course builds on the basic concepts of quantum theory students learned in PHYB56H3. Topics include the general structure of wave mechanics; eigenfunctions and eigenvalues; operators; orbital angular momentum; spherical harmonics; central potential; separation of variables; hydrogen atom; Dirac notation; operator methods; harmonic oscillator and spin.,,PHYB56H3 and PHYB21H3 and [MATA22H3 or MATA23H3] and MATB42H3 and MATB44H3,PHY356H1,Quantum Mechanics I,, +PHYC83H3,NAT_SCI,,"An introduction to the basic principles and mathematics of General Relativity. Tensors will be presented after a review of Special Relativity. The metric, spacetime, curvature, and Einstein's field equations will be studied and applied to the Schwarzschild solution. Further topics include the Newtonian limit, classical tests, and black holes.",,MATB42H3 and MATB44H3 and PHYB54H3,,Introduction to General Relativity,MATC46H3, +PHYD01H3,NAT_SCI,University-Based Experience,"Introduces students to current research in physics or astrophysics under the supervision of a professorial faculty member. Students undertake an independent project that can be of a theoretical, computational or experimental nature. Evaluation is by the supervising faculty member in consultation with the course supervisor. Students must obtain consent of the course supervisor to enroll in this course.",,14.0 credits and cGPA of at least 2.5 and permission from the coordinator.,"PHY478H, PHY479Y1",Research Project in Physics and Astrophysics,, +PHYD02Y3,NAT_SCI,University-Based Experience,"Introduces students to a current research topic in physics or astrophysics under the supervision of a faculty member. Students undertake an independent project that can be of a theoretical, computational, or experimental nature. Evaluation is by the supervising faculty member in consultation with the course supervisor. Students must obtain consent from the course supervisor to enroll in this course.",,14.0 credits and cGPA of at least 3.0 and permission from the coordinator.,"PHY478H, PHY479Y1, PHYD01H3",Extended Research Project in Physics and Astrophysics,,"This supervised research course should only be undertaken if the necessary background is satisfied, a willing supervisor has been found, and the department/course coordinator approves the project. This enrolment limit should align with other supervised research courses (i.e., PHYD01H3), which are: Enrolment Control A: Supervised Study/Research & Independent Study Courses In order to qualify for a Supervised Study course, students must locate a professor who will agree to supervise the course, and then follow the steps outlined below. Step 1: Request the course on ACORN. Your status will be INT. You will not be officially enrolled until you complete the remaining steps. Step 2: Fill the 'Student' section on a 'Supervised Study Form' available at: https://www.utsc.utoronto.ca/registrar/supervised-study- form. Step 3: Once you fill-in the 'Student' section, contact your Supervisor and provide them with the form. Your supervisor will complete their section and forward the form for departmental approval. Step 4: Once the project is approved at the departmental level, the form will be submitted to the Registrar's Office and your status on ACORN will be updated from interim (INT) to approved (APP)." +PHYD26H3,NAT_SCI,,"A course introducing some of the key physical processing governing the evolution of planets and moons. Topics covered will include: planetary heat sources and thermal evolution, effects of high temperature and pressure in planetary interiors, planetary structure and global shape; gravity, rotation, composition and elasticity.",,Completion of at least 1.0 credit at the C-level in PHY or AST courses,,Planetary Geophysics,,No previous knowledge of Earth Sciences or Astrophysics is assumed. +PHYD27H3,NAT_SCI,,"A course focusing on physical and numerical methods for modelling the climate systems of Earth and other planets. Topics covered will include: the primitive equations of meteorology, radiative transfer in atmospheres, processes involved in atmosphere-surface exchanges, and atmospheric chemistry (condensable species, atmospheric opacities).",,PHYB57H3 and MATC46H3 and PHYC14H3,,Physics of Climate Modeling,, +PHYD28H3,NAT_SCI,,"A course introducing the basic concepts of magnetohydrodynamics (broadly defined as the hydrodynamics of magnetized fluids). Topics covered will include: the essentials of hydrodynamics, the magnetohydrodynamics (MHD) approximation, ideal and non- ideal MHD regimes, MHD waves and shocks, astrophysical and geophysical applications of MHD.",,PHYB57H3 and PHYC50H3 and MATC46H3,,Introduction to Magnetohydrodynamics for Astrophysics and Geophysics,, +PHYD37H3,NAT_SCI,,"A course describing and analyzing the dynamics of fluids. Topics include: Continuum mechanics; conservation of mass, momentum and energy; constituitive equations; tensor calculus; dimensional analysis; Navier-Stokes fluid equations; Reynolds number; Inviscid and viscous flows; heat conduction and fluid convection; Bernoulli's equation; basic concepts on boundary layers, waves, turbulence.",,PHYB54H3 and MATC46H3,,Introduction to Fluid Mechanics,, +PHYD38H3,NAT_SCI,,"The theory of nonlinear dynamical systems with applications to many areas of physics and astronomy. Topics include stability, bifurcations, chaos, universality, maps, strange attractors and fractals. Geometric, analytical and computational methods will be developed.",,PHYC54H3,PHY460H,Nonlinear Systems and Chaos,, +PHYD57H3,NAT_SCI,,"Intermediate and advanced topics in numerical analysis with applications to physical sciences. Ordinary and partial differential equations with applications to potential theory, particle and fluid dynamics, multidimensional optimization and machine intelligence, are explained. The course includes programming in Python, and C or Fortran, allowing multi- threading and vectorization on multiple platforms.",,PHYB57H3,,Advanced Computational Methods in Physics,,Priority will be given to students enrolled in the Specialist in Physical and Mathematical Sciences and the Major in Physical Sciences. +PHYD72H3,NAT_SCI,University-Based Experience,"An individual study program chosen by the student with the advice of, and under the direction of a faculty member. A student may take advantage of this course either to specialize further in a field of interest or to explore interdisciplinary fields not available in the regular syllabus.",,14.0 credits and cGPA of at least 2.5 and permission from the coordinator.,PHY371H and PHY372H and PHY471H and PHY472H,Supervised Reading in Physics and Astrophysics,, +PLIC24H3,NAT_SCI,,"Descriptions of children's pronunciation, vocabulary and grammar at various stages of learning their first language. Theories of the linguistic knowledge and cognitive processes that underlie and develop along with language learning.",,LINB06H3 and LINB09H3,JLP315H,First Language Acquisition,, +PLIC25H3,NAT_SCI,,"The stages adults and children go through when learning a second language. The course examines linguistic, cognitive, neurological, social, and personality variables that influence second language acquisition.",,[LINB06H3 and LINB09H3] or [FREB44H3 and FREB45H3],"(LINB25H3), (PLIB25H3)",Second Language Acquisition,, +PLIC54H3,NAT_SCI,,"An introduction to the physics of sound and the physiology of speech perception and production for the purpose of assessing and treating speech disorders in children and adults. Topics will include acoustic, perceptual, kinematic, and aerodynamic methods of assessing speech disorders as well as current computer applications that facilitate assessment.",,LINB09H3,,Speech Physiology and Speech Disorders in Children and Adults,, +PLIC55H3,NAT_SCI,,"Experimental evidence for theories of how humans produce and understand language, and of how language is represented in the mind. Topics include speech perception, word retrieval, use of grammar in comprehension and production, discourse comprehension, and the role of memory systems in language processing.",,LINB06H3 or LINB09H3,JLP374H,Psycholinguistics,LINB29H3, +PLIC75H3,SOCIAL_SCI,,"An introduction to neurolinguistics, emphasizing aphasias and healthy individuals. We will introduce recent results understanding how the brain supports language comprehension and production. Students will be equipped with necessary tools to critically evaluate the primary literature. No prior knowledge of brain imaging is necessary.",,PLIC55H3,,Language and the Brain,, +PLID01H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Psycholinguistics for further information.,,At least 1.0 credit at the C-level in PLI courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Psycholinguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +PLID02H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Psycholinguistics for further information.,,At least 1.0 credit at the C-level in PLI courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Psycholinguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +PLID03H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Psycholinguistics for further information.,,At least 1.0 credit at the C-level in PLI courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Psycholinguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +PLID07Y3,,University-Based Experience,A reading and research independent study course on a topic of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Psycholinguistics for further information.,,At least 1.0 credit at the C-level in PLI courses; and a CGPA of 3.3; and permission of the supervising instructor.,LIN495Y,Independent Study in Psycholinguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +PLID34H3,NAT_SCI,,"An examination of linguistic and psycholinguistic issues pertinent to reading, as well as the role of a language's writing system and orthography in the learning process.",,[LINA01H3 or [FREB44H3 and FREB45H3]] and [PLIC24H3 or PLIC25H3 or PLIC55H3],"(LINC34H3), (PLIC34H3)",The Psycholinguistics of Reading,, +PLID44H3,NAT_SCI,,An examination of L1 (first language) and L2 (second language) lexical (vocabulary) acquisition. Topics include: the interaction between linguistic and cognitive development; the role of linguistic/non-linguistic input; the developing L2 lexicon and its links with the L1 lexicon; the interface between lexical and syntactic acquisition within psycholinguistic and linguistic frameworks.,,PLIC24H3 or PLIC55H3,,Acquisition of the Mental Lexicon,, +PLID50H3,SOCIAL_SCI,,"An examination of the acoustics and perception of human speech. We will explore how humans cope with the variation found in the auditory signal, how infants acquire their native language sound categories, the mechanisms underlying speech perception and how the brain encodes and represents speech sounds. An emphasis will be placed on hands-on experience with experimental data analysis.",,LINB29H3 and PLIC55H3,(PLIC15H3),Speech Perception,, +PLID53H3,SOCIAL_SCI,,"This course focuses on how humans process sentences in real-time. The course is intended for students interested in psycholinguistics above the level of speech perception and lexical processing. The goals of this course are to (i) familiarize students with classic and recent findings in sentence processing research and (ii) give students a hands- on opportunity to conduct an experiment. Topic areas will include, but are not limited to, incrementality, ambiguity resolution, long-distance dependencies, and memory.",LINC11H3: Syntax II or PLIC75H3 Language and the Brain,LINB06H3 and PLIC55H3,,Sentence Processing,, +PLID56H3,NAT_SCI,,"An in-depth investigation of a particular type of language or communication disorder, for example, impairment due to hearing loss, Down syndrome, or autism. Topics will include: linguistic and non-linguistic differences between children with the disorder and typically-developing children; diagnostic tools and treatments for the disorder; and its genetics and neurobiology.",,PLIC24H3 or (PLID55H3),,Special Topics in Language Disorders in Children,, +PLID74H3,NAT_SCI,,"A seminar-style course on language and communication in healthy and language-impaired older adults. The course covers normal age-related neurological, cognitive, and perceptual changes impacting language, as well as language impairments resulting from dementia, strokes, etc. Also discussed are the positive aspects of aging, bilingualism, ecologically valid experimentation, and clinical interventions.",,PLIC24H3 and PLIC55H3,,Language and Aging,, +PMDB22H3,SOCIAL_SCI,,"Allows students to develop the critical thinking skills and problem solving approaches needed to provide quality pre- hospital emergency care. Emphasizes the components of primary and second assessment, and the implementation of patient care based on interpretation of assessment findings. Discusses principles of physical and psycho-social development, and how these apply to the role of the paramedic. Students must pass each component (theory and lab) of the course to be successful. This course is taught at the Centennial HP Science and Technology Centre.",,BIOA01H3 and BIOA02H3,,Pre-hospital Care 1: Theory and Lab,PMDB25H3 and PMDB41H3 and PMDB33H3,Enrolment is restricted to students in the Specialist Program in Paramedicine. +PMDB25H3,HIS_PHIL_CUL,Partnership-Based Experience,"Focuses on the utilization of effective communication tools when dealing with persons facing health crisis. Students will learn about coping mechanisms utilized by patients and families, and the effects of death and dying on the individual and significant others. Students will have the opportunity to visit or examine community services and do class presentations. This course is taught at the Centennial HP Science and Technology Centre.",,BIOA01H3 and BIOA02H3,,Therapeutic Communications and Crisis Intervention,,Enrolment is restricted to students in the Specialist Program in Paramedicine. +PMDB30H3,NAT_SCI,,"Discusses how human body function is affected by a variety of patho-physiological circumstances. The theoretical framework includes the main concepts of crisis, the adaptation of the body by way of compensatory mechanisms, the failure of these compensatory mechanisms and the resulting physiological manifestations. Students will learn to identify such manifestations. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB22H3 and PMDB25H3 and PMDB41H3 and PMDB33H3,,Alterations of Human Body Function I,PMDB32Y3 and PMDB36H3,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDB32Y3,NAT_SCI,,"Provides the necessary knowledge, skill and value base that will enable the student to establish the priorities of assessment and management for persons who are in stress or crisis due to the effects of illness or trauma. The resulting patho-physiological or psychological manifestations are assessed to determine the degree of crisis and/or life threat. Students must pass each component (theory, lab and clinical) of the course to be successful. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB22H3 and PMDB25H3 and PMDB41H3 and PMDB33H3,,"Pre-hospital Care 2: Theory, Lab and Clinical",PMDB30H3 and PMDB36H3,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDB33H3,NAT_SCI,,"The basic anatomy of all the human body systems will be examined. The focus is on the normal functioning of the anatomy of all body systems and compensatory mechanisms, where applicable, to maintain homeostasis. Specific differences with respect to the pediatric/geriatric client will be highlighted. This course is taught at the Centennial HP Science and Technology Centre.",,BIOA01H3 and BIOA02H3,"ANA300Y, ANA301H, BIOB33H3",Anatomy,PMDB22H3,Restricted to students in the Specialist (Joint) Program in Paramedicine. +PMDB36H3,NAT_SCI,,"Introduces principles of Pharmacology, essential knowledge for paramedics who are expected to administer medications in Pre-hospital care. Classifications of drugs will be discussed in an organized manner according to their characteristics, purpose, physiologic action, adverse effects, precautions, interactions and Pre-hospital applications. Students will use a step-by-step process to calculate drug dosages. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB22H3 and PMDB25H3 and PMDB41H3 and PMDB33H3,,Pharmacology for Allied Health,,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDB41H3,SOCIAL_SCI,,"Discusses the changing role of the paramedic and introduces the student to the non-technical professional expectations of the profession. Introduces fundamental principles of medical research and professional principles. Topics covered include the role of professional organizations, the role of relevant legislation, the labour/management environment, the field of injury prevention, and basic concepts of medical research. This course is taught at the Centennial HP Science and Technology Centre.",,BIOA01H3 and BIOA02H3,,"Professional and Legal Issues, Research, Responsibilities and Leadership",,Enrolment is restricted to students in the Specialist Program in Paramedicine. +PMDC40H3,NAT_SCI,,"Strengthens students' decision-making skills and sound clinical practices. Students continue to develop an understanding of various complex alterations in human body function from a variety of patho-physiological topics. Physiologic alterations will be discussed in terms of their potential life threat, their effect on the body's compensatory and decompensatory mechanisms, their manifestations and complications and treatment. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB30H3 and PMDB32Y3 and PMDB36H3 and BIOB11H3,,Alterations of Human Body Function II,PMDC42Y3 and PMDC43H3,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDC42Y3,NAT_SCI,,"Provides students with the necessary theoretical concepts and applied knowledge and skills for managing a variety of pre-hospital medical and traumatic emergencies. Particular emphasis is placed on advanced patient assessment, ECG rhythm interpretation and cardiac emergencies, incorporation of symptom relief pharmacology into patient care and monitoring of intravenous fluid administration. Students must pass each component (theory, lab and field) of the course to be successful. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB30H3 and PMDB32Y3 and PMDB36H3 and BIOB11H3,,"Pre-hospital Care 3: Theory, Lab and Field",PMDC40H3 and PMDC43H3,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDC43H3,HIS_PHIL_CUL,,"Applies concepts and principles from pharmacology, patho- physiology and pre-hospital care to make decisions and implementation of controlled or delegated medical acts for increasingly difficult case scenarios in a class and lab setting. Ethics and legal implications/responsibilities of actions will be integrated throughout the content. Patient care and monitoring of intravenous fluid administration. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB30H3 and PMDB32Y3 and PMDB36H3 and BIOB11H3,,Medical Directed Therapeutics and Paramedic Responsibilities,PMDC40H3 and PMDC42Y3,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDC54Y3,NAT_SCI,,"Combines theory, lab and field application. New concepts of paediatric trauma and Basic Trauma Life Support will be added to the skill and knowledge base. Students will be guided to develop a final portfolio demonstrating experiences, reflection and leadership. Students must pass each component (theory, lab and field) of the course to be successful. This course is taught at the Centennial HP Science and Technology Centre.",,PMDC40H3 and PMDC42Y3 and PMDC43H3,,"Pre-hospital Care 4: Theory, Lab and Field",PMDC56H3,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDC56H3,NAT_SCI,,"Challenges students with increasingly complex decisions involving life-threatening situations, ethical-legal dilemmas, and the application of sound foundational principles and knowledge of pharmacology, patho-physiology, communication, assessment and therapeutic interventions. Students will analyze and discuss real field experiences and case scenarios to further develop their assessment, care and decision-making. This course is taught at the Centennial HP Science and Technology Centre.",,PMDC40H3 and PMDC42Y3 and PMDC43H3,,Primary Care Paramedic Integration and Decision Making,PMDC54Y3,Enrolment is limited to students in the Specialist Program in Paramedicine +POLA01H3,SOCIAL_SCI,,"An introduction to crucial political issues of the day (e.g. globalization, migration, political violence, corruption, democracy, global justice, climate change, human rights, revolution, terrorism) and key concepts in Political Science. Students will be introduced to and practice techniques of critical reading and analytic essay writing. Topics will vary by semester and professor.",,,"POL101Y, POL115H, POL112H, POL113H, POL114H",Critical Issues in Politics I,,POLA01H3 and POLA02H3 are not sequential courses and can be taken out of order or concurrently. +POLA02H3,SOCIAL_SCI,,"An introduction to crucial political issues of the day (e.g. globalization, migration, political violence, corruption, democracy, global justice, climate change, human rights, revolution, terrorism) and key concepts in Political Science. Students will develop techniques of critical reading and analytic essay writing. Topics will vary by semester and professor.",,,"POL101Y, POL115H, POL112H, POL113H, POL114H",Critical Issues in Politics II,,POLA01H3and POLA02H3 are not sequential courses and can be taken out of order or concurrently. +POLB30H3,HIS_PHIL_CUL,,"This is a lecture course that helps students understand the theoretical justifications for the rule of law. We will study different arguments about the source and limitations of law: natural law, legal positivism, normative jurisprudence and critical theories. The course will also examine some key court cases in order to explore the connection between theory and practice. This is the foundation course for the Minor program in Public Law. Areas of Focus: Political Theory and Public Law",0.5 credit in Political Science,Any 4.0 credits,PHLB11H3 (students who have taken PHLB11H3 prior to POLB30H3 may count PHLB11H3 in place of POLB30H3 in the Minor in Public Law),"Law, Justice and Rights",,Priority will be given to students enrolled in the Minor program in Public Law. Additional students will be admitted as space permits. +POLB40H3,QUANT,,"This course introduces students to tools and foundational strategies for developing evidence-based understandings of politics and public policy. The course covers cognitive and other biases that distort interpretation. It then progresses to methodological approaches to evidence gathering and evaluation, including sampling techniques, statistical uncertainty, and deductive and inductive methods. The course concludes by introducing tools used in advanced political science and public policy courses. Areas of Focus: Public Policy, and Quantitative and Qualitative Analysis",,Any 4.0 credits,"POL222H1, SOCB35H3",Quantitative Reasoning for Political Science and Public Policy,, +POLB56H3,SOCIAL_SCI,,"The objective of this course is to introduce students to the fundamentals of the Canadian political system and the methods by which it is studied. Students will learn about the importance of Parliament, the role of the courts in Canada’s democracy, federalism, and the basics of the constitution and the Charter of Rights and Freedoms, and other concepts and institutions basic to the functioning of the Canadian state. Students will also learn about the major political cleavages in Canada such as those arising from French-English relations, multiculturalism, the urban-rural divide, as well as being introduced to settler-Indigenous relations. Students will be expected to think critically about the methods that are used to approach the study of Canada along with their strengths and limitations. Area of Focus: Canadian Government and Politics",,Any 4.0 credits,"(POLB50Y3), (POL214Y), POL214H",Canadian Politics and Government,, +POLB57H3,SOCIAL_SCI,,"This class will introduce students to the Canadian constitution and the Charter of Rights and Freedoms. Students will learn the history of and constitutional basis for parliamentary democracy, Canadian federalism, judicial independence, the role of the monarchy, and the origins and foundations of Indigenous rights. The course will also focus specifically on the role of the Charter of Rights and Freedoms, and students will learn about the constitutional rights to expression, equality, assembly, free practice of religion, the different official language guarantees, and the democratic rights to vote and run for office. Special attention will also be paid to how rights can be constitutionally limited through an examination of the notwithstanding clause and the Charter’s reasonable limits clause. Areas of Focus: Canadian Government and Politics and Public Law",,Any 4.0 credits,"(POLB50Y3), (POLC68H3), (POL214Y)",The Canadian Constitution and the Charter of Rights,, +POLB72H3,HIS_PHIL_CUL,,"This course presents a general introduction to political theory and investigates central concepts in political theory, such as liberty, equality, democracy, and the state. Course readings will include classic texts such as Plato, Aristotle, Hobbes, Rousseau, and Marx, as well as contemporary readings. Area of Focus: Political Theory",,Any 4.0 credits,PHLB17H3,Introduction to Political Theory,, +POLB80H3,SOCIAL_SCI,,"This course examines different approaches to international relations, the characteristics of the international system, and the factors that motivate foreign policies. Area of Focus: International Relations",,Any 4.0 credits,(POL208Y),Introduction to International Relations I,, +POLB81H3,SOCIAL_SCI,,"This course examines how the global system is organized and how issues of international concern like conflict, human rights, the environment, trade, and finance are governed. Area of Focus: International Relations",,POLB80H3,(POL208Y),Introduction to International Relations II,,It is strongly recommended that students take POLB80H3 and POLB81H3 in consecutive semesters. +POLB90H3,SOCIAL_SCI,,"This course examines the historical and current impact of the international order on the development prospects and politics of less developed countries. Topics include colonial conquest, multi-national investment, the debt crisis and globalization. The course focuses on the effects of these international factors on domestic power structures, the urban and rural poor, and the environment. Area of Focus: Comparative Politics",,Any 4.0 credits,POL201H or (POL201Y),Comparative Development in International Perspective,, +POLB91H3,SOCIAL_SCI,,"This course examines the role of politics and the state in the processes of development in less developed countries. Topics include the role of the military and bureaucracy, the relationship between the state and the economy, and the role of religion and ethnicity in politics. Area of Focus: Comparative Politics",,Any 4.0 credits,(POL201Y),Introduction to Comparative Politics,, +POLC09H3,SOCIAL_SCI,,"This course explores the causes and correlates of international crises, conflicts, and wars. Using International Relations theory, it examines why conflict occurs in some cases but not others. The course examines both historical and contemporary cases of inter-state conflict and covers conventional, nuclear, and non-traditional warfare. Area of Focus: International Relations",,POLB80H3 and POLB81H3,,"International Security: Conflict, Crisis and War",, +POLC11H3,QUANT,,"In this course, students learn to apply data analysis techniques to examples drawn from political science and public policy. Students will learn to complete original analyses using quantitative techniques commonly employed by political scientists to study public opinion and government policies. Rather than stressing mathematical concepts, the emphasis of the course will be on the application and interpretation of the data as students learn to communicate their results through papers and/or presentations. Area of Focus: Quantitative and Qualitative Analysis",,STAB23H3 or equivalent,(POLB11H3),Applied Statistics for Politics and Public Policy,, +POLC12H3,SOCIAL_SCI,Partnership-Based Experience,"This course will introduce students to the global policymaking process, with an emphasis on the Sustainable Development Goals (SDGs). Students will make practical contributions to the policy areas under the SDGs through partnerships with community not-for-profit organizations, international not-for- profit organizations, or international governmental organizations. Students will learn about problem definition and the emergence of global policy positions in the SDG policy areas. They will assess the roles of non-state actors in achieving the SDGs and analyze the mechanisms that drive the global partnership between developing countries and developed countries. Area of Focus: Public Policy",,"8.0 credits including [1.0 credit from POLB80H3, POLB81H3, POLB90H3 or POLB91H3]",,Global Public Policy and the Sustainable Development Goals (SDGs),, +POLC13H3,SOCIAL_SCI,Partnership-Based Experience,This course introduces students to the frameworks and practice of program evaluation. It focuses on the policy evaluation stage of the policy cycle. The course explains the process of assessing public programs to determine if they achieved the expected change. Students will learn about program evaluation methods and tools and will apply these in practical exercises. They will also learn about the use of indicators to examine if the intended outcomes have been met and to what extent. Students will engage in critical analysis of program evaluation studies and reports. Areas of Focus: Public Policy and Quantitative and Qualitative Analysis,,PPGB66H3 and a minimum CGPA of 2.5,,Program Evaluation,, +POLC16H3,SOCIAL_SCI,,This course covers a range of topics in contemporary Chinese politics and society post 1989. It exposes students to state of the art literature and probes beyond the news headlines. No prior knowledge of China required. Area of Focus: Comparative Politics,,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, or POLB91H3","JPA331Y, JMC031Y",Chinese Politics,, +POLC21H3,SOCIAL_SCI,,"Why do some citizens vote when others do not? What motivates voters? This course reviews theories of voting behaviour, the social and psychological bases of such behaviour, and how candidate and party campaigns influence the vote. By applying quantitative methods introduced in STAB23H3 or other courses on statistical methods, students will complete assignments examining voter behaviour in recent Canadian and/or foreign elections using survey data and election returns. Areas of Focus: Canadian Government and Politics; Comparative Politics",,[STAB23H3 or equivalent] or POL222H1 or (POL242Y),"(POL314H), (POL314Y)",Voting and Elections,, +POLC22H3,SOCIAL_SCI,,"This course explores post-Cold War politics in Europe through an examination of democratization and ethnic conflict since 1989 - focusing in particular on the role of the European Union in shaping events in Eastern Europe and the former Soviet Union. The first part of the course will cover theories of democratization, ethnic conflict as well as the rise of the European Union while the second part of the course focuses on specific cases, including democratization and conflict in the Balkans and Ukraine. Area of Focus: Comparative Politics",,Any 8.0 credits,(POLB93H3),Ethnic Conflict and Democratization in Europe After the Cold War,, +POLC30H3,SOCIAL_SCI,,"Today's legal and political problems require innovative solutions and heavily rely on the extensive use of technology. This course will examine the interaction between law, politics, and technology. It will explore how technological advancements shape and are shaped by legal and political systems. Students will examine the impact of technology on the legal and political landscape, and will closely look at topics such as cybersecurity, privacy, intellectual property, social media, artificial intelligence and the relationship of emerging technologies with democracy, human rights, ethics, employment, health and environment. The course will explore the challenges and opportunities that technology poses to politics and democratic governance. The topics and readings take a wider global perspective – they are not confined only on a Canadian context but look at various countries’ experiences with technology. Area of Focus: Public Law","POLC32H3, POLC36H3",POLB30H3 and POLB56H3,,"Law, Politics and Technology",, +POLC31H3,HIS_PHIL_CUL,,"This course investigates the relationship between three major schools of thought in contemporary Africana social and political philosophy: the African, Afro-Caribbean, and Afro- North American intellectual traditions. We will discuss a range of thinkers including Dionne Brand, Aimé Césaire, Angela Davis, Édouard Glissant, Kwame Gyekye, Cathy Cohen, Paget Henry, Katherine McKittrick, Charles Mills, Nkiru Nzegwu, Oyèrónke Oyewùmí, Ngũgĩ wa Thiong’o, Cornel West, and Sylvia Wynter. Area of Focus: Political Theory",,8.0 credits including 1.0 credit in Political Science [POL or PPG courses],,Contemporary Africana Social and Political Philosophy,, +POLC32H3,SOCIAL_SCI,,"This course explores the structure, role and key issues associated with the Canadian judicial system. The first section provides the key context and history associated with Canada’s court system. The second section discusses the role the courts have played in the evolution of the Canadian constitution and politics – with a particular focus on the Supreme Court of Canada. The final section analyzes some of the key debates and issues related to the courts in Canada, including their democratic nature, function in establishing public policy and protection of civil liberties. Areas of Focus: Canadian Government and Politics and Public Law",POLB30H3,[POLB56H3 and POLB57H3] or (POLB50Y3),,The Canadian Judicial System,, +POLC33H3,SOCIAL_SCI,,"This course aims to provide students with an overview of the way human rights laws, norms, and institutions have evolved. In the first half of the class, we will examine the legal institutions and human rights regimes around the world, both global and regional. In the second half, we will take a bottom- up view by exploring how human rights become part of contentious politics. Special attention will be given to how human rights law transform with mobilization from below and how it is used to contest, challenge and change hierarchical power relationships. The case studies from the Middle East, Latin America, Europe and the US aim at placing human rights concerns in a broader sociopolitical context. Areas of Focus: International Relations and Public Law",POLB90H3 and POLB91H3,POLB30H3,,Politics of International Human Rights,, +POLC34H3,SOCIAL_SCI,,"This course will explore how the world of criminal justice intersects with the world of politics. Beginning with a history of the “punitive turn” in the criminal justice policy of the late 1970s, this course will look at the major political issues in criminal justice today. Topics studied will include the constitutional context for legislating the criminal and quasi- criminal law, race and class in criminal justice, Canada’s Indigenous peoples and the criminal justice system, the growth of restorative justice, drug prohibition and reform, the value of incarceration, and white-collar crime and organizational liability. More broadly, the class aims to cover why crime continues to be a major political issue in Canada and the different approaches to addressing its control. Areas of Focus: Comparative Politics and Public Law",,POLB30H3 and [[POLB56H3 and POLB57H3] or (POLB50Y3)],,The Politics of Crime,, +POLC35H3,SOCIAL_SCI,,"This course examines different methods and approaches to the study of law and politics. Students will learn how the humanities-based study of law traditionally applied by legal scholars interacts or contradicts more empirically driven schools of thought common in social science, such as law and economics or critical race theory. Students will understand the substantive content of these different approaches and what can be gained from embracing multiple perspectives. Areas of Focus: Quantitative and Qualitative Analysis, Political Theory, and Public Law",,POLB30H3 and POLB56H3 and POLB57H3,,"Law and Politics: Contradictions, Approaches, and Controversies",,Enrolment is limited to students enrolled in the Major Program in Public Law. +POLC36H3,SOCIAL_SCI,,This course examines how different types of legal frameworks affect processes and outcomes of policy-making. It contrasts policy-making in Westminster parliamentary systems and separation of powers systems; unitary versus multi-level or federal systems; and systems with and without constitutional bills of rights. Areas of Focus: Public Policy and Public Law,PPGB66H3/(POLC66H3)/(PPGC66H3),[POLB56H3 and POLB57H3] or (POLB50Y3),,Law and Public Policy,, +POLC37H3,HIS_PHIL_CUL,,"This course examines theoretical debates about the extent of moral and political obligations to non-citizens. Topics include human rights, immigration, global poverty, development, terrorism, and just war. Area of Focus: Political Theory",,[(POLB70H3) and (POLB71H3)] or POLB72H3 or [1.0 credit at the B-level in IDS courses],(PHLB08H3),Global Justice,, +POLC38H3,SOCIAL_SCI,,"This course introduces students to the foundations of international law, its sources, its rationale, and challenges to its effectiveness and implementation. Areas of international law discussed include the conduct of war, trade, and diplomacy, as well as the protection of human rights and the environment. Areas of Focus: International Relations and Public Law",,POLB30H3 or POLB80H3,POL340Y,International Law,, +POLC39H3,SOCIAL_SCI,,"This course examines the interaction between law, courts, and politics in countries throughout the world. We begin by critically examining the (alleged) functions of courts: to provide for “order,” resolve disputes, and to enforce legal norms. We then turn to examine the conditions under which high courts have expand their powers by weighing into contentious policy areas and sometimes empower individuals with new rights. We analyze case studies from democracies, transitioning regimes, and authoritarian states. Areas of Focus: Comparative Politics and Public Law",,POLB30H3,,Comparative Law and Politics,, +POLC40H3,SOCIAL_SCI,,Topics and Area of Focus will vary depending on the instructor.,,One B-level full credit in Political Science,,Current Topics in Politics,, +POLC42H3,SOCIAL_SCI,,Topics will vary depending on the regional interests and expertise of the Instructor. Area of Focus: Comparative Politics,,One B-level full credit in Political Science,,Topics in Comparative Politics,, +POLC43H3,SOCIAL_SCI,,"To best understand contemporary political controversies, this course draws from a variety of disciplines and media to understand the politics of racial and ethnic identity. The class will explore historical sources of interethnic divisions, individual level foundations of prejudice and bias, and institutional policies that cause or exacerbate inequalities.",,Any 8.0 credits,,Prejudice and Racism,, +POLC52H3,SOCIAL_SCI,,"This course is an introduction to Indigenous/Canadian relations and will give students a chance to begin learning and understanding an important component of Canadian politics and Canadian political science. A vast majority of topics in Canadian politics and Canadian political science can, and do, have a caveat and component that reflects, or should reflect, Indigenous nations and peoples that share territory with the Canadian state. Both Indigenous and Settler contexts will be used to guide class discussion. The course readings will also delve into Canadian/Indigenous relationships, their development, histories, contemporary existence, and potential futures.",,[POLB56H3 and POLB57H3] or (POLB50Y3),POL308H1,Indigenous Nations and the Canadian State,, +POLC53H3,SOCIAL_SCI,,"This course examines the ideas and success of the environmental movement in Canada. The course focuses on how environmental policy in Canada is shaped by the ideas of environmentalists, economic and political interests, public opinion, and Canada's political-institutional framework. Combined lecture-seminar format. Areas of Focus: Canadian Government and Politics; Public Policy",,(POLB50Y3) or [POLB56H3 and POLB57H3] or ESTB01H3 or [1.5 credits at the B-level in CIT courses],,Canadian Environmental Policy,, +POLC54H3,SOCIAL_SCI,,"This course examines relations between provincial and federal governments in Canada, and how they have been shaped by the nature of Canada's society and economy, judicial review, constitutional amendment, and regionalisation and globalization. The legitimacy and performance of the federal system are appraised. Lecture-seminar format. Areas of Focus: Canadian Government and Politics; Public Policy",,[POLB56H3 and POLB57H3] or (POLB50Y3),POL316Y,Intergovernmental Relations in Canada,, +POLC56H3,SOCIAL_SCI,,"This course explores key historical and contemporary issues in indigenous politics. Focusing on the contemporary political and legal mobilization of Indigenous peoples, it will examine their pursuit of self-government, land claims and resource development, treaty negotiations indigenous rights, and reconciliation. A primary focus will be the role of Canada’s courts, its political institutions, and federal and provincial political leaders in affecting the capacity of indigenous communities to realize their goals. Areas of Focus: Canadian Government and Politics, and Public Law",,[POLB56H3 and POLB57H3] or (POLB50Y3),"POL308H, ABS353H, ABS354H",Indigenous Politics and Law,, +POLC57H3,SOCIAL_SCI,,"This course examines intergovernmental relations in various areas of public policy and their effects on policy outcomes. It evaluates how federalism affects the capacity of Canadians to secure desirable social, economic, environmental and trade policies. Lecture-seminar format. Areas of Focus: Canadian Government and Politics; Public Policy",,[[(POLB50Y3) or [POLB56H3 and POLB57H3]],POL316Y,Intergovernmental Relations and Public Policy,, +POLC58H3,SOCIAL_SCI,,"This course explores the foundational concepts of nation and nationalism in Canadian and comparative politics, and the related issues associated with diversity. The first section looks at the theories related to nationalism and national identity, while the second applies these to better understand such pressing issues as minorities, multiculturalism, conflict and globalization. Areas of Focus: Canadian Government and Politics; Comparative Politics",,(POLB92H3) or [POLB56H3 and POLB57H3] or (POLB50Y3),,The Politics of National Identity and Diversity,, +POLC59H3,SOCIAL_SCI,,"Who are we as a people today? What role have consecutive vice regals played in more than 400 years of shaping our nation and its institutions? This course examines how the vice regal position in general, and how selected representatives in particular, have shaped Canada’s political system. Areas of Focus: Canadian Government and Politics",,[POLB56H3 and POLB57H3] or (POLB50Y3),POLC40H3 (if taken in 2014-Winter or 2015- Winter sessions),"Sources of Power: The Crown, Parliament and the People",, +POLC65H3,SOCIAL_SCI,,"This course focuses on analyzing and influencing individual and collective choices of political actors to understand effective strategies for bringing about policy changes. We will draw on the psychology of persuasion and decision-making, as well as literature on political decision-making and institutions, emphasizing contemporary issues. During election years in North America, special attention will be paid to campaign strategy. There may be a service-learning requirement. Area of Focus: Public Policy",,Any 4.0 credits,,Political Strategy,, +POLC69H3,SOCIAL_SCI,,"This course provides an introduction to the field of political economy from an international and comparative perspective. The course explores the globalization of the economy, discusses traditional and contemporary theories of political economy, and examines issues such as trade, production, development, and environmental change. Areas of Focus: Comparative Politics; International Relations",,"[1.0 credit from: POLB80H3, POLB81H3, POLB90H3, POLB91H3, or (POLB92H3)]",POL361H1,Political Economy: International and Comparative Perspectives,, +POLC70H3,HIS_PHIL_CUL,,This course introduces students to central concepts in political theory. Readings will include classical and contemporary works that examine the meaning and justification of democracy as well as the different forms it can take. Students will also explore democracy in practice in the classroom and/or in the local community. Area of Focus: Political Theory,,POLB72H3 or PHLB17H3,"POL200Y, (POLB70H3)","Political Thought: Democracy, Justice and Power",, +POLC71H3,HIS_PHIL_CUL,,"This course introduces students to central concepts in political theory, such as sovereignty, liberty, and equality. Readings will include modern and contemporary texts, such as Hobbes' Leviathan and Locke's Second Treatise of Government. Area of Focus: Political Theory",,POLB72H3 or PHLB17H3,"POL200Y, (POLB71H3)","Political Thought: Rights, Revolution and Resistance",, +POLC72H3,HIS_PHIL_CUL,,"The course investigates the concept of political liberty in various traditions of political thought, especially liberalism, republicanism, and Marxism. The course will investigate key studies by such theorists as Berlin, Taylor, Skinner, Pettit, and Cohen, as well as historical texts by Cicero, Machiavelli, Hobbes, Hegel, Constant, Marx, and Mill. Area of Focus: Political Theory",,POLB72H3 or (POLB70H3) or (POLB71H3),,Liberty,, +POLC73H3,HIS_PHIL_CUL,,"This course is a study of the major political philosophers of the nineteenth century, including Hegel, Marx, J.S. Mill and Nietzsche. Area of Focus: Political Theory",,[(POLB70H3) and (POLB71H3)] or POLB72H3,POL320Y,Modern Political Theory,, +POLC74H3,HIS_PHIL_CUL,,This course is a study of the major political philosophers of the twentieth century. The theorists covered will vary from year to year. Area of Focus: Political Theory,,[(POLB70H3) and (POLB71H3)] or POLB72H3,POL320Y,Contemporary Political Thought,, +POLC78H3,SOCIAL_SCI,University-Based Experience,This course examines the principles of research design and methods of analysis employed by researchers in political science. Students will learn to distinguish between adequate and inadequate use of evidence and between warranted and unwarranted conclusions. Area of Focus: Quantitative and Qualitative Analysis,,"8.0 credits including 0.5 credit in POL, PPG, or IDS courses",,Political Analysis I,, +POLC79H3,HIS_PHIL_CUL,,"This course examines the challenges and contributions of feminist political thought to the core concepts of political theory, such as rights, citizenship, democracy, and social movements. It analyzes the history of feminist political thought, and the varieties of contemporary feminist thought, including: liberal, socialist, radical, intersectional, and postcolonial. Area of Focus: Political Theory",,POLB72H3 or [(POLB70H3) and (POLB71H3)] or PHLB13H3 or WSTA03H3,POL432H,Feminist Political Thought,, +POLC80H3,SOCIAL_SCI,,"This course introduces students to the International Relations of Africa. This course applies the big questions in IR theory to a highly understudied region. The first half of the course focuses on security and politics, while the latter half pays heed to poverty, economic development, and multilateral institutions. Area of Focus: International Relations",,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, or POLB91H3",,International Relations of Africa,, +POLC83H3,SOCIAL_SCI,University-Based Experience,"This course examines the foreign policy of the United States by analyzing its context and application to a specific region, regions or contemporary problems in the world. Areas of Focus: International Relations; Public Policy; Comparative Politics",,Any 4.0 credits,,Applications of American Foreign Policy,, +POLC87H3,SOCIAL_SCI,,This course explores the possibilities and limits for international cooperation in different areas and an examination of how institutions and the distribution of power shape bargained outcomes. Area of Focus: International Relations,,POLB80H3 and POLB81H3,,Great Power Politics,, +POLC88H3,SOCIAL_SCI,,"Traditional International Relations Theory has concentrated on relations between states, either failing to discuss, or missing the complexities of important issues such as terrorism, the role of women, proliferation, globalization of the world economy, and many others. This course serves as an introduction to these issues - and how international relations theory is adapting in order to cover them. Area of Focus: International Relations",,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, or POLB91H3",,The New International Agenda,, +POLC90H3,SOCIAL_SCI,,"This course provides students with a more advanced examination of issues in development studies, including some of the mainstream theoretical approaches to development studies and a critical examination of development practice in historical perspective. Seminar format. Area of Focus: Comparative Politics",,POLB90H3 and POLB91H3,,Development Studies: Political and Historical Perspectives,, +POLC91H3,SOCIAL_SCI,,This course explores the origins of Latin America's cycles of brutal dictatorship and democratic rule. It examines critically the assumption that Latin American countries have made the transition to democratic government. Area of Focus: Comparative Politics,,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, or POLB91H3",POL305Y,Latin America: Dictatorship and Democracy,, +POLC92H3,SOCIAL_SCI,,This course analyses the American federal system and the institutions and processes of government in the United States. Area of Focus: Comparative Politics,,Any 8.0 credits,(POL203Y) and POL386H1,U.S. Government and Politics,, +POLC93H3,SOCIAL_SCI,University-Based Experience,This course focuses on selected policy issues in the United States. Areas of Focus: Comparative Politics; Public Policy,,One full credit in Political Science at the B-level,POL203Y,Public Policies in the United States,, +POLC94H3,SOCIAL_SCI,,"This course explores the gendered impact of economic Globalization and the various forms of resistance and mobilization that women of the global south have engaged in their efforts to cope with that impact. The course pays particular attention to regional contextual differences (Latin America, Africa, Asia and the Middle East) and to the perspectives of global south women, both academic and activist, on major development issues. Area of Focus: Comparative Politics",,POLB90H3,,"Globalization, Gender and Development",, +POLC96H3,SOCIAL_SCI,,"This course examines the origins of, and political dynamics within, states in the contemporary Middle East. The first part of the course analyses states and state formation in historical perspective - examining the legacies of the late Ottoman and, in particular, the colonial period, the rise of monarchical states, the emergence of various forms of ""ethnic"" and/or ""quasi"" democracies, the onset of ""revolutions from above"", and the consolidation of populist authoritarian states. The second part of the course examines the resilience of the predominantly authoritarian state system in the wake of socio-economic and political reform processes. Area of Focus: Comparative Politics",,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, POLB91H3 or (POLB92H3)",,State Formation and Authoritarianism in the Middle East,, +POLC97H3,SOCIAL_SCI,,"This course examines various forms of protest politics in the contemporary Middle East. The course begins by introducing important theoretical debates concerning collective action in the region - focusing on such concepts as citizenship, the public sphere, civil society, and social movements. The second part of the course examines case studies of social action - examining the roles played by crucial actors such as labour, the rising Islamist middle classes/bourgeoisie, the region's various ethnic and religious minority groups, and women who are entering into the public sphere in unprecedented numbers. The course concludes by examining various forms of collective and non-collective action in the region from Islamist social movements to everyday forms of resistance. Area of Focus: Comparative Politics",,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, POLB91H3 or (POLB92H3)",,Protest Politics in the Middle East,, +POLC98H3,SOCIAL_SCI,,"The course explains why financial markets exist, and their evolution, by looking at the agents, actors and institutions which generate demand for them. We also consider the consequences of increasingly integrated markets, the causes of systemic financial crises, as well as the implications and feasibility of regulation. Area of Focus: International Relations",,[POLB80H3 and POLB81H3] and [MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],POL411H1,International Political Economy of Finance,, +POLD01H3,,University-Based Experience,"This course provides an opportunity to design and carry out individual or small-group research on a political topic. After class readings on the topic under study, research methods and design, and research ethics, students enter ""the field"" in Toronto. The seminar provides a series of opportunities to present and discuss their unfolding research.",,1.5 credits at the C-level in POL courses,,Research Seminar in Political Science,, +POLD02Y3,SOCIAL_SCI,University-Based Experience,"This course provides an opportunity for students to propose and carry out intensive research on a Political Science topic of the student’s choosing under the supervision of faculty with expertise in that area. In addition to research on the topic under study, class readings and seminar discussions focus on the practice of social science research, including methods, design, ethics, and communication.",,Open to 4th Year students with a CGPA of at least 3.3 in the Specialist and Major programs in Political Science or Public Policy or from other programs with permission of the instructor.,,Senior Research Seminar in Political Science,, +POLD09H3,SOCIAL_SCI,,"This seminar course investigates the most urgent topics in the field of International Security, including American hegemonic decline, rising Chinese power, Russian military actions in Eastern Europe, great power competition, proxy wars, and international interventions. The readings for this course are drawn from the leading journals in International Relations, which have been published within the past five years. The major assignment for this course is the production of an original research paper on any topic in international security, which would meet the standard of publication in a reputable student journal. Area of Focus: International Relations",,POLC09H3 and [an additional 1.0 credit at the C-level in POL or IDS courses],"POL466H1, POL468H1",Advanced Topics in International Security,, +POLD30H3,SOCIAL_SCI,University-Based Experience,"This course will introduce students to the ideas and methods that guide judges and lawyers in their work. How does the abstract world of the law get translated into predictable, concrete decisions? How do judges decide what is the “correct” decision in a given case? The class will begin with an overview of the legal system before delving into the ideas guiding statute drafting and interpretation, judicial review and administrative discretion, the meaning of “evidence” and “proof,” constitutionalism, and appellate review. Time will also be spent exploring the ways that foreign law can impact and be reconciled with Canadian law in a globalizing world. Areas of Focus: Public Law, and Quantitative and Qualitative Analysis",,POLB30H3 and an additional 1.5 credits at the C-level in POL courses,,Legal Reasoning,,Priority will be given to students enrolled in the Minor in Public Law. +POLD31H3,SOCIAL_SCI,Partnership-Based Experience,"This course will offer senior students the opportunity to engage in a mock court exercise based around a contemporary legal issue. Students will be expected to present a legal argument both orally and in writing, using modern templates for legal documents and argued under similar circumstances to those expected of legal practitioners. The class will offer students an opportunity to understand the different stages of a court proceeding and the theories that underpin oral advocacy and procedural justice. Experiential learning will represent a fundamental aspect of the course, and expertise will be sought from outside legal professionals in the community who can provide further insight into the Canadian legal system where available. Area of Focus: Public Law",,POLB30H3 and POLC32H3 and an additional 1.5 credits at the C-level in POL courses,,Mooting Seminar,,Enrolment is limited to students enrolled in the Major Program in Public Law. +POLD38H3,SOCIAL_SCI,University-Based Experience,"This course examines how law both constitutes and regulates global business. Focusing on Canada and the role of Canadian companies within a global economy, the course introduces foundational concepts of business law, considering how the state makes markets by bestowing legal personality on corporations and facilitating private exchange. The course then turns to examine multinational businesses and the laws that regulate these cross-border actors, including international law, extra-territorial national law, and private and hybrid governance tools. Using real-world examples from court decisions and business case studies, students will explore some of the “governance gaps” produced by the globalization of business and engage directly with the tensions that can emerge between legal, ethical, and strategic demands on multinational business. Areas of Focus: International Relations and Public Law",POLB80H3,POLC32H3 and 1.0 credit at the C-level in POL courses,,Law and Global Business,, +POLD41H3,,,Topics and Area of Focus will vary depending on the instructor.,,1.5 credits at the C-level in POL courses,(POLC41H3),Advanced Topics in Politics,, +POLD42H3,SOCIAL_SCI,University-Based Experience,"Topics and area of focus will vary depending on the instructor and may include global perspectives on social and economic rights, judicial and constitutional politics in diverse states and human rights law in Canada. Area of Focus: Public Law",,"1.0 credits from the following [POLC32H3, POLC36H3, POLC39H3]",,Advanced Topics in Public Law,, +POLD43H3,HIS_PHIL_CUL,,"Some of the most powerful political texts employ literary techniques such as narrative, character, and setting. This class will examine political themes in texts drawn from a range of literary genres (memoire, literary non-fiction, science fiction). Students will learn about the conventions of these genres, and they will also have the opportunity to write an original piece of political writing in one of the genres. This course combines the academic analysis of political writing with the workshop method employed in creative writing courses.",At least one course in creative writing at the high school or university level.,"[1.5 credits at the C-level in POL, CIT, PPG, GGR, ANT, SOC, IDS, HLT courses] or [JOUB39H3 or ENGB63H3]",,Writing about Politics,, +POLD44H3,SOCIAL_SCI,,This seminar examines how legal institutions and legal ideologies influence efforts to produce or prevent social change. The course will analyze court-initiated action as well as social actions “from below” (social movements) with comparative case studies. Areas of Focus: Comparative Politics and Public Law,,POLB30H3 and [POLC33H3 or POLC38H3 or POLC39H3] and [0.5 credit in Comparative Politics],POL492H1,Comparative Law and Social Change,,Priority will be given to students enrolled in the Minor Program in Public Law. +POLD45H3,HIS_PHIL_CUL,,"This course studies the theory of constitutionalism through a detailed study of its major idioms such as the rule of law, the separation of powers, sovereignty, rights, and limited government. Areas of Focus: Political Theory and Public Law",,[[(POLB70H3) and (POLB71H3)] or POLB72H3 or POLB30H3] and [1.5 credits at the C-level in POL courses],,Constitutionalism,, +POLD46H3,SOCIAL_SCI,University-Based Experience,"Immigration is one of the most debated and talked about political issues in the 21st century. Peoples’ movement across continents for a whole host of reasons is not new; however, with the emergence of the nation-state, the drawing of borders, and the attempts to define and shape of membership in a political and national community, migration became a topic for public debate and legal challenge. This course dives into Canada’s immigration system and looks at how it was designed, what values and objectives it tries to meet, and how global challenges affect its approach and attitude toward newcomers. The approach used in this course is that of a legal practitioner, tasked with weighing the personal narratives and aspirations of migrants as they navigate legal challenges and explore the available programs and pathways to complete their migration journey in Canada. Areas of Focus: Canadian Government and Politics, and Public Law",,"1.0 credits from the following: POLC32H3, POLC36H3, POLC39H3",,Public Law and the Canadian Immigration System,, +POLD50H3,SOCIAL_SCI,,"This course examines the interrelationship between organized interests, social movements and the state in the formulation and implementation of public policy in Canada and selected other countries. Areas of Focus: Canadian Government and Politics; Public Policy",,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL or PPG courses],,"Political Interests, Political Identity, and Public Policy",, +POLD51H3,SOCIAL_SCI,,This seminar course explores selected issues of Canadian politics from a comparative perspective. The topics in this course vary depending on the instructor. Areas of Focus: Canadian Government and Politics; Comparative Politics,,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL courses],,Topics in Canadian and Comparative Politics,, +POLD52H3,SOCIAL_SCI,,"Immigration has played a central role in Canada's development. This course explores how policies aimed at regulating migration have both reflected and helped construct conceptions of Canadian national identity. We will pay particular attention to the politics of immigration policy- making, focusing on the role of the state and social actors. Areas of Focus: Canadian Government and Politics; Public Policy",,[[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL or PPG courses]] or [15.0 credits including SOCB60H3],,Immigration and Canadian Political Development,, +POLD53H3,SOCIAL_SCI,,"Why do Canadians disagree in their opinions about abortion, same-sex marriage, crime and punishment, welfare, taxes, immigration, the environment, religion, and many other subjects? This course examines the major social scientific theories of political disagreement and applies these theories to an analysis of political disagreement in Canada. Area of Focus: Canadian Government and Politics",STAB23H3 or equivalent,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL courses],,Political Disagreement in Canada,, +POLD54H3,SOCIAL_SCI,University-Based Experience,"The campuses of the University of Toronto are situated on the territory of the Michi-Saagiig Nation (one of the nations that are a part of the Nishnaabeg). This course will introduce students to the legal, political, and socio-economic structures of the Michi-Saagiig Nishnaabeg Nation and discuss its relations with other Indigenous nations and confederacies, and with the Settler societies with whom the Michi-Saagiig Nishnaabeg have had contact since 1492. In an era of reconciliation, it is imperative for students to learn and understand the Indigenous nation upon whose territory we are meeting and learning. Therefore, course readings will address both Michi-Saagiig Nishnaabeg and Settler contexts. In addition to literature, there will be guest speakers from the current six (6) Michi-Saagiig Nishnaabeg communities that exist: Alderville, Mississaugas of the Credit, Mississaugi 8, Oshkigamig (Curve Lake), Pamitaashkodeyong (Burns/Hiawatha), and Scugog.",POLC52H3 or POL308H1,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in Political Science (POL and PPG courses)],,Michi-Saagiig Nishnaabeg Nation Governance and Politics,, +POLD55H3,SOCIAL_SCI,,"This seminar provides an in-depth examination of the politics of inequality in Canada, and the role of the Canadian political-institutional framework in contributing to political, social and economic (in)equality. The focus will be on diagnosing how Canada’s political institutions variously impede and promote equitable treatment of different groups of Canadians (such as First Nations, women, racial and minority groups) and the feasibility of possible institutional and policy reforms to promote goals of social and economic equity. Area of Focus: Canadian Government and Politics",,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL courses],,The Politics of Equality and Inequality in Canada,, +POLD56H3,QUANT,,"This course applies tools from computational social science to the collection and analysis of political data, with a particular focus on the computational analysis of text. Students are expected to propose, develop, carry out, and present a research project in the field of computational social science. Area of Focus: Quantitative and Qualitative Analysis",,[STAB23H3 or equivalent] and 1.5 credit at the C-level,,Politics and Computational Social Science,, +POLD58H3,SOCIAL_SCI,,"This course examines the recent rise of ethnic nationalism in western liberal democracies, with a particular focus on the US, Canada, UK and France. It discusses the different perspectives on what is behind the rise of nationalism and populism, including economic inequality, antipathy with government, immigration, the role of political culture and social media. Areas of Focus: Canadian Government and Politics",POLC58H3,1.0 credit at the C-level in POL or PPG courses,,The New Nationalism in Liberal Democracies,, +POLD59H3,SOCIAL_SCI,,"An in-depth analysis of the place and rights of disabled persons in contemporary society. Course topics include historic, contemporary, and religious perspectives on persons with disabilities; the political organization of persons with disabilities; media presentation of persons with disabilities; and the role of legislatures and courts in the provision of rights of labour force equality and social service accessibility for persons with disabilities. Area of Focus: Canadian Government and Politics",,"8.0 credits, of which at least 1.5 credits must be at the C- or D-level",,Politics of Disability,, +POLD67H3,SOCIAL_SCI,,"This course critically examines the relationship between politics, rationality, and public policy-making. The first half of the course surveys dominant rational actor models, critiques of these approaches, and alternative perspectives. The second half of the course explores pathological policy outcomes, arrived at through otherwise rational procedures. Areas of Focus: Comparative Politics; Political Theory; Public Policy",,PPGB66H3/(PPGC66H3/(POLC67H3) or [(POLB70H3) and (POLB71H3)] or POLB72H3] or [POLB90H3 and POLB91H3] and [1.0 additional credit at the C-level in POL or PPG courses],,The Limits of Rationality,, +POLD70H3,,,This seminar explores the ways in which political theory can deepen our understanding of contemporary political issues. Topics may include the following: cities and citizenship; multiculturalism and religious pluralism; the legacies of colonialism; global justice; democratic theory; the nature of power. Area of Focus: Political Theory,,[(POLB70H3) or (POLB71H3) or POLB72H3] and [1.5 credits at the C-level in POL courses],,Topics in Political Theory,, +POLD74H3,HIS_PHIL_CUL,,"The Black radical tradition is a modern tradition of thought and action which began after transatlantic slavery’s advent. Contemporary social science and the humanities overwhelmingly portray the Black radical tradition as a critique of Black politics in its liberal, libertarian, and conservative forms. This course unsettles that framing: first by situating the Black radical tradition within Black politics; second, through expanding the boundaries of Black politics to include, yet not be limited to, theories and practices emanating from Canada and the United States; and third, by exploring whether it is more appropriate to claim the study of *the* Black radical tradition or a broader network of intellectual traditions underlying political theories of Black radicalism. Area of Focus: Political Theory",,[POLB72H3 or POLC31H3] and [1.0 credit at the C-level in Political Science (POL and PPG courses)],,The Black Radical Tradition,, +POLD75H3,SOCIAL_SCI,,"This course examines the concept of property as an enduring theme and object of debate in the history of political thought and contemporary political theory. Defining property and justifying its distribution has a significant impact on how citizens experience authority, equality, freedom, and justice. The course will analyze different theoretical approaches to property in light of how they shape and/or challenge relations of class, race, gender, and other lines of difference and inequality.",,"0.5 credit from: [POLB72H3, POLC70H3, POLC71H3 or POLC73H3]",,Property and Power,, +POLD78H3,SOCIAL_SCI,,This seminar course is intended for students interested in deepening their understanding of methodological issues that arise in the study of politics or advanced research techniques.,,POLC78H3 and [1.0 credit at the C-level in POL courses],,Advanced Political Analysis,, +POLD82H3,SOCIAL_SCI,,"Examines political dynamics and challenges through exploration of fiction and other creative works with political science literature. Topics and focus will vary depending on the instructor but could include subjects like climate change, war, migration, gender, multiculturalism, colonialism, etc.",,1.5 credits at the C-level in POL courses,,Politics and Literature,, +POLD87H3,SOCIAL_SCI,,This course is an introduction to rational choice theories with applications to the international realm. A main goal is to introduce analytical constructs frequently used in the political science and political economy literature to understand strategic interaction among states. Area of Focus: International Relations,,POLB80H3 and POLB81H3 and [1.5 credits at the C-level in POL courses],,Rational Choice and International Cooperation,, +POLD89H3,SOCIAL_SCI,,"Examines the challenges faced by humanity in dealing with global environmental problems and the politics of addressing them. Focuses on both the underlying factors that shape the politics of global environmental problems - such as scientific uncertainty, North-South conflict, and globalization - and explores attempts at the governance of specific environmental issues. Area of Focus: International Relations; Public Policy",,[[POLB80H3 and POLB81H3] or ESTB01H3]] and [2.0 credits at the C-level in any courses],POL413H1,Global Environmental Politics,, +POLD90H3,SOCIAL_SCI,,"While domestic and international political factors have discouraged pro human development public policies in much of the global south, there have been some important success stories. This course examines the economic and social policies most successful in contributing to human development and explores the reasons behind these rare cases of relatively successful human development. Areas of Focus: Comparative Politics; Public Policy Same as IDSD90H3",,"[1.0 credit from: IDSB01H3, IDSB04H3, POLB90H3, POLB91H3] and [2.0 credits at the C-level in any courses]",IDSD90H3,Public Policy and Human Development in the Global South,, +POLD91H3,SOCIAL_SCI,,"This course examines contentious politics from a comparative perspective, beginning with the foundational theories of Charles Tilly, Sidney Tarrow, and Doug McAdam. It explores questions such as why people protest, how they organize, and the outcomes of contention. The second half of the course challenges students to examine popular contention across a range of states in Asia, the Middle East, Europe, and Latin America. It asks students to interrogate the applicability of the dynamics of contention framework to illiberal states in a comparative context. Area of Focus: Comparative Politics",,1.5 credits at the C-level in POL courses,POL451H1,Protests and Social Movements in Comparative Perspective,, +POLD92H3,SOCIAL_SCI,,"This course will provide an introduction to theories of why some dictatorships survive while others do not. We will explore theories rooted in regime type, resources, state capacity, parties, popular protest, and leadership. We will then examine the utility of these approaches through in-depth examinations of regime crises in Ethiopia, Iran, China, the USSR, and South Africa. Area of Focus: Comparative Politics",,[POLB90H3 or POLB91H3] and [an additional 2.0 credits at the C-level in any courses],,Survival and Demise of Dictatorships,, +POLD94H3,SOCIAL_SCI,,Area of Focus: Comparative Politics,,POLB90H3 and [POLB91H3 or 0.5 credit at the B-level in IDS courses] and [2.0 credits at the C-level in any courses],,Selected Topics on Developing Areas Topics vary according to instructor.,, +POLD95H3,,University-Based Experience,"A research project under the supervision of a member of faculty that will result in the completion of a substantial report or paper acceptable as an undergraduate senior thesis. Students wishing to undertake a supervised research project in the Winter Session must register in POLD95H3 during the Fall Session. It is the student's responsibility to find a faculty member who is willing to supervise the project, and the student must obtain consent from the supervising instructor before registering for this course. During the Fall Session the student must prepare a short research proposal, and both the supervising faculty member and the Supervisor of Studies must approve the research proposal prior to the first day of classes for the Winter Session.",,Permission of the instructor,,Supervised Research,, +POLD98H3,,,"Advanced reading in special topics. This course is meant only for those students who, having completed the available basic courses in a particular field of Political Science, wish to pursue further intensive study on a relevant topic of special interest. Students are advised that they must obtain consent from the supervising instructor before registering for this course.",,Permission of the instructor.,POL495Y,Supervised Reading,, +PPGB11H3,QUANT,,"Policy analysts frequently communicate quantitative findings to decision-makers and the public in the form of graphs and tables. Students will gain experience finding data, creating effective graphs and tables, and integrating those data displays in presentations and policy briefing notes. Students will complete assignments using Excel and/or statistical programs like Tableau, STATA, SPSS and/or R.",STAB23H3 or equivalent,,,Policy Communications with Data,, +PPGB66H3,SOCIAL_SCI,,"This course provides an introduction to the study of public policy. The course will address theories of how policy is made and the influence of key actors and institutions. Topics include the policy cycle (agenda setting, policy information, decision making, implementation, and evaluation), policy durability and change, and globalization and policy making. Areas of Focus: Public Policy, Comparative Politics, Canadian Government and Politics",,Any 4.0 credits,"(POLC66H3), (PPGC66H3)",Public Policy Making,, +PPGC67H3,SOCIAL_SCI,,"This course is a survey of contemporary patterns of public policy in Canada. Selected policy studies including managing the economy from post-war stabilization policies to the rise of global capitalism, developments in the Canadian welfare state and approaches to external relations and national security in the new international order. Areas of Focus: Canadian Government and Politics; Public Policy",,[(POLB50Y3) or [POLB56H3 and POLB57H3]] or 1.5 credits at the B-level in CIT courses,(POLC67H3),Public Policy in Canada,, +PPGD64H3,SOCIAL_SCI,,"This seminar course explores some of the major theoretical approaches to the comparative analysis of public policies across countries. The course explores factors that influence a country’s policy-making process and why countries’ policies diverge or converge. Empirically, the course examines several contemporary issue areas, such as economic, social or environmental policies. Areas of Focus: Comparative Politics; Public Policy",PPGC67H3,PPGB66H3/(PPGC66H3) and [[(POLB50Y3) or [POLB56H3 and POLB57H3]] or [(POLB92H3) and (POLB93H3)]] and [1.5 credits at the C-level in POL or PPG courses],(POLD64H3),Comparative Public Policy,, +PPGD68H3,SOCIAL_SCI,,"A review and application of theories of public policy. A case- based approach is used to illuminate the interplay of evidence (scientific data, etc.) and political considerations in the policy process, through stages of agenda-setting, formulation, decision-making, implementation and evaluation. Cases will be drawn from Canada, the United States and other industrialized democracies, and include contemporary and historical policies.",,PPGB66H3 and [(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL courses],,Capstone: The Policy Process in Theory and Practice,, +PSCB90H3,NAT_SCI,,"This course provides an opportunity for students to work with a faculty member, Students will provide assistance with one of the faculty member's research projects, while also earning credit. Students will gain first-hand exposure to current research methods, and share in the excitement of discovery of knowledge acquisition. Progress will be monitored by regular meetings with the faculty member and through a reflective journal. Final results will be presented in a written report and/or a poster presentation at the end of the term. Approximately 120 hours of work is expected for the course.",Completion of at least 4.0 credits in a relevant discipline.,Permission of the Course Coordinator,,Physical Sciences Research Experience,,"Students must send an application to the course Coordinator for admission into this course. Applications must be received by the end of August for Fall enrolment, December 15th for Winter enrolment, and end of April for Summer enrolment. Typically, students enrolled in a program offered by the Department of Physical and Environmental Sciences and students who have a CGPA of at least 2.5 or higher are granted admission. Approved students will receive a signed course enrolment form that will be submitted to the Office of the Registrar. Applications will include: 1) A letter of intent indicating the student's wish to enrol in the course; 2) A list of relevant courses successfully completed by the student, as well as any relevant courses to be taken during the upcoming semester; 3) Submission of the preferred project form, indicating the top four projects of interest to the student. This form is available from the Course Coordinator, along with the project descriptions." +PSCD01H3,SOCIAL_SCI,,"Current issues involving physical science in modern society. Topics include: complex nature of the scientific method; inter- connection between theory, concepts and experimental data; characteristics of premature, pathological and pseudo- science; organization and funding of scientific research in Canada; role of communication and publishing; public misunderstanding of scientific method. These will be discussed using issues arising in chemistry, computer science, earth sciences, mathematics and physics.",,Completion of at least one-half of the credits required in any one of the programs offered by the Department of Physical & Environmental Sciences.,PHY341H,The Physical Sciences in Contemporary Society,Continued participation in one of the Physical and Environmental Sciences programs.,"Where PSCD01H3 is a Program requirement, it may be replaced by PHY341H with the approval of the Program supervisor." +PSCD02H3,NAT_SCI,,"Topics of current prominence arising in chemistry, computer science, earth sciences, mathematics and physics will be discussed, usually by faculty or outside guests who are close to the areas of prominence. Topics will vary from year to year as the subject areas evolve.",,Completion of at least 3.5 credits of a Physical Sciences program,PHY342H,Current Questions in Mathematics and Science,Continued participation in one of the Physical Sciences programs or enrolment in the Minor Program in Natural Sciences and Environmental Management, +PSCD11H3,ART_LIT_LANG,,"Communicating complex science issues to a wider audience remains a major challenge. This course will use film, media, journalism and science experts to explore the role of science and scientists in society. Students will engage with media and academic experts to get an insight into the ‘behind the scenes’ world of filmmaking, media, journalism, and scientific reporting. The course will be of interest to all students of environmental science, media, education, journalism and political science.",,Any 14.5 credits,(PSCA01H3),"Communicating Science: Film, Media, Journalism, and Society",, +PSCD50H3,NAT_SCI,,"This course provides exposure to a variety of theoretical concepts and practical methods for treating various problems in quantum mechanics. Topics include perturbation theory, variational approach, adiabatic approximation, mean field approximation, Hamiltonian symmetry implementation, light- matter interaction, second quantization.",,Any one of the following courses [PHYC56H3 or CHMC20H3 or (CHMC25H3)],"PHY456H, CHM423H, CHM421H, JCP421H",Advanced Topics in Quantum Mechanics,, +PSYA01H3,NAT_SCI,Partnership-Based Experience,"This course provides a general overview of topics including research techniques in psychology, evolutionary psychology, the biology of behaviour, learning and behaviour, sensation, perception, memory and consciousness. The most influential findings from each of these areas will be highlighted.",,,"PSY100H, PSY100Y",Introduction to Biological and Cognitive Psychology,, +PSYA02H3,SOCIAL_SCI,Partnership-Based Experience,"This course provides a general overview of topics including language, intelligence, development, motivation and emotion, personality, social psychology, stress, mental disorders and treatments of mental disorders. The most influential findings from each of these areas will be highlighted.",,,"PSY100H, PSY100Y","Introduction to Clinical, Developmental, Personality and Social Psychology",, +PSYB03H3,QUANT,,"The course will provide introductory knowledge and hands-on training in computer-based implementations of experimental design, data processing and result interpretation in psychology. The course covers implementations of experimental testing paradigms, computational explorations of empirical data structure and result visualization with the aid of specific programming tools (e.g., Matlab).",,PSYA01H3 and PSYA02H3,,Introduction to Computers in Psychological Research,PSYB07H3 or STAB22H3 or STAB23H3,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, and Neuroscience (Cognitive stream). Students in the Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits." +PSYB07H3,QUANT,,"This course focuses on the fundamentals of the theory and the application of statistical procedures used in research in the field of psychology. Topics will range from descriptive statistics to simple tests of significance, such as Chi-Square, t-tests, and one-way Analysis-of-Variance. A working knowledge of algebra is assumed.",,,"ANTC35H3, LINB29H3, MGEB11H3/(ECMB11H3), MGEB12H3/(ECMB12H3), PSY201H, (SOCB06H3), STAB22H3, STAB23H3, STAB52H3, STA220H, STA221H, STA250H, STA257H",Data Analysis in Psychology,,"Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology, Mental Health Studies, Neuroscience, and Paramedicine. Students in the Minor program in Psychology and Mental Health Studies will be admitted as space permits." +PSYB10H3,SOCIAL_SCI,,"Surveys a wide range of phenomena relating to social behaviour. Social Psychology is the study of how feelings, thoughts, and behaviour are influenced by the presence of others. The course is designed to explore social behaviour and to present theory and research that foster its understanding.",,PSYA01H3 and PSYA02H3,PSY220H,Introduction to Social Psychology,, +PSYB20H3,SOCIAL_SCI,,"Developmental processes during infancy and childhood. This course presents students with a broad and integrative overview of child development. Major theories and research findings will be discussed in order to understand how the child changes physically, socially, emotionally, and cognitively with age. Topics are organized chronologically beginning with prenatal development and continuing through selected issues in adolescence and life-span development.",,PSYA01H3 and PSYA02H3,PSY210H,Introduction to Developmental Psychology,, +PSYB30H3,SOCIAL_SCI,,"This course is intended to introduce students to the scientific study of the whole person in biological, social, and cultural contexts. The ideas of classical personality theorists will be discussed in reference to findings from contemporary personality research.",,PSYA01H3 and PSYA02H3,PSY230H,Introduction to Personality,, +PSYB32H3,SOCIAL_SCI,University-Based Experience,"Clinical psychology examines why people behave, think, and feel in unexpected, sometimes bizarre, and typically self- defeating ways. This course will focus on the ways in which clinicians have been trying to learn the causes of various clinical disorders and what they know about preventing and alleviating it.",,PSYA01H3 and PSYA02H3,"PSY240H, PSY340H",Introduction to Clinical Psychology,, +PSYB38H3,SOCIAL_SCI,,"An introduction to behaviour modification, focusing on attempts to regulate human behaviour. Basic principles and procedures of behaviour change are examined, including their application across different domains and populations. Topics include operant and respondent conditioning; reinforcement; extinction; punishment; behavioural data; ethics; and using behaviourally-based approaches (e.g., CBT) to treat psychopathology.",,PSYA01H3 and PSYA02H3,"PSY260H1, (PSYB45H3)",Introduction to Behaviour Modification,, +PSYB51H3,NAT_SCI,,"Theory and research on perception and cognition, including visual, auditory and tactile perception, representation, and communication. Topics include cognition and perception in the handicapped and normal perceiver; perceptual illusion, noise, perspective, shadow patterns and motion, possible and impossible scenes, human and computer scene-analysis, ambiguity in perception, outline representation. The research is on adults and children, and different species. Demonstrations and exercises form part of the course work.",,PSYA01H3 and PSYA02H3,"NROC64H3, PSY280H1",Introduction to Perception,, +PSYB55H3,NAT_SCI,,"The course explores how the brain gives rise to the mind. It examines the role of neuroimaging tools and brain-injured patients in helping to uncover cognitive networks. Select topics include attention, memory, language, motor control, decision-making, emotion, and executive functions.",,PSYA01H3 and PSYA02H3,PSY493H1,Introduction to Cognitive Neuroscience,, +PSYB57H3,NAT_SCI,,"A discussion of theories and experiments examining human cognition. This includes the history of the study of human information processing and current thinking about mental computation. Topics covered include perception, attention, thinking, memory, visual imagery, language and problem solving.",,PSYA01H3 and PSYA02H3,PSY270H,Introduction to Cognitive Psychology,, +PSYB64H3,NAT_SCI,,"A survey of the biological mechanisms underlying fundamental psychological processes intended for students who are not in a Neuroscience program. Topics include the biological basis of motivated behaviour (e.g., emotional, ingestive, sexual, and reproductive behaviours; sleep and arousal), sensory processes and attention, learning and memory, and language.",,PSYA01H3 and PSYA02H3,"NROC61H3, PSY290H",Introduction to Behavioural Neuroscience,, +PSYB70H3,SOCIAL_SCI,,"This course focuses on scientific literacy skills central to effectively consuming and critiquing research in psychological science. Students will learn about commonly used research designs, how to assess whether a design has been applied correctly, and whether the conclusions drawn from the data are warranted. Students will also develop skills to effectively find and consume primary research in psychology.",,PSYA01H3 and PSYA02H3,"(PSYB01H3), (PSYB04H3)",Methods in Psychological Science,, +PSYB80H3,SOCIAL_SCI,,"This course builds upon foundational concepts from Introduction to Psychology and examines the field of psychological science from a critical perspective. Students will explore the contextual underpinnings of the field and learn about current debates and challenges facing various subfields of psychology. Specific topics will vary by term according to the interests and expertise of the course instructor and guest lecturers. Examination of these topics will include considerations such as bias in the sciences, demographic representation in participant pools, methodological diversity, replicability, and ecological validity.",PSYB70H3,"PSYA01H3, PSYA02H3",,Psychology in Context,,"Priority will be given to students in the Specialist/Specialist Co-op, Major/Major Co-op and Minor programs in Psychology, Mental Health Studies, and Neuroscience. This course uses a Credit/No Credit (CR/NCR) grading scheme." +PSYB90H3,SOCIAL_SCI,University-Based Experience,"This course provides an introduction to, and experience in, ongoing theoretical and empirical research in any field of psychology. Supervision of the work is arranged by mutual agreement between student and instructor. Students will typically engage in an existing research project within a supervisor’s laboratory. Regular consultation with the supervisor is necessary, which will enhance communication skills and enable students to develop proficiency in speaking about scientific knowledge with other experts in the domain. Students will also develop documentation and writing skills through a final report and research journal. This course requires students to complete a permission form obtained from the Department of Psychology. This form must outline agreed-upon work that will be performed, must be signed by the intended supervisor, and returned to the Department of Psychology.",B-level courses in Psychology or Psycholinguistics,"[PSYA01H3 and PSYA02H3 with at least an 80% average across both courses] and [a minimum of 4.0 credits [including PSYA01H3 and PSYA02H3] in any discipline, with an average cGPA of 3.0] and [a maximum of 9.5 credits completed] and [enrolment in a Psychology, Mental Health Studies, Neuroscience or Psycholinguistics program].",ROP299Y and LINB98H3,Supervised Introductory Research in Psychology,,"Students receive a half credit spread across two-terms; therefore, the research in this course must take place across two consecutive terms. Priority will be given to students in the Specialist and Major programs in Psychology and Mental Health Studies, followed by students in the Specialist and Major programs in Neuroscience and Psycholinguistics. Enrolment will depend each year on the research opportunities available with each individual faculty member and the interests of the students who apply." +PSYC02H3,SOCIAL_SCI,University-Based Experience,"How we communicate in psychology and why. The differences between scientific and non-scientific approaches to behaviour and their implications for communication are discussed. The focus is on improving the student's ability to obtain and organize information and to communicate it clearly and critically, using the conventions of the discipline.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Scientific Communication in Psychology,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, and Neuroscience (Cognitive stream), and the Specialist Co-op program in Neuroscience (Stage 1). Students in the Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits." +PSYC03H3,QUANT,,"The course will provide advanced knowledge and hands-on training in computer-based implementations of experimental design, data processing and result interpretation in psychology. The course covers implementations of experimental testing paradigms, computational explorations of empirical data structure, and result visualization with the aid of specific programming tools (e.g., Matlab).",,PSYB03H3,,Computers in Psychological Research: Advanced Topics,,Priority will be given to students in the Specialist/Specialist Co-op program in Neuroscience (Cognitive stream). Students in the Specialist/Specialist Co- op and Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits. +PSYC08H3,QUANT,,"The primary focus of this course is on the understanding of Analysis-of-Variance and its application to various research designs. Examples will include a priori and post hoc tests. Finally, there will be an introduction to multiple regression, including discussions of design issues and interpretation problems.",,[PSYB07H3 or STAB23H3 or STAB22H3] and PSYB70H3,"(STAC52H3), PSY202H",Advanced Data Analysis in Psychology,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, Neuroscience, and Paramedicine. Students in the Major/Major Co-op programs in Psychology, Mental Health Studies, and Neuroscience will be permitted if space permits." +PSYC09H3,QUANT,University-Based Experience,"An introduction to multiple regression and its applications in psychological research. The course covers the data analysis process from data collection to interpretation: how to deal with missing data, the testing of assumptions, addressing problem of multicolinearity, significance testing, and deciding on the most appropriate model. Several illustrative data sets will be explored in detail. The course contains a brief introduction to factor analysis. The goal is to provide the students with the skills and understanding to conduct and interpret data analysis in non-experimental areas of psychology.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"LINC29H3, MGEC11H3",Applied Multiple Regression in Psychology,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, and Neuroscience (Cognitive stream). Students in the Major/Major Co-op programs in Psychology, Mental Health Studies, and Neuroscience will be permitted if space permits." +PSYC10H3,SOCIAL_SCI,,"This course examines the psychology of judgment and decision making, incorporating perspectives from social psychology, cognitive psychology, and behavioral economics. Understanding these topics will allow students to identify errors and systematic biases in their own decisions and improve their ability to predict and influence the behavior of others.",,[PSYB10H3 or PSYB57H3 or PSYC57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Judgment and Decision Making,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC12H3,SOCIAL_SCI,,"A detailed examination of selected social psychological topics introduced in PSYB10H3. This course examines the nature of attitudes, stereotypes and prejudice, including their development, persistence, and automaticity. It also explores the impact of stereotypes on their targets, including how stereotypes are perceived and how they affect performance, attributions, and coping.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY322H,The Psychology of Prejudice,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC13H3,SOCIAL_SCI,University-Based Experience,"A comprehensive survey of how cognitive processes (e.g., perception, memory, judgment) influence social behaviour. Topics include the construction of knowledge about self and others, attitude formation and change, influences of automatic and controlled processing, biases in judgment and choice, interactions between thought and emotion, and neural specializations for social cognition.",,[PSYB10H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY326H, PSY473H, PSY417H",Social Cognition: Understanding Ourselves and Others,,"Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology, Mental Health Studies, and Neuroscience. Students in the Minor program in Psychology will be admitted as space permits." +PSYC14H3,SOCIAL_SCI,,"A survey of the role of culture in social thought and behaviour. The focus is on research and theory that illustrate ways in which culture influences behaviour and cognition about the self and others, emotion and motivation. Differences in individualism and collectivism, independence and interdependence as well as other important orientations that differ between cultures will be discussed. Social identity and its impact on acculturation in the context of immigration will also be explored.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY321H,Cross-Cultural Social Psychology,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC15H3,SOCIAL_SCI,,"Community psychology is an area of psychology that examines the social, cultural, and structural influences that promote positive change, health, and empowerment among communities and community members. This course will offer an overview of the foundational components of community psychology including its theories, research methods, and applications to topics such as community mental health, prevention programs, interventions, the community practitioner as social change agent, and applications of community psychology to other settings and situations.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Foundations in Community Psychology,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC16H3,SOCIAL_SCI,,"The course will examine different aspects of imagination in a historical context, including creativity, curiosity, future- mindedness, openness to experience, perseverance, perspective, purpose, and wisdom along with its neural foundations.",,PSYB10H3 and [PSYB20H3 or PSYB30H3 or PSYB51H3 or PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Psychology of Imagination,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC17H3,SOCIAL_SCI,,"What happens when two (or more) minds meet—how do they interact and interconnect? Specifically, how do people “get on the same page,” and what are barriers that might stand in the way? Guided by these questions, this course will provide a broad overview of the psychological phenomena and processes that enable interpersonal connection. We will examine the various ways that people’s inner states— thoughts, feelings, intentions, and identities—connect with one another. We will study perspectives from both perceivers (i.e., how to understand others) and targets (i.e., how to be understood), at levels of dyads (i.e., how two minds become interconnected) and groups (i.e., how minds coordinate and work collectively). Throughout the course, we will consider challenges to effective interpersonal interactions, and solutions and strategies that promote and strengthen interconnection. A range of perspectives, including those from social, cognitive, personality, developmental, and cultural psychology, as well as adjacent disciplines such as communication, will be considered.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Meeting Minds: The Psychology of Interpersonal Interactions,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC18H3,SOCIAL_SCI,University-Based Experience,"What is an emotion? How are emotions experienced and how are they shaped? What purpose do emotions serve to human beings? What happens when our emotional responses go awry? Philosophers have debated these questions for centuries. Fortunately, psychological science has equipped us with the tools to explore such questions on an empirical level. Building with these tools, this course will provide a comprehensive overview of the scientific study of emotion. Topics will include how emotions are expressed in our minds and bodies, how emotions influence (and are influenced by) our thoughts, relationships, and cultures, and how emotions can both help us thrive and make us sick. A range of perspectives, including social, cultural, developmental, clinical, personality, and cognitive psychology, will be considered.",,[PSYB10H3 or PSYB30H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY331H, PSY494H",The Psychology of Emotion,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC19H3,SOCIAL_SCI,,"A detailed examination of how organisms exercise control, bringing thoughts, emotions and behaviours into line with preferred standards. Topics include executive function, the neural bases for self control, individual differences in control, goal setting and goal pursuit, motivation, the interplay of emotion and control, controversies surrounding fatigue and control, and decision-making.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Psychology of Self Control,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC21H3,SOCIAL_SCI,University-Based Experience,"An examination of topics in adult development after age 18, including an examination of romantic relationships, parenting, work-related functioning, and cognitive, perceptual, and motor changes related to aging.",,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY313H, PSY311H",Adulthood and Aging,,"Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology, Mental Health Studies, Paramedicine, and Psycholinguistics. Students in the Minor program in Psychology will be admitted as space permits." +PSYC22H3,SOCIAL_SCI,University-Based Experience,"Infants must learn to navigate their complex social worlds as their bodies and brains undergo incredible changes. This course explores physical and neural maturation, and the development of perception, cognition, language, and social- emotional understanding in infants prenatally until preschool.",,PSYB20H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3 or STAB23H3],"PSY316H1, PSY316H5",Infancy,, +PSYC23H3,NAT_SCI,,"A review of the interplay of psychosocial and biological processes in the development of stress and emotion regulation. Theory and research on infant attachment, mutual regulation, gender differences in emotionality, neurobiology of the parent-infant relationship, and the impact of socialization and parenting on the development of infant stress and emotion.",,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Developmental Psychobiology,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC24H3,SOCIAL_SCI,,"This advanced course in developmental psychology explores selected topics in childhood and adolescent development during school age (age 4 through age 18). Topics covered include: cognitive, social, emotional, linguistic, moral, perceptual, identity, and motor development, as well as current issues in the field as identified by the instructor.",,PSYB20H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3 or STAB23H3],PSY310H5,Childhood and Adolescence,, +PSYC27H3,SOCIAL_SCI,,"This course will examine research and theory on the evolution and development of social behaviour and social cognition with a focus on social instincts, such as empathy, altruism, morality, emotion, friendship, and cooperation. This will include a discussion of some of the key controversies in the science of social development from the second half of the nineteenth century to today.",PSYB55H3 or PSYB64H3,PSYB10H3 and PSYB20H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3 or STAB23H3],PSY311H,Social Development,, +PSYC28H3,SOCIAL_SCI,,"This course will provide students with a comprehensive understanding of the biological, cognitive, and social factors that shape emotional development in infancy and childhood. Topics covered will include theories of emotional development, the acquisition of emotion concepts, the role of family and culture in emotional development, the development of emotion regulation, and atypical emotional development. Through learning influential theories, cutting- edge methods, and the latest research findings, students will gain an in-depth understanding of the fundamental aspects of emotional development.",,PSYB20H3 and PSYB70H3 and [PSYB07H3 or STAB22H3 or STAB23H3],,Emotional Development,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC30H3,SOCIAL_SCI,,"This course is intended to advance students' understanding of contemporary personality theory and research. Emerging challenges and controversies in the areas of personality structure, dynamics, and development will be discussed.",,PSYB30H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"(PSYC35H3), PSY337H",Advanced Personality Psychology,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC31H3,NAT_SCI,University-Based Experience,"The clinical practice of neuropsychological assessment is an applied science that is concerned with the behavioural expression of personality, emotional, somatic and, or brain dysfunction with an emphasis on how diversity (e.g., cultural, racial, gender, sexuality, class, religion, other aspects of identity and the intersections among these), can further mediate this relationship. The clinical neuropsychologist uses standardized tests to objectively describe the breadth, severity and veracity of emotional, cognitive, behavioral and intellectual functioning. Inferences are made on the basis of accumulated research. The clinical neuropsychologist interprets every aspect of the examination (both quantitative and qualitative components) to ascertain the relative emotional, cognitive, behavioural and intellectual strengths and weaknesses of a patient with suspected or known (neuro)psychopathology. Findings from a neuropsychological examination can be used to make diagnoses, inform rehabilitation strategies, and direct various aspects of patient care. In this course, we will comprehensively explore the science and applied practice of neuropsychological assessment.",,PSYB32H3 and PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"(PSYC32H3), (PSY393H)",Neuropsychological Assessment,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor Program in Psychology will be admitted as space permits. +PSYC34H3,SOCIAL_SCI,,"The philosopher Aristotle proposed long ago that a good life consists of two core elements: happiness (hedonia) and a sense of meaning (eudaimonia). What is happiness and meaning, and how do they relate to psychological wellbeing? How do these desired states or traits change across life, and can they be developed with specific interventions? What roles do self-perception and social relationships play in these phenomena? We will focus on the conceptual, methodological, and philosophical issues underlying these questions.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY336H1, PSY324H5",The Psychology of Happiness and Meaning,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC36H3,SOCIAL_SCI,,"This course will provide students with an introduction to prominent behavioural change theories (i.e. psychodynamic, cognitive/behavioural, humanist/existential) as well as empirical evidence on their efficacy. The role of the therapist, the patient and the processes involved in psychotherapy in producing positive outcomes will be explored.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY343H,Psychotherapy,,Restricted to students in the Mental Health Studies programs. +PSYC37H3,SOCIAL_SCI,University-Based Experience,"This course deals with conceptual issues and practical problems of identification, assessment, and treatment of mental disorders and their psychological symptomatology. Students have the opportunity to familiarize themselves with the psychological tests and the normative data used in mental health assessments. Lectures and demonstrations on test administration and interpretation will be provided.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY330H,Psychological Assessment,,Restricted to students in the Mental Health Studies programs. +PSYC38H3,SOCIAL_SCI,,"This course will provide an advanced understanding of the etiology, psychopathology, and treatment of common mental disorders in adults. Theory and research will be discussed emphasizing biological, psychological, and social domains of functioning. Cultural influences in the presentation of psychopathology will also be discussed.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY340H1, PSY342H1",Adult Psychopathology,,Restricted to students in the Mental Health Studies programs. +PSYC39H3,SOCIAL_SCI,,"This course focuses on the application of psychology to the law, particularly criminal law including cognitive, neuropsychological and personality applications to fitness to stand trial, criminal responsibility, risk for violent and sexual recidivism and civil forensic psychology.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY328H, PSY344H",Psychology and the Law,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC50H3,NAT_SCI,,"This course examines advanced cognitive functions through a cognitive psychology lens. Topics covered include: thinking, reasoning, decision-making, problem-solving, creativity, and consciousness.",,[PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Higher-Level Cognition,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC51H3,NAT_SCI,,"This course will provide an in-depth examination of research in the field of visual cognitive neuroscience. Topics will include the visual perception of object features (shape, colour, texture), the perception of high-level categories (objects, faces, bodies, scenes), visual attention, and comparisons between the human and monkey visual systems.",,[PSYB51H3 or PSYB55H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY380H,Cognitive Neuroscience of Vision,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Major program in Neuroscience and the Minor program in Psychology will be admitted as space permits." +PSYC52H3,NAT_SCI,,This course is about understanding how the human brain collects information from the environment so as to perceive it and to interact with it. The first section of the course will look into the neural and cognitive mechanisms that perceptual systems use to extract important information from the environment. Section two will focus on how attention prioritizes information for action. Additional topics concern daily life applications of attentional research.,,PSYB51H3 and [PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY475H,Cognitive Neuroscience of Attention,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Major program in Neuroscience and the Minor program in Psychology will be admitted as space permits." +PSYC53H3,NAT_SCI,,"An exploration of how the brain supports different forms of memory, drawing on evidence from electrophysiological, patient neuropsychological and neuroimaging research. Topics include short-term working memory, general knowledge of the world (semantic memory), implicit memory, and memory for personally experienced events (episodic memory).",PSYB57H3,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY372H,Cognitive Neuroscience of Memory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Major program in Neuroscience and the Minor program in Psychology will be admitted as space permits." +PSYC54H3,NAT_SCI,,"This course provides an overview of the cognitive and neural processes that underlie humans’ auditory abilities. Core topics include psychoacoustics, the auditory cortex and its interconnectedness to other brain structures, auditory scene analysis, as well as special topics such as auditory disorders. Insights into these different topics will be provided from research using behavioural, neuroimaging, computational, and neuropsychological techniques.",,[PSYB51H3 or PSYB55H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Auditory Cognitive Neuroscience,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Major program in Neuroscience and the Minor program in Psychology will be admitted as space permits." +PSYC56H3,NAT_SCI,,"Studies the perceptual and cognitive processing involved in musical perception and performance. This class acquaints students with the basic concepts and issues involved in the understanding of musical passages. Topics will include discussion of the physical and psychological dimensions of sound, elementary music theory, pitch perception and melodic organization, the perception of rhythm and time, musical memory, musical performance, and emotion and meaning in music.",,[PSYB51H3 or PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Music Cognition,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC57H3,NAT_SCI,,"This course will introduce students to current understanding, and ongoing debates, about how the brain makes both simple and complex decisions. Findings from single-cell neurophysiology, functional neuroimaging, and computational modeling will be used to illuminate fundamental aspects of choice, including reward prediction, value representation, action selection, and self-control.",PSYB03H3,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Cognitive Neuroscience of Decision Making,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology and Major program in Neuroscience will be admitted as space permits." +PSYC59H3,NAT_SCI,,"This course provides an overview of the cognitive and neural processes and representations that underlie language abilities. Core topics include first language acquisition, second language acquisition and bilingualism, speech comprehension, and reading. Insights into these different abilities will be provided from research using behavioural, neuroimaging, computational, and neuropsychological techniques.",,[PSYB51H3 or PSYB57H3] and PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Cognitive Neuroscience of Language,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Specialist/Specialist Co-op program in Psycholinguistics, the Major program in Neuroscience, and the Minor program in Psychology will be admitted as space permits." +PSYC62H3,NAT_SCI,,"An examination of behavioural and neurobiological mechanisms underlying the phenomenon of drug dependence. Topics will include principles of behavioural pharmacology and pharmacokinetics, neurobiological mechanisms of drug action, and psychotropic drug classification. In addition, concepts of physical and psychological dependence, tolerance, sensitization, and reinforcement and aversion will also be covered.",,[PSYB64H3 or PSYB55H3 or NROB60H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY396H, PCL475Y, PCL200H1",Drugs and the Brain,,"Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology, Mental Health Studies, and Neuroscience. Students in the Minor program in Psychology will be admitted as space permits." +PSYC70H3,SOCIAL_SCI,University-Based Experience,"The course focuses on methodological skills integral to becoming a producer of psychological research. Students will learn how to identify knowledge gaps in the literature, to use conceptual models to visualize hypothetical relationships, to select a research design most appropriate for their questions, and to interpret more complex patterns of data.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Advanced Research Methods Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, and Neuroscience (Cognitive stream), and the Specialist Co-op program in Neuroscience (Stage 1). Students in the Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits." +PSYC71H3,SOCIAL_SCI,University-Based Experience,"Introduces conceptual and practical issues concerning research in social psychology, and provides experience with several different types of research. This course is designed to consider in depth various research approaches used in social psychology (such as attitude questionnaires, observational methods for studying ongoing social interaction). Discussion and laboratory work.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYC02H3 and PSYC70H3,"PSY329H, (PSYC11H3)",Social Psychology Laboratory,,Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits. +PSYC72H3,SOCIAL_SCI,University-Based Experience,"This course introduces conceptual and practical issues concerning research in developmental psychology. Developmental psychology focuses on the process of change within and across different phases of the life-span. Reflecting the broad range of topics in this area, there are diverse research methods, including techniques for studying infant behaviour as well as procedures for studying development in children, adolescents, and adults. This course will cover a representative sample of some of these approaches.",,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYC02H3 and PSYC70H3,"PSY319H, (PSYC26H3)",Developmental Psychology Laboratory,,Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits. +PSYC73H3,SOCIAL_SCI,University-Based Experience,"A widespread survey on techniques derived from clinical psychology interventions and wellness and resilience research paired with the applied practice and implementation of those techniques designed specifically for students in the Specialist (Co-op) program in Mental Health Studies. Students will attend a lecture reviewing the research and details of each technique/topic. The laboratory component will consist of interactive, hands-on experience in close group settings with a number of techniques related to emotion, stress, wellness, and resilience. These are specifically tailored for university student populations.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Wellness and Resilience Laboratory,PSYC02H3,Restricted to students in the Specialist Co-op program in Mental Health Studies. +PSYC74H3,NAT_SCI,University-Based Experience,"In this course students will be introduced to the study of human movement across a range of topics (e.g., eye- movements, balance, and walking), and will have the opportunity to collect and analyze human movement data. Additional topics include basic aspects of experimental designs, data analysis and interpretation of such data.",PSYC02H3 and PSYC70H3,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Human Movement Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience (Systems/Behavioural stream), followed by students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits." +PSYC75H3,NAT_SCI,University-Based Experience,"This course introduces conceptual and practical issues concerning research in cognitive psychology. Students will be introduced to current research methods through a series of practical exercises conducted on computers. By the end of the course, students will be able to program experiments, manipulate data files, and conduct basic data analyses.",PSYC08H3,[PSYB07H3 or STAB22H3 or STAB23H3] and [PSYB51H3 or PSYB55H3 or PSYB57H3] and PSYC02H3 and PSYC70H3,PSY379H,Cognitive Psychology Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience (Cognitive stream), followed by students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits." +PSYC76H3,NAT_SCI,University-Based Experience,"The course introduces brain imaging techniques, focusing on techniques such as high-density electroencephalography (EEG) and transcranial magnetic stimulation (TMS), together with magnet-resonance-imaging-based neuronavigation. Furthermore, the course will introduce eye movement recordings as a behavioural measure often co-registered in imaging studies. Students will learn core principles of experimental designs, data analysis and interpretation in a hands-on manner.",,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYC02H3 and PSYC70H3,(PSYC04H3),Brain Imaging Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience (Cognitive stream), followed by students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits." +PSYC81H3,SOCIAL_SCI,,"This course will introduce students to a variety of topics in psychology as they relate to climate change and the psychological study of sustainable human behaviour. Topics covered will include the threats of a changing environment to mental health and wellbeing; the development of coping mechanisms and resilience for individuals and communities affected negatively by climate change and a changing environment; perceptions of risk, and how beliefs and attitudes are developed, maintained, and updated; effective principles for communicating about climate change and sustainable behaviour; how social identity affects experiences and perceptions of a changing environment; empirically validated methods for promoting pro-environmental behaviour; and how, when required, we can best motivate people to action.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 additional credits at the B-level in PSY courses],(PSYC58H3) if taken in Winter 2022 or Winter 2023,Psychology for Sustainability,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC85H3,HIS_PHIL_CUL,Partnership-Based Experience,"A survey of developments in Western philosophy and science which influenced the emergence of modern psychology in the second half of the Nineteenth Century. Three basic problems are considered: mind-body, epistemology (science of knowledge), and behaviour/motivation/ethics. We begin with the ancient Greek philosophers, and then consider the contributions of European scholars from the Fifteenth through Nineteenth Centuries. Twentieth Century schools are discussed including: psychoanalysis, functionalism, structuralism, gestalt, behaviourism, and phenomenology.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [1.0 additional credit at the B-level in PSY courses],PSY450H,History of Psychology,,Priority will be given to third- and fourth-year students in the Specialist/Specialist Co-op programs in Psychology and Mental Health Studies. Third- and fourth-year students in the Major programs in Psychology and Mental Health Studies will be admitted as space permits. +PSYC86H3,SOCIAL_SCI,,"The concept of the unconscious mind has been integral to our understanding of human behavior ever since Freud introduced the concept in 1915. In this course, we will survey the history of the concept of the unconscious and discuss contemporary theory and research into the nature of the unconscious. Topics such as implicit cognition, non-conscious learning, decision-making, and measurement of non- conscious processes will be discussed from social, cognitive, clinical, and neuroscience perspectives. We will explore the applications and implications of such current research on the unconscious mind for individuals, culture, and society.",,PSYB32H3 and [PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,The Unconscious Mind,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC87H3,SOCIAL_SCI,,"This course is designed for students interested in understanding the psychological influences on financial decision making, as well as the interplay between macroeconomic forces and psychological processes. Starting with a psychological and historical exploration of money's evolution, the course covers a wide range of topics. These include the impact of economic conditions like inflation and inequality on well-being, the psychology of household financial behaviours, including financial literacy and debt management, and the motivations affecting investment choices. The course also examines marketing psychology, the influence of money on interpersonal relationships, and the psychology of charitable giving. Finally, it investigates the psychological implications of emerging financial technologies.",,[PSYB10H3 or PSYB30H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Psychology and Money,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC90H3,,University-Based Experience,"An intensive research project intended to provide laboratory/field experience in data collection and analysis. The project must be completed over 2 consecutive terms. These courses provide an opportunity to engage in research in an area after completing basic coverage in regularly scheduled courses. The student must demonstrate a background adequate for the project proposed and should present a clear rationale to prospective supervisors. Regular consultation with the supervisor is necessary, and extensive data collection and analysis will be required. Such a project will culminate in a written research report. Students must first find a supervisor before the start of the academic term in which the project will be initiated. They must then obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and returned to the Psychology Office. Students seeking supervision off campus are further advised to check the appropriateness of the proposed advisor with the Program Supervisor. If the proposed supervisor is not appointed to the Psychology faculty at UTSC then a secondary advisor, that is appointed at UTSC, will be required.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [2.0 additional PSY credits] and permission of the proposed supervisor. Normally students need a cumulative GPA of at least 2.7 for permission to be granted.,"(COGC91H3), NROC90H3, PSY303H, PSY304H",Supervised Study in Psychology,, +PSYC93H3,,University-Based Experience,"An intensive research project intended to provide laboratory/field experience in data collection and analysis. The project must be completed over 2 consecutive terms. These courses provide an opportunity to engage in research in an area after completing basic coverage in regularly scheduled courses. The student must demonstrate a background adequate for the project proposed and should present a clear rationale to prospective supervisors. Regular consultation with the supervisor is necessary, and extensive data collection and analysis will be required. Such a project will culminate in a written research report. Students must first find a supervisor before the start of the academic term in which the project will be initiated. They must then obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and returned to the Psychology Office. Students seeking supervision off campus are further advised to check the appropriateness of the proposed advisor with the Program Supervisor. If the proposed supervisor is not appointed to the Psychology faculty at UTSC then a secondary advisor, that is appointed at UTSC, will be required.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [2.0 additional PSY credits] and permission of the proposed supervisor. Normally students need a cumulative GPA of at least 2.7 for permission to be granted.,"(COGC92H3), NROC93H3, PSY303H, PSY304H",Supervised Study in Psychology,, +PSYD10H3,SOCIAL_SCI,University-Based Experience,"This course examines the applications of social psychological theory and research to understand and address social issues that affect communities. In doing so the course bridges knowledge from the areas of social psychology and community psychology. In the process, students will have the opportunity to gain a deeper understanding of how theories and research in social psychology can be used to explain everyday life, community issues, and societal needs and how, reciprocally, real-life issues can serve to guide the direction of social psychological theories and research.",,PSYB10H3 and [0.5 credit at the C-level from PSY courses in the 10-series or 30-series] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSYD15H3 (if taken in Spring or Fall 2019),Community and Applied Social Psychology,, +PSYD13H3,SOCIAL_SCI,,"This seminar offers an in depth introduction to the recent scientific literature on how humans manage and control their emotions (emotion regulation). We will explore why, and how, people regulate emotions, how emotion regulation differs across individuals and cultures, and the influence that emotion regulation has upon mental, physical, and social well-being.",,PSYB10H3 and [PSYC13H3 or PSYC18H3 or PSYC19H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSYD15H3 if taken in Winter 2017,The Psychology of Emotion Regulation,,Priority enrolment will be given to students who have completed PSYC18H3 +PSYD14H3,SOCIAL_SCI,,"This course provides an in-depth introduction to the field of moral psychology. In recent years there has been a resurgence of interest in the science of human morality; the goal of this course is to offer an introduction to the research in this field. The course will incorporate perspectives from a variety of disciplines including philosophy, animal behaviour, neuroscience, economics, and almost every area of scientific psychology (social psychology, developmental psychology, evolutionary psychology, and cognitive psychology). By the end of the course students will be well versed in the primary issues and debates involved in the scientific study of morality.",PSYC08H3,PSYB10H3 and [PSYC12H3 or PSYC13H3 or PSYC14H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSYD15H3 if taken in Fall 2015,Psychology of Morality,, +PSYD15H3,SOCIAL_SCI,,An intensive examination of selected issues and research problems in social psychology.,,PSYB10H3 and [an additional 0.5 credit from the PSYC10-series of courses] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY326H, PSY420H",Current Topics in Social Psychology,, +PSYD16H3,SOCIAL_SCI,,"The development of social psychology is examined both as a discipline (its phenomena, theory, and methods) and as a profession. The Natural and Human Science approaches to phenomena are contrasted. Students are taught to observe the lived-world, choose a social phenomenon of interest to them, and then interview people who describe episodes from their lives in which these phenomena occurred. The students interpret these episodes and develop theories to account for their phenomena before searching for scholarly research on the topic.",PSYC12H3 or PSYC71H3,PSYB10H3 and [0.5 credit at the C-level in PSY courses] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY420H,Critical Analysis in Social Psychology,, +PSYD17H3,NAT_SCI,,"This course investigates how linking theory and evidence from psychology, neuroscience, and biology can aid in understanding important social behaviors. Students will learn to identify, critique, and apply cutting-edge research findings to current real-world social issues (e.g., prejudice, politics, moral and criminal behavior, stress and health).",[PSYC13H3 or PSYC57H3] and [(PSYB01H3) or (PSYB04H3) or PSYB70H3],[PSYB55H3 or PSYB64H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and [0.5 credit from the PSYC10- series or PSYC50-series courses],PSY473H,Social Neuroscience,, +PSYD18H3,SOCIAL_SCI,,"This course focuses on theory and research pertaining to gender and gender roles. The social psychological and social-developmental research literature concerning gender differences will be critically examined. Other topics also will be considered, such as gender-role socialization.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [1.0 credit at the C-level in PSY courses],PSY323H,Psychology of Gender,, +PSYD19H3,SOCIAL_SCI,,"How can we break bad habits? How can we start healthy habits? This course will explore the science of behaviour change, examining how to go from where you are to where you want to be. Students will learn core knowledge of the field of behaviour change from psychology and behavioural economics. Topics include goal setting and goal pursuit, self- regulation, motivation, dealing with temptations, nudges, and habits. Students will read primary sources and learn how to critically evaluate research and scientific claims. Critically, students will not only learn theory but will be instructed on how to apply what they learn in class to their everyday lives where students work on improving their own habits.",PSYC19H3,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit from the PSYC10-series or PSYC30H3 or PSYC50H3],,The Science of Behaviour Change,, +PSYD20H3,SOCIAL_SCI,,"An intensive examination of selected issues and research problems in developmental psychology. The specific content will vary from year to year with the interests of both instructor and students. Lectures, discussions, and oral presentations by students.",,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSY410H,Current Topics in Developmental Psychology,, +PSYD22H3,SOCIAL_SCI,,"The processes by which an individual becomes a member of a particular social system (or systems). The course examines both the content of socialization (e.g., development of specific social behaviours) and the context in which it occurs (e.g., family, peer group, etc.). Material will be drawn from both social and developmental psychology.",,PSYB10H3 and PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],"PSY311H, PSY410H",Socialization Processes,, +PSYD23H3,SOCIAL_SCI,,"Mutual recognition is one of the hallmarks of human consciousness and psychological development. This course explores mutual recognition as a dyadic and regulatory process in development, drawing on diverse theories from developmental science, social psychology, neuroscience, philosophy, literature, psychoanalysis, and gender studies.",,[PSYC13H3 or PSYC18H3 or PSYC23H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Dyadic Processes in Psychological Development,, +PSYD24H3,NAT_SCI,,"An in-depth examination of aspects related to perceptual and motor development in infancy and childhood. The topics to be covered will be drawn from basic components of visual and auditory perception, multisensory integration, and motor control, including reaching, posture, and walking. Each week, students will read a set of experimental reports, and will discuss these readings in class. The format of this course is seminar-discussion.",,[PSYB20H3 or PLIC24H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSY410H,"Seeing, Hearing, and Moving in Children",, +PSYD28H3,SOCIAL_SCI,,"Humans’ abilities to reason and think about emotion (i.e., affective cognition) is highly sophisticated. Even with limited information, humans can predict whether someone will feel amused, excited, or moved, or whether they will feel embarrassed, disappointed, or furious. How do humans acquire these abilities? This course will delve into the development of affective cognition in infancy and childhood. Topics include infants’ and children’s abilities to infer, predict, and explain emotions, the influence of family and culture in these developmental processes, and atypical development of affective cognition. Through reading classic and contemporary papers, presenting and discussing current topics, and proposing novel ideas in this research domain, students will gain an in-depth understanding of the fundamental aspects of affective cognition over the course of development.",PSYC18H3 or PSYC28H3,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],,The Development of Affective Cognition,,Priority will be given to fourth-year students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Third-year students in these programs will be admitted as space permits. +PSYD30H3,SOCIAL_SCI,,An intensive examination of selected issues and research problems in personality psychology. The specific content will vary from year to year.,PSYC30H3/(PSYC35H3),PSYB30H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY430H,Current Topics in Personality Psychology,, +PSYD31H3,SOCIAL_SCI,,"This course provides an in-depth introduction to the field of cultural-clinical psychology. We examine theoretical and empirical advances in understanding the complex interplay between culture and mental health, focusing on implications for the study and treatment of psychopathology. Topics include cultural variations in the experience and expression of mental illness.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSYD33H3 (if taken in Fall 2013/2014/2015 or Summer 2014/2015),Cultural-Clinical Psychology,, +PSYD32H3,SOCIAL_SCI,,"This course reviews the latest research on the causes, longitudinal development, assessment, and treatment of personality disorders. Students will learn the history of personality disorders and approaches to conceptualizing personality pathology. Topics covered include “schizophrenia- spectrum” personality disorders, biological approaches to psychopathy, and dialectical behaviour therapy for borderline personality disorder.",,PSYB30H3 and PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSY430H,Personality Disorders,, +PSYD33H3,SOCIAL_SCI,,An intensive examination of selected issues and research problems in abnormal psychology. The specific content will vary from year to year.,,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSY440H,Current Topics in Clinical Psychology,, +PSYD35H3,NAT_SCI,,"This course reviews the psychopharmacological strategies used for addressing a variety of mental health conditions including anxiety, depression, psychosis, impulsivity, and dementia. It will also address the effects of psychotropic drugs on patients or clients referred to mental health professionals for intellectual, neuropsychological and personality testing. Limitations of pharmacotherapy and its combinations with psychotherapy will be discussed.",,PSYB55H4 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and PSYC62H3,,Clinical Psychopharmacology,,Restricted to students in the Mental Health Studies programs. +PSYD37H3,SOCIAL_SCI,,"This course is an opportunity to explore how social practices and ideas contribute to the ways in which society, families and individuals are affected by mental health and mental illness.",,10.0 credits completed and enrolment in the Combined BSc in Mental Health Studies/Masters of Social Work or Specialist/Specialist-Co-op programs in Mental Health Studies,,Social Context of Mental Health and Illness,, +PSYD39H3,SOCIAL_SCI,,"This course provides an in-depth exploration of cognitive behavioural therapies (CBT) for psychological disorders. Topics covered include historical and theoretical foundations of CBT, its empirical evidence base and putative mechanisms of change, and a critical review of contemporary clinical applications and protocols.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and PSYC36H3,,Cognitive Behavioural Therapy,, +PSYD50H3,NAT_SCI,,An intensive examination of selected topics. The specific content will vary from year to year.,,[PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],"PSY470H, PSY471H",Current Topics in Memory and Cognition,,Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology and Neuroscience (Cognitive stream.) Students in the Specialist/Specialist Co-op programs in Mental Health Studies and the Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits. +PSYD51H3,NAT_SCI,,"This course provides an intensive examination of selected topics in recent research on perception. Topics may include research in vision, action, touch, hearing and multisensory integration. Selected readings will cover psychological and neuropsychological findings, neurophysiological results, synaesthesia and an introduction to the Bayesian mechanisms of multisensory integration.",,PSYB51H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [[0.5 credit from the PSYC50-series of courses] or NROC64H3],PSYD54H3,Current Topics in Perception,, +PSYD52H3,NAT_SCI,University-Based Experience,"This course provides an overview of neural-network models of perception, memory, language, knowledge representation, and higher-order cognition. The course consists of lectures and a lab component. Lectures will cover the theory behind the models and their application to specific empirical domains. Labs will provide hands-on experience running and analyzing simulation models.",[PSYB03H3 or CSCA08H3 or CSCA20H3] and [MATA23H3 and [MATA29H3 or MATA30H3]],[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY 50-series courses],,Neural Network Models of Cognition Laboratory,, +PSYD54H3,NAT_SCI,,"The course provides an intensive examination of selected topics in the research of visual recognition. Multiple components of recognition, as related to perception, memory and higher-level cognition, will be considered from an integrative psychological, neuroscientific and computational perspective. Specific topics include face recognition, visual word recognition and general object recognition.",,[PSYB51H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [[0.5 credit from the PSYC50-series of courses] or NROC64H3],"[PSYD50H3 if taken in Winter 2014, 2015 or 2016], PSYD51H3",Current Topics in Visual Recognition,, +PSYD55H3,NAT_SCI,University-Based Experience,"An in-depth study of functional magnetic resonance imaging (fMRI) as used in cognitive neuroscience, including an overview of MR physics, experimental design, and statistics, as well as hands-on experience of data processing and analysis.",PSYC76H3 or PSYC51H3 or PSYC52H3 or PSYC57H3 or PSYC59H3,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Functional Magnetic Resonance Imaging Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience (Cognitive stream), followed by students in the Specialist/Specialist Co-op programs in Psychology who have successfully completed PSYC76H3." +PSYD59H3,SOCIAL_SCI,,"This course takes a cognitive approach to understanding the initiation and perpetuation of gambling behaviours, with a particular interest in making links to relevant work in neuroscience, social psychology, and clinical psychology.",[PSYC10H3 or PSYC19H3 or PSYC50H3 or PSYC57H3],[PSYB32H3 or PSYB38H3] and [PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSYD50H3 if taken in any of the following sessions: Winter 2017, Summer 2017, Winter 2018, Summer 2018",Psychology of Gambling,, +PSYD62H3,NAT_SCI,,"This seminar course will focus on the brain bases of pleasure and reward and their role in human psychology. We will examine how different aspects of pleasure and reward are implemented in the human brain, and how they contribute to various psychological phenomena such as self-disclosure, attachment, altruism, humour, and specific forms of psychopathology.",,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credits from the NRO C-level courses or PSY 50-series C-level courses],NROD60H3 if taken in Fall 2021 or Fall 2022,Neuroscience of Pleasure and Reward,, +PSYD66H3,NAT_SCI,Partnership-Based Experience,"An extensive examination of selected topics in human brain and behaviour. The neural bases of mental functions such as language, learning, memory, emotion, motivation and addiction are examples of the topics that may be included.",,[PSYB55H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY or NRO courses],PSY490H,Current Topics in Human Brain and Behaviour,, +PSYD98Y3,,University-Based Experience,"This course offers the opportunity to engage in a year-long research project under the supervision of an interested member of the faculty in Psychology. The project will culminate in a written report in the form of a thesis and a poster presentation. During the course of the year, at appropriate times, students will meet to present their own research proposals, to appraise the proposals of others, and to discuss the results of their investigation. Students must first find a supervisor, which is usually confirmed before the start of the academic term in which the project will be initiated. Students will meet as a group with the coordinator as well as individually with their supervisor. This course is restricted to Majors and Specialists in Psychology and Mental Health Studies with a GPA of 3.3 or higher over the last 5.0 credit equivalents completed. Students planning to pursue graduate studies are especially encouraged to enroll in the course. Students must obtain a permission form from the Department of Psychology website that is to be completed and signed by the intended supervisor and submitted to the Psychology Office. Students seeking supervision off campus will need to arrange co-supervision with a faculty member in Psychology at this campus.",,"PSYC02H3 and [PSYC08H3 or PSYC09H3] and PSYC70H3 and [enrollment in the Specialist Co-op, Specialist, or Major Program in Psychology or Mental Health Studies] and [GPA of 3.3 or higher over the last 5.0 credit equivalents completed] and permission of the proposed supervisor.","NROD98Y3, (COGD10H3), PSY400Y",Thesis in Psychology,, +RLGA01H3,HIS_PHIL_CUL,,"An introduction to major religious traditions of the world. This course emphasizes the history, beliefs, practices and writings of Hinduism, Jainism, Sikhism, Buddhism, Confucianism, Taoism, and Shinto.",,,(HUMB04H3),World Religions I,, +RLGA02H3,HIS_PHIL_CUL,,"An introduction to major religious traditions of the world. This course emphasizes the history, beliefs, practices and writings of Judaism, Christianity and Islam.",,,(HUMB03H3),World Religions II,, +RLGB02H3,HIS_PHIL_CUL,,Critical comparative study of the major Indian religious traditions.,,,,Living Religions: Rituals and Experiences,, +RLGB10H3,HIS_PHIL_CUL,,"An introduction to the academic study of religion, with special attention to method and theory.",,,,Introduction to the Study of Religion,, +RLGC05H3,HIS_PHIL_CUL,,"An exploration of the origins, content, interpretation, and significance of the Qur'an, with a particular emphasis on its relationship to the scriptural tradition of the Abrahamic faiths. No knowledge of Arabic is required.",,RLGA02H3 or (RLGB01H3) or (HUMB03H3),"RLG351H, NMC285H, (HUMC17H3)",The Qur'an in Interpretive and Historical Context,, +RLGC06H3,HIS_PHIL_CUL,,"Comparative study of the Madhyamaka and Yogacara traditions, and doctrines such as emptiness (sunyata), Buddha-nature (tathagatagarbha), cognitive-representation only (vijnaptimatrata), the three natures (trisvabhava).",,RLGA01H3 or (HUMB04H3),EAS368Y,Saints and Mystics in Buddhism,, +RLGC07H3,HIS_PHIL_CUL,,"Buddhism is a response to what is fundamentally an ethical problem - the perennial problem of the best kind of life for us to lead. Gotama was driven to seek the solution to this problem and the associated ethical issues it raises. This course discusses the aspects of sila, ethics and psychology, nirvana; ethics in Mahayana; Buddhism, utilitarianism, and Aristotle.",,RLGA01H3 or (HUMB04H3) or (PHLB42H3),"NEW214Y, (PHLC40H3)",Topics in Buddhist Philosophy: Buddhist Ethics,, +RLGC09H3,HIS_PHIL_CUL,,"The course examines the development of Islam in the contexts of Asian religions and cultures, and the portrayal of the Muslim world in Asian popular culture.",RLGC05H3,RLGA01H3 or (HUMB04H3),,Islam in Asia,, +RLGC10H3,HIS_PHIL_CUL,,An examination of Hinduism in its contemporary diasporic and transnational modes in South Asia. Attention is also paid to the development of Hinduism in the context of colonialism.,RLGB02H3,RLGA01H3 or (HUMB04H3),,Hinduism in South Asia and the Diaspora,, +RLGC13H3,HIS_PHIL_CUL,,"Philosophical, anthropological, historical, and linguistic discussions about language use in a variety of religious contexts. The course examines the function of language through an analysis of its use in both oral and written form.",,"Any 5 full credits, including RLGA01H3 or RLGA02H3 or RLGB10H3",,Religious Diversity in Speech and Text,, +RLGC14H3,SOCIAL_SCI,,"The course cultivates an appreciation of the global perspective of religions in the contemporary world and how religious frameworks of interpretation interact with modern social and political realities. It provides a viewpoint of religion through ideas and issues related to globalization, syncretism, and modernity.",,"Any 5 full credits, including RLGA01H3 or RLGA02H3 or RLGB10H3",,Religion and Globalization: Continuities and Transformations,, +RLGC40H3,HIS_PHIL_CUL,,Intensive study of selected topics discussed in RLGA01H3 (World Religions I) that will vary with each offering of the course.,,2.0 full credits in RLG and permission of the instructor,(HUMC44H3),Selected Topics in the Study of Religion I,, +RLGC41H3,HIS_PHIL_CUL,,Intensive study of selected topics discussed in RLGA02H3 (World Religions II) that will vary with each offering of the course.,,2.0 full credits in RLG and permission of the instructor,(HUMC43H3),Selected Topics in the Study of Religion II,, +RLGD01H3,,,A student-initiated research project to be approved by the Department and supervised by one of the faculty members.,,2.0 full credits in RLG at the C-level and permission of the instructor,,Supervised Readings in the Study of Religion,, +RLGD02H3,,,"A seminar in which students have the opportunity, under the supervision of a member of the Religion faculty, to develop and present independent research projects focused around a set of texts, topics, and/or problems relevant to the study of religion.",,RLGB10H3 and 2 C-level courses in Religion,,Seminar in Religion,, +SOCA05H3,SOCIAL_SCI,,"Sociology focuses on explaining social patterns and how they impact individual lives. This course teaches students how to think sociologically, using empirical research methods and theories to make sense of society. Students will learn about the causes and consequences of inequalities, the ways in which our social worlds are constructed rather than natural, and the role of institutions in shaping our lives.",,,"(SOC101Y1), (SOCA01H3), (SOCA02H3), (SOCA03Y3)",The Sociological Imagination,, +SOCA06H3,SOCIAL_SCI,University-Based Experience,"This course explores real-world uses of Sociology, including the preparation Sociology provides for professional schools, and the advantages of Sociology training for serving communities, governments, and the voluntary and private sectors. This course focuses in particular on the unique skills Sociologists have, including data generation and interpretation, communication and analysis techniques, and the evaluation of social processes and outcomes.",,,,Sociology in the World: Careers and Applications,,Major and Specialist students will be given priority access to SOCA06H3. +SOCB05H3,QUANT,University-Based Experience,"This course introduces the logic of sociological research and surveys the major quantitative and qualitative methodologies. Students learn to evaluate the validity of research findings, develop research questions and select appropriate research designs.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and enrolment in a Sociology program] or [any 4.0 credits and enrolment in the Minor Critical Migration Studies] or [any 4.0 credits and enrolment in the Major Program in Public Law],"SOC150H1, (SOC200H5), (SOC200Y5), SOC221H5, (SOCB40H3), (SOCB41H3)",Logic of Social Inquiry,, +SOCB22H3,SOCIAL_SCI,,"This course examines gender as a sociological category that organizes and, at the same time, is organized by, micro and macro forces. By examining how gender intersects with race, ethnicity, class, sexuality, age, and other dimensions, we analyze the constitution and evolution of gendered ideology and practice.",,[SOCA5H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [WSTA01H3 and WSTA03H3],,Sociology of Gender,, +SOCB26H3,SOCIAL_SCI,,"This course offers a sociological perspective on a familiar experience: attending school. It examines the stated and hidden purposes of schooling; explores how learning in schools is organized; evaluates the drop-out problem; the determinants of educational success and failure; and, it looks at connections between school and work.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)],,Sociology of Education,, +SOCB28H3,SOCIAL_SCI,,This course will engage evidence-based sociological findings that are often related to how individuals make decisions in everyday life. Special attention will be paid to how empirical findings in sociology are used as evidence in different social contexts and decision making processes. The course should enable students to make direct connections between the insights of sociology and their own lives.,,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)],,Sociological Evidence for Everyday Life,, +SOCB30H3,SOCIAL_SCI,,"An examination of power in its social context. Specific attention is devoted to how and under what conditions power is exercised, reproduced and transformed, as well as the social relations of domination, oppression, resistance and solidarity. Selected topics may include: nations, states, parties, institutions, citizenship, and social movements.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)],"SOC260H1, SOC335H5",Political Sociology,, +SOCB35H3,QUANT,,"This course introduces the basic concepts and assumptions of quantitative reasoning, with a focus on using modern data science techniques and real-world data to answer key questions in sociology. It examines how numbers, counting, and statistics produce expertise, authority, and the social categories through which we define social reality. This course avoids advanced mathematical concepts and proofs.",,,,Numeracy and Society,[SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] or [any 4.0 credits and enrolment in the Major Program in Public Law] or enrolment in the Certificate in Computational Social Science., +SOCB37H3,SOCIAL_SCI,University-Based Experience,"This course offers a sociological account of economic phenomena. The central focus is to examine how economic activities are shaped, facilitated, or even impeded by cultural values and social relations, and show that economic life cannot be fully understood outside of its social context. The course will focus on economic activities of production, consumption, and exchange in a wide range of settings including labor and financial markets, corporations, household and intimate economies, informal and illegal economies, and markets of human goods.",,"[SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] or [any 4.0 credits and enrolment in the Minor in Culture, Creativity, and Cities]",,"Economy, Culture, and Society",, +SOCB40H3,,,"This course builds on SOCA05H3 through a deep engagement with 4-5 significant new publications in Sociology, typically books by department faculty and visiting scholars. By developing reading and writing skills through a variety of assignments, and participating in classroom visits with the researchers who produced the publications, students will learn to ""think like a sociologist."" Possible topics covered include culture, gender, health, immigration/race/ethnicity, political sociology, social networks, theory, sociology of crime and law, and work/stratification/markets.",,[SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]],SOC230H5,Thinking Like a Sociologist,, +SOCB42H3,HIS_PHIL_CUL,,"This course examines a group of theorists whose work provided key intellectual resources for articulating the basic concepts and tasks of sociology. Central topics include: the consequences of the division of labour, sources and dynamics of class conflict in commercial societies, the social effects of industrial production, the causes and directions of social progress, the foundations of feminism, linkages between belief systems and social structures, and the promises and pathologies of democratic societies.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and enrolment in a Sociology program,"SOC201H1, (SOC203Y1), SOC231H5",Theory I: Discovering the Social,, +SOCB43H3,HIS_PHIL_CUL,,This course studies a group of writers who in the early 20th century were pivotal in theoretically grounding sociology as a scientific discipline. Central topics include: the types and sources of social authority; the genesis and ethos of capitalism; the moral consequences of the division of labour; the nature of social facts; the origins of collective moral values; the relationship between social theory and social reform; the nature of social problems and the personal experience of being perceived as a social problem; the formal features of association; the social function of conflict; the social and personal consequences of urbanization.,,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and SOCB42H3 and enrolment in a Sociology program,(SOC203Y1),Theory II: Big Ideas in Sociology,, +SOCB44H3,SOCIAL_SCI,,"A theoretical and empirical examination of the processes of urbanization and suburbanization. Considers classic and contemporary approaches to the ecology and social organization of the pre-industrial, industrial, corporate and postmodern cities.",,"[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Minor in Culture, Creativity, and Cities, or the Major/Major Co-op in City Studies]","(SOC205Y1), SOC205H1",Sociology of Cities and Urban Life,, +SOCB47H3,SOCIAL_SCI,Partnership-Based Experience,"A sociological examination of the ways in which individuals and groups have been differentiated and ranked historically and cross-culturally. Systems of differentiation and devaluation examined may include gender, race, ethnicity, class, sexual orientation, citizenship/legal status, and ability/disability.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Major/Major Co-op in Public Policy],SOC301Y,Social Inequality,, +SOCB49H3,SOCIAL_SCI,University-Based Experience,"This course explores the family as a social institution, which shapes and at the same time is shaped by, the society in North America. Specific attention will be paid to family patterns in relation to class, gender, and racial/ethnic stratifications. Selected focuses include: socialization; courtship; heterosexual, gay and lesbian relations; gender division of labour; immigrant families; childbearing and childrearing; divorce; domestic violence; elderly care.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [WSTA01H3 and WSTA03H3],SOC214Y,Sociology of Family,, +SOCB50H3,SOCIAL_SCI,,"This course explores how deviance and normality is constructed and contested in everyday life. The course revolves around the themes of sexuality, gender, poverty, race and intoxication. Particular attention will be paid to the role of official knowledge in policing social norms.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Major Program in Public Law],SOC212Y,Deviance and Normality I,, +SOCB53H3,SOCIAL_SCI,,"The course draws on a geographically varied set of case studies to consider both the historical development and contemporary state of the sociological field of race, racialization and ethnic relations.",,[SOCA05H3 or [SOCA01H3 and SOCA02H3] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Minor in Critical Migration Studies],SOC210Y,Race and Ethnicity,, +SOCB54H3,SOCIAL_SCI,,"Economic activity drives human society. This course explores the nature of work, how it is changing, and the impact of changes on the transition from youth to adult life. It also examines racism in the workplace, female labour force participation, and why we call some jobs 'professions', but not others.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)],"SOC207H1, (SOC207Y), SOC227H5, GGRD16H3",Sociology of Work,, +SOCB58H3,HIS_PHIL_CUL,,"An introduction to various ways that sociologists think about and study culture. Topics will include the cultural aspects of a wide range of social phenomena - including inequality, gender, economics, religion, and organizations. We will also discuss sociological approaches to studying the production, content, and audiences of the arts and media.",,"[SOCA05H3 or [(SOCA01H3 )and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Minor in Culture, Creativity, and Cities] or [IDSA01H3 and enrolment in the Specialist/Specialist Co- op/Major/Minor in International Development Studies (Arts)]","SOC220H5, SOC280H1, (SOCC18H3),",Sociology of Culture,, +SOCB59H3,SOCIAL_SCI,,"This course examines the character, authority, and processes of law in contemporary liberal democracies.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Major Program in Public Law],,Sociology of Law,, +SOCB60H3,SOCIAL_SCI,,"What are the causes and consequences of migration in today's world? This course will explore this question in two parts. First, we will examine how although people decide to migrate, they make these decisions under circumstances which are not of their own making. Then, we will focus specifically on the experiences of racialized and immigrant groups in Canada, with a particular focus on the repercussions of Black enslavement and ongoing settler- colonialism. As we explore these questions, we will also critically interrogate the primary response of the Canadian government to questions around racial and class inequality: multiculturalism. What is multiculturalism? Is it enough? Does it make matters worse? Students will come away from this course having critically thought about what types of social change would bring about a freer and more humane society.",,"[Completion of 1.0 credit from the following courses: [SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)], ANTA02H3, GGRA02H3, GASA01H3/HISA06H3, GASA02H3, HISA04H3, or HISA05H3] or [any 4.0 credits and enrolment in the Minor in Critical Migration Studies]",,Issues in Critical Migration Studies,,Priority will be given to students enrolled in the Minor in Critical Migration Studies. Additional students will be admitted as space permits. +SOCB70H3,SOCIAL_SCI,,"This course provides an introductory overview of the nature and causes of social change in contemporary societies. Topics covered include: changes in political ideology, cultural values, ethnic and sexual identities, religious affiliation, family formation, health, crime, social structure, and economic inequality.",,[SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] or [IDSA01H3 and enrolment in the Specialist/Specialist Co-op/Major/Minor in International Development Studies (Arts)],,Social Change,, +SOCC03H3,SOCIAL_SCI,,"The study of uninstitutionalized group behaviour - crowds, panics, crazes, riots and the genesis of social movements. This course has been designated an Applied Writing Skills Course.",,"SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Collective Behaviour,, +SOCC04H3,SOCIAL_SCI,University-Based Experience,"The development of an approach to social movements which includes the following: the origin of social movements, mobilization processes, the career of the movement and its routinization. The course readings will be closely related to the lectures, and a major concern will be to link the theoretical discussion with the concrete readings of movements.",SOCB22H3 or SOCB49H3,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Social Movements,, +SOCC09H3,SOCIAL_SCI,,"Explores the interaction of gender and work, both paid and unpaid work. Critically assesses some cases for central theoretical debates and recent research. Considers gender differences in occupational and income attainment, housework, the relation of work and family, gender and class solidarity, and the construction of gender identity through occupational roles.",SOCB22H3 or SOCB49H3,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits, including WSTB05H3 and enrolment in the Major program in Women's and Gender Studies]",SOC362H5,Sociology of Gender and Work,, +SOCC11H3,SOCIAL_SCI,,"This course examines the character of policing and security programs in advanced liberal democracies. Attention will be paid to the nature and enforcement of modern law by both state and private agents of order, as well as the dynamics of the institutions of the criminal justice system. This course has been designated an Applied Writing Skills Course.",,"[[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major Program in Public Law]","(SOC306Y1), SOC326H5",Policing and Security,, +SOCC15H3,SOCIAL_SCI,,"An upper level course that examines a number of critical issues and important themes in the sociological study of work. Topics covered will include: the changing nature and organization of work, precarious employment, different forms of worker organizing and mobilization, the professions, the transition from school to work.",SOCB54H3,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,"Work, Employment and Society",, +SOCC23H3,SOCIAL_SCI,University-Based Experience,"How do people navigate their everyday lives? Why do they do what they do? And how, as sociologists, can we draw meaningful conclusions about these processes and the larger, social world we live in? Qualitative research methods adhere to the interpretative paradigm. Sociologists use them to gain a richer understanding of the relationship between the minutiae of everyday life and larger societal patterns. This course will introduce students to the qualitative methods that social scientists rely on, while also providing them with hands-on experience carrying out their own research. This course has been designated an Applied Writing Skills Course.",,10.0 credits including [[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and SOCB05H3] and a cumulative GPA of at least 2.3,(SOCD23H3),Practicum in Qualitative Research Methods,, +SOCC24H3,SOCIAL_SCI,,"A theoretical and empirical examination of different forms of family and gender relations. Of special interest is the way in which the institution of the family produces and reflects gendered inequalities in society. Themes covered include changes and continuities in family and gender relations, micro-level dynamics and macro-level trends in family and gender, as well as the interplay of structure and agency. This course has been designated an Applied Writing Skills Course.",SOCB22H3 or SOCB49H3,"[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits, including WSTB05H3 and enrolment in the Major program in Women's and Gender Studies]",,Special Topics in Gender and Family,, +SOCC25H3,SOCIAL_SCI,University-Based Experience,"Why do people migrate and how do they decide where to go? How does a society determine which border crossers are ‘illegal’ and which are ‘legal’? Why are some people deemed ‘refugees’ while others are not? What consequences do labels like ‘deportee’, ‘immigrant,’ ‘refugee,’ or ‘trafficking victim’ have on the people who get assigned them? This course will examine these and other similar questions. We will explore how the politics of race, class, gender, sexuality and citizenship shape the ways that states make sense of and regulate different groups of migrants as well as how these regulatory processes affect im/migrants’ life opportunities.",SOCB22H3 or SOCB49H3,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB60H3 and an additional 8.0 credits and enrolment in the Minor program in Critical Migration Studies] or [IDSB07H3 and an additional 8.0 credits, and enrolment in the Specialist/Specialist Co-op Program/Major/Minor Program in International Development Studies (Arts)]",,"Ethnicity, Race and Migration",, +SOCC26H3,SOCIAL_SCI,,"A popular civic strategy in transforming post-industrial cities has been the deployment of culture and the arts as tools for urban regeneration. In this course, we analyze culture-led development both as political economy and as policy discourse. Topics include the creative city; spectacular consumption spaces; the re-use of historic buildings; cultural clustering and gentrification; eventful cities; and urban 'scenes'.",SOCB44H3,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities] or [ CITA01H3/(CITB02H3) and enrolment in the Major/Major Co-op in City Studies]",,Sociology of Urban Cultural Policies,, +SOCC27H3,SOCIAL_SCI,,"This course examines the political economy of suburban development, the myth and reality of suburbanism as a way of life, the working class suburb, the increasing diversity of suburban communities, suburbia and social exclusion, and the growth of contemporary suburban forms such as gated communities and lifestyle shopping malls.",SOCB22H3 or SOCB49H3,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities] or [CITA01H3/(CITB02H3) and enrolment in the Major/Major Co-op in City Studies]",,Sociology of Suburbs and Suburbanization,, +SOCC29H3,SOCIAL_SCI,,"In this course, students read and evaluate recent research related to the sociology of families and gender in the modern Middle East. The course explores the diversity of family forms and processes across time and space in this region, where kinship structures have in the past been characterized as static and uniformly patriarchal. Topics covered include marriage, the life course, family nucleation, the work-family nexus, divorce, family violence, and masculinities.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits, including WSTB05H3, and enrolment in the Major Program in Women's and Gender Studies] or [8.0 credits, including ASFB01H3, and enrolment in the Minor Program in African Studies] or [IDSA01H3 and additional 8.0 credits, and enrolment in the Specialist/Specialist Co-op/Major/Minor Program in International Development Studies (Arts)]",,Family and Gender in the Middle East,, +SOCC30H3,SOCIAL_SCI,,"The young figure prominently in people's views about, and fears of, crime. This course examines definitions of crime, how crime problems are constructed and measured. It looks at schools and the street as sites of criminal behaviour, and considers how we often react to crime in the form of moral panics. This course has been designated an Applied Writing Skills Course.",,"[[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major Program in Public Law]",,Criminal Behaviour,, +SOCC31H3,QUANT,University-Based Experience,"This course provides students with hands-on experience conducting quantitative research. Each student will design and carry out a research project using secondary data. Students will select their own research questions, review the relevant sociological literature, develop a research design, conduct statistical analyses and write up and present their findings. This course has been designated an Applied Writing Skills Course.",,"[10.0 credits, including [SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and SOCB05H3 and [SOCB35H3 or (SOCB06H3)]] and a cumulative GPA of at least 2.3",,Practicum in Quantitative Research Methods,, +SOCC32H3,SOCIAL_SCI,,"After 9/11, terrorism was labeled a global threat, fueling the war on terror and the adoption of extensive counterterrorism actions. These measures, however, often compromised human rights in the pursuit of national security goals. This course grapples with questions pertaining to terrorism, counterterrorism, and human rights in the age of security.",,"[SOCB05H3 and 0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3] or [IDSA01 and an additional 8.0 credits, and enrolment in the Specialist/Major Program in IDS] or [POLB80 and an additional 8.0 credits, and enrolment in the Specialist/Major Program in Political Science]",,Human Rights and Counterterrorism,, +SOCC34H3,SOCIAL_SCI,University-Based Experience,"Examines the relationship between contemporary modes of international migration and the formation of transnational social relations and social formations. Considers the impact of trans-nationalisms on families, communities, nation-states, etc. This course has been designated an Applied Writing Skills Course.",,"[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, IDSB01H3]] or [SOCB60H3 and an additional 8.0 credits and enrolment in the Minor in Critical Migration Studies] or [IDSA01H3 and an additional 8.0 credits, and enrolment in the Specialist/Specialist Co-op/Major Program in International Development Studies (Arts)]",,Migrations & Transnationalisms,, +SOCC37H3,SOCIAL_SCI,,"This course links studies in the classical sociology of resources and territory (as in the works of Harold Innis, S.D. Clark, and the Chicago School), with modern topics in ecology and environmentalism. The course will use empirical research and theoretical issues to explore the relationship between various social systems and their natural environments.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major/Major Co-op in Public Policy] or [any 8.0 credits and enrolment in the Major Program in Environmental Studies or the Certificate in Sustainability]",,Environment and Society,, +SOCC38H3,SOCIAL_SCI,,"An examination of a number of key issues in the sociology of education, focusing particularly upon gender and higher education.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits, including WSTB05H3 and enrolment in the Major in Women's and Gender Studies]",,Gender and Education,, +SOCC40H3,SOCIAL_SCI,,"This course surveys key topics in contemporary sociological theory. The development of sociological theory from the end of World War II to the late 1960's. Special attention is devoted to the perspectives of Functionalism, Conflict Theory and Symbolic Interactionism. This course has been designated an Applied Writing Skills Course.",,"SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",(SOCC05Y3),Contemporary Sociological Theory,, +SOCC44H3,SOCIAL_SCI,,"Provides an introduction to the emergence, organization and regulation of various media forms; social determinants and effects of media content; responses of media audiences; and other contemporary media issues.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities] or [IDSA01H3 and an additional 8.0 credits, and enrolment in the Specialist/Specialist Co-op in International Development Studies (Arts)]","(SOCB56H3), (SOCB57H3)",Media and Society,, +SOCC45H3,SOCIAL_SCI,,"This course examines youth as a social category, and how young people experience and shape societies. Topics include: youth and social inequality; social change and social movements, and youth and education.",,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Youth and Society,, +SOCC46H3,SOCIAL_SCI,,"The course covers various approaches to the study of law in society. Topics covered may include the interaction between law, legal, non-legal institutions and social factors, the social development of legal institutions, forms of social control, legal regulation, the interaction between legal cultures, the social construction of legal issues, legal profession, and the relation between law and social change.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major Program in Public Law]",,Special Topics in Sociology of Law,, +SOCC47H3,SOCIAL_SCI,University-Based Experience,"An introduction to organizational and economic sociology through the lens of creative industries. Students will be introduced to different theoretical paradigms in the study of organizations, industries, and fields. The course is divided into four major modules on creative industries: inequality and occupational careers; organizational structure and decision making under conditions of uncertainty; market and field-level effects; and distribution and promotion. This course has been designated an Applied Writing Skills Course.",,"[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits including SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities]",,Creative Industries,,"Priority will be given to students in the Specialist and Major programs in Sociology and the Minor in Culture, Creativity, and Cities." +SOCC49H3,SOCIAL_SCI,,"This course will examine the health and well-being of Indigenous peoples, given historic and contemporary issues. A critical examination of the social determinants of health, including the cultural, socioeconomic and political landscape, as well as the legacy of colonialism, will be emphasized. An overview of methodologies and ethical issues working with Indigenous communities in health research and developing programs and policies will be provided. The focus will be on the Canadian context, but students will be exposed to the issues of Indigenous peoples worldwide. Same as HLTC49H3",,"HLTB41H3 or [[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3 , SOCB42H3, SOCB43H3, SOCB47H3]]",HLTC49H3,Indigenous Health,, +SOCC50H3,SOCIAL_SCI,,"This course explores the social meaning and influence of religion in social life. As a set of beliefs, symbols and motivations, as well as a structural system, religion is multifaceted and organizes many aspects of our daily life. This course surveys key theoretical paradigms on the meaning of religion and the social implications of religious transformations across time. It takes up basic questions about how religion is shaped by various political, social, and economic forces.",,"SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Sociology of Religion,,"Priority will be given to students enrolled in the Specialist, Major and Minor programs in Sociology. Additional students will be admitted as space permits." +SOCC51H3,SOCIAL_SCI,,An examination of a current topic relevant to the study of health and society. The specific topic will vary from year to year. Same as HLTC51H3,,"HLTB41H3 or [[SOCB05H3 or SOCB35H3] and [0.5 from SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]]",HLTC51H3,Special Topics in Health and Society,,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. +SOCC52H3,SOCIAL_SCI,,"The course examines the relationship between the displacement and dispossession of Indigenous peoples and immigration in settler-colonial states. The focus is on Canada as a traditional country of immigration. Topics considered include historical and contemporary immigration and settlement processes, precarious forms of citizenship and noncitizenship, racism and racial exclusion, and the politics of treaty citizenship. Discussion puts the Canadian case in comparative perspective.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB60H3 and an additional 8.0 credits and enrolment in the Minor Program in Critical Migration Studies]",(SOCB52H3) and SOC210Y,"Immigration, Citizenship and Settler Colonialism",, +SOCC54H3,SOCIAL_SCI,,"Sociological analysis of the role of culture in societies is offered under this course. Topics may include the study of material cultures such as works of art, religious symbols, or styles of clothing, or non-material cultures such as the values, norms, rituals, and beliefs that orient action and social life.",,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Special Topics in Sociology of Culture,,Please see the Sociology Department website at http://www.utsc.utoronto.ca/~socsci/ for a listing of the course topics for current and upcoming semesters. +SOCC55H3,SOCIAL_SCI,,"This course addresses key concepts and debates in the research on race and ethnicity. Topics covered may include historical and global approaches to: assimilation, ethnic relations, intersectionality, racialization, and scientific racism.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB60H3 and an additional 8.0 credits and enrolment in the Minor in Critical Migration Studies]",,Special Topics in Race and Ethnicity,,Please see the Sociology Department website at http://www.utsc.utoronto.ca/~socsci/ for a listing of the course topics for current and upcoming semesters. +SOCC57H3,SOCIAL_SCI,,"This course examines how the three-axis of social stratification and inequality – race, gender, and class – shape economic activity in different settings – from labour markets to financial markets to consumer markets to dating markets to household economies to intimate economies to informal and illegal economies to markets of human goods.",,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,"Gender, Race, and Class in Economic Life",, +SOCC58H3,SOCIAL_SCI,University-Based Experience,"A sociological examination of contemporary global transformations including changing social, economic, and political conditions. Topics examined may include the shifting nature of state-society relations in a global context; the emergence of globally-integrated production, trade and financial systems; and the dynamics of local and transnational movements for global social change. This course has been designated as a Writing Skills course.",,"[SOCB05H3 and [1.0 credit from the following: SOCB42H3, SOCB43H3, SOCB47H3]] or [IDSA01H3 and an additional 8.0 credits and enrolment in the Specialist/Specialist Co-op/Major/Minor Program in International Development Studies (Arts)]",SOC236H5,"Global Transformations: Politics, Economy and Society",, +SOCC59H3,SOCIAL_SCI,,"Sociological analyses of stratification processes and the production of social inequality with a focus on economy and politics. Topics covered may include work and labour markets, the state and political processes. Attention is given to grassroots mobilization, social movements, and contestatory politics.",,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Special Topics in Social Inequality,,See the Sociology Department website for a listing of the course topics for current and upcoming semesters. +SOCC61H3,SOCIAL_SCI,Partnership-Based Experience,"The Truth and Reconciliation Commission of Canada is an historic process that now directs a core area of Canadian politics and governance. This course examines the institutional and legal history, precedents, contradictions and consequences of the commission from a sociological perspective.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major Program in Public Law]",,The Sociology of the Truth and Reconciliation Commission,, +SOCC70H3,SOCIAL_SCI,,"This course examines how quantitative models can be used to understand the social world with a focus on social inequality and social change. Students will learn the fundamentals of modern computational techniques and data analysis, including how to effectively communicate findings using narratives and visualizations. Topics covered include data wrangling, graphic design, regression analysis, interactive modelling, and categorical data analysis. Methods will be taught using real-world examples in sociology with an emphasis on understanding key concepts rather than mathematical formulas.",,"SOCB35H3 or [completion of 8.0 credits, including component 1 of the course requirements for the Certificate in Computational Social Science]",,Models of the Social World,, +SOCD01H3,SOCIAL_SCI,University-Based Experience,This course offers an in-depth examination of selected topics in Culture and Cities. Check the department website for more details. This course has been designated a Research Skills Course,,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB44H3, SOCB47H3, SOCB58H3]] or [10.0 credits including SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities]",,Advanced Seminar in Culture and Cities,,"Priority will be given to students enrolled in the Specialist and Major programs in Sociology, and the Minor program in Culture, Creativity, and Cities." +SOCD02H3,SOCIAL_SCI,Partnership-Based Experience,"The intensive international field school course is an experiential and land-based learning trip to Indigenous territories in Costa Rica, in order to learn about settler colonialism, Indigenous communities, and UNDRIP (the United Nations Declaration on the Rights of Indigenous Peoples). Students will learn with Indigenous Costa Rican university students and community partners in order to draw links between policy frameworks (UNDRIP), ideologies (colonialism) and the impacts on Indigenous communities (e.g. education, health, food security, language retention, land rights). The course involves 14-16 days of in-country travel. This course has been designated as a Research Skills course.",,"[10.0 credits, including SOCC61H3] and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, or SOCB47H3]",,Global Field School: Indigenous Costa Rica,,"Priority will be given to students enrolled in the Major or Specialist Programs in Sociology. Additional students will be admitted as space permits. This course requires students to register and fill out an application form. To request a SOCD02H3 course application form, please contact sociologyadvisor.utsc@utoronto.ca. This form is due one week after students enroll in the course. Enrolment Control: A Restricted to students in the sociology programs. Step 1: Request the course on ACORN. Your status will be INT. You will not be officially enrolled until you complete the remaining steps (below). Step 2: Request an application form from the program advisor at sociologyadvisor.utsc@utoronto.ca Step 3: Submit the application form by email to the program advisor at sociologyadvisor.utsc@utoronto.ca If you are approved for enrolment the department will arrange to have your course status on ACORN changed from interim (INT) to approved (APP). P = Priority, R = Restricted, A = Approval , E = Enrolment on ACORN is disabled" +SOCD05H3,SOCIAL_SCI,University-Based Experience,This course offers an in-depth examination of selected topics in Criminology and Sociology of Law. Check the department website for more details. This course has been designated a Research Skills Course,,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: [SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, SOCB50H3, (SOCB51H3)]] or [any 14.0 credits and enrolment in the Major Program in Public Law]",,Advanced Seminar in Criminology and Sociology of Law,,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits. +SOCD08H3,SOCIAL_SCI,,"This course charts the legal norms and social relations that, from the 1700s to the present, have turned land into a place and an idea called Scarborough. Students work with a diversity of sources and artifacts such as crown patents, government reports and Indigenous legal challenges, historical and contemporary maps and land surveys, family letters, historical plaques, and Indigenous artists’ original works to trace the conflicts and dialogues between Indigenous and settler place-making in Scarborough. This course has been designated a Research Skills Course.",,"10.0 credits, including SOCB05H3 and 1.0 credit from the following: [SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3] or one from the following: [POLC56H3, POLC52H3, GGRB18H3, POLD54H3]",,Scarborough Place-Making: Indigenous Sovereignty and Settler Landholding,,"Priority will be given to students enrolled in the Specialist, Major and Minor programs in Sociology, including the Critical Migration Studies Minor. Additional students will be admitted as space permits." +SOCD10H3,SOCIAL_SCI,,This course offers an in-depth examination of selected topics in Gender and Family. Check the department website for details at: www.utsc.utoronto.ca/sociology/programs.,,[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3 or SOCB42H3 or SOCB43H3 or SOCB47H3 or (SOCC39H3)]] or [8.0 credits [including WSTB05H3] and enrolment in the Major in Women's and Gender Studies],,Advanced Seminar in Gender and Family,,"Priority will be given to students enrolled in the Specialist and Major programs in Sociology, and Major in Women's and Gender Studies. Additional students will be admitted as space permits." +SOCD11H3,SOCIAL_SCI,Partnership-Based Experience,"This course provides an introduction to the field of program and policy evaluation. Evaluation plays an important role in evidence based decision making in all aspects of society. Students will gain insight into the theoretical, methodological, practical, and ethical aspects of evaluation across different settings. The relative strengths and weaknesses of various designs used in applied social research to examine programs and policies will be covered. Same as HLTD11H3",,"[[STAB22H3 or STAB23H3] and [0.5 credit from HLTC42H3, HLTC43H3, HLTC44H3] and [an additional 1.0 credit at the C-Level from courses from the Major/Major Co-op in Health Policy]] or [10.0 credits and [SOCB05H3 and SOCB35H3] and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, or SOCB47H3]]",HLTD11H3,Program and Policy Evaluation,, +SOCD12H3,SOCIAL_SCI,,"An examination of sociological approaches to the study of visual art. Topics include the social arrangements and institutional processes involved in producing, consecrating, distributing, and marketing art as well as artistic consumption practices.",,"[10.0 credits including: SOCB05H3, and [0.5 credit from the following: SOCB58H3, SOCC44H3, or SOCC47H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, or SOCB44H3]] or [any 10.0 credits including: SOCB58H3 and enrolment in the Minor program in Culture, Creativity and Cities].",,Sociology of Art,, +SOCD13H3,,University-Based Experience,"This is an advanced course on the sub-filed of economic sociology that focuses on money and finance. This course examines how cultural values and social relations shape money and finance in a variety of substantive settings, including the historical emergence of money as currency, the expansion of the financial system since the 1980s, financial markets, growing household involvement in the stock and credit market, and implications for social life (e.g., how credit scores shape dating).",SOCB35H3 and SOCB37H3,"10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, SOCB50H3, or (SOCB51H3)]",,Sociology of Finance,,"Priority will be given to students enrolled in the Specialist, Major, and Minor programs in Sociology. Additional students will be admitted as space permits." +SOCD15H3,SOCIAL_SCI,University-Based Experience,This course offers an in-depth examination of selected topics in Migration Studies. Students will be required to conduct independent research based on primary and/or secondary data sources. Check the department website for details at: www.utsc.utoronto.ca/sociology/programs.,,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB60H3 and enrolment in the Minor in Critical Migration Studies] or [10.0 credits including IDSB11H3 and enrolment in the Certificate in Global Development, Environment and Health]",,Advanced Seminar in Critical Migration Studies,,"Priority will be given first to students enrolled in the Minor in Critical Migration Studies, then to students in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits." +SOCD18H3,SOCIAL_SCI,,"This course examines the largest class action settlement in Canadian history: the Indian Residential School Settlement Agreement enacted in Canada in 2006. This analysis is framed within a 50 year history of reconciliation in Canada. Areas of study include the recent history of residential schools, the Royal Commission on Aboriginal Peoples report and the government response, and the establishment of the Aboriginal Healing Foundation.",,"10.0 credits including SOCB05H3 and [0.5 from the following: SOCB47H3, SOCC61H3]",,The History and Evolution of Reconciliation: The Indian Residential School Settlement,, +SOCD20H3,,University-Based Experience,This seminar examines the transformation and perpetuation of gender relations in contemporary Chinese societies. It pays specific attention to gender politics at the micro level and structural changes at the macro level through in-depth readings and research. Same as GASD20H3,GASB20H3 and GASC20H3,"[SOCB05H3 and 0.5 credit in SOC course at the C-level] or [GASA01H3 and GASA02H3 and 0.5 credit at the C-level from the options in requirement #2 of the Specialist or Major programs in Global Asia Studies] or [10.0 credits including IDSB11H3 and enrolment in the Certificate in Global Development, Environment and Health]",GASD20H3,Advanced Seminar: Social Change and Gender Relations in Chinese Societies,, +SOCD21H3,SOCIAL_SCI,University-Based Experience,"This course will teach students how to conduct in-depth, community-based research on the social, political, cultural and economic lives of immigrants. Students will learn how to conduct qualitative research including participant observation, semi-structured interviews and focus groups. Students will also gain valuable experience linking hands-on research to theoretical debates about migration, transnationalism and multicultural communities. Check the Department of Sociology website for more details.",,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, (SOCC39H3)]] or [SOCB60H3 and enrolment in the Minor Program in Critical Migration Studies] or [11.0 credits, including ASFB01H3, and enrolment in the Minor Program in African Studies]",,Immigrant Scarborough,,For a listing of the course topics for current and upcoming semesters check the Department's website at http://www.utsc.utoronto.ca/sociology/ +SOCD25H3,SOCIAL_SCI,University-Based Experience,"This course offers an in-depth examination of selected topics in Economy, Politics and Society. Check the department website for more details. This course has been designated a Research Skills Course",,"10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,"Advanced Seminar in Economy, Politics and Society",,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits. +SOCD30Y3,SOCIAL_SCI,,"This course is taught over two full terms. It offers an in-depth exploration of significant topics in community-based research including ethics, research design, collaborative data analysis and research relevance and dissemination. Students conduct independent community-engaged research with important experiential knowledge components. Check the Department of Sociology website for more details.",,[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3 or SOCB42H3 or SOCB43H3 or SOCB47H3 or (SOCC39H3)]] or [SOCB60H3 and enrolment in the Minor Program in Critical Migration Studies],,Special Topics in Community- Engaged Research,,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits. +SOCD32Y3,SOCIAL_SCI,,"This course is taught over two full terms. It offers students an opportunity to conduct research on an original research topic or as part of an ongoing faculty research project. Students will develop a research proposal, conduct independent research, analyze data and present findings. Check the Department of Sociology website for more details.",,"[10.0 credits, including (SOCB05H3) and (SOCB35H3)] and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Special Topics in the Practice of Research,,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits. +SOCD40H3,,University-Based Experience,"Independent research using field methods, survey analysis, library or archival research; regular supervision of data collection and analysis; final written research report. Intended for upper level students with well above average performance in sociology and whose interests or needs are not met by other sociology courses being offered.",,"15.0 credits, including: [SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)] and [SOCB35H3 or (SOCB06H3)] and [SOCB05H3 or [(SOCB40H3) and (SOCB41H3)]] and SOCB42H3 and SOCB43H3 and permission of the instructor and the Sociology Supervisor of Studies.",SOC390Y and SOC391H and SOC392H,Supervised Independent Research,, +SOCD41H3,,University-Based Experience,"Independent research using field methods, survey analysis, library or archival research; regular supervision of data collection and analysis; final written research report. Intended for upper level students with well above average performance in sociology and whose interests or needs are not met by other sociology courses being offered.",,"15.0 credits, including [SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] and [SOCB35H3 or (SOCB06H3)] and [SOCB05H3 or [(SOCB40H3) and (SOCB41H3)]] and SOCB42H3 and SOCB43H3 and permission of the instructor and the Sociology Supervisor of Studies.","SOC390Y, SOC391H, SOC392H",Supervised Independent Research,, +SOCD42H3,,,This course offers an in depth exploration of significant topics in contemporary and/or sociological theory. Check the department website for details at: www.utsc.utoronto.ca/sociology/programs.,,"10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Advanced Seminar in Sociological Theory,,For a listing of the course topics for current and upcoming semesters check the Department's website at http://www.utsc.utoronto.ca/sociology/ +SOCD44H3,,,Exploration of current debates and controversies surrounding recent scholarly developments in Sociology. Check the department website for details at: https://www.utsc.utoronto.ca/sociology/special-topics- advanced-seminars,,"10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Advanced Seminar on Issues in Contemporary Sociology,,For a listing of the course topics for current and upcoming semesters check the Department's website at http://www.utsc.utoronto.ca/sociology/ +SOCD50H3,SOCIAL_SCI,University-Based Experience,"This course presents students with the opportunity to integrate and apply their sociological knowledge and skills through conducting independent research. In a step-by-step process, each student will design and conduct an original research study. The course is especially suited for those students interested in pursuing graduate studies or professional careers involving research skills.",,"12.0 credits, including [SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] and SOCB05H3 and [SOCB35H3 or (SOCB06H3)] and [SOCC23H3 or SOCC31H3] and a cumulative GPA of at least 2.7",,Research Seminar: Realizing the Sociological Imagination,, +SOCD51H3,SOCIAL_SCI,University-Based Experience,"This course provides a hands-on learning experience with data collection, analysis, and dissemination on topics discussed in the Minor in Culture, Creativity, and Cities. It involves substantial group and individual-based learning, and may cover topics as diverse as the role of cultural fairs and festivals in the city of Toronto, the efficacy of arts organizations, current trends in local cultural labour markets, artistic markets inside and outside of the downtown core, food culture, and analysis of governmental datasets on arts participation in the city.",,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB44H3, SOCB47H3, SOCB58H3]] or [10.0 credits including SOCB58H3 and enrolment in the Minor Program in Culture, Creativity and Cities]",,"Capstone Seminar in Culture, Creativity, and Cities",,"Priority will be given to students enrolled in the Minor in Culture, Creativity, and Cities followed by Specialist and Major programs in Sociology. Additional students will be admitted as space permits." +SOCD52H3,SOCIAL_SCI,University-Based Experience,"A sociological examination of the creation, production, dissemination, and reception of books.",,"10.0 credits including SOCB05H3, and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, SOCB44H3, SOCB58H3] or [10.0 credits including SOCB58H3 and enrolment in the Minor in Culture, Creativity and Cities]",[SOCD44H3 if taken in 2014-2015 or 2015-2016 or 2016-2017],Sociology of Books,,"Priority will be given to students enrolled in the Minor in Culture, Creativity, and Cities followed by Specialist and Major programs in Sociology. Additional students will be admitted as space permits." +STAA57H3,QUANT,Partnership-Based Experience,"Reasoning using data is an integral part of our increasingly data-driven world. This course introduces students to statistical thinking and equips them with practical tools for analyzing data. The course covers the basics of data management and visualization, sampling, statistical inference and prediction, using a computational approach and real data.",,CSCA08H3,"STAB22H3, STA130H, STA220H",Introduction to Data Science,, +STAB22H3,QUANT,,"This course is a basic introduction to statistical reasoning and methodology, with a minimal amount of mathematics and calculation. The course covers descriptive statistics, populations, sampling, confidence intervals, tests of significance, correlation, regression and experimental design. A computer package is used for calculations.",,,"ANTC35H3, MGEB11H3/(ECMB11H3), (POLB11H3), PSYB07H3, (SOCB06H3), STAB23H3, STAB52H3, STAB57H3, STA220H, (STA250H)",Statistics I,, +STAB23H3,QUANT,,"This course covers the basic concepts of statistics and the statistical methods most commonly used in the social sciences. The first half of the course introduces descriptive statistics, contingency tables, normal probability distribution, and sampling distributions. The second half of the course introduces inferential statistical methods. These topics include significance test for a mean (t-test), significance test for a proportion, comparing two groups (e.g., comparing two proportions, comparing two means), associations between categorical variables (e.g., Chi-square test of independence), and simple linear regression.",,,"ANTC35H3, MGEB11H3/(ECMB11H3), (POLB11H3), PSYB07H3, (SOCB06H3), STAB22H3, STAB52H3, STAB57H3, STA220H, STA250H",Introduction to Statistics for the Social Sciences,, +STAB27H3,QUANT,,"This course follows STAB22H3, and gives an introduction to regression and analysis of variance techniques as they are used in practice. The emphasis is on the use of software to perform the calculations and the interpretation of output from the software. The course reviews statistical inference, then treats simple and multiple regression and the analysis of some standard experimental designs.",,STAB22H3 or STAB23H3,"MGEB12H3/(ECMB12H3), STAB57H3, STA221H, (STA250H)",Statistics II,, +STAB41H3,QUANT,,"A study of the most important types of financial derivatives, including forwards, futures, swaps and options (European, American, exotic, etc). The course illustrates their properties and applications through examples, and introduces the theory of derivatives pricing with the use of the no-arbitrage principle and binomial tree models.",,ACTB40H3 or MGFB10H3,MGFC30H3/(MGTC71H3),Financial Derivatives,, +STAB52H3,QUANT,,"A mathematical treatment of probability. The topics covered include: the probability model, density and distribution functions, computer generation of random variables, conditional probability, expectation, sampling distributions, weak law of large numbers, central limit theorem, Monte Carlo methods, Markov chains, Poisson processes, simulation, applications. A computer package will be used.",,MATA22H3 and MATA37H3,"STAB53H3, PSYB07H3, STA107H, STA237H1, STA247H1, STA257H, STA246H5, STA256H5",An Introduction to Probability,, +STAB53H3,QUANT,University-Based Experience,"An introduction to probability theory with an emphasis on applications in statistics and the sciences. Topics covered include probability spaces, random variables, discrete and continuous probability distributions, expectation, conditional probability, limit theorems, and computer simulation.",,[MATA22H3 or MATA23H3] and [MATA35H3 or MATA36H3 or MATA37H3],"STAB52H3, PSYB07H3, STA107H, STA237H1, STA247H1, STA257H, STA246H5, STA256H5",Introduction to Applied Probability,, +STAB57H3,QUANT,,"A mathematical treatment of the theory of statistics. The topics covered include: the statistical model, data collection, descriptive statistics, estimation, confidence intervals and P- values, likelihood inference methods, distribution-free methods, bootstrapping, Bayesian methods, relationship among variables, contingency tables, regression, ANOVA, logistic regression, applications. A computer package will be used.",,[STAB52H3 or STAB53H3],"MGEB11H3, PSYB07H3, STAB22H3, STAB23H3, STA220H1, STA261H",An Introduction to Statistics,, +STAC32H3,QUANT,,"A case-study based course, aimed at developing students’ applied statistical skills beyond the basic techniques. Students will be required to write statistical reports. Statistical software, such as SAS and R, will be taught and used for all statistical analyses.",,STAB27H3 or MGEB12H3 or PSYC08H3 or STA221H1,STAC33H3,Applications of Statistical Methods,, +STAC33H3,QUANT,,"This course introduces students to statistical software, such as R and SAS, and its use in analyzing data. Emphasis will be placed on communication and explanation of findings. Students will be required to write a statistical report.",,STAB57H3 or STA248H3 or STA261H3,STAC32H3,Introduction to Applied Statistics,, +STAC50H3,QUANT,,"The principles of proper collection of data for statistical analysis, and techniques to adjust statistical analyses when these principles cannot be implemented. Topics include: relationships among variables, causal relationships, confounding, random sampling, experimental designs, observational studies, experiments, causal inference, meta- analysis. Statistical analyses using SAS or R. Students enrolled in the Minor program in Applied Statistics should take STAC53H3 instead.",,STAB57H3 or STA261H1. Students enrolled in the Minor program in Applied Statistics should take STAC53H3.,"STA304H, STAC53H3",Data Collection,, +STAC51H3,QUANT,,"Statistical models for categorical data. Contingency tables, generalized linear models, logistic regression, multinomial responses, logit models for nominal responses, log-linear models for two-way tables, three-way tables and higher dimensions, models for matched pairs, repeated categorical response data, correlated and clustered responses. Statistical analyses using SAS or R.",,STAC67H3,STA303H1,Categorical Data Analysis,, +STAC53H3,QUANT,,"This course introduces the principles, objectives and methodologies of data collection. The course focuses on understanding the rationale for the various approaches to collecting data and choosing appropriate statistical techniques for data analysis. Topics covered include elements of sampling problems, simple random sampling, stratified sampling, ratio, regression, and difference estimation, systematic sampling, cluster sampling, elements of designed experiments, completely randomized design, randomized block design, and factorial experiments. The R statistical software package is used to illustrate statistical examples in the course. Emphasis is placed on the effective communication of statistical results.",,STAB27H3 or MGEB12H3 or PSYC08H3 or STA221H1,"STAC50H3, STA304H1, STA304H5",Applied Data Collection,,Students enrolled in the Specialist or Major programs in Statistics should take STAC50H3. +STAC58H3,QUANT,,"Principles of statistical reasoning and theories of statistical analysis. Topics include: statistical models, likelihood theory, repeated sampling theories of inference, prior elicitation, Bayesian theories of inference, decision theory, asymptotic theory, model checking, and checking for prior-data conflict. Advantages and disadvantages of the different theories.",,STAB57H3 and STAC62H3,"STA352Y, STA422H",Statistical Inference,, +STAC62H3,QUANT,,"This course continues the development of probability theory begun in STAB52H3. Topics covered include finite dimensional distributions and the existence theorem, discrete time Markov chains, discrete time martingales, the multivariate normal distribution, Gaussian processes and Brownian motion.",,MATB41H3 and STAB52H3,STA347H1,Probability and Stochastic Processes I,, +STAC63H3,QUANT,,"This course continues the development of probability theory begun in STAC62H3. Probability models covered include branching processes, birth and death processes, renewal processes, Poisson processes, queuing theory, random walks and Brownian motion.",,STAC62H3,"STA447H1, STA348H5",Probability and Stochastic Processes II,, +STAC67H3,QUANT,,"A fundamental statistical technique widely used in various disciples. The topics include simple and multiple linear regression analysis, geometric representation of regression, inference on regression parameters, model assumptions and diagnostics, model selection, remedial measures including weighted least squares, instruction in the use of statistical software.",,STAB57H3,"STA302H; [Students who want to complete both STAC67H3 and MGEB12H3, and receive credit for both courses, must successfully complete MGEB12H3 prior to enrolling in STAC67H3; for students who complete MGEB12H3 after successfully completing STAC67H3, MGEB12H3 will be marked as Extra (EXT)]",Regression Analysis,, +STAC70H3,QUANT,,"A mathematical treatment of option pricing. Building on Brownian motion, the course introduces stochastic integrals and Itô calculus, which are used to develop the Black- Scholes framework for option pricing. The theory is extended to pricing general derivatives and is illustrated through applications to risk management.",,[STAB41H3 or MGFC30H3/(MGTC71H3)] and STAC62H3,"APM466H, ACT460H",Statistics and Finance I,MATC46H3, +STAD29H3,QUANT,,"The course discusses many advanced statistical methods used in the life and social sciences. Emphasis is on learning how to become a critical interpreter of these methodologies while keeping mathematical requirements low. Topics covered include multiple regression, logistic regression, discriminant and cluster analysis, principal components and factor analysis.",,STAC32H3,"All C-level/300-level and D-level/400-level STA courses or equivalents except STAC32H3, STAC53H3, STAC51H3 and STA322H.",Statistics for Life & Social Scientists,, +STAD37H3,QUANT,,"Linear algebra for statistics. Multivariate distributions, the multivariate normal and some associated distribution theory. Multivariate regression analysis. Canonical correlation analysis. Principal components analysis. Factor analysis. Cluster and discriminant analysis. Multidimensional scaling. Instruction in the use of SAS.",,STAC67H3,"STA437H, (STAC42H3)",Multivariate Analysis,, +STAD57H3,QUANT,,"An overview of methods and problems in the analysis of time series data. Topics covered include descriptive methods, filtering and smoothing time series, identification and estimation of times series models, forecasting, seasonal adjustment, spectral estimation and GARCH models for volatility.",,STAC62H3 and STAC67H3,"STA457H, (STAC57H3)",Time Series Analysis,, +STAD68H3,QUANT,,"Statistical aspects of supervised learning: regression, regularization methods, parametric and nonparametric classification methods, including Gaussian processes for regression and support vector machines for classification, model averaging, model selection, and mixture models for unsupervised learning. Some advanced methods will include Bayesian networks and graphical models.",,CSCC11H3 and STAC58H3 and STAC67H3,,Advanced Machine Learning and Data Mining,, +STAD70H3,QUANT,,"A survey of statistical techniques used in finance. Topics include mean-variance and multi-factor analysis, simulation methods for option pricing, Value-at-Risk and related risk- management methods, and statistical arbitrage. A computer package will be used to illustrate the techniques using real financial data.",,STAC70H3 and STAD37H3,,Statistics and Finance II,STAD57H3, +STAD78H3,QUANT,,"Presents theoretical foundations of machine learning. Risk, empirical risk minimization, PAC learnability and its generalizations, uniform convergence, VC dimension, structural risk minimization, regularization, linear models and their generalizations, ensemble methods, stochastic gradient descent, stability, online learning.",STAC58H3 and STAC67H3,STAB57H3 and STAC62H3,,Machine Learning Theory,, +STAD80H3,QUANT,,"Big data is transforming our world, revolutionizing operations and analytics everywhere, from financial engineering to biomedical sciences. Big data sets include data with high- dimensional features and massive sample size. This course introduces the statistical principles and computational tools for analyzing big data: the process of acquiring and processing large datasets to find hidden patterns and gain better understanding and prediction, and of communicating the obtained results for maximal impact. Topics include optimization algorithms, inferential analysis, predictive analysis, and exploratory analysis.",,STAC58H3 and STAC67H3 and CSCC11H3,,Analysis of Big Data,, +STAD81H3,QUANT,,"Correlation does not imply causation. Then, how can we make causal claims? To answer this question, this course introduces theoretical foundations and modern statistical and graphical tools for making causal inference. Topics include potential outcomes and counterfactuals, measures of treatment effects, causal graphical models, confounding adjustment, instrumental variables, principal stratification, mediation and interference.",,STAC50H3 and STAC58H3 and STAC67H3,,Causal Inference,, +STAD91H3,QUANT,University-Based Experience,"Topics of interest in Statistics, as selected by the instructor. The exact topics can vary from year to year. Enrolment is by permission of the instructor only.",,Permission from the instructor is required. This will typically require the completion of specific courses which can vary from year to year.,,Topics in Statistics,, +STAD92H3,QUANT,,This course is offered by arrangement with a statistics faculty member who must agree to supervise. This course may be taken in any session and must be completed by the last day of classes in the session in which it is taken.,,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Readings in Statistics,, +STAD93H3,QUANT,,This course is offered by arrangement with a statistics faculty member who must agree to supervise. This course may be taken in any session and must be completed by the last day of classes in the session in which it is taken.,,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Readings in Statistics,, +STAD94H3,QUANT,,A significant project in any area of statistics. The project may be undertaken individually or in small groups. This course is offered by arrangement with a statistics faculty member who must agree to supervise. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken.,,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Statistics Project,, +STAD95H3,QUANT,,A significant project in any area of statistics. The project may be undertaken individually or in small groups. This course is offered by arrangement with a statistics faculty member who must agree to supervise. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken.,,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Statistics Project,, +THRA10H3,ART_LIT_LANG,,"A general introduction to theatre as a social institution and collaborative performing art. Through a combination of lectures, discussions, class exercises, and excursions to see theatre together throughout Toronto, this course will investigate why and how people commit their lives to make theatre. It will also orient students to the four areas of focus in the Theatre and Performance program's curriculum, providing a background for further theatre studies.",,,(VPDA10H3),Introduction to Theatre,, +THRA11H3,ART_LIT_LANG,,"An introduction to the actor’s craft. This course provides an experiential study of the basic physical, vocal, psychological and analytical tools of the actor/performer, through a series of group and individual exercises.",,THRA10H3/(VPDA10H3),(VPDA11H3),Introduction to Performance,, +THRB20H3,ART_LIT_LANG,,"This course challenges students to ""wrestle"" with the Western canon that has dominated the practice of theatre-making in colonized North America. In wrestling with it, students will become more conversant in its forms and norms, and thus better able to enter into dialogue with other theatre practitioners and scholars. They also learn to probe and challenge dominant practices, locating them within the cultural spheres and power structures that led to their initial development.",,,(VPDB10H3),Wrestling with the Western Canon,, +THRB21H3,ART_LIT_LANG,,Intercultural & Global Theatre will be a study of theatre and performance as a forum for cultural representation past and present. Students will think together about some thorny issues of intercultural encounter and emerge with a fuller understanding of the importance of context and audience in interpreting performances that are more likely than ever to travel beyond the place they were created.,,,(VPDB11H3),Intercultural and Global Theatre,, +THRB22H3,ART_LIT_LANG,,"This course explores the history of performance on this part of Turtle Island as a way of reimagining its future. Through a series of case studies, students will grow their understanding of theatre a powerful arena for both shoring up and dismantling myths of the ""imagined nation"" of Canada. With a special focus on Indigenous-settler relations and the contributions of immigrant communities to diversifying the stories and aesthetics of the stage, the course will reveal theatre as an excellent forum for reckoning with the past and re-storying our shared future.",,,(VPDB13H3),Theatre in Canada,, +THRB30H3,ART_LIT_LANG,University-Based Experience,"By performing characters and staging scenes in scripted plays, students in this course develop and hone the physical, psychological, analytical, and vocal skills of actors.",,THRA11H3/(VPDA11H3),,Intermediate Performance: Scene Study,, +THRB31H3,ART_LIT_LANG,University-Based Experience,"This course engages students in an experiential study of devised theatre, a contemporary practice wherein a creative team (including actors, designers, writers, dramaturgs, and often a director) collaboratively create an original performance without a preexisting script. We will explore how an ensemble uses improvisation, self-scripted vignettes, movement/dance, and found materials to create an original piece of theatre.",,THRA11H3/(VPDA11H3),,Intermediate Performance: Devising Theatre,, +THRB32H3,ART_LIT_LANG,University-Based Experience,"This course introduces students to improvisation across a range of theatrical contexts. In a sequence of short units, the course will explore improv comedy, improvisation-based devising work, and the improvisation structures commonly used in the context of applied theatre work (including forum theatre and playback theatre). Simultaneously, students will read scholarly literature that addresses the ethical dilemmas, cultural collisions, and practical conundrums raised by these forms. Students will reflect on their own experiences as improvisers through the vocabulary that has been developed in this literature.",,THRA11H3/(VPDA11H3),,Intermediate Performance: Improvisation,, +THRB41H3,ART_LIT_LANG,University-Based Experience,"Students will study a wide range of ""applied theatre"" practice, which might include community-based theatre, prison theatre, Theatre for Development (TfD), Theatre of the Oppressed (TO), and Creative Drama in Classrooms. They will grow as both scholars and practitioners of this work, and will emerge as better able to think through the practical and ethical challenges of facilitating this work. Case studies will reflect the diversity of global practices and the importance of doing this work with marginalized groups.",,THRA10H3,,Theatre-Making with Communities: A Survey,, +THRB50H3,ART_LIT_LANG,,"An introduction to the elements of technical theatre production. Students in the course will get hands-on experience working in the theatre in some combination of the areas of stage management, lighting, sound, video projection, costumes, set building and carpentry.",,,"(VPDB03H3), (VPDC03H3)",Stagecraft,, +THRB55H3,,University-Based Experience,This course is an intensive study of theatrical production from the vantage point of the actor. It engages students in the experiential learning process inherent in rehearsing and performing in a major theatrical production.,,Permission of the Theatre and Performance Studies Instructor (includes an audition),,Creating a Production: Actors in Action I,,"1. This course will meet at non-traditional times, when the show rehearsals are scheduled – mostly weekday evenings, with some late night and evening rehearsals expected. 2. This course is intended for Year 1 and 2 students at UTSC, or advanced students who are new to performing on stage. More advanced actors in the show are encouraged to register for THRC55H3 or THRD55H3." +THRB56H3,ART_LIT_LANG,University-Based Experience,"This course is an intensive study of theatrical production from the vantage points of producers, directors (and assistant directors), designers (and assistant designers), stage managers (and assistant stage managers), and dramaturgs. It engages students in the experiential learning process inherent in conceiving of, planning for, rehearsing, and producing a major theatrical production. Students are required to submit an application. Applications are available in August and can be found on the Arts, Culture, and Media website and in the timetable.",,Permission of the Theatre and Performance Studies instructor.,,"Creating a Production: Conception, Design, and Execution I",,"1. This course will meet at non-traditional times when the show rehearsals and production meetings are scheduled. 2. THRB56H3 is intended for Year 1 and 2 students at UTSC, or advanced students who are new to producing, directing, designing, stage management, and dramaturgy. More advanced producers, directors, designers, stage managers, and dramaturgs are encouraged to register for THRC56H3 or THRD56H3." +THRC15H3,,,Selected advanced topics for intensive study of some specific aspects of performance. The topics explored in this course will change from session to session.,,Any 2.0 credits in THR courses,(VPDC20H3),Special Topics in Performance,,"Further information can be found on the ACM Theatre and Performance website. Depending on the topics covered in a given term, this course may be counted as a 0.5 credit towards an appropriate area of focus. Contact ACM Program Manager for more information." +THRC16H3,ART_LIT_LANG,,Selected advanced topics for intensive study of some specific aspects of performance. The topics explored in this course will change from session to session.,,Any 2.0 credits in THR courses,,Investigations in Performance,,"Further information can be found on the ACM Theatre and Performance website. Depending on the topics covered in the course, THRC16H3 may be counted as a 0.5 credit towards an appropriate area of focus. Contact the ACM Program Manager for more information." +THRC20H3,ART_LIT_LANG,,"This course invites students to consider how theatre can help to close the gap between the just world we envision and the inequitable world we inhabit. Case studies illuminate the challenges that theatre-makers face when confronting injustice, the strategies they pursue, and the impact of their work on their audiences and the larger society.",,,(VPDC13H3),Theatre and Social Justice,,Enrolment priority is given to students enrolled in either Major or Minor program in Theatre and Performance +THRC21H3,ART_LIT_LANG,Partnership-Based Experience,"This course immerses students in the local theatre scene, taking them to 4-5 productions over the term. We study the performances themselves and the art of responding to live performances as theatre critics. We position theatre criticism as evolving in the increasingly digital public sphere, and as a potential tool for advocates of antiracist, decolonial, feminist, and queer cultural work.",,"THRA10H3 and one of [THRB20H3, THRB21H3, or THRB22H3]",THRB40H3,Reimagining Theatre Criticism,, +THRC24H3,ART_LIT_LANG,Partnership-Based Experience,"A study abroad experiential education opportunity. Destinations and themes will vary, but the course will always include preparation, travel and critical reflection. Students must complete an application form made available on the UTSC Timetable and on the ACM website.",,[THRA10H3 and THRA11H3] Admission will also be by application. Criteria for selection will be shared on the application form.,,Theatre & Performance Abroad,, +THRC30H3,ART_LIT_LANG,,"This course introduces students to the principles of theatrical design, including set design, lighting design, costume design, and sound design. Students learn how to envision the aesthetic world of a play, in collaboration with other artists.",,THRA10H3/(VPDA10H3),,Theatrical Design,, +THRC40H3,,,"This course introduces students to the principles and creative processes associated with Theatre of the Oppressed – a movement blending activism and artistry to advance progressive causes. Students train as Theatre of the Oppressed performers and facilitators, and through a combination of lectures, readings, discussions, and field trips, they process the history, ideology, and debates associated with this movement.",,THRA10H3/(VPDA10H3),,Performance and Activism,, +THRC41H3,ART_LIT_LANG,,"This course introduces students to the principles and creative processes of integrating theatre into K-12 classrooms and other learning environments. Lectures, readings, discussions, and field trips complement active experimentation as students learn the pedagogical value of this active, creative, imaginative, kinesthetic approach to education.",,THRA10H3/(VPDA10H3),,Theatre in Education,, +THRC44H3,ART_LIT_LANG,Partnership-Based Experience,"A local experiential education opportunity in theatre practices. Specific nature and themes will vary, but the course will always include preparation, collaboration with local artists, educators, or community arts facilitators and critical reflection. Students must complete an application form made available on the UTSC Timetable and on the ACM website.",,[THRA10H3 and THRA11H3]. Admission will also be by application. Criteria for selection will be shared on the application form.,,Theatre and Performance in Local Community,, +THRC50H3,ART_LIT_LANG,University-Based Experience,"Students stretch themselves as theatrical performers and producers as they engage in structured, practical experimentation related to the departmental production.",,"0.5 credit from the following [THRB30H3 or THRB31H3 or THRB32H3], and permission from the Theatre and Performance instructor.",(VPDC01H3),Advanced Workshop: Performance,, +THRC55H3,ART_LIT_LANG,University-Based Experience,This course is an intensive study of theatrical production from the vantage point of the actor. It engages students in the experiential learning process inherent in rehearsing and performing in a major theatrical production.,,THRB55H3 and permission of the Theatre and Performance Studies Teaching instructor (includes an audition),,Creating a Production: Actors in Action II,,"1. This course will meet at non-traditional times, when the show rehearsals are scheduled – mostly weekday evenings, with some late night and evening rehearsals expected. 2 THRC55H3 is intended for Year 3 students at UTSC who have already had some experience on stage. Beginning students in the show are encouraged to register for THRB55H3; more advanced actors in the show are encouraged to register for THRD55H3." +THRC56H3,ART_LIT_LANG,University-Based Experience,"This course is an intensive study of theatrical production from the vantage points of producers, directors (and assistant directors), designers (and assistant designers), stage managers (and assistant stage managers), and dramaturgs. It engages students in the experiential learning process inherent in conceiving of, planning for, rehearsing, and producing a major theatrical production. Students are required to submit an application. Applications will be available in August and can be found on the Arts, Culture, and Media website and in the timetable.",,THRB56H3 and permission of the Theatre and Performance Studies Teaching instructor.,,"Creating a Production: Conception, Design, and Execution II",,"1. This course will meet at non-traditional times when the show rehearsals and production meetings are scheduled. 2. THRC56H3 is intended for Year 3 students at UTSC with some theatrical experience. Beginning students are encouraged to register for THRB56H3, while more advanced producers, directors, designers, stage managers, and dramaturgs are encouraged to register for THRD56H3." +THRD30H3,ART_LIT_LANG,University-Based Experience,"This course introduces students to the work of the director. A combination of lecture, discussion, reading, and practical work will challenge students to consider how to lead the creative teams that create performance. Students taking this course will need to devote a considerable amount of time outside of class to rehearsing class projects and will need to recruit collaborators for these projects.",,"THRA10H3/(VPDA10H3) and THRA11H3/(VPDA11H3), and an additional 1.0 credit in Theatre and Performance, and permission from the instructor",(VPDC02H3),Directing for the Theatre,, +THRD31H3,ART_LIT_LANG,,"Building on concepts introduced in THRB30H3, THRB31H3, and THRB32H3, this course offers advanced acting training.",,"1.0 credit from the following: [THRB30H3, THRB31H3, THRB32H3]",,Advanced Performance,, +THRD55H3,ART_LIT_LANG,University-Based Experience,This course is an intensive study of theatrical production from the vantage point of the actor. It engages students in the experiential learning process inherent in rehearsing and performing in a major theatrical production.,,THRC55H3 and permission of the Theatre and Performance Studies instructor (includes an audition),,Creating a Production: Actors in Action III,,"1. This course will meet at non-traditional times, when the show rehearsals are scheduled – mostly weekday evenings, with some late night and evening rehearsals expected. 2. THRD55H3 is intended for Year 4 students at UTSC, with extensive experience performing on stage. Less advanced actors in the show are encouraged to register for THRB55H3 or THRC55H3." +THRD56H3,ART_LIT_LANG,University-Based Experience,"This course is an intensive study of theatrical production from the vantage points of producers, directors (and assistant directors), designers (and assistant designers), stage managers (and assistant stage managers), and dramaturgs. It engages students in the experiential learning process inherent in conceiving of, planning for, rehearsing, and producing a major theatrical production. Students are required to submit an application. Applications will be available in August and can be found on the Arts, Culture, and Media website and in the timetable.",,THRC56H3 and permission of the Theatre and Performance Studies instructor.,,"Creating a Production: Conception, Design, and Execution III",,"1. This course will meet at non-traditional times, when the show rehearsals and production meetings are scheduled. 2. THRD56H3 is intended for Year 4 students at UTSC with extensive theatrical experience. Less experienced producers, directors, designers, stage managers, and dramaturgs are encouraged to register for THRB56H3 or THRC56H3." +THRD60H3,ART_LIT_LANG,,"A study of key ideas in theatre and performance theory with a focus on pertinent 20th/21st century critical paradigms such as postcolonialism, feminism, interculturalism, cognitive science, and others. Students will investigate theory in relation to selected dramatic texts, contemporary performances, and practical experiments.",,Any 3.0 credits in THR courses,(VPDD50H3),Advanced Seminar in Theatre and Performance,, +THRD90H3,,University-Based Experience,Advanced scholarly projects open to upper-level Theatre and Performance students. The emphasis in these courses will be on advanced individual projects exploring specific areas of theatre history and/or dramatic literature.,,"1.0 credit at the C-level in THR courses, and permission of the Program Director.",(VPDD23H3),"Supervised Studies in Drama, Theatre and Performance",, +THRD91H3,,,"Advanced practical projects open to upper-level Theatre and Performance students. These courses provide an opportunity for individual exploration in areas involving the practice of theatre: directing, producing, design, playwriting, dramaturgy, etc.",,"1.0 credit at the C-level in THR courses, and permission of the Program Director.",(VPDD28H3),Independent Projects in Theatre and Performance,, +VPAA10H3,ART_LIT_LANG,,"An introduction to the theories and practices of arts and media management within the not-for-profit, public, and social enterprise sectors. It is a general survey course that introduces the broad context of arts and media management in Canadian society and the kinds of original research skills needed for the creative and administrative issues currently faced by the arts and media community.",,,,Introduction to Arts and Media Management,, +VPAA12H3,ART_LIT_LANG,,"An introduction to the work involved in building and sustaining relationships with audiences, funders, and community, and the vital connections between marketing, development, and community engagement in arts and media organizations. Includes training in observational research during class for independent site visits outside class time.",,VPAA10H3,"(VPAB12H3), (VPAB14H3)","Developing Audience, Resources, and Community",, +VPAB10H3,,University-Based Experience,"An introduction to equity, inclusivity and diversity as it relates to organizational development and cultural policymaking in arts and media management. This course will take students through an overview of critical theories of systemic power and privilege, including those of race, gender, socio-economic status, sexual orientation or identity, age, ability/disability and religion and examine how these impact varied creative working environments and institutions.",,VPAA10H3 and VPAA12H3,,Equity and Inclusivity in Arts and Media Organizations,, +VPAB13H3,QUANT,,"An introduction to financial management basics and issues faced by arts and cultural managers, using examples and exercises to introduce basic accounting concepts, financial statement preparation and analysis, internal control and management information systems, budgeting and programming, cash and resource management, and various tax-related issues.",VPAA12H3 or [(VPAB12H3) and (VPAB14H3)],VPAA10H3,MGTB03H3,Financial Management for Arts Managers,, +VPAB16H3,ART_LIT_LANG,,"An introduction to the theories and practices of organizational development through arts and media governance, leadership, employee, and volunteer management, using examples from the field. Includes training in original research for professional report-writing through individual and group exercises.",,VPAA10H3 and VPAA12H3,,Managing and Leading in Cultural Organizations,,VPAA12H3 may be taken as a co-requisite with the express permission of the instructor. +VPAB17H3,ART_LIT_LANG,Partnership-Based Experience,"An introduction to the real-world application of knowledge and skills in arts and arts-related organizations . This course allows students to develop discipline-specific knowledge and skills through experiential methods, including original research online, class field visits, and independent site visits for observational research outside class time.",,VPAA12H3 and VPAB16H3,,From Principles to Practices in Arts Management,,Initially restricted to students in the Specialist Program in Arts Management. +VPAB18H3,ART_LIT_LANG,,"An introduction to the producing functions in the arts and in media management. The course will cover the genesis of creative and managing producers in arts and media, and what it is to be a producer today for internet, television, radio and some music industry and social media environments or for arts and media creative hubs, or for non-profit performing and multi-disciplinary theatres in Canada that feature touring artists. Includes individual and group skill-building in sector research to develop and present creative pitch packages and/or touring plans.",,VPAA10H3 and VPAA12H3,,Becoming a Producer,, +VPAC13H3,ART_LIT_LANG,,"This course is designed to provide a foundation for project management and strategic planning knowledge and skills. Topics such as project and event management as well as strategic and business planning include how to understand organizational resource-management and consultative processes, contexts, and impacts, will be discussed and practiced through group and individual assignments.",,8.0 credits including [VPAB13H3 and VPAB16H3],,Planning and Project Management in the Arts and Cultural Sector,, +VPAC15H3,ART_LIT_LANG,,"A survey of the principles, structures, and patterns of cultural policy and how these impact arts and media funding structures in Canada, nationally and internationally. Through original research including interviews in the sector, group and individual assignments will explore a wide range of cultural policy issues, processes, and theoretical commitments underpinning the subsidized arts, commercial and public media industries, and hybrid cultural enterprises, critically exploring the role of advocacy and the strengths and weaknesses of particular policy approaches.",,"[8.0 credits, including VPAA10H3 and VPAA12H3] or [8.0 credits, including: SOCB58H3 and registration in the Minor Program in Culture, Creativity, and Cities]",,Cultural Policy,, +VPAC16H3,ART_LIT_LANG,,"A study of essential legal and practical issues relevant to the arts and media workplace, with a particular focus on contracts, contract negotiation, and copyright.",,8.0 credits including VPAA10H3 and VPAA12H3 and VPAB16H3,,Contracts and Copyright,, +VPAC17H3,ART_LIT_LANG,,"An advanced study of marketing in the arts and media sectors. Through group and individual assignments including the development of a marketing and promotions plan, this course facilitates a sophisticated understanding of the knowledge and skills required for arts and media managers to be responsive to varied market groups and changing market environments and successfully bring creative and cultural production and audiences together.",,VPAA10H3 and VPAA12H3,,Marketing in the Arts and Media,, +VPAC18H3,ART_LIT_LANG,,"An advanced study of fundraising and resource development in the arts and media sector. This course facilitates a sophisticated understanding of knowledge and skills required for arts and media managers to develop varied revenue streams, including grantwriting, media funding, and contributed revenue strategies to support artistic missions. Through group and individual assignments, the course culminates in pitch packages or grant applications for real-life programs including creative briefs, budgets, financing plans, and timelines",,VPAA12H3 and VPAB13H3 and VPAB16H3,,Raising Funds in Arts and Media,, +VPAC21H3,ART_LIT_LANG,,"Special topics for intensive practical, theoretical and/or experiential study of some specific aspects of Arts Management. The topic(s) to be explored in this course will change from session to session.",,"10.0 credits, including [VPAA10H3 and VPAA12H3 and VPAB16H3]",(VPAD13H3),Special Topics in Arts Management I,, +VPAC22H3,ART_LIT_LANG,,"Special topics for intensive practical, theoretical and/or experiential study of some specific aspects of Arts Management. The topic(s) to be explored in this course will change from session to session.",,"10.0 credits, including [VPAA10H3 and VPAA12H3 and VPAB16H3]",,Special Topics in Arts Management II,, +VPAD10H3,ART_LIT_LANG,University-Based Experience,"This course will prepare students for the realities of working in and leading arts and media organizations by challenging them with real-world problems via case studies and simulations. Through individual and group assignments involving research in the field that culminates in an original case presentation and report, students will consider, compare, explain, and defend decisions and actions in real- life organizations to develop their ability to demonstrate effective and ethical approaches to arts and media management.",,"At least 14.0 credits, including 1.0 credit at the C-level in VPA courses.",,"Good, Better, Best: Case Study Senior Seminar",,Preference is given to students enrolled in the Major programs in Arts & Media Management. This course requires ancillary fees (case study fees) +VPAD11H3,,University-Based Experience,"Are you interested in researching hands-on professional practice to synthesize and apply the theory-based learning you have undertaken in arts and media management about how people and organizations work in the culture sector and media industries? In this course, you will propose your own research project to examine how a specific creative business (such as a creative hub, media company or performing or visual arts organization) and its related practices operate, exploring specific areas of arts or media management practice, theory, history or emergent issues. While the creative ecosystem is made up of a broad and sometimes baffling array of for-profit, non-profit and hybrid ways of doing things, this course will provide insights into an organization of your choice.",,"At least 14.0 full credits, including 1.0 full credit at the C level in VPA courses.",,Focus on the Field: Senior Research Seminar,, +VPAD12H3,,University-Based Experience,This course is an intensive synthesis and application of prior learning through collaborative project-based practice. Students will lead and actively contribute to one or more major initiative(s) that will allow them to apply the principles and employ the practices of effective arts and media management.,,At least 14.0 credits including VPAC13H3.,,Senior Collaborative Projects,,Restricted to students enrolled in the Specialist Program in Arts Management. +VPAD14H3,,University-Based Experience,A directed research and/or project-oriented course for students who have demonstrated a high level of academic maturity and competence. Qualified students will have the opportunity to investigate an area of interest to both student and the Director in traditional or emerging subjects related to the field of Arts Management.,,At least 1.0 credit at the C-level in Arts Management courses. Written consent and approval of a formal proposal in the approved format must be obtained from the supervising instructor and Program Director by the last date of classes in the previous academic session.,MGTD80H3,Independent Studies in Arts Management,, +VPHA46H3,ART_LIT_LANG,,How and why are objects defined as Art? How do these definitions vary across cultures and time periods? Studying different approaches to writing art history and considering a wide range of media from photography to printmaking and installation arts.,,,"(FAH100Y), FAH101H",Ways of Seeing: Introduction to Art Histories,, +VPHB39H3,ART_LIT_LANG,,"Key concepts in art history, including intention, meaning, style, materiality, identity, production, reception, gender, visuality, and history. Students will explore critical questions such as whether and how to read artist's biographies into their art. This course helps students understand the discipline and develops critical thinking and research skills required in advanced courses.",,VPHA46H3 or ACMA01H3,FAH102H,Ten Key Words in Art History: Unpacking Methodology,, +VPHB40H3,ART_LIT_LANG,University-Based Experience,"This course offers a critical look at ways of exhibiting art, including exploring the exhibitions and collection of the Doris McCarthy Gallery and the public sculptures located on campus. Through readings, discussions and site visits we will consider the nature of exhibitions, their audiences and current practices juxtaposed with investigations of the history and practice of display.",,VPHA46H3,"VPSB73H3, (VPHB71H3), FAH310H",Exhibiting Art,, +VPHB50H3,ART_LIT_LANG,,"The centrality of photographic practice to African cultures and histories from the period of European imperialism, the rise of modernist ""primitivism"" and the birth of ethnology and anthropology to contemporary African artists living on the continent and abroad.",,VPHA46H3 or ACMA01H3 or AFSA01H3,,Africa Through the Photographic Lens,, +VPHB53H3,ART_LIT_LANG,,"The origins of European artistic traditions in the early Christian, Mediterranean world; how these traditions were influenced by classical, Byzantine, Moslem and pagan forms; how they developed in an entirely new form of artistic expression in the high Middle Ages; and how they led on to the Renaissance.",,VPHA46H3,"FAH215H, FAH216H",Medieval Art,, +VPHB58H3,ART_LIT_LANG,,"A study of nineteenth and twentieth-century arts and visual media, across genres and cultures. What did modernity mean in different cultural contexts? How is 'modern' art or 'modernism' defined? How did the dynamic cultural, economic, and socio-political shifts of the globalizing and industrializing modern world affect the visual ars and their framing?",,VPHA46H3,"FAH245H, FAH246H",Modern Art and Culture,, +VPHB59H3,ART_LIT_LANG,,"Shifts in theory and practice in art of the past fifty years. Studying selected artists' works from around the world, we explore how notions of modern art gave way to new ideas about media, patterns of practice, and the relations of art and artists to the public, to their institutional contexts, and to globalized cultures.",,VPHA46H3 or VPHB39H3,"FAH245H, FAH246H",Current Art Practices,, +VPHB63H3,ART_LIT_LANG,,"This course is an introduction to art and visual culture produced in Italy ca. 1350-1550. Students will explore new artistic media and techniques, along with critical issues of social, cultural, intellectual, theoretical and religious contexts that shaped the form and function of art made during this era.",,VPHA46H3,FAH230H,"Fame, Spectacle and Glory: Objects of the Italian Renaissance",, +VPHB64H3,ART_LIT_LANG,,"This course introduces the art and culture of 17th century Europe and its colonies. Art of the Baroque era offers rich opportunities for investigations of human exploration in geographic, spiritual, intellectual and political realms. We will also consider the development of the artist and new specializations in subject and media.",VPHB63H3 or VPHB74H3,VPHA46H3,"FAH231H, FAH279H",Baroque Visions,, +VPHB68H3,ART_LIT_LANG,University-Based Experience,"This course explores the relationship between visuality and practices of everyday life. It looks at the interaction of the political, economic and aesthetic aspects of mass media with the realm of ""fine"" arts across history and cultures. We will explore notions of the public, the mass, and the simulacrum.",,VPHA46H3,,Art and the Everyday: Mass Culture and the Visual Arts,, +VPHB69H3,SOCIAL_SCI,,"In this course students will learn about sustainability thinking, its key concepts, historical development and applications to current environmental challenges. More specifically, students will gain a better understanding of the complexity of values, knowledge, and problem framings that sustainability practice engages with through a focused interdisciplinary study of land. This is a required course for the Certificate in Sustainability, a certificate available to any student at UTSC. Same as ESTB03H3",,,,Back to the Land: Restoring Embodied and Affective Ways of Knowing,, +VPHB73H3,ART_LIT_LANG,,"A survey of the art of China, Japan, Korean, India, and Southeast Asia. We will examine a wide range of artistic production, including ritual objects, painting, calligraphy, architectural monuments, textile, and prints. Special attention will be given to social contexts, belief systems, and interregional exchanges. Same as GASB73H3",,ACMA01H3 or VPHA46H3 or GASA01H3,"GASB73H3, FAH260H",Visualizing Asia,, +VPHB74H3,ART_LIT_LANG,University-Based Experience,"This course explores the rich visual culture produced in northern and central Europe 1400-1600. Topics such as the rise of print culture, religious conflict, artistic identity, contacts with other cultures and the development of the art market will be explored in conjunction with new artistic techniques, styles and materials.",,VPHA46H3,"FAH230H, FAH274H",Not the Italian Renaissance: Art in Early Modern Europe,, +VPHB77H3,ART_LIT_LANG,,"An introduction to modern Asian art through domestic, regional, and international exhibitions. Students will study the multilayered new developments of art and art institutions in China, Japan, Korea, India, Thailand, and Vietnam, as well as explore key issues such as colonial modernity, translingual practices, and multiple modernism. Same as GASB77H3",,ACMA01H3 or VPHA46H3 or GASA01H3,"GASB77H3, FAH262H",Modern Asian Art,, +VPHB78H3,ART_LIT_LANG,Partnership-Based Experience,"Local arts institutions are often taken for granted but understanding how and why collections are formed, why they are significant, and how they relate to larger art historical contexts provides important object-based learning opportunities. Students will explore these issues using a focused collection in the Royal Ontario Museum, the Aga Khan Museum or the Textile Museum.",,VPHA46H3,,"Our Town, Our Art: Local Collections I",, +VPHB79H3,ART_LIT_LANG,Partnership-Based Experience,"Local arts institutions are often taken for granted but understanding how and why collections are formed, why they are significant, and how they relate to larger art historical contexts provides important object-based learning opportunities. Students will explore these using a focused collection in the Art Gallery of Ontario.",,VPHA46H3,,"Our Town, Our Art: Local Collections II",,Some classes will be held at the museum; students should be prepared to travel. +VPHC41H3,ART_LIT_LANG,,"Major artistic and architectural monuments of Europe from the Carolingian renaissance to the renaissance of the twelfth century, considered in relation to geographical context, to monasticism and pilgrimage, to artistic developments of the contemporary Mediterranean world, and to the art and architecture of the later Roman Empire, Byzantium and Armenia, Islam and the art of the invasion period.",,VPHB53H3,"(VPHB42H3), FAH215H",Carolingian and Romanesque Art,, +VPHC42H3,ART_LIT_LANG,University-Based Experience,"Current scholarship is expanding and challenging how we decide ""what is Gothic?"" We will examine a variety of artworks, considering artistic culture, social, cultural, and physical contexts as well. Style, techniques, patronage, location in time and space, and importance of decoration (sculpture, stained glass, painting, tapestry) will be among topics discussed.",,VPHB53H3,"FAH328H, FAH351H5, (FAH369H)",Gothic Art and Architecture,, +VPHC45H3,ART_LIT_LANG,,"Special topics in twentieth-century painting and sculpture. The subject will change from time to time. After introductory sessions outlining the subject and ways of getting information about it, seminar members will research and present topics of their choice.",,1.0 credit at the VPHB-level,,Seminar in Modern and Contemporary Art,, +VPHC49H3,ART_LIT_LANG,,"The class will read selected recent cultural theory and art theory and consider its implications for a variety of works of art, and will investigate selected exhibition critiques and the critical discourse surrounding the oeuvres of individual artists.",,VPHA46H3 and VPHB39H3,,Advanced Studies in Art Theory,1.0 credit at the B-level in VPH and/or VPS courses, +VPHC52H3,HIS_PHIL_CUL,,"This course uses a focus on material history and visual culture to explore Ethiopia from the fourth through the nineteenth century, with particular emphasis on the Christian Church, the monarchy, links with both the Mediterranean world and the Indian subcontinent, and the relationship of individuals to their social, economic, artistic and geographic environments. Same as AFSC52H3 and HISC52H3",,[1.0 credit in History] or [VPHA46H3 and an additional 1.0 credit in VPH courses],"AFSC52H3, HISC52H3",Ethiopia: Seeing History,, +VPHC53H3,ART_LIT_LANG,University-Based Experience,"The Silk Routes were a lacing of highways connecting Central, South and East Asia and Europe. Utilizing the Royal Ontario Museum's collections, classes held at the Museum and U of T Scarborough will focus on the art produced along the Silk Routes in 7th to 9th century Afghanistan, India, China and the Taklamakhan regions. Same as GASC53H3",,1.0 credit in art history or in Asian or medieval European history.,GASC53H3,The Silk Routes,, +VPHC54H3,ART_LIT_LANG,,"Art criticism as a complex set of practices performed not only by critics, art historians, curators and the like, but also by artists (and collectors). The traditional role of art critics in the shaping of an art world, and the parallel roles played by other forms of writing about art and culture (from anthropology, sociology, film studies).",,"2.0 credits at the B-level in VPA, VPH, and/or VPS courses.",,Art Writing,, +VPHC63H3,ART_LIT_LANG,University-Based Experience,"This seminar-format course will offer students the opportunity to investigate critical theories and methodologies of the early modern period (roughly 1400-1700). Focusing on such topics as a single artist, artwork or theme, students will become immersed in an interdisciplinary study that draws on impressive local materials from public museum and library collections.",,VPHA46H3 and [one of VPHB63H3 or VPHB64H3 or VPHB74H3].,,Explorations in Early Modern Art,, +VPHC68H3,ART_LIT_LANG,,"This course looks at the global city as a hub for the creation of visual, performing arts and architecture. How have cyberspace and increased transnational flows of art and artists changed the dynamic surrounding urban arts? What are the differences between the arts within the modern and global contemporary city?",,VPHB58H3 or VPHB59H3,(VPHC52H3),Art in Global Cities,, +VPHC72H3,ART_LIT_LANG,Partnership-Based Experience,"Art and the settings in which it is seen in cities today. Some mandatory classes to be held in Toronto museums and galleries, giving direct insight into current exhibition practices and their effects on viewer's experiences of art; students must be prepared to attend these classes.",,"VPHA46H3, and VPHB39H3",(CRTC72H3),"Art and Visual Culture in Spaces, Places, and Institutions",, +VPHC73H3,SOCIAL_SCI,,"This course considers representations of diaspora, migration, displacement, and placemaking within visual culture. We will employ a comparative, cross-cultural approach and a historical perspective, to consider how artists, theorists, media, and social institutions think about and visualize these widely-held experiences that increasingly characterize our cosmopolitan, interconnected world.",,1.0 credits at VPHB-level,(VPAB09H3),"Home, Away, and In Between: Diaspora and Visual Culture",, +VPHC74H3,ART_LIT_LANG,,"Introduction to Contemporary Art in China An introduction to Chinese contemporary art focusing on three cities: Beijing, Shanghai, and Guangzhou. Increasing globalization and China's persistent self-renovation has brought radical changes to cities, a subject of fascination for contemporary artists. The art works will be analyzed in relation to critical issues such as globalization and urban change. Same as GASC74H3",,"2.0 credits at the B-level in Art History, Asian History, and/or Global Asia Studies courses, including at least 0.5 credit from the following: VPHB39H3, VPHB73H3, HISB58H3, (GASB31H3), GASB33H3, or (GASB35H3).",GASC74H3,A Tale of Three Cities:,, +VPHC75H3,ART_LIT_LANG,,"This course focuses on the ideas, career and œuvre of a single artist. Exploration and comparison of works across and within the context of the artist’s output provides substantial opportunities for deeper levels of interpretation, understanding and assessment. Students will utilize and develop research skills and critical methodologies appropriate to biographical investigation.",,"VPHB39H3 and [an additional 1.0 credit at the B-level in Art History, Studio Art or Arts Management courses]",,"The Artist, Maker, Creator",, +VPHD42Y3,,University-Based Experience,A course offering the opportunity for advanced investigation of an area of interest; for students who are nearing completion of art history programs and who have already acquired independent research skills. Students must locate a willing supervisor and topics must be identified and approved by the end of the previous term.,,1.0 credit at the C-level in art history. Students are advised that they must obtain consent from the supervising instructor before registering for these courses.,,Supervised Reading in Art History,, +VPHD48H3,ART_LIT_LANG,University-Based Experience,"What is art history and visual culture? What do we know, and need to know, about how we study the visual world? This capstone course for senior students will examine the ambiguities, challenges, methods and theories of the discipline. Students will practice methodological and theoretical tenets, and follow independent research agendas.",,1.5 credits at the C-level in VPH courses,FAH470H,Advanced Seminar in Art History and Visual Culture,,Priority will be given to students in the Major and Minor in Art History and Visual Culture. Additional students will be admitted as space permits. +VPSA62H3,ART_LIT_LANG,,An introduction to the importance of content and context in the making of contemporary art.,,,"VIS130H, JAV130H",Foundation Studies in Studio,VPSA63H3, +VPSA63H3,HIS_PHIL_CUL,,"This introductory seminar examines the key themes, concepts, and questions that affect the practice of contemporary art. We will look at specific cases in the development of art and culture since 1900 to understand why and how contemporary art can exist as such a wide-ranging set of forms, media and approaches.",,,"VIS120H, JAV120H, VST101H",But Why Is It Art?,, +VPSB01H3,ART_LIT_LANG,,"The figure of the artist is distorted in the popular imagination by stereotypes around individualism, heroism, genius, mastery, suffering, and poverty. This lecture course will examine these gendered, colonial mythologies and offer a more complex picture of the artist as a craftsperson, professional, entrepreneur, researcher, public intellectual and dissident. We will consider diverse artistic models such as artist collectives and anonymous practitioners that challenge the idea of the individual male genius and examine artists’ complex relationship with elitism, the art market, arts institutions, and gentrification. This course will be supplemented by visiting artist lectures that will offer students insight into the day-to-day reality of the practicing artist.",,[VPSA62H3 and VPSA63H3],,The Artist,, +VPSB02H3,ART_LIT_LANG,,"How should artists make pictures in a world inundated with a relentless flow of digital images? Can pictures shape our understanding of the social world and influence mainstream culture? Through the perspective of contemporary artmaking, this lecture course will explore ways that artists decentre and decolonize the image and concepts of authorship, representation, truth, and the gaze. The course will also examine the role of visual technologies (cameras, screens, microscopes), distribution formats (the photographic print, mobile devices, the Internet), and picture making (ubiquitous capture, synthetic media, artificial intelligence) to consider how artists respond to changing ideas about the visible world.",,[VPSA62H3 and VPSA63H3],,Image Culture,, +VPSB56H3,ART_LIT_LANG,,"This hands-on, project-based class will investigate fundamental digital concepts common to photography, animation, and digital publishing practices. Students will learn general image processing, composing, colour management, chromakey, and typograpic tools for both on-line and print- based projects. These will be taught through Adobe Creative Suite software on Apple computers.",,,"(VPSA74H3), VIS218H, FAS147H",Digital Studio I,VPSA62H3 and VPSA63H3, +VPSB58H3,ART_LIT_LANG,,An introduction to the basic principles of video shooting and editing as well as an investigation into different conceptual strategies of video art. The course will also provide an introduction to the history of video art.,,VPSA62H3 and VPSA63H3,"(VPSA73H3), VIS202H",Video I,, +VPSB59H3,ART_LIT_LANG,,This course introduces students to the use of three- dimensional materials and processes for creating sculptural objects. Traditional and non-traditional sculptural methodologies and concepts will be explored.,,VPA62H3 and VPSA63H3,(VPSA71H3) FAS248H,Sculpture I,, +VPSB61H3,ART_LIT_LANG,,An investigation of the basic elements and concepts of painting through experimentation in scale and content.,,VPSA62H3 and VPSA63H3,"(VPSA61H3), VIS201H, FAS145H",Painting I,, +VPSB62H3,ART_LIT_LANG,,A continuation of Painting I with an emphasis on images and concepts developed by individual students.,,VPSB61H3,"VIS220H, FAS245H",Painting II,, +VPSB67H3,ART_LIT_LANG,,"An introduction to fundamental photographic concepts including depth, focus, stopped time, lighting and photographic composition in contrast to similar fundamental concerns in drawing and painting. A practical and historical discourse on the primary conceptual streams in photography including various documentary traditions, staged photographs and aesthetic approaches from photographic modernism to postmodernism.",,VPSB56H3,"(VPSA72H3), VIS218H, FAS147H",Photo I,, +VPSB70H3,ART_LIT_LANG,,"An investigation of the various approaches to drawing, including working from the figure and working with ideas.",,VPSA62H3 and VPSA63H3,"(VPSA70H3), VIS205H, FAS143H",Drawing I,, +VPSB71H3,ART_LIT_LANG,University-Based Experience,"Artist multiples are small, limited edition artworks that include sculptures, artist books, mass-produced ephemera such as posters, postcards and small objects. Students will explore the production and history of 2D and 3D works using a variety of media and approaches. This course is about both making and concepts.",,VPSA62H3 and VPSA63H3,VIS321H,Artist Multiples,, +VPSB73H3,ART_LIT_LANG,,"This course is designed to offer students direct encounters with artists and curators through studio and gallery visits. Field encounters, written assignments, readings and research focus on contemporary art and curatorial practices. The course will provide skills in composing critical views, artist statements, and writing proposals for art projects.",,[[VPSA62H3 and VPSA63H3] and [0.5 credit at the B-level in VPS courses]] or [enrolment in the Minor in Curatorial Studies],VIS320H,Curatorial Perspectives I,, +VPSB74H3,ART_LIT_LANG,,A continuation of VPSB70H3 with an increased emphasis on the student's ability to expand her/his personal understanding of the meaning of drawing.,,VPSA62H3 and VPSA63H3 and VPSB70H3,VIS211H and FAS243H,Drawing II,, +VPSB75H3,ART_LIT_LANG,,A Studio Art course in digital photography as it relates to the critical investigation of contemporary photo-based art.,,VPSB67H3,"FAS247H, VIS318H",Photo II,, +VPSB76H3,ART_LIT_LANG,,"This course explores advanced camera and editing techniques as well as presentation strategies using installation, projection, and multiple screens. Students will make projects using both linear and non-linear narratives while exploring moving image influences from online culture, popular media, surveillance culture, cinema, photography, performance, and sculpture.",,VPSB58H3,VIS302H,Video II,, +VPSB77H3,ART_LIT_LANG,,"This course covers the history and practice of performance art. Students will employ contemporary performance strategies such as duration, ritual, repetition, intervention, tableau vivant, endurance and excess of materials in their projects. We will also study the relationship of performance to other art disciplines and practices such as theatre and sculpture.",,VPSA62H3 and VPSA63H3,VIS208H,Performance Art,, +VPSB80H3,ART_LIT_LANG,,"An in-depth investigation of digital imaging technologies for serious studio artists and new media designers. Emphasis is placed on advanced image manipulation, seamless collage, invisible retouching and quality control techniques for fine art production. Project themes will be drawn from a critical analysis of contemporary painting and photo-based art.",VPSB67H3,VPSB56H3,"FAS247H, VIS318H",Digital Studio II,, +VPSB85H3,ART_LIT_LANG,,This course looks at how visual artists employ words in their art. Students will be introduced to the experimental use of text in contemporary art: how typography has influenced artists and the role of language in conceptual art by completing projects in various media.,,VPSA62H3 and VPSA63H3,,Text as Image/Language as Art,, +VPSB86H3,ART_LIT_LANG,,This course introduces students to the time-based use of three-dimensional materials and processes for creating sculptural objects. Students will use both traditional and non- traditional materials in combination with simple technologies.,,[VPSA62H3 and VPSA63H3] and VPSB59H3,,Sculpture II,, +VPSB88H3,ART_LIT_LANG,,"Students will be introduced to sound as a medium for art making. Listening, recording, mapping, editing, and contextualizing sounds will be the focus of this course. Sound investigations will be explored within both contemporary art and experimental sound/music contexts.",,VPSA62H3 and VPSA63H3,,Sound Art,, +VPSB89H3,ART_LIT_LANG,,"A non-traditional course in the digital production of non- analog, two-dimensional animation through the use of computer-based drawing, painting, photography and collage. Students will learn design strategies, experimental story lines, sound mixing, and video transitions to add pace, rhythm, and movement to time based, digital art projects.",VPSB70H3,VPSA62H3 and VPSA63H3 and VPSB56H3,,Digital Animation I,, +VPSB90H3,ART_LIT_LANG,,"A project based course, building upon concepts developed in VPSB89H3 Introduction to Digital Animation. Students will refine their control of sound, movement, and image quality. This course will also introduce three-dimensional wire frame and ray-tracing techniques for constructing convincing 3-D animated objects and scenes as they apply to contemporary artistic practices.",,VPSB89H3,(VPSC89H3),Digital Animation II,, +VPSC04H3,ART_LIT_LANG,University-Based Experience,"""Live!"" investigates interdisciplinary modes of contemporary performance. Within a studio context, this course serves as an advanced exploration of 21st century Live Art. This interactive course reviews the dynamics of time, space and existence, and asks fundamental questions about the body and performance.",,VPHA46H3 and [VPSB77H3 or THRA11H3/VPDA11H3 or (VPDA15H3)] and [1.5 additional credits at the B- or C-level in VPS or THR courses],"(VPDC06H3), (VPSC57H3), (VPAC04H3)","""Live!""",, +VPSC51H3,ART_LIT_LANG,University-Based Experience,"This course focuses on the finer details of curating and/or collecting contemporary art. Students will delve into the work of selected artists and curators with an emphasis on the conceptual and philosophical underpinnings of their projects. Term work will lead to a professionally curated exhibition, or the acquisition of an artwork.",,VPHA46H3 and VPSB73H3,,Curatorial Perspectives II,, +VPSC53H3,ART_LIT_LANG,,"Students will produce time-based three-dimensional artworks. Students will be encouraged to use altered machines, simple electronic components and a wide range of materials.",,[VPHA46H3 and VPSB59H3 and VPSB86H3] and [an additional 1.0 credit at the B- or C-level in VPS courses],(VPSB64H3),Kinetic Sculpture,, +VPSC54H3,ART_LIT_LANG,,"An advanced course for students who are able to pursue individual projects in painting, with a focus on contemporary practice and theory.",,[VPHA46H3 and VPSB62H3] and [an additional 1.0 credit at the B- or C-level in VPS courses],"VIS301H, FAS345Y",Painting III,, +VPSC56H3,ART_LIT_LANG,University-Based Experience,A supervised course focused specifically on the development of the student's work from initial concept through to the final presentation. Students may work in their choice of media with the prior written permission of the instructor.,,2.5 credits at the B- or C-level in VPS courses; students enrolled in the Specialist and Major programs in Studio Art must also complete VPHA46H3,"VIS311H, VIS326",Studio and Exhibition Practice,, +VPSC70H3,ART_LIT_LANG,,"This course will extend digital art practice into a range of other Studio Art media, allowing students to explore the creation of hybrid works that fuse traditional mediums with new technologies. Students will have the opportunity to work on projects that utilize networking, kinetics, GPS, data mining, sound installation, the Internet of Things (IoT), and interactivity.",,"2.5 credits at the B- or C-level in VPS courses including 0.5 credit taken from: VPSB56H3, VPSB58H3, VPSB76H3, VPSB80H3, VPSB86H3, VPSB88H3, VPSB89H3, VPSB90H3, NMEB05H3, NMEB08H3, or NMEB09H3; students enrolled in the Specialist and Major programs in Studio Art must also complete VPHA46H3",,Interdisciplinary Digital Art,, +VPSC71H3,ART_LIT_LANG,,"This course investigates the relationship of the body to the camera. Using both still and video cameras and live performance students will create works that unite the performative and the mediated image. The course will cover how the body is framed and represented in contemporary art, advertising and the media.",,"VPHA46H3 and [2.0 credits at the B- or C-level in VPS courses including 0.5 credit taken from: VPSB58H3, VPSB67H3, VPSB75H3, VPSB76H3, or VPSB77H3]",,Performing with Cameras,, +VPSC73H3,ART_LIT_LANG,,"Interdisciplinary Drawing Concepts will extend drawing into a range of other media, allowing students to explore the sculptural, temporal and performative potential of mark- making.",,VPHA46H3 and VPSB70H3 and VPSB74H3 and [an additional 1.0 credit at the B- or C-level in VPS courses],VIS308H3,Interdisciplinary Drawing,, +VPSC75H3,ART_LIT_LANG,,Advanced Sculpture will provide students with an opportunity for a deeper investigation into various materials and fabrication techniques. This course will focus on the theory and practice of object making through studio assignments that develop a critical and technical literacy towards both traditional and non-traditional sculpture materials.,,VPHA46H3 and [VPSB59H3 or VPSB71H3 or VPSB86H3] and [an additional 1.5 credits at the B- or C-level in VPS courses],,Advanced Sculpture,, +VPSC76H3,ART_LIT_LANG,,"Lens-based art forms such as photography and video have a rich tradition as a documentary practice. These media have engendered their own techniques, aesthetic, and cultural context. This course is designed to introduce students to the role of the documentary image in contemporary art practice, through personal, conceptual, and photo-journalistic projects accomplished outside of the studio.",,VPHA46H3 and VPSB56H3 and [VPSB58H3 or VPSB67H3] and [1.0 additional credit at the B- or C-level in VPS courses],,The Documentary Image,, +VPSC77H3,ART_LIT_LANG,,"This course will expand photographic practice into a range of other media. Students will explore the sculptural, temporal, performative, and painterly potential of the photograph and photographic technologies.",,VPHA46H3 and VPSB56H3 and VPSB67H3 and [1.0 credit at the B- or C-level in VPS courses],"VIS318H, FAS347Y",Interdisciplinary Photography,, +VPSC80H3,ART_LIT_LANG,,"A course for students interested in designing and publishing artworks using digital tools. The emphasis will be on short-run printed catalogues, along with some exploration of e-books and blogs. Lessons will identify common editorial and image preparation concerns while introducing software for assembling images, videos, sounds, graphics, and texts into coherent and intelligently-designed digital publications. Creative solutions are expected.",,VPHA46H3 and VPSB56H3 and [an additional 1.5 credits at the B- or C-level in VPS courses],"(VPSB72H3), VIS328H",Digital Publishing,, +VPSC85H3,ART_LIT_LANG,,"The studio-seminar course will provide students with discipline-specific historical, theoretical, professional, and practical knowledge for maintaining a sustainable art practice. Students will gain an understanding of how to navigate the cultural, social, political, and financial demands of the professional art world. Topics will include professional ethics, equity and diversity in the art world, understanding career paths, developing writing and presentation skills relevant to the artist, familiarity with grants, contracts and copyright, and acquiring hands-on skills related to the physical handling and maintenance of art objects.",,2.0 FCE at the B-level in VPS,,Essential Skills for Emerging Artists,, +VPSC90H3,HIS_PHIL_CUL,,"This open-media studio-seminar will examine the relationship between contemporary art and globalizing and decolonizing forces, focusing on key topics such as migration, diaspora, colonialism, indigeneity, nationalism, borders, language, translation, and global systems of trade, media, and cultural production. Students will explore current art practices shaped by globalization and will conceive, research, and develop art projects that draw from their experiences of a globalizing world.",,2.5 credits at VPSB-level,VIS325H,Theory and Practice: Art and Globalization,, +VPSC91H3,ART_LIT_LANG,,"This open-media studio seminar will examine the relationship between art and the body, focusing on key topics such as identity (gender, race, ethnicity, sexual orientation), intersectionality, subjectivity, representation, and the gaze. Students will explore artistic methods that are performative, experiential, sensory, and interactive. This course will also examine approaches to the body that consider accessibility, aging, healing, and care. Students will conceive, research, and develop art projects that address contemporary issues related to the body.",,2.5 credits at VPSB-level,,Theory and Practice: Art and the Body,, +VPSC92H3,ART_LIT_LANG,,"This open-media studio-seminar will focus on material-based art practices and critical approaches to the material world. This course will explore topics such as sustainability and Indigenous reciprocity, feminist understanding of materials, the politics of labour, and the role of technology. This course will also examine key concepts such as craft, form, process, time, and dematerialization and consider the role that technique, touch, and participation play in the transformation of material. Students will conceive, research, and develop art projects that address contemporary approaches to material- based art making.",,2.5 credits at VPSB-level,,Theory and Practice: Art and Materials,, +VPSC93H3,ART_LIT_LANG,,"This open-media studio-seminar will examine contemporary artists’ fascination with the everyday, focusing on art practices invested in observation, time, the ephemeral, the domestic, labour, humour, boredom, and failure. This course will also explore critical approaches to found materials and artistic strategies that intervene into everyday environments. Students will conceive, research, and develop art projects that explore the critical and poetic potential of everyday subject matter.",,2.5 credits at the VPSB-level,,Theory and Practice: Art and the Everyday,, +VPSC94H3,ART_LIT_LANG,,"This open-media studio-seminar will focus on contemporary art practices that are invested in the relationship of art to place, exploring topics such as Indigenous land-based knowledges; feminist and anti-racist approaches to geography; ecology and sustainability; accessibility, community, and placemaking; public and site-specific art, and the gallery and museum as context. This course will also take a critical look at systems that organize space including mapping, navigation, land use, public and private property, and institution spaces. Students will conceive, research, and develop art projects that address place and land-based subject matter.",,2.5 credits at VPSB-level,,Theory and Practice: Art and Place,, +VPSC95H3,SOCIAL_SCI,University-Based Experience,"This open-media studio-seminar will explore contemporary art practices that are invested in the relationship between art, activism, and social change. Students will examine how artists address social, economic, environmental, and political issues and the techniques they use to engage different types of collaborators and audiences. Students will conceive, research and develop collaborative art projects that address current social issues on a local or global scale. This course will place a strong emphasis collaborative work and community engagement.",,VPHA46H3 and [2.0 credits at the B- or C-level in VPS courses],"VPSC79H3, VIS307H, VIS310H",Theory and Practice: Art and Social Justice,, +VPSD55H3,,,This advanced Master Class will be taught by a newly invited instructor each time it is offered to provide students with an opportunity to study with an established or emerging artist from the GTA who is engaged in research that is of significance to current art practice.,,1.5 credits at the C-level in VPS courses,"VIS401H, VIS402H, VIS403H, VIS404H, VIS410H, FAS450Y, FAS451H, FAS452H",Advanced Special Topics in Studio Art,, +VPSD56H3,,University-Based Experience,"This advanced, open-media studio art course provides students with an opportunity to conceive, propose, research, develop, and complete a major artwork. This course will culminate in an end-of-term public exhibition in a professional gallery setting.",,"VPSC56H3, and 1.0 credits at VPSC-level","VIS401H, VIS402H, VIS403H, VIS404H, FAS450Y, FAS451H, FAS452H",Advanced Exhibition Practice,, +VPSD61H3,ART_LIT_LANG,,"This advanced, open-media studio art course provides students with an opportunity to conceive, research, develop, and complete a major artwork. Final projects for this course can culminate in a range of presentation formats.",,1.5 credits at VPSC-level,,Advanced Studio Art Project,, +VPSD63H3,,University-Based Experience,For Specialist students only. Students enrolled in this advanced course will work with faculty advisors to develop a major artwork supported by research and project-related writing. This course will involve weekly meetings and an end- of-term group critique. Students enrolled in this course will be offered a dedicated communal studio space.,,"VPSC56H3, VPSC85H3, and 1.0 credits at the C-level in VPS","VIS401H, VIS402H, VIS403H, VIS404H",Independent Study in Studio Art: Thesis,, +WSTA01H3,SOCIAL_SCI,,"This course explores the intersection of social relations of power including gender, race, class, sexuality and disability, and provides an interdisciplinary and integrated approach to the study of women’s lives in Canadian and global contexts. There is a strong focus on the development of critical reading and analytic skills.",,,"(NEW160Y), WGS160Y, WGS101H",Introduction to Women's and Gender Studies,, +WSTA03H3,HIS_PHIL_CUL,,"An introduction to feminist theories and thoughts with a focus on diverse, interdisciplinary and cross-cultural perspectives. An overview of the major themes, concepts and terminologies in feminist thinking and an exploration of their meanings.",,,"(NEW160Y), WGS160Y, WGS200Y, WGS260H",Introduction to Feminist Theories and Thought,, +WSTB05H3,SOCIAL_SCI,,"This course explores the power dynamics embedded in “how we know what we know”. Using a feminist and intersectional lens, we will critically analyze dominant and alternative paradigms of knowledge production, and will examine how knowledge is created and reproduced. Concepts such as bias, objectivity, and research ethics will be explored. There is an experiential learning component.",,WSTA01H3 or WSTA03H3 or (WSTA02H3),"WGS202H, WGS360H",Power in Knowledge Production,, +WSTB06H3,HIS_PHIL_CUL,,"Because of gendered responsibilities for creating homes, migrant women create and experience diasporic relations (to family and friends elsewhere) in distinctive ways. This course uses methods and materials from literature, history and the social sciences to understand the meaning of home for migrant women from many different cultural origins.",,"1.0 credit at the A-level in CLA, GAS, HIS or WST courses",,Women in Diaspora,, +WSTB09H3,HIS_PHIL_CUL,,"This course is an introduction to how the history of colonialism and the power relations of the colonial world have shaped the historical and social constructions of race and gender. The course considers political, legal, economic, and cultural realms through which colonialism produced new gendered and racial social relationships across different societies and communities. The ways in which colonial power was challenged and resisted will also be explored.",,1.0 credit at the A-level in any Humanities or Social Science courses,,"Gender, Race, and Colonialism",, +WSTB10H3,HIS_PHIL_CUL,,"An examination of local and global movements for change, past and current, which address issues concerning women. This course will survey initiatives from the individual and community to the national and international levels to bring about change for women in a variety of spheres.",WSTA01H3 or WSTA03H3,"1.0 credit at the A-level in GAS, HIS, WST, or other Humanities and Social Sciences courses",(WSTA02H3),"Women, Power and Protest: Transnational Perspectives",, +WSTB11H3,SOCIAL_SCI,,"An overview of the complex interactions among race, class, gender and sexuality in traditional and modern societies. Drawing on both historical and contemporary patterns in diverse societies, the course offers feminist perspectives on the ways in which race, class, gender, and sexual orientation have shaped the lives of women and men.",,WSTA01H3 or [WSTA03H3 or (WSTA02H3)],,Intersections of Inequality,, +WSTB12H3,SOCIAL_SCI,,"This course offers an analysis of violence against women and gender-based violence, including acts of resistance against violence. Applying a historical, cultural, and structural approach, family, state, economic and ideological aspects will be addressed. Initiatives toward making communities safer, including strategies for violence prevention and education will be explored.",,WSTA01H3 and [WSTA03H3 or (WSTA02H3) or WSTB05H3 or WSTB11H3 or one half credit from the list provided in requirement #6 in the Major in Women's and Gender Studies],"(NEW373H), WGS373H",Gender-based Violence and Resistance,, +WSTB13H3,HIS_PHIL_CUL,,"An interdisciplinary approach to feminist critiques of the media. Gendered representation will be examined in media such as film, television, video, newspapers, magazines and on-line technologies. Students will also develop a perspective on women's participation in, and contributions toward, the various media industries.",,WSTA01H3 or [WSTA03H3 or (WSTA02H3)],"(NEW271Y), WGS271Y, WGS205H",Feminist Critiques of Media and Culture,, +WSTB20H3,SOCIAL_SCI,,"This course will take a feminist approach to exploring the links between women, gender and the environment. We will examine how racism, sexism, heterosexism and other forms of oppression have shaped environmental discourses. Topics include: social, historical and cultural roots of the environmental crisis, women’s roles in sustainable development, ecofeminism, planning for safer spaces, and activism for change.",,Any 4.0 credits,(WSTC20H3),Feminism and The Environment,, +WSTB22H3,HIS_PHIL_CUL,University-Based Experience,"This introductory survey course connects the rich histories of Black radical women’s acts, deeds, and words in Canada. It traces the lives and political thought of Black women and gender-non-conforming people who refused and fled enslavement, took part in individual and collective struggles against segregated labour, education, and immigration practices; providing a historical context for the emergence of the contemporary queer-led #BlackLivesMatter movement. Students will be introduced, through histories of activism, resistance, and refusal, to multiple concepts and currents in Black feminist studies. This includes, for example, theories of power, race, and gender, transnational/diasporic Black feminisms, Black-Indigenous solidarities, abolition and decolonization. Students will participate in experiential learning and engage an interdisciplinary array of key texts and readings including primary and secondary sources, oral histories, and online archives. Same as HISB22H3",WSTA01H3 or WSTA03H3,1.0 credit at the A-level in any Humanities or Social Science courses,"HISB22H3, WGS340H5",From Freedom Runners to #BlackLivesMatter: Histories of Black Feminism in Canada,, +WSTB25H3,HIS_PHIL_CUL,,"This course introduces students to current discussions, debates and theories in LGBT and queer studies and activism. It will critically examine terms such as gay, lesbian, bisexual, transgender, queer, heterosexual, and ally, and explore how class, race, culture, ability, and history of colonization impact the experience of LGBTQ-identified people.",,"4.0 credits, including 1.0 credit in Humanities or Social Sciences",,"LGBTQ History, Theory and Activism",,Priority will be given to students enrolled in a Women's and Gender Studies program. +WSTC02H3,SOCIAL_SCI,Partnership-Based Experience,"Students will design and conduct a qualitative research project in the community on an issue related to women and/or gender. The course will also include an overview of the various phases of carrying out research: planning the research project, choosing appropriate methods for data collection, analyzing the data and reporting the results. Students should expect to spend approximately 10 hours conducting their research in the community over the course of the semester.",,WSTB05H3 and WSTB11H3 and 0.5 credit taken from the courses listed in requirement 6 of the Major Program in Women's and Gender Studies,(WSTD02H3),Feminist Qualitative Research in Action,, +WSTC10H3,SOCIAL_SCI,,"How development affects, and is affected by, women around the world. Topics may include labour and economic issues, food production, the effects of technological change, women organizing for change, and feminist critiques of traditional development models. Same as AFSC53H3",,[AFSA03H3/IDSA02H3 or IDSB01H3 or IDSB02H3] or [[WSTA01H3 or WSTA03H3] and [an additional 0.5 credit in WST courses]],AFSC53H3,Gender and Critical Development,, +WSTC12H3,ART_LIT_LANG,,"An exploration of the ways in which women from different countries construct the gendered subject in their representations of childhood, sexuality, work, maternity and illness. Texts will be read in English and an emphasis will be placed on the cultural contexts of gender, ethnicity, sexuality and class.",WSTB13H3,[WSTA01H3 and [WSTA03H3 or (WSTA02H3)] and [1.0 additional credit in WST courses],,Writing the Self: Global Women's Autobiographies,, +WSTC13H3,HIS_PHIL_CUL,,"Explores historical and contemporary debates regarding the construction of gender in Islam. Topics include the historical representations of Muslim woman, veiling, sexuality, Islamic law and Islamic feminism. This course situates Muslim women as multidimensional actors as opposed to the static, Orientalist images that have gained currency in the post 9/11 era.",,1.5 credits in WST courses including 0.5 credit at the B- or C-level,"WSTC30H3 (if taken in the 2008 Winter Session), WGS301H","Women, Gender and Islam",, +WSTC14H3,HIS_PHIL_CUL,,"An examination of the impact of social policy on women's lives, from a historical perspective. The course will survey discriminatory practices in social policy as they affect women and immigration, health care, welfare, and the workplace. Topics may include maternity leave, sexual harassment, family benefits, divorce, and human rights policies.",,WSTA01H3 and [WSTA03H3 or (WSTA02H3)],,The Gender Politics of Policy Change,, +WSTC16H3,HIS_PHIL_CUL,,"Examining popular media and history students will investigate themes of criminality, gender and violence in relation to the social construction of justice. Some criminal cases involving female defendants will also be analyzed to examine historical issues and social contexts. Debates in feminist theory, criminology and the law will be discussed.",WSTB13H3,[WSTA01H3 and [WSTA03H3 or (WSTA02H3)]] or [1.0 credit in SOC courses],,"Gender, Justice and the Law",, +WSTC22H3,HIS_PHIL_CUL,,"This course examines the representations of gender in narrative, documentary and experimental films by a selection of global directors from a social, critical and historical perspective. We will analyse and engage with the filmic representations of race, class and sexual orientation, and explore how traditional and non-traditional cinema can challenge or perpetuate normative notions of gender.",WSTB13H3,"Any 5.0 credits, including: [WSTA01H3 and [WSTA02H3 or WSTA03H3]] or [0.5 credit in ENG, FRE or GAS cinema/film focused courses]",,Gender and Film,, +WSTC23H3,SOCIAL_SCI,Partnership-Based Experience,"An opportunity for students in the Major and Minor programs in Women’s and Gender Studies to apply theoretical knowledge related to women and gender to practical community experience through experiential learning within a community, educational or social setting.",,WSTA01H3 and [WSTA03H3 or (WSTA02H3)] and WSTB05H3 and WSTB11H3 and WSTC02H3,HCSC01H3,Community Engagement Practicum,, +WSTC24H3,HIS_PHIL_CUL,,"Across cultures, women are the main preparers and servers of food in domestic settings; in commercial food production and in restaurants, and especially in elite dining establishments, males dominate. Using agricultural histories, recipes, cookbooks, memoirs, and restaurant reviews and through the exploration of students’ own domestic culinary knowledge, students will analyze the origins, practices, and consequences of such deeply gendered patterns of food labour and consumption. Same as FSTC24H3",,"8.0 credits, including [0.5 credit at the A- or B- level in WST courses] and [0.5 credit at the A or B-level in FST courses]",FSTC24H3,Gender in the Kitchen,, +WSTC25H3,HIS_PHIL_CUL,,"This course examines how sexuality and gender are shaped and redefined by cultural, economic, and political globalization. We will examine concepts of identity, sexual practices and queerness, as well as sexuality/gender inequality in relation to formulations of the local-global, nations, the transnational, family, homeland, diaspora, community, borders, margins, and urban-rural.",,"[1.0 credit at the A-level] and [1.0 credit at the B-level in WST courses, or other Humanities and Social Sciences courses]",,Transnational Queer Sexualities,,Priority will be given to students enrolled in the Major and Minor programs in Women’s and Gender Studies. Additional students will be admitted as space permits. +WSTC26H3,HIS_PHIL_CUL,,"This course focuses on the theoretical approaches of critical race theory and black feminist thought this course examines how race and racism are represented and enacted across dominant cultural modes of expression and the ideas, actions, and resistances produced by Black women. The course will analyze intersections of gender subordination, homophobia, systems and institutions of colonialism, slavery and capitalism historically and in the contemporary period.",,WSTA03H3 and WSTB11H3 and an additional 1.0 credit in WST courses,WGS340H5,Critical Race and Black Feminist Theories,, +WSTC28H3,SOCIAL_SCI,,"An introduction to the research on differences between women and men in how they use language and how they behave in conversational interaction, together with an examination of the role of language in reflecting and perpetuating cultural attitudes towards gender. Same as LINC28H3",,"[WSTA01H3 or WSTA03H3] and one full credit at the B-level in ANT, LIN, SOC or WST",JAL355H and LINC28H3,Language and Gender,, +WSTC30H3,,,An examination of a current topic relevant to women and gender studies. Students will have the opportunity to explore recent scholarship in a specific content area which will vary from year to year. Participation in a related project/practicum in the community may be incorporated into the course.,,WSTA01H3 and [WSTA03H3 or (WSTA02H3)],,Special Topics in Women's and Gender Studies,, +WSTC31H3,,,An examination of a current topic relevant to women's and gender studies. Students will have the opportunity to explore recent scholarship in a specific content area which will vary from year to year. Participation in a related project/practicum in the community may be incorporated into the course.,,WSTA01H3 and [WSTA03H3 or (WSTA02H3)],,Special Topics in Women's and Gender Studies,, +WSTC40H3,HIS_PHIL_CUL,,"This course introduces debates and approaches to the intersection of disability with social determinants of gender, sexuality, class, race and ethnicity. Students will examine international human rights for persons with disabilities, images and representations of gender and the body, research questions for political activism, and social injustice.",,"1.5 credits, including [WSTA01H3 or WSTA03H3] and [0.5 credit at the B- or C-level in WST courses]",WGS366H,Gender and Disability,, +WSTC66H3,HIS_PHIL_CUL,,"This course tracks the evolving histories of gender and sexuality in diverse Muslim societies. We will examine how gendered norms and sexual mores were negotiated through law, ethics, and custom. We will compare and contrast these themes in diverse societies, from the Prophet Muhammad’s community in 7th century Arabia to North American and West African Muslim communities in the 21st century. Same as HISC66H3",,"[Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses] or [1.5 credits in WST courses, including 0.5 credit at the B- or C-level]","HISC66H3, RLG312H1","Histories of Gender and Sexuality in Muslim Societies: Between Law, Ethics and Culture",, +WSTD01H3,,University-Based Experience,"An opportunity to undertake an in-depth research topic under the supervision of a Women's and Gender Studies faculty member. Students will work with their supervisor to finalize the course content and methods of approach; assessment will be based on an advanced essay/project on the approved topic, which will be evaluated by the supervising faculty member and program coordinator. The material studied will differ significantly in content and/or concentration from topics offered in regular courses.",,"At least 15.0 credits including: WSTA01H3 and WSTB05H3 and [WSTA03H3 or (WSTA02H3)] and [1.5 credits taken from the courses in requirement 5 and 6 in the Major program in Women's and Gender Studies]. Only students in the Major program in Women's and Gender Studies that have a CGPA of at least 3.3 can enrol in this course. When applying to a faculty supervisor, students need to present a brief written statement of the topic they wish to explore in the term prior to the start of the course.",,Independent Project in Women's and Gender Studies,, +WSTD03H3,,University-Based Experience,"An advanced and in-depth examination of selected topics related to health, sexualities, the gendered body, and the representations and constructions of women and gender. The course will be in a seminar format with student participation expected. It is writing intensive and involves a major research project.",,WSTA01H3 and [WSTA03H3 or (WSTA02H3)] and WSTB11H3 and [1.0 credit at the C-level from requirement 5 or 6 of the Major program in Women's and Gender Studies],,"Feminist Perspectives on Sex, Gender and the Body",, +WSTD04H3,,University-Based Experience,"An in-depth examination of selected topics related to women, gender, equality, and human rights in the context of local and global communities, and diaspora. Student participation and engagement is expected. There will be a major research project.",,8.0 credits including 2.0 credits in WST courses,,Critical Perspectives on Gender and Human Rights,, +WSTD08H3,HIS_PHIL_CUL,,"During the historic protests of 2020, “Abolition Now” was a central demand forwarded by Black and queer-led social movements. But what is abolition? What is its significance as a theory of change, a body of scholarship, and as a practice? This course explores how leading abolitionist and feminist thinkers theorize the state, punishment, criminalization, the root causes of violence, and the meaning of safety. It explores the historical genealogies of abolitionist thought and practice in relation to shifting forms of racial, gendered and economic violence. Students will analyze the works of formerly enslaved and free Black abolitionists, prison writings during the Black Power Era as well as canonical scholarly texts in the field. A central focus of the course is contemporary abolitionist feminist thought. The course is conceptually grounded in Black and queer feminisms, and features works by Indigenous, South Asian women and other women of colour.","HISB22H3/WSTB22H3, WSTC26H3",[[WSTA03H3 and WSTB11H3] and [WSTB22H3 or WSTC26H3] and [1.0 additional credit in WST]] or [1.0 credit in WST and 6.0 credits in any other Humanities or Social Sciences discipline],,Abolition Feminisms,, +WSTD09H3,HIS_PHIL_CUL,,"An in-depth examination of Islamophobic discourses, practices and institutionalized discriminatory policies, and their impact on Muslims and those perceived to be Muslim. Themes include the relationship between Islamophobia, gender orientalism and empire; Islamophobic violence; Islamophobia in the media; the Islamophobia industry; the mobilization of feminism and human rights in the mainstreaming of Islamophobia. Equal attention will be paid to resisting Islamophobia through art, advocacy, and education.","ANTC80H3, RLG204H1 or NMC475H1",WSTB11H3 and 1.0 credit at the C-level from courses listed in requirements 5 and 6 of the Major program in Women's and Gender Studies,,"Race, Gender, and Islamophobia",,Priority will be given to students in the Major program in Women’s and Gender Studies +WSTD10H3,HIS_PHIL_CUL,Partnership-Based Experience,"This course will explore oral history - a method that collects and retells the stories of people whose pasts have often been invisible. Students will be introduced to the theory and practice of feminist oral history and will conduct oral histories of social activists in the community. The final project will include a digital component, such as a podcast.",,"3.5 credits in WST courses, including: [WSTB05H3 and 0.5 credit at the C-level]","HISC28H3, HISD25H3, WSTC02H3 (Fall 2013), HISD44H3 (Fall 2013), CITC10H3 (Fall 2013)",Creating Stories for Social Change,, +WSTD11H3,HIS_PHIL_CUL,,"An advanced and in-depth seminar dedicated to a topic relevant to Women’s and Gender Studies. Students will have the opportunity to explore recent scholarship in a specific content area, which will vary from year to year. Participation in a related project/practicum in the community may be incorporated into the course.",,WSTB11H3 and 1.0 credit at the C-level from the courses in requirement 5 or 6 of the Major program in Women's and Gender Studies,,Special Topics in Women's and Gender Studies,, +WSTD16H3,HIS_PHIL_CUL,,"A comparative exploration of socialist feminism, encompassing its diverse histories in different locations, particularly China, Russia, Germany and Canada. Primary documents, including literary texts, magazines, political pamphlets and group manifestos that constitute socialist feminist ideas, practices and imaginaries in different times and places will be central. We will also seek to understand socialist feminism and its legacies in relation to other contemporary stands of feminism. Same as HISD16H3 Transnational Area",,"[1.0 credit at the B-level] and [1.0 credit at the C-level in HIS, WST, or other Humanities and Social Sciences courses]",HISD16H3,Socialist Feminism in Global Context,, +WSTD30H3,HIS_PHIL_CUL,,"This course examines how popular culture projects its fantasies and fears about the future onto Asia through sexualized and racialized technology. Through the lens of techno-Orientalism this course explores questions of colonialism, imperialism and globalization in relation to cyborgs, digital industry, high-tech labor, and internet/media economics. Topics include the hyper-sexuality of Asian women, racialized and sexualized trauma and disability. This course requires student engagement and participation. Students are required to watch films in class and creative assignments such as filmmaking and digital projects are encouraged. Same as GASD30H3",,[1.0 credit at the B-level] and [1.0 credit at the C-level in WST courses or other Humanities and Social Sciences courses],GASD30H3,Gender and Techno- Orientalism,,"Priority will be given to students enrolled in the Major/Major Co-op and Minor programs Women’s and Gender Studies, and the Specialist, Major and Minor programs in Global Asia Studies. Additional students will be admitted as space permits." +WSTD46H3,HIS_PHIL_CUL,,"Weekly discussions of assigned readings. The course covers a broad chronological sweep but also highlights certain themes, including race and gender relations, working women and family economies, sexuality, and women and the courts. We will also explore topics in gender history, including masculinity studies and gay history. Same as HISD46H3",HISB02H3 or HISB03H3 or HISB14H3 or WSTB06H3 or HISB50H3 or GASB57H3/HISB57H3 or HISC09H3 or HISC29H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in CLA, FST, GAS, HIS or WST courses] and [0.5 credit at the C-level in CLA, FST, GAS, HIS or WST courses]",HISD46H3,Selected Topics in Canadian Women's History,, diff --git a/course-matrix/data/tables/courses.csv b/course-matrix/data/tables/courses.csv new file mode 100644 index 00000000..b157b859 --- /dev/null +++ b/course-matrix/data/tables/courses.csv @@ -0,0 +1,2144 @@ +code,breadth_requirement,course_experience,description,recommended_preperation,prerequisite_description,exclusion_description,name,corequisite_description,note +ACMA01H3,ART_LIT_LANG,,"ACMA01H3 surveys the cultural achievements of the humanities in visual art, language, music, theatre, and film within their historical, material, and philosophical contexts. Students gain understanding of the meanings of cultural works and an appreciation of their importance in helping define what it means to be human.",,,(HUMA01H3),"Exploring Key Questions in the Arts, Culture and Media",, +ACMB10H3,SOCIAL_SCI,,"Equity and diversity in the arts promotes diversity of all kinds, including those of race, gender, socio-economic status, sexual orientation or identity, age, ability or disability, religion, and aesthetics, tradition or practice. This course examines issues of equity and diversity and how they apply across all disciplines of arts, culture and media through critical readings and analysis of cultural policy.",,Any 4.0 credits,(VPAB07H3),Equity and Diversity in the Arts,,"Priority will be given to students enroled in Specialist and Major Programs offered by the Department of Arts, Culture & Media. Other students will be admitted as space permits." +ACMC01H3,ART_LIT_LANG,University-Based Experience,"A study of the arts, culture and/or media sector through reflective practice. Students will synthesize their classroom and work place / learning laboratory experiences in a highly focused, collaborative, and facilitated way through a series of assignments and discussions.",,9.0 credits including VPAB16H3 and VPAB17H3 (or its equivalent with instructor permission) and successful completion of required Field Placement Preparation Activities,,ACMEE Applied Practice I,Field Placement I (may be taken as a prerequisite with Program Director's permission),This course will be graded as a CR if a student successfully completes their internship; and as NCR is the placement was unsuccessful. The NCR will impact the CGPA and count as a 0.0 CGPA value on a transcript. +ACMD01H3,ART_LIT_LANG,University-Based Experience,"An advanced study of the arts, culture and/or media sector through reflective practice. Students will further engage with work places as “learning laboratories”, and play a mentorship role for students in earlier stages of the experiential education process.",,ACMC01H3,,ACMEE Applied Practice II,Field Placement II (may be taken as a prerequisite with Program Director's permission),This course will be graded as a CR if a student successfully completes their internship; and as NCR is the placement was unsuccessful. The NCR will impact the CGPA and count as a 0.0 CGPA value on a transcript. +ACMD02H3,ART_LIT_LANG,University-Based Experience,"An advanced study of the arts, culture and/or media sector through reflective practice. Students will further synthesize their classroom and work place / learning laboratory experiences, and play a mentorship role for students in earlier stages of the experiential education process.",,ACMD01H3,,ACMEE Applied Practice III,Field Placement III (may be taken as a prerequisite with Program Director's permission),This course will be graded as a CR if a student successfully completes their internship; and as NCR is the placement was unsuccessful. The NCR will impact the CGPA and count as a 0.0 CGPA value on a transcript. +ACMD91H3,,,"Independent study of an advanced and intensive kind, under the direction of a faculty member. The material studied should bear some significant relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in other courses. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. The student should submit to the instructor a statement of objectives and proposed content for the course; this should be done by 15 April for 'F' courses and by 1 December for 'S' courses. If the proposal is approved, two faculty members from relevant disciplines will supervise and evaluate the work.",,"3.0 credits at the B-level in the Department of Arts, Culture and Media.",(HUMD91H3),Supervised Readings,, +ACMD92H3,,,"Independent study of an advanced and intensive kind, under the direction of a faculty member. The material studied should bear some significant relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in other courses. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. The student should submit to the instructor a statement of objectives and proposed content for the course; this should be done by 15 April for 'F' courses and by 1 December for 'S' courses. If the proposal is approved, two faculty members from relevant disciplines will supervise and evaluate the work.",,"3.0 credits at the B-level in the Department of Arts, Culture and Media.",(HUMD92H3),Supervised Readings,, +ACMD93Y3,,,"Independent study of an advanced and intensive kind, under the direction of a faculty member. The material studied should bear some significant relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in other courses. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. The student should submit a statement of objectives and proposed content for the course to the instructor by 15 April for 'F' and 'Y' courses and by 1 December for 'S' courses. If the proposal is approved, two faculty members from relevant disciplines will supervise and evaluate the work.",,"3.0 credits at the B-level in the Department of Arts, Culture and Media.",(HUMD93Y3),Supervised Readings,, +ACMD94H3,HIS_PHIL_CUL,University-Based Experience,"This course is an advanced-level collaborative project for senior students in Arts, Culture and Media under the direction of one or more faculty members. While the course nature and focus will vary year to year, the project will likely be rooted in Arts, Culture and Media faculty research or an ongoing community partnership, and will likely involve experiential elements.",,15.0 credits and enrolment in any ACM program,,"Senior Collaboration Project in Arts, Culture and Media",,"Students should contact the ACM Program Manager: acm-pa@utsc.utoronto.ca, to verify if this course could be counted towards their ACM program requirements." +ACMD98H3,HIS_PHIL_CUL,Partnership-Based Experience,"This course offers students the opportunity to integrate experiential learning appropriate to students’ fields of study within the Department of Arts, Culture and Media. It provides student experiences that develop work and life-related skills and knowledge through a spectrum of interactive approaches with focused reflection. The course allows students to apply ACM-specific program knowledge and/or essential employability skills. Students must complete an application form made available on the UTSC Timetable and on the ACM website.",,"[9.0 credits in courses offered by the Department of Arts, and Culture and Media], and cGPA of at least 2.5; selection will be based on the application form",,"Experiential Learning for Arts, Culture and Media Programs",,"This is a 0.5 credit course. However, depending on the course content, it may be offered in a single-term or over two- terms. Priority will be given to students enrolled in programs offered by the Department of Arts, Culture and Media." +ACMD99H3,HIS_PHIL_CUL,Partnership-Based Experience,"This course offers students the opportunity to integrate academic learning with an internship placement appropriate to students’ field of study within the Department of Arts, Culture and Media. The 0.5 credit, two-term course provides students an understanding of workplace dynamics while allowing them to refine and clarify professional and career goals through critical analysis of their work-integrated learning experience.",,"[8.0 credits in courses offered by the Department of Arts, Culture and Media] and [CGPA of at least 3.0]; permission of the Arts Culture and Media Internship Coordinator",,Work Integrated Learning for Arts Culture and Media Programs,, +ACTB40H3,QUANT,,"This course is concerned with the concept of financial interest. Topics covered include: interest, discount and present values, as applied to determine prices and values of annuities, mortgages, bonds, equities, loan repayment schedules and consumer finance payments in general, yield rates on investments given the costs on investments.",,MATA30H3 or MATA31H3 or MATA34H3,"ACT240H, MGFB10H3/(MGTB09H3), (MGTC03H3)",Fundamentals of Investment and Credit,,"Students enrolled in or planning to enrol in any of the B.B.A. programs are strongly urged not to take ACTB40H3 because ACTB40H3 is an exclusion for MGFB10H3/(MGTB09H3)/(MGTC03H3), a required course in the B.B.A. degree. Students in any of the B.B.A programs will thus be forced to complete MGFB10H3/(MGTB09H3)/(MGTC03H3), even if they have credit for ACTB40H3, but will only be permitted to count one of ACTB40H3 and MGFB10H3/(MGTB09H3)/(MGTC03H3) towards the 20 credits required to graduate." +AFSA01H3,HIS_PHIL_CUL,,"An interdisciplinary introduction to the history and development of Africa with Africa's place in the wider world a key theme. Students critically engage with African and diasporic histories, cultures, social structures, economies, and belief systems. Course material is drawn from Archaeology, History, Geography, Literature, Film Studies, and Women's Studies. Same as HISA08H3",,,"HISA08H3, NEW150Y",Africa in the World: An Introduction,, +AFSA03H3,SOCIAL_SCI,Partnership-Based Experience,"This experiential learning course allows students to experience first hand the realities, challenges, and opportunities of working with development organizations in Africa. The goal is to allow students to actively engage in research, decision-making, problem solving, partnership building, and fundraising, processes that are the key elements of development work. Same as IDSA02H3",,,IDSA02H3,Experiencing Development in Africa,, +AFSB01H3,HIS_PHIL_CUL,,"An interdisciplinary introduction to African and African diasporic religions in historic context, including traditional African cosmologies, Judaism, Christianity, Islam, as well as millenarian and synchretic religious movements. Same as HISB52H3",AFSA01H3/HISA08H3,,"HISB52H3, (AFSA02H3)",African Religious Traditions Through History,, +AFSB05H3,SOCIAL_SCI,,"An overview of the range and diversity of African social institutions, religious beliefs and ritual, kinship, political and economic organization, pre-colonial, colonial and post- colonial experience. Same as ANTB05H3",,AFSA01H3 or ANTA02H3,ANTB05H3,Culture and Society in Africa,, +AFSB50H3,HIS_PHIL_CUL,,"An introduction to the history of Sub-Saharan Africa, from the era of the slave trade to the colonial conquests. Throughout, the capacity of Africans to overcome major problems will be stressed. Themes include slavery and the slave trade; pre- colonial states and societies; economic and labour systems; and religious change. Same as HISB50H3",,"Any modern history course, or AFSA01H3","HISB50H3, (HISC50H3), HIS295H, HIS396H, (HIS396Y)",Africa in the Era of the Slave Trade,, +AFSB51H3,HIS_PHIL_CUL,,"Modern Sub-Saharan Africa, from the colonial conquests to the end of the colonial era. The emphasis is on both structure and agency in a hostile world. Themes include conquest and resistance; colonial economies; peasants and labour; gender and ethnicity; religious and political movements; development and underdevelopment; Pan-Africanism, nationalism and independence. Same as HISB51H3",AFSA01H3/HISA08H3 or AFSB50H3 or HISB50H3 strongly recommended.,,HISB51H3 and (HISC51H3) and HIS396H and (HIS396Y),Africa from the Colonial Conquests to Independence,, +AFSB54H3,HIS_PHIL_CUL,,"Africa from the 1960s to the present. After independence, Africans experienced great optimism and then the disappointments of unmet expectations, development crises, conflict and AIDS. Yet the continent’s strength is its youth. Topics include African socialism and capitalism; structural adjustment and resource economies; dictatorship and democratization; migration and urbanization; social movements. Same as HISB54H3",,AFSA01H3 or AFSB51H3 or 0.5 credit in Modern History,"HISB54H3, NEW250Y1",Africa in the Postcolonial Era,, +AFSC03H3,SOCIAL_SCI,,"This course is intended as an advanced critical introduction to contemporary African politics. It seeks to examine the nature of power and politics, state and society, war and violence, epistemology and ethics, identity and subjectivities, history and the present from a comparative and historical perspective. It asks what the main drivers of African politics are, and how we account for political organization and change on the continent from a comparative and historical perspective. Same as IDSC03H3.",,[IDSA01H3 or AFSA01H3] or by instructor’s permission,IDSC03H3,"Contemporary Africa: State, Society, and Politics",, +AFSC19H3,SOCIAL_SCI,University-Based Experience,"This course introduces students to alternative business institutions (including cooperatives, credit unions, worker- owned firms, mutual aid, and social enterprises) to challenge development. It investigates the history and theories of the solidarity economy as well as its potential contributions to local, regional and international socio-economic development. There will be strong experiential education aspects in the course to debate issues. Students analyze case studies with attention paid to Africa and its diaspora to combat exclusion through cooperative structures. Same as IDSC19H3",,AFSA01H3 or IDSA01H3 or POLB90H3 or permission of the instructor,IDSC19H3,"Community-Driven Development: Cooperatives, Social Enterprises and the Black Social Economy",, +AFSC52H3,HIS_PHIL_CUL,,"This course uses a focus on material history and visual culture to explore Ethiopia from the fourth through the nineteenth century, with particular emphasis on the Christian Church, the monarchy, links with both the Mediterranean world and the Indian subcontinent, and the relationship of individuals to their social, economic, artistic and geographic environments. Same as HISC52H3 and VPHC52H3",,[1.0 credit in History] or [VPHA46H3 and an additional 1.0 credit in VPH courses],"HISC52H3, VPHC52H3",Ethiopia: Seeing History,, +AFSC53H3,SOCIAL_SCI,,"How development affects, and is affected by, women around the world. Topics may include labour and economic issues, food production, the effects of technological change, women organizing for change, and feminist critiques of traditional development models. Same as WSTC10H3",,[AFSA03H3/IDSA02H3 or IDSB01H3 or IDSB02H3] or [[WSTA01H3 or WSTA03H3] and [an additional 0.5 credit in WST courses]],WSTC10H3,Gender and Critical Development,, +AFSC55H3,HIS_PHIL_CUL,,"Conflict and social change in Africa from the slave trade to contemporary times. Topics include the politics of resistance, women and war, repressive and weak states, the Cold War, guerrilla movements, resource predation. Case studies of anti-colonial rebellions, liberation wars, and civil conflicts will be chosen from various regions. Same as HISC55H3",,"Any 4.0 credits, including: AFSB50H3/HISB50H3 or AFSB51H3/HISB51H3 or (HISC50H3) or (HISC51H3)",HISC55H3,War and Society in Modern Africa,, +AFSC70H3,HIS_PHIL_CUL,,"The migration of Caribbean peoples to the United States, Canada, and Europe from the late 19th century to the present. The course considers how shifting economic circumstances and labour demands, the World Wards, evolving imperial relationships, pan-Africanism and international unionism, decolonization, natural disasters, and globalization shaped this migration. Same as HISC70H3",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses","NEW428H,HISC70H3",The Caribbean Diaspora,, +AFSC97H3,HIS_PHIL_CUL,,"This course examines women in Sub-Saharan Africa in the pre-colonial, colonial and postcolonial periods. It covers a range of topics including slavery, colonialism, prostitution, nationalism and anti-colonial resistance, citizenship, processes of production and reproduction, market and household relations, and development. Same as HISC97H3",,"Any 4.0 credits, including: AFSA01H3/HISA08H3 or AFSB50H3/HISB50H3 or AFSB51H3/HISB51H3",HISC97H3,Women and Power in Africa,, +AFSD07H3,HIS_PHIL_CUL,,"This course examines resource extraction in African history. We examine global trade networks in precolonial Africa, and the transformations brought by colonial extractive economies. Case studies, from diamonds to uranium, demonstrate how the resource curse has affected states and economies, especially in the postcolonial period. Same as IDSD07H3",,[10.0 credits including [AFSA01H3 or IDSA01H3 or POLB90H3]] or permission of instructor,IDSD07H3,Extractive Industries in Africa,, +AFSD16H3,SOCIAL_SCI,University-Based Experience,"This course analyzes racial capitalism among persons of African descent in the Global South and Global North with a focus on diaspora communities. Students learn about models for self-determination, solidarity economies and cooperativism as well as Black political economy theory. Same as IDSD16H3",,[10.0 credits including [AFSA01H3 or IDSA01H3 or POLB90H3]] or permission of instructor,IDSD16H3,Africana Political Economy in Comparative Perspective,, +AFSD20H3,SOCIAL_SCI,,"This course offers an advanced critical introduction to the security-development nexus and the political economy of conflict, security, and development. It explores the major issues in contemporary conflicts, the securitization of development, the transformation of the security and development landscapes, and the broader implications they have for peace and development in the Global South. Same as IDSD20H3.",,[12.0 including (IDSA01H3 or AFSA01H3 or POLC09H3)] or by instructor’s permission,IDSD20H3,"Thinking Conflict, Security, and Development",, +AFSD51H3,HIS_PHIL_CUL,,"A seminar study of southern African history from 1900 to the present. Students will consider industrialization in South Africa, segregation, apartheid, colonial rule, liberation movements, and the impact of the Cold War. Historiography and questions of race, class and gender will be important. Extensive reading and student presentations are required. Same as HISD51H3 Africa and Asia Area",,8.0 credits including AFSB51H3/HISB51H3 or HISD50H3,HISD51H3,"Southern Africa: Colonial Rule, Apartheid and Liberation",, +AFSD52H3,HIS_PHIL_CUL,,"A seminar study of East African peoples from late pre-colonial times to the 1990's, emphasizing their rapid although uneven adaptation to integration of the region into the wider world. Transitions associated with migrations, commercialization, religious change, colonial conquest, nationalism, economic development and conflict, will be investigated. Student presentations are required. Same as HISD52H3",,8.0 credits including AFSB50H3/HISB50H3 or AFSB51H3/HISB51H3 or HISC55H3,HISD52H3,East African Societies in Transition,, +AFSD53H3,HIS_PHIL_CUL,,"This seminar course examines the First World War in its imperial and colonial context in Africa and Asia. Topics include forgotten fronts in Africa, the Middle East, Asia and the Pacific, colonial armies and civilians, imperial economies and resources, the collapse of empires and the remaking of the colonial world. Same as GASD53H3 and HISD53H3",,"8.0 credits, including: [1.0 credit in AFS, GAS, or Africa and Asia area HIS courses]","GASD53H3, HISD53H3",Africa and Asia in the First World War,, +ANTA01H3,NAT_SCI,,"An introduction to Biological Anthropology and Archaeology. Concentrates on the origins and evolution of human life, including both biological and archaeological aspects, from the ancient past to the present. Science credit",,,"ANT100Y, ANT101H",Introduction to Anthropology: Becoming Human,, +ANTA02H3,SOCIAL_SCI,,"How does an anthropological perspective enable us to understand cultural difference in an interconnected world? In this course, students will learn about the key concepts of culture, society, and language. Drawing upon illustrations of family, economic, political, and religious systems from a variety of the world's cultures, this course will introduce students to the anthropological approach to studying and understanding human ways of life.",,,"ANT100Y, ANT102H","Introduction to Anthropology: Society, Culture and Language",, +ANTB01H3,SOCIAL_SCI,,"This course examines human-environmental relations from an anthropological perspective. Throughout the semester, we explore how peoples from different parts of the globe situate themselves within culturally constructed landscapes. Topics covered include ethnoecology, conservation, green consumerism, the concept of 'wilderness', and what happens when competing and differentially empowered views of the non-human world collide.",,ANTA02H3,,Political Ecology,, +ANTB02H3,SOCIAL_SCI,,"An ethnographic inquiry into the culturally configured human body as a reservoir of experiential knowledge, focus of symbolism, and site of social, moral, and political control.",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC, ENG or HCS courses] or [permission of the instructor.]",(ANTD01H3),The Body in Culture and Society,, +ANTB05H3,SOCIAL_SCI,,"An overview of the range and diversity of African social institutions, religious beliefs and ritual, kinship, political and economic organization, pre-colonial, colonial and post- colonial experience. Same as AFSB05H3 Area course",,ANTA02H3 or AFSA01H3,AFSB05H3,Culture and Society in Africa,, +ANTB09H3,SOCIAL_SCI,,"How is culture represented through visual media, from ethnographic and documentary film, to feature films, television, and new media? How do various communities re- vision themselves through mass, independent, or new media? This course investigates media and its role in the contemporary world from a socio-cultural anthropological perspective.",,ANTA02H3,,Culture through Film and Media,, +ANTB11H3,SOCIAL_SCI,,"This introduction to archaeology focuses on how societies around the world have changed through time from the earliest humans to the emergence of state-level societies. This course uses a global perspective to address key issues such as evidence of the earliest art, development of agriculture, and the origins of social inequality and warfare.",,,,World Prehistory,, +ANTB12H3,SOCIAL_SCI,,"This course is about science fiction as a form of cultural and political critique. The course will explore themes that are central to both ethnography and science fiction, including topics such as colonialism, gender, and the climate crisis, while reflecting on the power of writing and myth-making to produce meaning and the future.",,"ANTA02H3, or any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC, ENG or HCS courses, or permission of the instructor",,Anthropology of Science Fiction,, +ANTB14H3,NAT_SCI,,"This course explores the synthetic theory of evolution, its principles, processes, evidence and application as it relates to the evolution of human and nonhuman primates. Lecture topics and laboratory projects include: evolutionary theory, human variation, human adaptability, primate biology, and behaviour, taxonomy and classification, paleontological principles and human origins and evolution. Science credit",,ANTA01H3,ANT203Y,Evolutionary Anthropology,, +ANTB15H3,NAT_SCI,,"Basic to the course is an understanding of the synthetic theory of evolution and the principles, processes, evidence and application of the theory. Laboratory projects acquaint the student with the methods and materials utilized Biological Anthropology. Specific topics include: the development of evolutionary theory, the biological basis for human variation, the evolutionary forces, human adaptability and health and disease. Science credit Same as HLTB20H3",,ANTA01H3 or [HLTA02H3 and HLTA03H3],"ANT203Y, HLTB20H3",Contemporary Human Evolution and Variation,, +ANTB16H3,SOCIAL_SCI,,"This course explores the creation or invention of a Canadian national identity in literature, myth and symbolism, mass media, and political culture. Ethnographic accounts that consider First Nations, regional, and immigrant identities are used to complicate the dominant story of national unity. Area course",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]",,Canadian Cultural Identities,, +ANTB18H3,SOCIAL_SCI,,"This course addresses Latin American systems of inequality in relation to national and transnational political economy, from colonialism to neoliberalism; how ideas of race, culture, and nation intersect with development thinking and modernization agendas; and how the poor and marginalized have accommodated, resisted, and transformed cultural and political domination. Area course",,ANTA02H3,(ANTC08H3),"Development, Inequality and Social Change in Latin America",, +ANTB19H3,SOCIAL_SCI,,"This course introduces students to the theory and practice of ethnography, the intensive study of people's lives as shaped by social relations, cultural beliefs, and historical forces. Various topics, including religion, economics, politics, and kinship introduce students to key anthropological concepts and theoretical developments in the field.",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]","ANT204Y, ANT207H1",Ethnography and the Comparative Study of Human Societies,, +ANTB20H3,SOCIAL_SCI,,"How has the global flow of goods, persons, technologies, and capital reproduced forms of inequality? Using ethnography and other media, students examine globalization through topics like migration, race and citizenship, environmental degradation, and increasing violence while also discussing older anthropological concerns (e.g., kinship, religious practices, and authority). This course enhances students’ understanding of ethnography, as a method for studying how actors engage and rework the global forces shaping their lives.",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]","ANT204Y, ANT204H",Ethnography and the Global Contemporary,, +ANTB22H3,SOCIAL_SCI,University-Based Experience,"This course will provide students with a general introduction to the behaviour and ecology of non-human primates (prosimians, Old and New World monkeys, and apes), with a particular emphasis on social behaviour. The course will consist of lectures reinforced by course readings; topics covered will include dominance, affiliation, social and mating systems, communication, and reproduction. Science credit",,,,Primate Behaviour,, +ANTB26H3,SOCIAL_SCI,,"What makes the Middle East and North Africa unique as a world region? This course considers the enduring impact of the past colonial encounter with the North Atlantic, as well as religious movements, nationalist histories, the impact of new communication technologies, and regional conflicts. Examples are drawn from a variety of contexts.",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]",(ANTC89H3),The Middle East and North Africa: Past and Present,, +ANTB33H3,SOCIAL_SCI,,"This course explores a pressing issue facing contemporary life: “the future of work.” It examines how work has been and continues to be transformed by automation, digital technologies, climate change, pandemics, the retrenchment of the welfare state, deindustrialization, global supply chains, and imperial and colonial rule. All kinds of media (e.g., academic texts, corporate publications, policy reports, activist literature, cinema) will be utilized to demonstrate how these transformations are not limited to work or labour but reverberate across social, political, and economic life.",A general interest and knowledge of economic and political anthropology.,"ANTA02H3 and [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses] or permission of the instructor",,The Future of Work,, +ANTB35H3,ART_LIT_LANG,,"Around the world, youth is understood as the liminal phase in our lives. This course examines how language and new media technologies mark the lives of youth today. We consider social media, smartphones, images, romance, youth activism and the question of technological determinism. Examples are drawn from a variety of contexts. Same as MDSB09H3",,"ANTA02H3 or MDSA01H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]",MDSB09H3,"Kids These Days: Youth, Language and Media",, +ANTB36H3,SOCIAL_SCI,,"A cultural and comparative study of apocalyptic thought, practice, and representation around the world. It explores the conditions that inspire end times thinking and the uses it serves. Cases may include: millenarian movements, Revelation, colonialism, epidemics, infertility, deindustrialization, dystopian science fiction, nuclear war, climate change, and zombies.",,ANTA02H3,,Anthropology of the End of the World,, +ANTB42H3,SOCIAL_SCI,,"This course surveys central issues in the ethnographic study of contemporary South Asia (Afghanistan, Bangladesh, Bhutan, India, the Maldives, Nepal, Pakistan and Sri Lanka). Students will engage with classical and recent ethnographies to critically examine key thematic fault lines within national imaginations, especially along the lines of religion, caste, gender, ethnicity, and language. Not only does the course demonstrate how these fault lines continually shape the nature of nationalism, state institutions, development, social movements, violence, and militarism across the colonial and post-colonial periods but also, demonstrates how anthropological knowledge and ethnography provide us with a critical lens for exploring the most pressing issues facing South Asia in the world today. Same as GASB42H3",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC, GAS, HCS or Africa and Asia Area HIS courses]","(ANTC12H3), GASB42H3, (GASC12H3)",Culture and Society in Contemporary South Asia,, +ANTB64H3,SOCIAL_SCI,University-Based Experience,"This course examines the social significance of food and foodways from the perspective of cultural anthropology. We explore how the global production, distribution, and consumption of food, shapes or reveals, social identities, political processes, and cultural relations. Lectures are supplemented by hands-on tutorials in the Culinaria Kitchen Laboratory.",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]","(ANTC64H3), ANT346H1",Are You What You Eat?: The Anthropology of Food,, +ANTB65H3,SOCIAL_SCI,,"Introduces the cultures and peoples of the Pacific. Examines the ethnography of the region, and the unique contributions that Pacific scholarship has made to the development of anthropological theory. Explores how practices of exchange, ritual, notions of gender, death and images of the body serve as the basis of social organization. Area course",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]",(ANTC65H3),An Introduction to Pacific Island Societies,, +ANTB66H3,SOCIAL_SCI,University-Based Experience,"A comparison of pilgrimage in different religious traditions, including Christian, Buddhist, Muslim, Hindu and those of indigenous communities (such as the Huichol of Mexico) will introduce students to the anthropology of religion. We will consider the aspirations and experiences of various pilgrims, while being mindful of cultural similarities and differences.",,ANTA02H3 or [any 4.0 credits],RLG215H,Spiritual Paths: A Comparative Anthropology of Pilgrimage,, +ANTB80H3,NAT_SCI,University-Based Experience,"This course introduces students to the methods, theories, and practices used in Archaeology. Building on the course material presented in ANTA01H3, there will be a focus on important themes in Archaeology as a subfield of Anthropology, including: artefact analysis, dating methods, theories of the origins of social development/complexity, and careers in archaeology today. This course will include lectures and complimentary readings that will expose students to the important ideas within the field. There will also be an experiential component in the form of four hands-on workshops where students will get to interact with artefacts and gain experience using some of the methods discussed in class. There will be an extra workshop for students to get help with their essay outline.",,ANTA01H3,"ANT200Y1, ANT200Y5, ANT200H5","Introduction to Archaeology: Methods, Theories, and Practices",, +ANTC03H3,,,"A directed exploration of specific topics in Anthropology, based on extensive investigation of the literature. These courses are available in exceptional circumstances and do not duplicate regular course offerings. Students are advised that they must obtain consent from the supervising instructor before registering. Individual tutorials, as arranged. A minimum B plus average is normally required to be considered for these courses. May be science credit or area course depending on topic.",,Permission of the instructor and ANTA01H3 and ANTA02H3 and [one B-level full credit in Anthropology in the appropriate sub-field (biological or cultural)].,,Directed Reading in Anthropology,, +ANTC04H3,,,"A directed exploration of specific topics in Anthropology, based on extensive investigation of the literature. These courses are available in exceptional circumstances and do not duplicate regular course offerings. Students are advised that they must obtain consent from the supervising instructor before registering. Individual tutorials, as arranged. A minimum B plus average is normally required to be considered for these courses. May be science credit or area course depending on topic.",,Permission of the instructor and ANTA01H3 and ANTA02H3 and [one B-level full credit in Anthropology in the appropriate sub-field (biological or cultural)].,,Directed Reading in Anthropology,, +ANTC07H3,SOCIAL_SCI,,"This course explores the intersection of the social and the material by examining the role of objects in making worlds. We examine the relationship between people, culture, and 'things' through topics such as commodification and consumption, collecting and representation, technology and innovation, art and artifact, and the social life of things.",,ANTB19H3 and ANTB20H3,,Material Worlds,, +ANTC09H3,SOCIAL_SCI,,"This course explores Anthropological approaches to kinship and family arrangements. In addition to examining the range of forms that family arrangements can take cross-culturally, we also examine how kinship configurations have changed within our own society in recent years. Topics to be covered include trans-national adoption, ""mail-order-brides"", new reproductive technologies and internet dating.",,ANTA02H3 and ANTB19H3 and ANTB20H3,,"Sex, Love, and Intimacy: Anthropological Approaches to Kinship and Marriage",, +ANTC10H3,SOCIAL_SCI,,"A critical probe of the origins, concepts, and practices of regional and international development in cultural perspective. Attention is paid to how forces of global capitalism intersect with local systems of knowledge and practice.",,ANTB19H3 and ANTB20H3,,Anthropological Perspectives on Development,, +ANTC14H3,SOCIAL_SCI,,"Examines why, when, and how gender inequality became an anthropological concern by tracing the development of feminist thought in a comparative ethnographic framework.",,[ANTB19H3 and ANTB20H3] or [1.0 credit at the B-level in WST courses],,Feminism and Anthropology,, +ANTC15H3,SOCIAL_SCI,,Explores cultural constructions of male and female in a range of societies and institutions. Also examines non-binary gender configurations.,ANTC14H3,[ANTB19H3 and ANTB20H3] or [1.0 credit at the B-level in WST courses],,Genders and Sexualities,, +ANTC16H3,NAT_SCI,,"The study of human origins in light of recent approaches surrounding human evolution. This course will examine some of these, particularly the process of speciation, with specific reference to the emergence of Homo. Fossils will be examined, but the emphasis will be on the interpretations of the process of hominisation through the thoughts and writings of major workers in the field. Science credit",,ANTA01H3 or ANTB14H3 or ANTC17H3,(ANT332Y),The Foundation and Theory of Human Origins,, +ANTC17H3,NAT_SCI,,"The study of human origins in light of recent approaches surrounding human evolution. New fossil finds present new approaches and theory. This course will examine some of these, particularly the process of speciation and hominisation with specific reference to the emergence of Homo. Labs permit contact with fossils in casts. Science credit",,ANTA01H3 and ANTA02H3,(ANT332Y),Human Origins: New Discoveries,, +ANTC18H3,SOCIAL_SCI,,"The planet today is more urbanized than at any other moment in its history. What are the tools we need to examine urbanization in this contemporary moment? This course explores how urbanization has altered everyday life for individuals and communities across the globe. Students will trace urbanization as transformative of environmental conditions, economic activities, social relations, and political life. Students will thus engage with work on urbanization to examine how urban spaces and environments come to be differentiated along the lines of race, class, and gender. Not only does this course demonstrate how such fault lines play themselves out across contexts, but also provides the critical lenses necessary to tackle the most pressing issues related to urbanization today.",,[ANTB19H3 and ANTB20H3] or [1.5 credits at the B-level in CIT courses],,Urban Worlds,, +ANTC19H3,SOCIAL_SCI,,"This course examines economic arrangements from an anthropological perspective. A key insight to be examined concerns the idea that by engaging in specific acts of production, people produce themselves as particular kinds of human beings. Topics covered include gifts and commodities, consumption, global capitalism and the importance of objects as cultural mediators in colonial and post-colonial encounters.",,ANTB19H3 and ANTB20H3,,Producing People and Things: Economics and Social Life,, +ANTC20H3,SOCIAL_SCI,,"What limits exist or can be set to commoditized relations? To what extent can money be transformed into virtue, private goods into the public ""Good""? We examine the anthropological literature on gift-giving, systems of exchange and value, and sacrifice. Students may conduct a short ethnographic project on money in our own society, an object at once obvious and mysterious.",,ANTB19H3 and ANTB20H3,,"Gifts, Money and Morality",, +ANTC22H3,SOCIAL_SCI,,"What does it mean to get an education? What are the consequences of getting (or not getting) a “good education”? For whom? Who decides? Why does it matter? How are different kinds of education oriented toward different visions of the future? What might we learn about a particular cultural context if we explore education and learning as social processes and cultural products linked to specific cultural values, beliefs, and power dynamics? These are just some of the questions we will explore in this course. Overall, students will gain a familiarity with the anthropology of education through an exploration of ethnographic case studies from a variety of historical and cultural contexts.",,[ANTB19H3 and ANTB20H3],ANTC88H3 if taken in Fall 2021,"Education, Power, and Potential: Anthropological Perspectives and Ethnographic Insights",,"Priority will be given to students enrolled in any of the following Combined Degree Programs: Evolutionary Anthropology (Specialist), Honours Bachelor of Science/ Master of Teaching Evolutionary Anthropology (Major), Honours Bachelor of Science/ Master of Teaching Socio- Cultural Anthropology (Specialist), Honours Bachelor of Arts/ Master of Teaching Socio-Cultural Anthropology (Major), Honours Bachelor of Arts/ Master of Teaching" +ANTC24H3,SOCIAL_SCI,,"Does schizophrenia exist all over the world? Does depression look different in China than it does in Canada? By examining how local understandings of mental illness come into contact with Western psychiatric models, this course considers the role of culture in the experience, expression, definition, and treatment of mental illness and questions the universality of Western psychiatric categories.",ANTC61H3,[ANTB19H3 and ANTB20H3] or HLTB42H3,,"Culture, Mental Illness, and Psychiatry",, +ANTC25H3,SOCIAL_SCI,,"How are we to understand the relationship between psychological universals and diverse cultural and social forms in the constitution of human experience? Anthropology's dialogue with Freud; cultural construction and expression of emotions, personhood, and self.",,ANTB19H3 and ANTB20H3,,Anthropology and Psychology,, +ANTC27H3,NAT_SCI,,"Primates are an intensely social order of animals showing wide variation in group size, organization and structure. Using an evolutionary perspective, this course will focus on why primates form groups and how their relationships with different individuals are maintained, with reference to other orders of animals. The form and function of different social systems, mating systems, and behaviours will be examined.",,ANTB22H3,,Primate Sociality,, +ANTC29H3,SOCIAL_SCI,University-Based Experience,"This course engages with the diverse histories of First Nations societies in North America, from time immemorial, through over 14 thousand years of archaeology, to the period approaching European arrivals. We tack across the Arctic, Plains, Northwest Coast, Woodlands, and East Coast to chart the major cultural periods and societal advancements told by First Nations histories and the archaeological record. Along with foundational discussions of ancestral peoples, societal development, and human paleoecology, we also engage with core topical debates in North American archaeology, such as the ethics of ancient DNA, peopling processes, environmental change, response, and conservation, inequalities, decolonization, and progress in Indigenous archaeologies.",,ANTA01H3,,Archaeologies of North America,, +ANTC30H3,SOCIAL_SCI,,Intensive survey of a particular world region or current theme in archaeological research. Topic will change year to year.,,ANTA01H3 and [ANTB11H3 or ANTB80H3],,Themes in Global Archaeology,, +ANTC31H3,SOCIAL_SCI,,"The nature and logic of ritual. Religious practices and projects; the interface of religion, power, morality, and history in the contemporary world.",,ANTB19H3 and ANTB20H3,,Ritual and Religious Action,, +ANTC32H3,SOCIAL_SCI,,"Can ethnographic research help us make sense of various political situations and conflicts around the world? In this course we will review different approaches to power and politics in classical and current anthropology. We will consider notions of the state, political agency and power, civil society, authoritarianism and democracy.",,ANTB19H3 and ANTB20H3,,Political Anthropology,, +ANTC33H3,SOCIAL_SCI,,"Anthropological approaches to the origin and function of religion, and the nature of symbolism, myth, ritual, sorcery, spirit possession, and cosmology, with primary reference to the religious worlds of small-scale societies.",,ANTB19H3 and ANTB20H3,(ANTB30H3),Of Gods and Humans: Anthropological Approaches to Religion,, +ANTC34H3,SOCIAL_SCI,,"This course considers dimensions of transnationalism as a mode of human sociality and site for cultural production. Topics covered include transnational labour migration and labour circuits, return migration, the transnational dissemination of electronic imagery, the emergence of transnational consumer publics, and the transnational movements of refugees, kinship networks, informal traders and religions.",,"[ANTB19H3 and ANTB20H3] or [any 8.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]",,The Anthropology of Transnationalism,, +ANTC35H3,QUANT,,"A consideration of quantitative data and analytical goals, especially in archaeology and biological anthropology. Some elementary computer programming, and a review of program packages suitable for anthropological analyses will be included. Science credit",ANTB15H3,ANTA01H3 and ANTA02H3,"MGEB11H3/(ECMB11H3), PSYB07H3, (SOCB06H3), STAB22H3",Quantitative Methods in Anthropology,, +ANTC40H3,QUANT,,"An examination of the biological, demographic, ecological and socio-cultural determinants of human and non-human population structure and the interrelationships among them. Emphasis is given to constructing various demographic measures of mortality, fertility and immigration and their interpretation. Science credit",,ANTB14H3 and ANTB15H3 and [any statistics course],,Methods and Analysis in Anthropological Demography,, +ANTC41H3,NAT_SCI,,"Human adaptability refers to the human capacity to cope with a wide range of environmental conditions, including aspects of the physical environment like climate (extreme cold and heat), high altitude, geology, as well as aspects of the socio- cultural milieu, such as pathogens (disease), nutrition and malnutrition, migration, technology, and social change. Science credit",,[ANTB14H3 and ANTB15H3] or [BIOA01H3 and BIOA02H3],,"Environmental Stress, Culture and Human Adaptability",, +ANTC42H3,NAT_SCI,,Human adaptability refers to the human capacity to cope with a wide range of environmental conditions. Emphasis is placed on human growth and development in stressed and non-stressed environments. Case studies are used extensively. Science credit,,ANTC41H3,,"Human Growth, Development and Adaptability",, +ANTC44H3,SOCIAL_SCI,,"This seminar explores anthropological insights and historical/archeological debates emerging from Amazonia, a hotspot of social and biodiversity currently under grave threat. We will look at current trends in the region, the cultural logic behind deforestation and land-grabbing, and the cultural and intellectual production of indigenous, ribeirinho, and quilombola inhabitants of the region.",,ANTB19H3 and [ANTB20H3 or ANTB01H3 or ESTB01H3],,Amazonian Anthropology,, +ANTC47H3,NAT_SCI,,"A ""hands-on"" Laboratory course which introduces students to analyzing human and nonhuman primate skeletal remains using a comparative framework. The course will cover the gross anatomy of the skeleton and dentition, as well as the composition and microstructure of bone and teeth. The evolutionary history and processes associated with observed differences in human and primate anatomy will be discussed. Science credit",,ANTA01H3 or BIOB33H3 or HLTB33H3 or PMDB33H3,"ANT334H, ANT334Y",Human and Primate Comparative Osteology,, +ANTC48H3,NAT_SCI,,"A ""hands-on"" laboratory course which introduces students to the methods of analyzing human skeletal remains. Topics and analytic methods include: (1) the recovery and treatment of skeletal remains from archaeological sites; (2) odontological description, including dental pathology; (3) osteometric description; (4) nonmetric trait description; (5) methods of estimating age at death and sex; (6) quantitative analysis of metric and nonmetric data; and (7) paleopathology. Science credit",,ANTC47H3,"ANT334H, ANT334Y",Advanced Topics In Human Osteology,, +ANTC52H3,ART_LIT_LANG,,"Language and ways of speaking are foundational to political cultures. This course covers the politics of language in the age of globalization, including multiculturalism and immigration, citizenship, race and ethnicity, post-colonialism, and indigeneity. Ethnographic examples are drawn from a variety of contexts, including Canadian official bilingualism and First Nations.",,ANTB19H3 and ANTB20H3,,Global Politics of Language,, +ANTC53H3,ART_LIT_LANG,,"How do media work to circulate texts, images, and stories? Do media create unified publics? How is the communicative process of media culturally-distinct? This course examines how anthropologists have studied communication that occurs through traditional and new media. Ethnographic examples drawn from several contexts. Same as MDSC53H3",,[ANTB19H3 and ANTB20H3] or [MDSA01H3 and MDSB05H3],MDSC53H3,Anthropology of Media and Publics,, +ANTC58H3,HIS_PHIL_CUL,,"This course reflects on the concept of Orientalism and how it informs the fields of Classical Studies and Anthropology. Topics to be discussed include the Orientalization of the past and the origin, role, and significance of ancient representations of the ""Other"" in contemporary discourses. Same as CLAC68H3 and HISC68H3",,"1.0 credit from the following: [CLAA04H3/HISA07H3, CLAB05H3/HISB10H3, CLAB06H3/HISB11H3, ANTA02H3, ANTB19H3, ANTB20H3, HISB02H3, AFSB50H3/HISB50H3, AFSB51H3/HISB51H3, HISB53H3, HISB57H3, HISB58H3, HISB60H3, HISB61H3, HISB62H3, HISB93H3, HISB94H3]","CLAC68H3, HISC68H3",Constructing the Other: Orientalism through Time and Place,, +ANTC59H3,ART_LIT_LANG,,"Anthropology studies language and media in ways that show the impact of cultural context. This course introduces this approach and also considers the role of language and media with respect to intersecting themes: ritual, religion, gender, race/ethnicity, power, nationalism, and globalization. Class assignments deal with lecturers, readings, and students' examples. Same as MDSC21H3",,[ANTB19H3 and ANTB20H3] or [MDSA01H3 and MDSB05H3],"(ANTB21H3), (MDSB02H3), MDSC21H3",Anthropology of Language and Media,, +ANTC61H3,SOCIAL_SCI,,"Social and symbolic aspects of the body, the life-cycle, the representation and popular explanation of illness, the logic of traditional healing systems, the culture of North American illness and biomedicine, mental illness, social roots of disease, innovations in health care delivery systems.",,[ANTB19H3 and ANTB20H3] or HLTB42H3,,Medical Anthropology: Illness and Healing in Cultural Perspective,, +ANTC62H3,NAT_SCI,,"The examination of health and disease in ecological and socio-cultural perspective. Emphasis is placed on variability of populations in disease susceptibility and resistance in an evolutionary context. With its sister course, ANTC61H3, this course is designed to introduce students to the basic concepts and principles of medical anthropology. Principles of epidemiology, patterns of inheritance and biological evolution are considered. Science credit",,ANTB14H3 and ANTB15H3,,Medical Anthropology: Biological and Demographic Perspectives,, +ANTC65H3,SOCIAL_SCI,,"This course is an enquiry into the social construction of science and scientific expertise, with a particular focus on medicine and health. The interdisciplinary field of Science and Technology Studies (STS) opens up a very different perspective from what gets taught in biology classes about how medical knowledge is created, disseminated, becomes authoritative (or not), and is taken up by different groups of people. In our current era of increasing anti-science attitudes and “alternative facts,” this course will offer students an important new awareness of the politics of knowledge production.",,ANTB19H3 and ANTB20H3,Students who enrolled in ANTC69H3 in Fall 2023 may not take this course for credit.,"Anthropology of Science, Medicine, and Technology",, +ANTC66H3,SOCIAL_SCI,University-Based Experience,"This course explores the global cultural phenomenon of tourism. Using case studies and historical perspectives, we investigate the complex motivations and consequences of travel, the dimensions of tourism as development, the ways tourism commodifies daily life, the politics of tourism representation, and the intersection of travel, authenticity and modernity.",,ANTB19H3 and ANTB20H3,,Anthropology of Tourism,, +ANTC67H3,QUANT,,"Epidemiology is the study of disease and its determinants in populations. It is grounded in the biomedical paradigm, statistical reasoning, and that risk is context specific. This course will examine such issues as: methods of sampling, types of controls, analysis of data, and the investigation of epidemics. Science credit",,[Any B-level course in Anthropology or Biology] and [any statistics course].,,Foundations in Epidemiology,, +ANTC68H3,NAT_SCI,,"Colonization, globalization and socio-ecological factors play an important role in origin, maintenance and emergence of old and new infectious diseases in human populations such as yellow fever, cholera, influenza, SARS. Issues of co- morbidity, the epidemiological transition, syndemics and the impact of global warming on the emergence of new diseases are discussed. Science credit",,[Any B-level course in Anthropology or Biology] and [any statistics course].,,Deconstructing Epidemics,, +ANTC69H3,SOCIAL_SCI,,"This course explores key themes, theories, and thinkers that have shaped anthropological thought, past and present. In any given year we will focus on the work of a particular important thinker or a school of thought. As we examine trends and approaches that have been influential to the field, we consider the debates these have generated, the ethnographic innovations they have inspired, and their relevance for core debates in anthropology. Topics and readings will be chosen annually by the instructor.",,ANTB19H3 and ANTB20H3,,Ideas That Matter: Key Themes and Thinkers in Anthropology,,Priority will be given to students enrolled in the specialist program in Anthropology. Additional students will be admitted as space permits. +ANTC70H3,SOCIAL_SCI,University-Based Experience,"This course is an exploration of the ongoing significance of the ethnographic method to the practice of research in socio- cultural anthropology. How and why have ethnographic methods become so central to anthropology, and what can we continue to learn with them? Students complement readings and lectures on theories and practices of ethnographic methods, both historical and contemporary, with exercises and assignments designed to provide first-hand experience in carrying out various techniques of ethnographic research. We also consider the unique ethical challenges of ethnographic methods and what it means to conduct ethically sound research.",,ANTB19H3 and ANTB20H3 and [at least 0.5 credit at the C-level in socio-cultural anthropology courses].,(ANTC60H3),"Ethnographic Methods in Anthropology: Past, Present, and Future",,"Priority will be given to students in the Specialist in Anthropology, followed by students in the Major in Anthropology, followed by students in the Specialist programs in International Development Studies." +ANTC71H3,NAT_SCI,,"This course examines the evolution of human-environment systems over deep time as well as the present implications of these relationships. We will examine the archaeological methods used in reconstructing human palaeoecology and engage with evolutionary and ecological theory as it has been applied to the archaeological record in order to understand how humans have altered ecosystems and adapted to changing climates through time and space. Building upon the perspective of humans as a long-term part of ecological systems, each student will choose a current environmental policy issue and progressively build a proposal for a remediation strategy or research program to address gaps in knowledge.","A knowledge of evolutionary anthropology, archaeology, or relevant courses in ecology.","[0.5 credit from the following: ANTA01H3, ANTB80H3, EESA01H3 or BIOB50H3] and [1.0 credit of additional B- or C- level courses in ANT, BIO, or EES]",,"Climate, Palaeoecology, and Policy: Archaeology of Humans in the Environment",, +ANTC80H3,SOCIAL_SCI,,"This course explores ideas of race and racist practice, both past and present. Socio-cultural perspectives on race and racism must address a central contradiction: although biological evidence suggests that racial categories are not scientifically valid, race and racism are real social phenomena with real consequences. In order to address this contradiction, the course will examine the myriad ways that race is produced and reproduced, as well as how racism is perpetuated and sustained.",,ANTB19H3 and ANTB20H3,,Race and Racism: Anthropological Insights,, +ANTC88H3,SOCIAL_SCI,,The topics presented in this course will represent a range of contemporary issues in Anthropology. Topics will vary by instructor and term.,,ANTB19H3 and ANTB20H3,,Special Topics,, +ANTC99H3,NAT_SCI,,"This course examines 65 million years of evolutionary history for non-human primates. The primary emphasis will be on the fossil record. Topics covered may include the reconstruction of behaviour from fossil remains, the evolution of modern primate groups, and the origins of the Order.",,ANTA01H3 or ANTB14H3,,Primate Evolution,, +ANTD04H3,SOCIAL_SCI,,"This course examines the social life of violence, its cultural production and political effects in a global perspective. It asks how social worlds are made and unmade through, against, and after violent events, how violence is remembered and narrated, and how ethnography might respond to experiences of suffering, trauma, and victimhood.",,ANTB19H3 and ANTB20H3 and [at least 0.5 credit at the C-level in Socio-Cultural Anthropology].,,The Anthropology of Violence and Suffering,, +ANTD05H3,SOCIAL_SCI,University-Based Experience,"This course provides students with experience in carrying out ethnographic research in the Greater Toronto Area. Working with the Center for Ethnography, students define and execute individual research projects of their own design. The course provides students with the opportunity to present and discuss their unfolding research, as well as to present the findings of their research. This course is completed over two terms, and culminates in an original research paper.",,"[ANTB19H3 and ANTB20H3 and [(ANTC60H3) or ANTC70H3]] and [an additional 1.0 credit at the C-level in socio-cultural anthropology] and [a cumulative GPA of 2.7, or permission of the instructor].",(ANTD05Y3),Advanced Fieldwork Methods in Social and Cultural Anthropology,,"Preference will be given to Specialists and Majors in Anthropology, in that order." +ANTD06H3,SOCIAL_SCI,,"This course considers the reading and writing of ethnography - the classic genre of socio-cultural anthropology. We examine what differentiates ethnography from other forms of research and how to distinguish ethnographic works of high quality. Also considered are the politics of representation, including how ethnographic writing may reflect unequal relationships of power.",,ANTB19H3 and ANTB20H3 and [at least 1.0 credit at the C-level in Socio-Cultural Anthropology.,,Reading Ethnography,, +ANTD07H3,,,"This course allows students to examine particular culture areas at an advanced level. Regions to be covered may include South Asia, East Asia, the Muslim World, Latin America, The Pacific, Europe, Africa, or North America. Specific case studies from the region will be used to highlight theoretical and ethnographic issues.",,ANTB19H3 and ANTB20H3 and [at least 0.5 credit from previous area course] and [at least 0.5 credit at the C-level in Socio-Cultural Anthropology].,,Advanced Regional Seminar,, +ANTD10H3,SOCIAL_SCI,,This course will examine cultural understandings of ‘life’ – What is life? What is a life? How do humans value (or alternatively not value) life in different social and cultural settings? What constitutes a ‘good life’? To what degree are cultural understandings of ‘life’ entangled with those of ‘death’.,,ANTB19H3 and ANTB20H3 and [at least 1.0 credit at the C-level in socio-cultural anthropology courses],(ANTC11H3),The Anthropology of 'Life' Itself,, +ANTD13H3,,,An advanced seminar course primarily for majors and specialists in biological anthropology. Topic to be announced annually.,,ANTB14H3 and ANTB15H3 and [at least 0.5 credit at the C-level in Biological Anthropology].,,Frontiers of Anthropology: A Biological Perspective,, +ANTD15H3,,University-Based Experience,"An advanced seminar course primarily for specialists and majors in Anthropology. Topic changes annually and is linked to the theme of our seminar series for the year. Students will attend talks by 2-3 guest speakers in addition to the regular seminar. In previous years, the theme has been Masculinities, Pilgrimage, History and Historicities.",,ANTB19H3 and ANTB20H3 and [at least 1.0 credit at the C-level in Socio-Cultural Anthropology].,,Frontiers of Socio-Cultural Anthropology,, +ANTD16H3,NAT_SCI,,"This course is designed for advanced students seeking an intensive examination of specific problems in medical Anthropology. Problems to be discussed include: genetic disorders in families and populations, the interaction of malnutrition and infectious diseases in human populations, chronic non-infectious diseases in populations today, and epidemiology and medical anthropology as complementary disciplines. Science credit",,ANTC62H3 and [1.0 credit at the C-level in Biological Anthropology].,,Biomedical Anthropology,, +ANTD17H3,NAT_SCI,,"This seminar course will examine the clinical, epidemiological and public health literature on osteoporosis and other conditions impacting skeletal health. The course will also explore the potential economic impacts of osteoporosis on Canada's health care system given emerging demographic changes. Science credit",,ANTC47H3 and ANTC48H3,,Medical Osteology: Public Health Perspectives on Human Skeletal Health,, +ANTD18H3,NAT_SCI,University-Based Experience,"This seminar style course provides a foundation in the anthropology and archaeology of small-scale societies, particularly hunter-gatherers. The seminar’s temporal remit is broad, spanning ~2.5 million years of human evolution from the earliest tool-making hominins to living human societies. A selection of critical topics will therefore be covered. These include theoretical aspects of and evolutionary trends in forager subsistence strategies; technologies; mobility and use of space; sociopolitical organization; cognition; symbolism, ritual and religion; and transitions to food production. Topics will be illustrated using diverse case studies drawn from throughout the Paleolithic.",,ANTA01H3,,Palaeolithic Archaeology,, +ANTD19H3,NAT_SCI,University-Based Experience,"A large percentage of nonhuman primate species are at risk of extinction due mostly to human-induced processes. Relying on theory from Conservation Biology, this course will consider the intrinsic and extrinsic factors that lead to some primate species being threatened, while others are able to deal with anthropogenic influences. Students will critically examine conservation tactics and the uniqueness of each situation will be highlighted.",,ANTB22H3,,Primate Conservation,, +ANTD20H3,SOCIAL_SCI,Partnership-Based Experience,"A field-based research seminar exploring the cultural dimensions of community and sense of place. Partnering with community-based organizations in Scarborough and the GTA, students will investigate topical issues in the immediate urban environment from an anthropological perspective. Yearly foci may include food, heritage, diaspora, and family.",(ANTC60H3) or ANTC70H3,ANTB19H3 and ANTB20H3 and [at least 1.0 credit at the C-level in Socio-Cultural Anthropology courses],,Culture and Community,, +ANTD22H3,,,This seminar course will examine contemporary theory and questions in primatology and carefully examine the types of data that researchers collect to answer their research questions. Science credit,,ANTB22H3,,Theory and Methodology in Primatology,, +ANTD25H3,NAT_SCI,,"This course will examine the social and cultural contexts of animal-to-human disease transmission globally, and the public risks associated zoonoses present here in Canada. The course will incorporate both anthropological and epidemiological perspectives. Science credit",,ANTB14H3,,Medical Primatology: Public Health Perspectives on Zoonotic Diseases,, +ANTD26H3,NAT_SCI,,"Beginning with archaic Homo sapiens and ending with a discussion of how diet exists in a modern globalized cash economy, this course engages an archaeological perspective on changes in human diet and corresponding societal shifts. We will explore paradigmatic discourse around topics such as big game hunting, diet breadth, niche construction, and the Agricultural Revolution, while examining the archaeological record to clarify what ""cavemen"" really ate, inquire whether agriculture was as ""revolutionary"" as it has been presented, and delve into evidence of how colonialism, capitalism, and globalization have shaped our modern diet. Discussions will aim to interrogate current theories and contextualize why scientists (and the public) think the way they do about diet in the past and present.","Some courses in human evolution and archaeology are highly recommended, knowledge of and interest in food system and the human past are acceptable.",[ANTA01H3 and ANTB80H3 and 1.0 credit from any course at the C-level] or [FSTA01H3 and 1.0 credit from any course at the C-level and permission of the instructor],,"Caveman, Farmer, Herder, Trader: Evolution of Diet in Society",, +ANTD31H3,,University-Based Experience,"Directed critical examination of specific problems in Anthropology, based on library and/or field research. These courses are available in exceptional circumstances and do not duplicate regular course offerings. Students are advised that they must obtain consent from the supervising instructor before registering. Individual tutorials, as arranged. A minimum B plus average is normally required to be considered for these courses. May be science credit or area course depending on topic.",,"ANTA01H3 and ANTA02H3 and [2.0 credits in Anthropology, of which 1.0 credit must be at the the C-level] and permission of the instructor.",,Advanced Research in Anthropology,, +ANTD32H3,,University-Based Experience,"Directed critical examination of specific problems in Anthropology, based on library and/or field research. These courses are available in exceptional circumstances and do not duplicate regular course offerings. Students are advised that they must obtain consent from the supervising instructor before registering. Individual tutorials, as arranged. A minimum B plus average is normally required to be considered for these courses. May be science credit or area course depending on topic.",,"ANTA01H3 and ANTA02H3 and [2.0 full credits in Anthropology, one of which must be at the C-level] and permission of the instructor.",,Advanced Research in Anthropology,, +ANTD33H3,NAT_SCI,University-Based Experience,"This course investigates global diversity in human- environment dialogues from a geoarchaeological perspective. We will emphasize the place of geoarchaeology in evolutionary anthropology, specifically addressing topics such as the role of fire in human evolution, human-ecosystem coevolution, societal resilience and collapse, and the developing Anthropocene. Through “hands-on” authentic research, the class will engage with the collection and interpretation of chronological, geochemical, biomolecular, micromorphological, and micro-sedimentary data for site formation processes, paleoenvironments, and human behaviors. We will collaborate on developing new geoarchaeological perspectives of the human-environment interactions unfolding along the eastern branch of Yat-qui-i- be-no-nick (Highland Creek) coursing through UTSC. How did Highland Creek shape cultures and societies through time? How did people shape the Creek’s environs?",Physical Geography and/or Earth Sciences at Secondary or Post-Secondary level (beneficial but not required).,"One of ANTA01H3, or EESA01H3, or ESTB01H3",,Geoarchaeological Perspectives of Human-Environment Interactions,, +ANTD35H3,NAT_SCI,,"This course will focus on a new direction in anthropology, exploring the potential of skeletal remains in reconstructing past lifeways. This seminar style class will build upon concepts introduced in Human Osteology courses. Additionally, more advanced methods of reconstructing patterns of subsistence, diet, disease, demography and physical activity.",,ANTC47H3 and ANTC48H3,"ANT434H, ANT441H",Bioarchaeology,, +ANTD40H3,NAT_SCI,,"Taught by an advanced PhD student or postdoctoral fellow, and based on his or her doctoral research and area of expertise, this course presents a unique opportunity to explore intensively a particular Evolutionary or Archaeological Anthropology topic in-depth. Topics vary from year to year.",,ANTB14H3 and ANTB15H3 and [at least 2.0 credits at the C-level in Evolutionary Anthropology],,Topics in Emerging Scholarship in Evolutionary Anthropology,,Priority will be given to students enrolled in the Specialist in Anthropology. Additional students will be admitted as space permits. +ANTD41H3,SOCIAL_SCI,,"Taught by an advanced PhD student or postdoctoral fellow, and based on his or her doctoral research and area of expertise, this course presents a unique opportunity to explore intensively a particular Socio-Cultural or Linguistic Anthropology topic in-depth. Topics vary from year to year.",,ANTB19H3 and ANTB20H3 and [at least 2.0 credits at the C-level in Sociocultural Anthropology],,Topics in Emerging Scholarship in Socio-Cultural Anthropology,,Priority will be given to students enrolled in the Specialist program in Anthropology. Additional students will be admitted as space permits. +ANTD60H3,NAT_SCI,University-Based Experience,"This course provides specialized hands-on training in archaeological laboratory methods. Students will develop their own research project, undertaking analysis of archaeological materials, analyzing the resulting data, and writing a report on their findings. The methodological focus may vary from year to year.",,ANTA01H3 and ANTB80H3 and [1.0 credits at the C-level in any field] and permission of the instructor,,Advanced Archaeological Laboratory Methods,, +ANTD70H3,NAT_SCI,University-Based Experience,"This course provides specialized hands-on experience with field-based archaeology, including planning, survey, testing, and/or excavation, as well as an overview of various archaeological excavation methods and practices. Students may enroll in this course to gain credit for participation in approved off-campus field work. In this case, they will coordinate with the instructor to develop a series of appropriate assignments relevant to their coursework and learning goals.",,ANTA01H3 and ANTB80H3 and [1.0 credits of additional C-level courses in any field] and permission of instructor,,Archaeological Field Methods,, +ANTD71H3,SOCIAL_SCI,Partnership-Based Experience,"This research seminar uses our immediate community of Scarborough to explore continuity and change within diasporic foodways. Students will develop and practise ethnographic and other qualitative research skills to better understand the many intersections of food, culture, and community. This course culminates with a major project based on original research. Same as HISD71H3","ANTB64H3, ANTC70H3",HISB14H3/(HISC14H3) or HISC04H3 or [2.0 credits in ANT courses of which 1.0 credit must be at the C- level] or permission of the instructor,HISD71H3,Community Engaged Fieldwork with Food,, +ANTD98H3,SOCIAL_SCI,,This advanced seminar course will examine a range of contemporary issues and current debates in Socio-Cultural Anthropology. Topics will vary by instructor and term.,,ANTB19H3 and ANTB20H3 and [1.0 credit at the C-level in Socio-Cultural Anthropology].,,Advanced Topics in Socio- Cultural Anthropology,, +ANTD99H3,NAT_SCI,,"This course will examine questions of particular controversy in the study of Primate Evolution. Topics to be covered may include the ecological context of primate origins, species recognition in the fossil record, the identification of the first anthropoids, and the causes of extinction of the subfossil lemurs. Science credit",ANTC99H3,ANTB14H3 and [at least 1.0 credit at the C- level in Biological Anthropology].,ANTD13H3 if completed in the 2010/2011 academic year,Advanced Topics in Primate Evolution,, +ASTA01H3,NAT_SCI,,"The solar neighbourhood provides examples of astronomical bodies that can be studied by both ground-based and space vehicle based-observational instruments. The astronomical bodies studied range from cold and rocky planets and asteroids to extremely hot and massive bodies, as represented by the sun. This course considers astronomical bodies and their evolution, as well as basic parts of physics, chemistry, etc., required to observe them and understand their structure. The course is suitable for both science and non-science students.",,,AST101H,Introduction to Astronomy and Astrophysics I: The Sun and Planets,, +ASTA02H3,NAT_SCI,,"The structure and evolution of stars and galaxies is considered, with our own galaxy, the Milky Way, providing the opportunity for detailed study of a well-observed system. Even this system challenges us with many unanswered questions, and the number of questions increases with further study of the universe and its large-scale character. Current models and methods of study of the universe will be considered. The course is suitable for both science and non- science students.",,,"AST121H, AST201H",Introduction to Astronomy and Astrophysics II: Beyond the Sun and Planets,, +ASTB03H3,NAT_SCI,,"An examination of the people, the background and the events associated with some major advances in astronomy. Emphasis is given to the role of a few key individuals and to how their ideas have revolutionized our understanding of nature and the Universe. The perspective gained is used to assess current astronomical research and its impact on society.",,4.0 full credits,AST210H,Great Moments in Astronomy,, +ASTB23H3,NAT_SCI,,"Overview of astrophysics (except planetary astrophysics). Appropriate level for science students. Structure and evolution of stars, white dwarfs, neutron stars. Structure of Milky Way. Classification of galaxies. Potential theory, rotation curves, orbits, dark matter. Spiral patterns. Galaxy clusters. Mergers. Black holes in active galactic nuclei. Expansion of universe, dark energy.",,MATA30H3 and [MATA36H3 or MATA37H3] and PHYA21H3,"(ASTB21H3), (ASTC22H3), [AST221H and AST222H]","Astrophysics of Stars, Galaxies and the Universe",MATB41H3, +ASTC02H3,NAT_SCI,,"A hands-on introduction to astronomical observing using the UTSC telescope. Lectures cover topics of astronomical instrumentation and data reduction. Observations of Solar System planets, moons, planetary nebula, globular clusters and galaxies will be made. Students will present their results in the style of a scientific paper and a talk.",,ASTB23H3,"AST325H, AST326Y",Practical Astronomy: Instrumentation and Data Analysis,, +ASTC25H3,NAT_SCI,,"Overview of planetary astrophysics at a level appropriate for science students. Planets as a by-product of star formation: theory and observations. Protostellar/protoplanetary disks. Planetesimal and planet formation. Solar system versus extrasolar planetary systems. Giant planets, terrestrial planets, dwarf planets and minor bodies in the Solar System: interiors and environments.",,MATB41H3 and PHYA21H3,"(ASTB21H3), (ASTC22H3), [AST221H and AST222H]",Astrophysics of Planetary Systems,MATB42H3, +BIOA01H3,NAT_SCI,University-Based Experience,"A lecture and laboratory course providing an overview of the origins and cellular basis of life, genetics and molecular biology, evolution and the diversity of microorganisms.",,[Grade 12 Biology or BIOA11H3] and [Grade 12 Advanced Functions or Grade 12 Calculus and Vectors or Grade 12 Data Management or the Online Mathematics Preparedness Course],"BIO120H, BIO130H, (BIO150Y)",Life on Earth: Unifying Principles,,that both BIOA01H3 and BIOA02H3 must be completed prior to taking any other Biology course. +BIOA02H3,NAT_SCI,University-Based Experience,"A lecture and laboratory course providing an overview of the anatomy and physiology of plants and animals, population biology, ecology and biodiversity.",,[Grade 12 Biology or BIOA11H3] and [Grade 12 Advanced Functions or Grade 12 Calculus and Vectors or Grade 12 Data Management or the Online Mathematics Preparedness Course],"BIO120H, BIO130H, (BIO150Y)","Life on Earth: Form, Function and Interactions",,that both BIOA01H3 and BIOA02H3 must be completed prior to taking any other Biology course. +BIOA11H3,NAT_SCI,,"An exploration of how molecules and cells come together to build and regulate human organ systems. The course provides a foundation for understanding genetic principles and human disease, and applications of biology to societal needs. This course is intended for non-biology students.",,,"BIOA01H3, BIOA02H3, CSB201H1",Introduction to the Biology of Humans,,(1) Priority will be given to students in the Major/Major Co-op in Health Studies - Population Health. Students across all disciplines will be admitted if space permits. (2) Students who have passed BIOA11H3 will be permitted to take BIOA01H3 and BIOA02H3. +BIOB10H3,NAT_SCI,,"This course is designed to introduce theory and experimental techniques in cell biology. The course examines the structure and function of major animal and plant organelles and integrates this into a discussion of protein biosynthesis, signal-based sorting and intracellular trafficking using the cytoskeleton. Cell motility and cell interactions with the environment will also be examined to provide a solid foundation on the basic unit of life.",,BIOA01H3 and BIOA02H3 and CHMA10H3 and CHMA11H3,,Cell Biology,, +BIOB11H3,NAT_SCI,,"A course focusing on the central dogma of genetics and how molecular techniques are used to investigate cellular processes. Topics include structure and function of the nucleus, DNA replication and cell cycle control, transcription and translation, gene regulation and signal transduction.",,BIOA01H3 and BIOA02H3 and CHMA10H3 and CHMA11H3,BIO230H,Molecular Aspects of Cellular and Genetic Processes,, +BIOB12H3,NAT_SCI,University-Based Experience,"A practical introduction to experimentation in cell and molecular biology. Lab modules will introduce students to concepts and techniques in the general preparation of solutions and buffers, microbiology, molecular biology, biochemistry, microscopy, data analysis, and science communication. This core laboratory course is the gateway for Molecular Biology & Biotechnology Specialists to upper level laboratory offerings.",,CHMA10H3 and CHMA11H3,,Cell and Molecular Biology Laboratory,BIOB10H3 and BIOB11H3,"Priority will be given to students enrolled in the Specialist programs in Molecular Biology and Biotechnology (Co-op and non-Co-op), Medicinal and Biological Chemistry, Neuroscience (Stage 1, Co-op only), Neuroscience (Cellular/Molecular Stream), and the Major program in Biochemistry. Additional students will be admitted as space permits." +BIOB20H3,QUANT,,"This course explains the fundamental methods of quantitative reasoning, with applications in medicine, natural sciences, ecology and evolutionary biology. It covers the major aspects of statistics by working through concrete biological problems. The course will help students develop an understanding of key concepts through computer simulations, problem solving and interactive data visualisation using the R programming language (no prior skills with R or specialized math concepts are required).",,BIOA01H3 and BIOA02H3,BIO259H5,Introduction to Computational Biology,, +BIOB32H3,NAT_SCI,University-Based Experience,"This course examines physiological mechanisms that control and co-ordinate the function of various systems within the body. The laboratory exercises examine properties of digestive enzymes, characteristics of blood, kidney function, metabolic rate and energetics, nerve function and action potentials, synaptic transmission, skeletal muscle function and mechanoreception.",,,"BIO252Y, BIO270H, BIO271H, (ZOO252Y)",Animal Physiology Laboratory,(BIOB30H3) or BIOB34H3, +BIOB33H3,NAT_SCI,,A lecture based course with online learning modules which deals with the functional morphology of the human organism. The subject matter extends from early embryo-genesis through puberty to late adult life.,,[BIOA01H3 and BIOA02H3] or [HLTA03H3 and HLTA20H3],"ANA300Y, ANA301H, HLTB33H3, PMDB33H3",Human Development and Anatomy,,Priority will be given to students in the Human Biology programs. Additional students will be admitted as space permits. +BIOB34H3,NAT_SCI,,"An introduction to the principles of animal physiology rooted in energy usage and cellular physiology. A comparative approach is taken, which identifies both the universal and unique mechanisms present across the animal kingdom. Metabolism, thermoregulation, digestion, respiration, water regulation, nitrogen excretion, and neural circuits are the areas of principal focus.",,BIOA01H3 and BIOA02H3 and CHMA11H3,BIO270H,Animal Physiology,, +BIOB35H3,NAT_SCI,,"An exploration of the normal physiology of the human body. Emphasis will be placed on organ systems associated with head and neck, especially nervous, respiratory, muscular, digestive, cardiovascular, and endocrine. Particular emphasis will be placed on speech, audition, and swallowing. The interrelationship among organ systems and how they serve to maintain homeostasis and human health will also be discussed.",,BIOA01H3 or BIOA11H3,"BIOC32H3, BIOC34H3, BIO210Y5, PSL201Y1",Essentials of Human Physiology,,Priority will be given to students in the Specialist Program in Psycholinguistics (Co-op and Non co-op). Additional students will be admitted if space permits. +BIOB38H3,NAT_SCI,,How do plants feed the world and which plants have the highest impact on human lives? What is the origin of agriculture and how did it change over time? The human population will climb to 10 billion in 2050 and this will tax our planet’s ability to sustain life. Environmentally sustainable food production will become even more integral.,,BIOA01H3 and BIOA02H3,"(BIOC38H3), EEB202H",Plants and Society,, +BIOB50H3,NAT_SCI,,"An introduction to the main principles of ecology; the science of the interactions of organisms with each other and with their environment. Topics include physiological, behavioural, population, community, and applied aspects of ecology (e.g. disease ecology, climate change impacts, and approaches to conservation). Emphasis is given to understanding the connections between ecology and other biological subdisciplines.",,BIOA01H3 and BIOA02H3,,Ecology,, +BIOB51H3,NAT_SCI,University-Based Experience,"This course is an introduction to the main principles of evolution; the study of the diversity, relationships, and change over time in organisms at all scales of organization (from individuals to populations to higher taxonomic groups). The theory and principles of evolutionary biology give critical insight into a wide range of fields, including conservation, genetics, medicine, pathogenesis, community ecology, and development.",,BIOA01H3 and BIOA02H3,,Evolutionary Biology,, +BIOB52H3,NAT_SCI,University-Based Experience,"An introduction to field, lab and computational approaches to ecology and evolution. Laboratories will explore a variety of topics, ranging from population genetics to community ecology and biodiversity. Some lab exercises will involve outdoor field work.",,BIOA01H3 and BIOA02H3,,Ecology and Evolutionary Biology Laboratory,BIOB50H3 or BIOB51H3, +BIOB90H3,NAT_SCI,,"In this course, students will develop scientific communication skills by working collaboratively with peers to create an informative scientific poster that will be presented in a poster session modelled on those held at most major scientific conferences. Successful posters will engage the interest of the audience in the topic, clearly and concisely outline understanding gained from the primary literature, and discuss how understanding is enhanced by integrating knowledge. Notes: 1. Students in all Specialist/Specialist Co-op and Major programs in Biological Sciences are required to complete BIOB90H3 prior to graduation. In order to enroll in BIOB90H3, students must be concurrently enroled in at least one of the corequisites listed. 2. No specific grade will be assigned to BIOB90H3 on transcripts; instead, the grade assigned to work in BIOB90H3 will constitute 10% of the final grade in each of the corequisite courses that the students are concurrently enrolled in. 3. Students must receive a grade of 50% or higher for work in BIOB90H3 in order to fulfill this graduation requirement.",,Restricted to students in the Specialist/Specialist Co-op programs and Major Programs in Biological Sciences.,,Integrative Research Poster Project,"Concurrently enrolled in at least one of the following: BIOB10H3, BIOB11H3, BIOB34H3, BIOB38H3, BIOB50H3 or BIOB51H3", +BIOB97H3,NAT_SCI,University-Based Experience,"This course-based undergraduate research experience (CURE) in biological sciences will introduce students to the process of scientific inquiry as they engage in a hypothesis- driven research project with an emphasis on student-driven discovery, critical thinking, and collaboration. Students will learn to effectively access, interpret, and reference scientific literature as they formulate their research question and create an experimental design. Students will gain hands-on experience in research techniques and apply concepts in research ethics, reproducibility, and quantitative analyses to collect and interpret data.",,,,Bio-CURE: Course-based Undergraduate Research in Biological Sciences,"BIOB11H3 and at least one of BIOB10H3, BIOB34H3, BIOB38H3,BIOB50H3, BIOB51H3",Have completed no more than 11 credits towards a degree program at the time of enrolment. +BIOB98H3,,University-Based Experience,"A course designed to facilitate the introduction to, and experience in, ongoing laboratory or field research in biology. Supervision of the work is arranged by mutual agreement between student and instructor. Students must obtain a permission form (and outline of the planned work) from the Biological Sciences website. This is to be completed and signed by the student and supervisor and then returned to the Biological Sciences departmental office (SW421E). Notes: 1. Completion of this course can be used to fulfill a course requirement for the Certificate in Biological Sciences Research Excellence. Details can be found in the Biological Sciences Overview section of the Calendar. 2. This course does not satisfy any Biological Sciences program requirements. 3. This course is a credit/no credit course.",,At least 4.0 credits including BIOA01H3 and BIOA02H3.,"BIOB98H3 may not be taken after or concurrently with: BIOB99H3, BIOD95H3, BIOD98Y3 or BIOD99Y3",Supervised Introductory Research in Biology,, +BIOB99H3,,University-Based Experience,"A course designed to facilitate the introduction to, and experience in, ongoing laboratory or field research in biology. Supervision of the work is arranged by mutual agreement between student and instructor. Students must obtain a permission form (and outline of the planned work) from the Biological Sciences website. This is to be completed and signed by the student and supervisor and then returned to the Biological Sciences departmental office (SW421E). Notes: 1. BIOB99H3 is identical to BIOB98H3 but is intended as a second research experience. In order to be eligible for BIOB99H3, with the same instructor, the student and the instructor will have to provide a plan of study, the scope of which goes beyond the work of BIOB98H3. 2. Completion of this course can be used to fulfill a course requirement for the Certificate in Biological Sciences Research Excellence. Details can be found in the Biological Sciences Overview section of the Calendar. 3. This course does not satisfy any Biological Sciences program requirements.",,BIOB98H3,"BIOB99H3 may not be taken after or concurrently with BIOD95H3, BIOD98Y3 or BIOD99Y3.",Supervised Introductory Research in Biology,, +BIOC10H3,NAT_SCI,University-Based Experience,"This seminar course builds on fundamental cell biology concepts using primary literature. This course will examine specific organelles and their functions in protein biogenesis, modification, trafficking, and quality control within eukaryotic cells. The experimental basis of knowledge will be emphasized and students will be introduced to hypothesis- driven research in cell biology.",BIOC12H3,BIOB10H3 and BIOB11H3,"BIO315H, CSB428H",Cell Biology: Proteins from Life to Death,, +BIOC12H3,NAT_SCI,,"A lecture course describing factors involved in determining protein structures and the relationship between protein structure and function. Topics include: amino acids; the primary, secondary, tertiary and quaternary structures of proteins; protein motifs and protein domains; glycoproteins; membrane proteins; classical enzyme kinetics and allosteric enzymes; mechanisms of enzyme action.",CHMB42H3,BIOB10H3 and BIOB11H3 and CHMB41H3,"CHMB62H3, BCH210H, BCH242Y",Biochemistry I: Proteins and Enzymes,, +BIOC13H3,NAT_SCI,,"A lecture course that introduces how cells or organisms extract energy from their environment. The major metabolic pathways to extract energy from carbohydrates, fats and proteins will be discussed, as well as the regulation and integration of different pathways. An emphasis will be placed on real-world applications of biochemistry to metabolism.",,BIOB10H3 and BIOB11H3 and CHMB41H3,"CHMB62H3, BCH210H, BCH242Y",Biochemistry II: Bioenergetics and Metabolism,, +BIOC14H3,NAT_SCI,,"This class will provide a survey of the role of genes in behaviour, either indirectly as structural elements or as direct participants in behaviour. Topics to be covered are methods to investigate complex behaviours in humans and animal models of human disease, specific examples of genetic effects on behaviour in animals and humans, and studies of gene-environment interactions.",,BIOB10H3 and BIOB11H3,,"Genes, Environment and Behaviour",, +BIOC15H3,NAT_SCI,University-Based Experience,Topics for this lecture and laboratory (or project) course include: inheritance and its chromosomal basis; gene interactions; sources and types of mutations and the relationship of mutation to genetic disease and evolution; genetic dissection of biological processes; genetic technologies and genomic approaches.,,BIOB10H3 and BIOB11H3 and [PSYB07H3 or STAB22H3],"BIO260H, HMB265H",Genetics,, +BIOC16H3,NAT_SCI,University-Based Experience,"Understanding the process of evolution is greatly enhanced by investigations of the underlying genes. This course introduces modern genetic and genomic techniques used to understand and assess microevolutionary changes at the population level. Topics include DNA sequence evolution, population genetics, quantitative genetics/genomics, positive Darwinian selection, the evolution of new genes, and comparative genomics.",BIOC15H3,BIOB51H3,,Evolutionary Genetics and Genomics,, +BIOC17H3,NAT_SCI,University-Based Experience,"This course presents an overview of the microbial world and introduces the students, in more detail, to the physiological, cellular and molecular aspects of bacteria. The laboratories illustrate principles and provide training in basic microbiological techniques essential to microbiology and to any field where recombinant DNA technology is used.",,BIOB10H3 and BIOB11H3,MGY377H,Microbiology,, +BIOC19H3,NAT_SCI,,"Following a discussion of cellular and molecular events in early embryonic life, the development of several model systems will be analyzed such as erythropoiesis, lens development in the eye, spermatogenesis and myogenesis. Particular reference will be given to the concept that regulation of gene expression is fundamental to development.",,BIOB10H3 and BIOB11H3,CSB328H,Animal Developmental Biology,, +BIOC20H3,NAT_SCI,,"This course introduces viruses as infectious agents. Topics include: virus structure and classification among all kingdoms, viral replication strategies, the interactions of viruses with host cells, and how viruses cause disease. Particular emphasis will be on human host-pathogen interactions, with select lectures on antiviral agents, resistance mechanisms, and vaccines.",,BIOB10H3 and BIOB11H3,"BIO475H5, CSB351Y1, MGY378H1",Principles of Virology,, +BIOC21H3,NAT_SCI,University-Based Experience,"A study of the structure of cells and the various tissue types which make up the vertebrate body; epithelial, connective, muscle, nervous, blood, and lymphatic. Emphasis is placed on how form is influenced by function of the cells and tissues.",,BIOB10H3 and BIOB34H3,ANA300Y,Vertebrate Histology: Cells and Tissues,, +BIOC23H3,NAT_SCI,University-Based Experience,"A lecture and laboratory course that introduces students to experimental approaches used in biochemical research. Topics include practical and theoretical aspects of: spectrophotometry; chromatography; electrophoresis; enzyme assays, protein purification and approaches to identify protein-protein interactions. Students are expected to solve numerical problems involving these and related procedures.",,BIOB12H3 and BIOC12H3,"BCH370H, (BCH371H), BCH377H, BCH378H",Practical Approaches to Biochemistry,, +BIOC29H3,NAT_SCI,University-Based Experience,"This course will lead students through an exploration of the Kingdom of Fungi, covering topics in biodiversity, ecology, and evolution. Lectures will also discuss the broad application of fungi in agriculture, industry, medicine, and visual arts. In the laboratory sessions, students will learn to observe, isolate, and identify fungi using microscopy and modern biological techniques. Field trips will be opportunities to observe fungi in their native habitats and to discuss the real-world applications of diverse fungal organisms.",,BIOB50H3 and BIOB51H3,,Introductory Mycology,, +BIOC31H3,NAT_SCI,,"A central question of developmental biology is how a single cell becomes a complex organism. This lecture course focuses on molecular and cellular mechanisms that control developmental processes in plants, including: embryonic, vegetative and reproductive development; hormone signal transduction pathways; plant-environment interaction and plant biotechnology.",,BIOB10H3 and BIOB11H3,CSB340H,Plant Development and Biotechnology,, +BIOC32H3,NAT_SCI,University-Based Experience,"An introduction to human physiology covering the nervous system, skeletal muscles, hormones, and the immune systems in both healthy and diseased states.",,BIOB34H3 or NROB60H3,PSL300H,Human Physiology I,, +BIOC34H3,NAT_SCI,,"This course will cover the physiology of the human respiratory, cardiovascular, renal and digestive systems. Topics include cardiac function, ECG, blood flow/pressure regulation, pulmonary mechanics, gas transfer and transport, the control of breathing, sleep-related breathing disorders, kidney function, ion regulation, water balance, acid-base balance and digestive function/regulation. Students will complete a series of computer-simulated laboratory exercises on their own time.",,BIOB34H3 or NROB60H3 or BIO271H,"(BIOC33H3), (PSL302Y), PSL301H",Human Physiology II,, +BIOC35H3,NAT_SCI,,"This course introduces principles in parasitic lifestyles. Topics that will be covered include common parasite life strategies, host-parasite interactions and co-evolution, parasite immune evasion strategies, impacts on public health, and treatment and prevention strategies.",,BIOB10H3 and BIOB11H3,,Principles in Parasitology,, +BIOC37H3,NAT_SCI,,"Plants have evolved adaptations to maximize growth, survival and reproduction under various taxing environmental conditions. This course covers the great diversity of plant structures and function in relation to ecology, focusing mainly on flowering plants.",,BIOB38H3 or BIOB50H3 or BIOB51H3,EEB340H,Plants: Life on the Edge,, +BIOC39H3,NAT_SCI,,"This course introduces the molecular and cellular basis of the immune system. Topics include self versus non-self recognition, humoral and cell-mediated immune responses, and the structure and function of antibodies. The importance of the immune system in health and disease will be emphasized and topics include vaccination, autoimmunity, and tumour immunology.",,BIOB10H3 and BIOB11H3,"IMM340H, IMM341H, IMM350H, IMM351H",Immunology,, +BIOC40H3,NAT_SCI,,"An introduction to plant biology. Topics include plant and cell structure, water balance, nutrition, transport processes at the cell and whole plant level, physiological and biochemical aspects of photosynthesis, and growth and development in response to hormonal and environmental cues.",,BIOB10H3 and BIOB11H3,BIO251H,Plant Physiology,, +BIOC50H3,NAT_SCI,University-Based Experience,"An overview of recent developments in evolutionary biology that focus on large-scale patterns and processes of evolution. Areas of emphasis may include the evolutionary history of life on earth, phylogenetic reconstruction, patterns of diversification and extinction in the fossil record, the geography of evolution, the evolution of biodiversity, and the process of speciation.",,BIOB50H3 and BIOB51H3,EEB362H,Macroevolution,, +BIOC51H3,NAT_SCI,Partnership-Based Experience,"A course with preparatory lectures on the UTSC campus and a field experience in natural settings where ecological, evolutionary, and practical aspects of biodiversity will be explored. Field work will involve outdoor activities in challenging conditions.",,BIOB50H3 and BIOB51H3 and BIOB52H3 and permission of instructor.,,Biodiversity Field Course,,"Students should contact the instructor 4 months before the start of the course. Additional course fees are applied, and students will need to place a deposit towards the cost of travel." +BIOC52H3,NAT_SCI,University-Based Experience,"This course provides students with the opportunity to experience hands-on learning through informal natural history walks, and group and individual research projects, in a small- class setting. The course covers basic principles and selected techniques of field ecology and ecological questions related to organisms in their natural settings. Most of the field work takes place in the Highland Creek ravine.",,,(EEB305H),Ecology Field Course,BIOB50H3 and BIOB51H3, +BIOC54H3,NAT_SCI,,"Survey of the study of animal behaviour with emphasis on understanding behavioural patterns in the context of evolutionary theory. Topics include sexual selection and conflict, parental care, social behaviour, and hypothesis testing in behavioural research.",,BIOB50H3 and BIOB51H3,"EEB322H,",Animal Behaviour,, +BIOC58H3,NAT_SCI,University-Based Experience,"A lecture and tutorial course that addresses the key environmental factor that will dominate the 21st Century and life on the planet: Global Climate Change. The course will examine the factors that influence climate, from the formation of the earth to the present time, how human activities are driving current and future change, and how organisms, populations, and ecosystems are and will respond to this change. Finally, it will cover human responses and policies that can permit an adaptive response to this change.",,BIOB50H3 and BIOB51H3,"EEB428H, GGR314H, (BIO428H)",Biological Consequences of Global Change,, +BIOC59H3,NAT_SCI,,"The study of the interactions that determine the distribution and abundance of organisms on the earth. The topics will include an understanding of organism abundance and the factors that act here: population parameters, demographic techniques, population growth, species interactions (competition, predation, herbivory, disease), and population regulation. It will include an understanding of organism distribution and the factors that act here: dispersal, habitat selection, species interactions, and physical factors.",,BIOB50H3,"EEB319H, (BIO319H)",Advanced Population Ecology,, +BIOC60H3,NAT_SCI,University-Based Experience,"Canada is characterized by its long and harsh winters. Any Canadian plant or animal has evolved one of three basic survival strategies: (1) migration (avoidance), (2) hibernation, and (3) resistance. These evolutionary adaptations are investigated by the example of common organisms from mainly southern Ontario.",,BIOB50H3 or BIOB51H3,,Winter Ecology,, +BIOC61H3,NAT_SCI,University-Based Experience,"An examination of the theory and methodology of community analysis, with an emphasis on the factors regulating the development of communities and ecosystems. The application of ecological theory to environmental problems is emphasized. We will examine the impacts of various factors, such as primary productivity, species interactions, disturbance, variable environments, on community and metacommunity structure, and on ecosystem function. We will also examine the impacts of climate change on the world's ecosystems.",,BIOB50H3,"EEB321H, (BIO321H)",Community Ecology and Environmental Biology,, +BIOC62H3,NAT_SCI,University-Based Experience,"This lecture and tutorial course explores the strategic and operational aspects of zoos and aquariums in conservation. Emphasis is on contemporary issues, including the balance between animal welfare and species conservation; nutrition, health and behavioural enrichment for captive animals; in situ conservation by zoos and aquariums; captive breeding and species reintroductions; and public outreach/education.",,BIOB50H3 and BIOB51H3,,Role of Zoos and Aquariums in Conservation,, +BIOC63H3,NAT_SCI,University-Based Experience,"A lecture and tutorial course offering an introduction to the scientific foundation and practice of conservation biology. It reviews ecological and genetic concepts constituting the basis for conservation including patterns and causes of global biodiversity, the intrinsic and extrinsic value of biodiversity, the main causes of the worldwide decline of biodiversity and the approaches to save it, as well as the impacts of global climate change.",,BIOB50H3 and BIOB51H3,"EEB365H, (BIO365H)",Conservation Biology,, +BIOC65H3,NAT_SCI,,"An introduction to the scientific study of the effects of toxic chemicals on biological organisms. Standard methods of assessing toxicant effects on individuals, populations, and communities are discussed. Special emphasis is placed on the chemistry of major toxicant classes, and on how toxicants are processed by the human body.",,BIOB50H3 and CHMA10H3 and CHMA11H3,,Environmental Toxicology,, +BIOC70H3,NAT_SCI,,"Research and practice in the sciences often rests on the unquestioned assertion of impartial analyses of facts. This course will take a data-informed approach to understanding how human biases can, and have, affected progress in the sciences in general, and in biology in particular. Case studies may include reviews of how science has been used to justify or sustain racism, colonialism, slavery, and the exploitation of marginalized groups. Links will be drawn to contemporary societal challenges and practices. Topics will include how biases can shape science in terms of those doing the research, the questions under study, and the types of knowledge that inform practice and teaching. Data on bias and societal costs of bias will be reviewed, as well as evidence-informed practices, structures, and individual actions which could ensure that science disrupts, rather than enables, social inequities.",,"[Any of the following A-level courses: ANTA01H3, [BIOA01H3 and BIOA02H3], BIOA11H3, [HLTA02H3 and HLTA03H3] or [PSYA01H3 and PSYA02H3]] and [Any of the following B-level courses: any B-level BIO course, any B-level PSY course, ANTB14H3, ANTB15H3, HLTB20H3 or HLTB22H3]",,An Introduction to Bias in the Sciences,, +BIOC90H3,NAT_SCI,,"In this course, students will produce engaging, documentary- style multimedia narratives that relay scientific evidence on a topic of interest to a lay audience. In order to create their documentaries, students will distill research findings reported in the primary literature and integrate knowledge from multiple fields of biology. Notes: 1. Students in all Specialists/Specialist Co-op and Major programs in Biological Sciences are required to complete BIOC90H3 prior to graduation. In order to enroll in BIOC90H3, students must be enrolled in at least one of the following corequisite courses listed. 2. No specific grade will be assigned to BIOC90H3 on transcripts; instead, the grade assigned to work in BIOC90H3 will constitute 10% of the final grade in one of the corequisite courses that the students are concurrently enrolled in. 3. Students must receive a grade of 50% or higher for work in BIOC90H3 in order to fulfill this graduation requirement.",,BIOB90H3. Restricted to students in the Specialist/Specialist Co-op programs and Major Programs in Biological Sciences.,,Integrative Multimedia Documentary Project,"Concurrently enrolled in at least one of the following: BIOC12H3, BIOC14H3, BIOC20H3, BIOC32H3, BIOC34H3, BIOC39H3, BIOC40H3, BIOC54H3, or BIOC61H3.", +BIOC99H3,NAT_SCI,University-Based Experience,"In this introduction to academic research, a group of 3-5 students work with a faculty supervisor and TA to develop a research proposal or implement a research project. Prior to registering, students must find a faculty supervisor, form a group, then submit a permission form to the department. The permission form may be downloaded from the Biological Sciences website.",,(1) Enrolment in a UTSC Major or Specialist Subject POSt offered by Biological Sciences and (2) completion of all second year core program requirements and (3) have at least 8.0 credits and (4) a commitment from a Biology faculty member to serve as supervisor and (5) formation of a group that includes at least 2 other students,,Biology Team Research,,Completion of this course can be used to fulfill a course requirement for the Certificate in Biological Sciences Research Excellence. Details can be found in the Biological Sciences Overview section of the Calendar. +BIOD06H3,NAT_SCI,,Lecture/seminar-based course addressing advanced topics in the neural basis of motor control in vertebrates. The emphasis will be placed on cellular-level understanding of how motor circuits operate.,,BIOC32H3 or NROC34H3 or NROC64H3 or NROC69H3,,Advanced Topics in Neural Basis of Motor Control,, +BIOD07H3,NAT_SCI,,"This course will survey different fields in neural circuit research ranging from sensory systems to motor control. Emphasis will be placed on new methodologies used to deconstruct circuit function, including advanced functional imaging, optogenetics, anatomical reconstruction and the latest behavioural approaches.",,BIOC32H3 or NROC34H3 or NROC64H3 or NROC69H3,,Advanced Topics and Methods in Neural Circuit Analysis,, +BIOD08H3,NAT_SCI,,"A seminar covering topics in the theory of neural information processing, focused on perception, action, learning and memory. Through reading, discussion and working with computer models students will learn fundamental concepts underlying current mathematical theories of brain function including information theory, population codes, deep learning architectures, auto-associative memories, reinforcement learning and Bayesian optimality. Same as NROD08H3",,[NROC34H3 or NROC64H3 or NROC69H3] and [MATA29H3 or MATA30H3 or MATA31H3] and [PSYB07H3 or STAB22H3],NROD08H3,Theoretical Neuroscience,, +BIOD12H3,NAT_SCI,,A lecture/seminar course on the cellular mechanisms of protein quality control. Animal and plant models will be used to highlight the mechanisms of action of selected protein folding and degradation machineries critical to cell functions. Primary literature in protein homeostasis and possible consequence of malfunction in eukaryotic cells will also be discussed.,,BIOC10H3 or BIOC12H3,,Protein Homeostasis,, +BIOD13H3,NAT_SCI,University-Based Experience,"The use of plants in medicine has been documented for over 2,000 years. Their use is immersed in major ancient civilizations from around the World. This lecture/seminar/lab course will take the knowledge from indigenous medicine as a starting point and expand it with more recent advances in plant biochemistry, genetics and biotechnology.",,BIOC13H3,,Herbology: The Science Behind Medicinal Plants,, +BIOD15H3,NAT_SCI,University-Based Experience,"Complex mechanisms of gene regulation (e.g., epigenetics, epitranscriptomics, regulatory RNAs) govern life-trajectories in health and disease. This advanced lecture, problem-based learning and seminar course equips students with critical thinking tools to dissect advanced concepts in genetics, including biological embedding, transgenerational inheritance, genetic determinism, gene therapy, and ethics in 21st century transgenics.",,BIOC15H3,,Mechanism of Gene Regulation in Health and Disease,, +BIOD17H3,NAT_SCI,,"An overview of the most significant advances in cellular microbiology. The curriculum will include cellular mechanisms of microbial pathogenesis, as well as recognition and elimination of pathogens by cells. Students will be required to participate in class discussions, and give oral presentations of scientific papers.",,BIOC17H3 or BIOC39H3,,Seminars in Cellular Microbiology,, +BIOD19H3,NAT_SCI,,"A lecture/seminar/discussion class on the emerging field of environmental epigenetics. Course will cover basic epigenetic mechanisms, methods in epigenetic research, epigenetic control of gene function, and the role of epigenetics in normal development and human disease.",,BIOC14H3,,Epigenetics in Health and Disease,, +BIOD20H3,NAT_SCI,,"This is a lecture/seminar course that will discuss advanced topics in human virology. The course focus will be on human viruses, pathogenicity in human hosts, and current literature on emerging pathogens.",,BIOC20H3,MGY440H1,Special Topics in Virology,, +BIOD21H3,NAT_SCI,University-Based Experience,"Applications of molecular technology continue to revolutionize our understanding of all areas of life sciences from biotechnology to human disease. This intensive laboratory, lecture / tutorial course provides students with essential information and practical experience in recombinant DNA technology, molecular biology and bio-informatics.",,BIOB12H3 and BIOC15H3 and BIOC17H3,,Advanced Molecular Biology Laboratory,BIOC12H3 (,Priority will be given to students enrolled in the Specialist programs in Molecular Biology and Biotechnology (Co-op and non-Co-op). Additional students will be admitted only if space permits. +BIOD22H3,NAT_SCI,,"This course is organized around a central theme, namely the expression of heat shock (stress) genes encoding proteins is important in cellular repair/protective mechanisms. Topics include heat shock transcription factors, heat shock proteins as 'protein repair agents' that correct protein misfolding, and diseases triggered by protein misfolding such as neurodegenerative disorders.",,BIOC10H3 or BIOC12H3 or BIOC15H3,,Molecular Biology of the Stress Response,, +BIOD23H3,NAT_SCI,,A lecture/seminar/discussion class on contemporary topics in Cell Biology. Students will explore the primary literature becoming familiar with experimental design and methodologies used to decipher cell biology phenomena. Student seminars will follow a series of lectures and journal club discussions.,,BIOC12H3,,Special Topics in Cell Biology,, +BIOD24H3,NAT_SCI,,"In this lecture seminar course, we will explore how human stem cells generate the diverse cell types of the human body, and how they can be harnessed to understand and treat diseases that arise during embryonic development or during aging. We will also discuss current ethical issues that guide research practices and policies, including the destruction of human embryos for research, gene editing, and the premature clinical translation of stem cell interventions.",,BIOC19H3,CSB329H1,Human Stem Cell Biology and Regenerative Medicine,, +BIOD25H3,NAT_SCI,,"A course considering the principles of genome organization and the utilization of genomic approaches to studying a wide range of problems in biology. Topics to be presented will include innovations in instrumentation and automation, a survey of genome projects, genomic variation, functional genomics, transcription profiling (microarrays), database mining and extensions to human and animal health and biotechnology.",,BIOC15H3,,Genomics,, +BIOD26H3,NAT_SCI,,A lecture and tutorial based course designed to provide an overview of the fungal kingdom and the properties of major fungal pathogens that contribute to disease in animals (including humans) and plants. This course will address the mechanisms and clinical implications of fungal infections and host defence mechanisms. Topics include virulence factors and the treatment and diagnosis of infection.,,BIOC17H3 or BIOC39H3,,Fungal Biology and Pathogenesis,, +BIOD27H3,NAT_SCI,,"A lecture/discussion class on the structure and function of the major endocrine organs of vertebrates. The course provides knowledge of endocrine systems encompassing hormone biosynthesis, secretion, metabolism, feedback, physiological actions, and pathophysiology. Recent advances in hormone research as well as contemporary issues in endocrinology will be examined.",,BIOB34H3 and [BIOC32H3 or BIOC34H3],,Vertebrate Endocrinology,, +BIOD29H3,NAT_SCI,Partnership-Based Experience,"This lecture/seminar format course will critically examine selected topics in human disease pathogenesis. Infectious and inherited diseases including those caused by human retroviruses, genetic defects and bioterrorism agents will be explored. Discussions of primary literature will encompass pathogen characteristics, genetic mutations, disease progression and therapeutic strategies.",,BIOC10H3 or BIOC20H3 or BIOC39H3,,Pathobiology of Human Disease,, +BIOD30H3,NAT_SCI,Partnership-Based Experience,Plant scientists working to address pressing global challenges will give presentations. In advance students will identify terminologies and methodologies needed to engage with the speaker and think critically about the research. Student teams will identify and develop background knowledge and go beyond speaker’s presentations with new questions and/or applications.,,BIOC15H3 or BIOC31H3 or BIOC40H3,,Plant Research and Biotechnology: Addressing Global Problems,,Priority will be given to students enrolled in the Major Program in Plant Biology. Additional students will be admitted if space permits. +BIOD32H3,NAT_SCI,,"This course will examine how lung disease and other respiratory insults affect pulmonary physiology and lung function. Topics will include methods used to diagnose respiratory disease, pulmonary function in patients with various lung diseases as well as treatment options for both lung disease and lung failure.",,[BIOC34H3 or CSB346H1 or PSL301H1],,Human Respiratory Pathophysiology,,Priority will be given the students in the Human Biology Specialist and Human Biology Major programs. +BIOD33H3,NAT_SCI,,"This course will examine how various physiological systems and anatomical features are specialised to meet the environmental challenges encountered by terrestrial and aquatic animals. Topics include respiratory systems and breathing, hearts and cardiovascular systems, cardiorespiratory control, animal energetics, metabolic rate, thermoregulation, defenses against extreme temperatures, hibernation and osmotic/ionic/volume regulation.",,(BIOC33H3) or BIOC34H3,,Comparative Animal Physiology,, +BIOD34H3,NAT_SCI,,"This is a combined lecture and seminar course that will discuss topics such as climate change and plastics/microplastics effects on the physiology of animals, and physiological tools and techniques used in conservation efforts. The course will focus on how physiological approaches have led to beneficial changes in human behaviour, management or policy.",,BIOB34H3 and [Completion of at least 0.5 credit at the C level in Biological Sciences],,Conservation Physiology,, +BIOD37H3,NAT_SCI,,"This course examines resistance mechanisms (anatomical, cellular, biochemical, molecular) allowing plants to avoid or tolerate diverse abiotic and biotic stresses. Topics include: pathogen defence; responses to temperature, light, water and nutrient availability, salinity, and oxygen deficit; stress perception and signal transduction; methods to study stress responses; and strategies to improve stress resistance.",,BIOC31H3 or BIOC40H3,,Biology of Plant Stress,, +BIOD43H3,NAT_SCI,,"A lecture and seminar/discussion course covering integrative, comparative animal locomotion and exercise physiology. Topics will include muscle physiology, neurophysiology, metabolism, energetics, thermoregulation and biomechanics. These topics will be considered within evolutionary and ecological contexts.",Completion of an A-level Physics course.,(BIOC33H3) or BIOC34H3,HMB472H,Animal Movement and Exercise,, +BIOD45H3,NAT_SCI,,"This course will examine how animals send and receive signals in different sensory modalities, and the factors that govern the evolution and structure of communication signals. Using diverse examples (from bird songs to electric fish) the course will demonstrate the importance of communication in the organization of animal behaviour, and introduce some theoretical and empirical tools used in studying the origins and structure of animal communication.",,BIOC54H3 or NROC34H3,,Animal Communication,, +BIOD48H3,NAT_SCI,University-Based Experience,"An overview of the evolution, ecology, behaviour, and conservation of birds. Field projects and laboratories will emphasize identification of species in Ontario.",,BIOB50H3 and BIOB51H3 and [one of the following: BIOC50H3 or BIOC54H3 or BIOC61H3],EEB386H and EEB384H,Ornithology,, +BIOD52H3,NAT_SCI,,"A seminar exploration of current topics in biodiversity and conservation, including genetic, organismal, and community levels. Examples include DNA barcoding, adaptive radiations, phylogenetic trees, and biodiversity hotspots. Skills development in critical thinking and interpretation of the primary literature is emphasized, with coursework involving group presentations, discussions, and written analyses.",,BIOC50H3 or BIOC63H3,,Biodiversity and Conservation,, +BIOD53H3,NAT_SCI,,"An exploration into current topics in the study of the evolutionary and ecological influences on animal behaviour. Topics may include sexual selection and conflict, social behaviour, communication, and behavioural mechanisms. Emphasis will be on current research and the quantitative and qualitative reasoning underlying our ability to understand and predict animal behaviour.",,BIOC54H3,"EEB496Y, (BIO496Y)",Special Topics in Animal Behaviour,, +BIOD54H3,NAT_SCI,,"Canada has a complex conservation landscape. Through lectures and interactive discussions with leading Canadian conservation practitioners, this course will examine how conservation theory is put into practice in Canada from our international obligations to federal, provincial, and municipal legislation and policies.",,BIOC62H3 or BIOC63H3,,Applied Conservation Biology,, +BIOD55H3,NAT_SCI,,"A hands-on course emphasizing the logic, creative thinking, and careful methodology required to conduct rigorous research on animal behaviour from an evolutionary perspective. Students will devise and run behavioural experiments, primarily using invertebrate models.",,BIOC54H3,,Experimental Animal Behaviour,, +BIOD59H3,NAT_SCI,,"Modelling is a critical tool for describing the complex dynamics of ecosystems and for addressing urgent management questions in ecology, epidemiology and conservation. In this practical introduction, students learn how to formulate ecological and epidemiological models, link them to data, and implement/analyze them using computer simulations. The course includes approaches for modelling individuals, populations, and communities, with applications in population viability assessments, natural resource management and food security, invasive species and pest control, disease eradication, and climate change mitigation. While not a requirement, some experience with computer programming will be beneficial for this course.",,BIOB50H3 and [MATA29H3 or MATA30H3 or MATA31H3],,"Models in Ecology, Epidemiology and Conservation",, +BIOD60H3,NAT_SCI,,"The study of how space and scale influence ecological patterns and species coexistence. The course will cover three main topics: 1) spatial dynamics, such as spatial spread and dispersal models; 2) species coexistence with metapopulation/metacommunity, neutral and lottery models; and 3) spatial analysis of ecological communities. Basic concepts will be applied to ecological problems such as: species invasions, reserve design and understanding threats to island biodiversity. Priority will be given to students enrolled in the specialist program in Biodiversity, Ecology and Evolution.",,BIOB50H3 and STAB22H3 and [BIOC59H3 or BIOC61H3],,Spatial Ecology,, +BIOD62H3,NAT_SCI,,"A species is the basic unit of evolution and symbiotic interactions are integral to the rise of global biodiversity. Using a multidisciplinary approach, this course will study symbiotic systems such as plant-animal, microbe-plant, and microbe-animal interactions. This course thus provides the student with a deeper understanding of how Earth's biodiversity is maintained through natural selection.",,BIOC16H3 or BIOC50H3,EEB340H,Symbiosis: Interactions Between Species,, +BIOD63H3,NAT_SCI,University-Based Experience,"This lecture/seminar course will discuss advanced topics in behavioural ecology, ecosystem and landscape ecology, and evolutionary ecology, with an emphasis on the impacts of past and present species interactions. Topics will vary based on current scientific literature and student interests. This course will strengthen the research, writing, and presentation skills of students while deepening their understanding of ecology.",,"BIOB50H3 and BIOB51H3 and [0.5 credit from the following: BIOC51H3, BIOC52H3, BIOC54H3, BIOC58H3, BIOC59H3, BIOC60H3, BIOC61H3]",,From Individuals to Ecosystems: Advanced Topics in Ecology,, +BIOD65H3,NAT_SCI,,"An intensive examination of selected pathologies affecting the nervous system such as Alzheimer's and Parkinson's disease, multiple sclerosis, and stroke. These pathologies will be examined from an integrative perspective encompassing the pathogeneses, resulting symptoms, and current therapeutic approaches. This course requires critical examination of research articles.",,"BIOB10H3 and BIOB11H3 and [0.5 credits from the following: BIOC32H3, NROC61H3, NROC64H3 or NROC69H3]",,Pathologies of the Nervous System,, +BIOD66H3,NAT_SCI,,"This course will combine lecture and student paper projects and presentations to explore the evolutionary and ecological processes that generate patterns of biological diversity as well as how species interactions and ecosystem function are affected by diversity. Of key interest will be how invasions, climate change, and habitat destruction affects diversity and function.",,BIOB51H3 and [BIOC59H3 or BIOC61H3],,Causes and Consequences of Biodiversity,, +BIOD67H3,NAT_SCI,,"Field courses offered by the Ontario Universities Program in Field Biology (OUPFB) in a variety of habitats and countries, usually during the summer. OUPFB modules (courses) are posted online in January, and students must apply by the indicated deadline.",,Varies by module (Permission of course co- ordinator required),(BIOC67H3),Inter-University Biology Field Course,,Additional information is provided on the Department of Biological Sciences website http://www.utsc.utoronto.ca/biosci/resources-current-students and on the OUPFB website http://www.oupfb.ca/index.html +BIOD95H3,,University-Based Experience,"This course is designed to permit an intensive examination of the primary literature of a select topic. Frequent consultation with the supervisor is necessary and extensive library research is required. The project will culminate in a written report. Students must obtain a permission form and Supervised Study form from the Biological Sciences website that is to be completed and signed by the intended supervisor, and returned to SW421E. Five sessions of group instruction will form part of the coursework.",,"Satisfactory completion of 12.5 credits, of which at least 4.0 credits must be at the B- or C-level in BIO courses. Students must have permission of the instructor. In order to be eligible for BIOD95H3, with the same instructor as BIOD98Y3 or BIOD99Y3, the student and instructor must provide a plan that goes beyond the work of those courses.",,Supervised Study in Biology,, +BIOD98Y3,,,"A course designed to permit laboratory or field research or intensive examination of a selected topic in biology. Supervision of the work is arranged by mutual agreement between student and instructor. Students must obtain a permission form from https:///www.utsc.utoronto.ca/biosci/undergraduate-research- opportunities that is to be completed and signed by the intended supervisor, and returned to SW421E. At that time, the student will be provided with an outline of the schedule and general requirements for the course. 10 sessions of group instruction will form part of the coursework.",,"Satisfactory completion of 13.5 credits, of which at least 4.0 credits must be at the B- or C-level in BIO courses; and permission of the instructor.","CSB498Y, EEB498Y",Directed Research in Biology,,Completion of this course can be used to fulfill a course requirement for the Certificate in Biological Sciences Research Excellence. Details can be found in the Biological Sciences Overview section of the Calendar. +BIOD99Y3,,,"Identical to BIOD98Y3 but intended as a second research experience. In order to be eligible for BIOD99Y3, with the same instructor, the student and the instructor will have to provide a plan of study that goes beyond the work of BIOD98Y3.",,"Satisfactory completion of 13.5 credits, of which at least 4.0 credits must be at the B- or C-level in BIO courses; and permission of the instructor.","CSB498Y, EEB498Y",Directed Research in Biology,,Completion of this course can be used to fulfill a course requirement for the Certificate in Biological Sciences Research Excellence. Details can be found in the Biological Sciences Overview section of the Calendar. +CHMA10H3,NAT_SCI,,"This course will introduce the study of chemical properties and transformations of matter. The course starts with the quantum mechanical model of the atom and the principles of how the periodic table is organized. Key reaction types are explored including acid/base, redox, and precipitation as well as a quantitative description of gases. Bonding and structure in chemical compounds is examined followed by a close look at solutions, solids and intermolecular forces. The course concludes with nuclear chemistry. This course includes a three-hour laboratory every other week.",Grade 12 Chemistry and [Grade 12 Advanced Functions or Grade 12 Calculus] are highly recommended,,"CHM120H5, CHM151Y1",Introductory Chemistry I: Structure and Bonding,,[MATA29H3 or MATA30H3] and [MATA35H3 or MATA36H3] are required for some higher level Physical and Environmental Sciences courses. +CHMA11H3,NAT_SCI,,"This course quantitatively examines reactions and equilibria in chemical systems with an emphasis on their thermodynamic properties and chemical kinetics. The course begins with a close examination of solutions followed by dynamic chemical equilibrium. This leads directly to acid/base and solubility equilibria and thermochemistry, including calorimetry. The course concludes with thermodynamics, kinetics and electrochemistry with a strong emphasis on the how these are connected to Gibbs Free Energy. This course includes a three hour laboratory every other week.",[MATA29H3 or MATA30H3],CHMA10H3,"CHMA12H3, CHM110H5, CHM135H1, CHM139H1, CHM151Y1",Introductory Chemistry II: Reactions and Mechanisms,,[MATA29H3 or MATA30H3] and [MATA35H3 or MATA36H3] are required for some higher level Physical and Environmental Sciences courses. +CHMA12H3,,,"This course will build on the topics from CHMA10H3, including a close examination of solutions, dynamic chemical equilibrium, acid/base and solubility equilibria and thermochemistry, including calorimetry and thermodynamics, kinetics and electrochemistry as they relate to Gibbs Free Energy. In this course, students will explore these ideas in more detail both from a theoretical and practical point of view, in comparison to CHMA11H3. The lecture portion will focus on how chemical concepts are applied in cutting edge research. The weekly laboratory period will provide students with access to the most current equipment used in both industrial and research settings as well as workshops that will explore how to analyze and extract data from published, peer-reviewed journal articles.",,CHMA10H3 with a grade of 70% or higher and [MATA29H3 or MATA30H3],"CHMA11H3, CHM151Y1, CHM135H1, CHM110H5",Advanced General Chemistry,, +CHMB16H3,NAT_SCI,,"An introduction to the principles and methods of classical analysis and the provision of practical experience in analytical laboratory techniques. The course deals primarily with quantitative chemical analysis. Classical methods of volumetric analysis, sampling techniques, statistical handling of data are studied, as well as a brief introduction to spectro- chemical methods. This course includes a four hour laboratory every week.",STAB22H3,CHMA10H3 and [CHMA11H3 or CHMA12H3] and [MATA29H3 or MATA30H3] and [MATA35H3 or MATA36H3],"CHM211H5, CHM217H1",Techniques in Analytical Chemistry,, +CHMB20H3,NAT_SCI,,The concept of chemical potential; phase equilibria; solutions; chemical equilibria (including electrochemical applications); elementary reactions; multi-step and coupled reactions (with biochemical applications); elementary collision theory and transition state theory. This course includes a weekly tutorial.,,[CHMA11H3 or CHMA12H3] and [ MATA35H3 or MATA36H3 or MATA37H3] and [PHYA10H3 or PHYA11H3],"CHMB23H3, CHM220H1, CHM222H1, CHM225Y1, JCP221H5",Chemical Thermodynamics and Elementary Kinetics,,"Students interested in taking C-level Physical Chemistry courses should take PHYA10H3 instead of PHYA11H3. Some C-level Physical Chemistry courses have PHYA21H3 and MATB41H3 as prerequisites, and PHYA21H3 requires PHYA10H3 as a prerequisite." +CHMB21H3,NAT_SCI,,"This course uses quantum mechanics to describe atomic and molecular structure and bonding. The theory of these systems is treated first and their spectroscopy afterwards. The following topics are covered: motivation for quantum mechanics, Schrödinger’s equations, quantum postulates and formalisms, solutions of the time-independent Schrödinger equation for model systems (particle in a box, harmonic oscillator, rigid rotor, hydrogen-like atoms), angular momentum operator, electron spin, many electron atoms, theories of chemical bonding (valence bond theory and molecular orbital theory), quantum mechanics of the internal motion of molecules, spectroscopy of atomic and molecular systems.",MATA23H3,CHMB20H3 or CHMB23H3,"CHM223H1, CHM225Y1",Chemical Structure and Spectroscopy,,Students in the Specialist and Specialist Co-op programs in Medicinal and Biological Chemistry are advised to complete CHMB23H3 rather than CHMB20H3 prior to enrolling in CHMB21H3. +CHMB23H3,NAT_SCI,,"This course explores the concepts of chemical potential, phase equilibria, solutions, chemical equilibria (including electrochemical applications), elementary reactions, multi- step and coupled reactions (with biochemical applications), elementary collision theory and transition state theory.",,[CHMA11H3 or CHMA12H3] and [ MATA35H3 or MATA36H3 or MATA37H3] and [PHYA10H3 or PHYA11H3],"CHMB20H3, CHM220H1, CHM222H1, CHM225Y1, JCP221H5",Introduction to Chemical Thermodynamics and Kinetics: Theory and Practice,,"1. Restricted to students in the following programs: Specialist in Biological Chemistry, Specialist in Chemistry, Major in Biochemistry, Major in Chemistry 2. Lectures are shared with CHMB20H3. 3. Students interested in taking C- level Physical Chemistry courses should take PHYA10H3 instead of PHYA11H3. Some C-level Physical Chemistry courses have PHYA21H3 and MATB41H3 as prerequisites, and PHYA21H3 requires PHYA10H3 as a prerequisite." +CHMB31H3,NAT_SCI,,"Fundamental periodic trends and descriptive chemistry of the main group elements are covered. The topics include structures, bonding and reactivity; solid state structures and energetics; and selected chemistry of Group 1, 2, and 13-18. The course has an accompanying practical (laboratory) component taking place every second week.",,CHMA10H3 and [CHMA11H3 or CHMA12H3],"CHM238Y, CHM231H",Introduction to Inorganic Chemistry,, +CHMB41H3,NAT_SCI,,"This course begins with a review of chemical bonding in organic structures, followed by an in depth look at conformational analysis and stereochemistry. It explores the reactivity of organic molecules, starting with acid-base reactions, simple additions to carbonyl compounds, reactions of alkenes and alkynes, and substitution reactions. The course includes weekly tutorials and a four hour laboratory every other week.",,[CHMA11H3 or CHMA12H3],"CHM136H1, CHM138H1, CHM151Y1, CHM242H5",Organic Chemistry I,, +CHMB42H3,NAT_SCI,,"This course builds on the topics seen in Organic Chemistry I. Major reactions include electrophilic and nucleophilic aromatic substitutions, and the chemistry of carbonyl compounds. Spectroscopic methods for structure determination are explored (NMR, MS, IR), along with the chemistry of biologically important molecules such as heterocycles and carbohydrates. This course includes a four- hour laboratory every other week, as well as weekly one-hour tutorials.",,[CHMA11H3 or CHMA12H3] and CHMB41H3,"CHM243H5, CHM247H1, CHM249H1",Organic Chemistry II,, +CHMB43Y3,NAT_SCI,,"This course provides a comprehensive introduction to the field of organic chemistry. Major topics include organic acids/bases, stereochemistry, substitution/elimination mechanisms, reactions of alkenes/alkynes, radicals, aromatic compounds, carbonyl compounds, oxidation/reduction, radicals, spectroscopy, heterocycles and carbohydrates. Includes a 4 hour lab and 6 hours of lecture each week.",,"Completion of at least 4.0 credits, including CHMA10H3 and [CHMA11H3 or CHMA12H3]. Minimum cumulative GPA of 2.7. Permission of instructor.","CHMB41H3, CHMB42H3, CHM138H, CHM151Y, CHM247H, CHM249H, CHM242H, CHM245H",Organic Chemistry I and II,, +CHMB55H3,NAT_SCI,,"An investigation of aspects of chemical substances and processes as they occur in the environment, including both naturally occurring and synthetic chemicals. This course will include an introduction to atmospheric chemistry, aqueous chemistry, some agricultural and industrial chemistry, and chemical analysis of contaminants and pollutants.",,CHMA10H3 and [CHMA11H3 or CHMA12H3],CHM310H,Environmental Chemistry,, +CHMB62H3,NAT_SCI,,"This course is designed as an introduction to the molecular structure of living systems. Topics will include the physical and chemical properties of proteins, enzymes, fatty acids, lipids, carbohydrates, metabolism and biosynthesis. Emphasis will be placed on the relationships between the chemical structure and biological function.",,CHMA10H3 and [CHMA11H3 or CHMA12H3] and CHMB41H3,BIOC12H3 and BIOC13H3 and BCH210H and BCH242Y and BCH311H and CHM361H and CHM362H,Introduction to Biochemistry,,This course cannot be taken by students enrolled in the Specialist Program in Medicinal and Biological Chemistry and Major Program in Biochemistry. +CHMC11H3,NAT_SCI,,"An introduction to the workings and application of modern analytical instrumentation. A range of modern instrumentation including NMR spectroscopy, Mass Spectrometry, Microscopy. Light Spectroscopy (visible, Ultra Violet, Infrared, Fluorescence, Phosphorescence), X-ray, Chromatography and electrochemical separations will be addressed. Principles of measurement; detection of photons, electrons and ions; instrument and experiment design and application; noise reduction techniques and signal-to-noise optimization will be covered.",CHMB20H3 and CHMB21H3,CHMB16H3,"CHM317H1, CHM311H5",Principles of Analytical Instrumentation,, +CHMC16H3,NAT_SCI,,"A laboratory course to complement CHMC11H3, Principles of Analytical Instrumentation. This course provides a practical introduction and experience in the use of modern analytical instrumentation with a focus on the sampling, sample preparation (extraction, clean-up, concentration, derivatization), instrumental trace analysis and data interpretation of various pharmaceutical, biological and environmental samples. This course includes a four hour laboratory every week.",,CHMC11H3,"CHM317H1, CHM396H5",Analytical Instrumentation,, +CHMC20H3,NAT_SCI,,Basic statistical mechanics and applications to thermochemistry and kinetics; intermolecular interactions; concepts in reaction dynamics.,,CHMB23H3 and CHMB21H3 and MATB41H3 and PHYA21H3,"CHM328H1, JCP322H5",Intermediate Physical Chemistry,, +CHMC21H3,NAT_SCI,,"Advanced topics in Physical Chemistry with emphasis on biochemical systems. Spectroscopic methods for (bio) molecular structure determination, including IR, NMR, UV/VIS; colloid chemistry; polymers and bio-polymers, bonding structure and statistical mechanics; physical chemistry of membranes, active transport and diffusion; oscillatory (bio)chemical reactions.",,CHMB21H3,,Topics in Biophysical Chemistry,, +CHMC31Y3,NAT_SCI,,"A detailed discussion of the structure, bonding, spectroscopy and reactivity of transition metal compounds. After an overview of descriptive chemistry, the focus is on coordination and organometallic chemistry, with an introduction to catalysis and biocoordination chemistry. The laboratory focuses on intermediate and advanced inorganic syntheses, and classical and instrumental characterization methods. This laboratory is six hours in duration and occurs every week.",,CHMB16H3 and [CHMB20H3 or CHMB23H3] and CHMB31H3 and CHMB42H3,CHM338H and CHM331H,Intermediate Inorganic Chemistry,,Priority will be given to students in the Specialist programs in Medicinal and Biological Chemistry and Chemistry. +CHMC42H3,NAT_SCI,,"Principles of synthesis organic and functional group transformations; compound stereochemistry, spectroscopy and structure elucidation. This course includes a four hour laboratory every week.",,CHMB41H3 and CHMB42H3,"CHM342H1, CHM343H1, CHM345H5",Organic Synthesis,, +CHMC47H3,NAT_SCI,,"The chemistry of heterocycles, nucleic acids, terpenes, steroids and other natural products; amino acids, proteins and carbohydrates; introduction to enzyme structure and catalysis. This course includes a four hour laboratory every week.",,CHMB41H3 and CHMB42H3,"CHM347H1, CHM347H5",Bio-Organic Chemistry,, +CHMC71H3,NAT_SCI,,"The course focuses on the important concepts in the design and synthesis of drugs. The course may include the principles of pharmacology, drug metabolism and toxicology. Strategies for generating valuable active compounds and structure/activity relationships involved in selective transformations of available building blocks into diversely functionalized derivatives will be discussed. The course provides an overview of reactions used at different stages of the drug development process, using representative examples from the literature and case studies of drugs where applicable.",BIOC12H3 or CHMB62H3,CHMC47H3,"(CHMD71H3), CHM440H1, CHM444H5",Medicinal Chemistry,, +CHMD11H3,NAT_SCI,University-Based Experience,"In this course students will learn about the following analytical techniques used in organic structure determination: mass spectrometry, IR spectroscopy, NMR spectroscopy, and ultraviolet-visible spectroscopy. There will be focus on a systematic approach in structure determination through various spectroscopy. Students will receive hands-on training in spectral interpretation, processing and analysis as well as training on the use of different computer software for the purpose of analysis.",,CHMB16H3 and CHMC11H3,CHM442H5,Application of Spectroscopy in Chemical Structure Determination,,Priority will be given to students enrolled in the Specialist/Specialist Co-op programs in Environmental Chemistry. Additional students will be admitted as space permits. +CHMD16H3,NAT_SCI,University-Based Experience,"Students will learn about analytical techniques used in environmental chemistry, including: gas and liquid chromatography, mass spectrometry, atomic absorption, and ultraviolet-visible spectroscopy. Environmental sampling and ecotoxicology will also be covered. Students will carry out laboratory analyses and receive hands-on training with analytical instrumentation commonly used in environmental chemistry.",,CHMB55H3 and CHMC11H3,"CHM317H, CHM410H",Environmental and Analytical Chemistry,,Priority will be given to students enrolled in the Specialist/Specialist Co-op in Environmental Chemistry. Additional students will be admitted as space permits. +CHMD39H3,,,Advanced topics in inorganic chemistry will be covered at a modern research level. The exact topic will be announced in the Winter Session prior to the course being offered.,,"Permission of the instructor. Normally only for individuals who have completed fifteen full credits, including at least two C-level Chemistry courses, and who are pursuing one of the Chemistry Programs.",,Topics in Inorganic Chemistry,, +CHMD41H3,NAT_SCI,,"This course offers an in-depth understanding of organic chemistry by systematically exploring the factors and principles that govern organic reactions. The first half of the course covers fundamentals including boding theories, kinetics, thermodynamics, transition state theory, isotope effects, and Hammett equations. In the second half, these topics are applied to the study of different types of organic reactions, such as nucleophilic substitutions, polar additions/eliminations, pericyclic reactions and radical reactions.",,CHMB41H3 and CHMB42H3,"(CHMC41H3), CHM341H5, CHM348H1, CHM443H1",Physical Organic Chemistry,, +CHMD47H3,,,"This course will teach biochemical reactions in the context of Organic Chemistry. This course will build on topics from CHMC47H3. Application of enzymes in organic synthesis, chemical synthesis of complex carbohydrates and proteins, enzyme catalyzed proton transfer reactions and co-enzymes will be discussed in depth with recent literature examples. Experiential learning is an integral part of this course. Students will explore the applications of Bio-Organic Chemistry in healthcare and industrial settings as part of an experiential learning project",CHMB20H3,BIOC12H3 and BIOC13H3 and CHMC47H3,CHM447H,Advanced Bio-Organic Chemistry,, +CHMD59H3,,,"This course introduces quantitative approaches to describe the behaviour of organic chemicals in the environment. Building upon a quantitative treatment of equilibrium partitioning and kinetically controlled transfer processes of organic compounds between gaseous, liquid and solid phases of environmental significance, students will learn how to build, use and evaluate simulation models of organic chemical fate in the environment. The course will provide hands-on experience with a variety of such models.",,"Permission of the instructor. Normally recommended for individuals who have completed 15.0 credits, including at least 1.0 credit at the C-level in CHM courses, and who are enrolled in one of the Chemistry programs.","JNC2503H, CHE460H1",Modelling the Fate of Organic Chemicals in the Environment,, +CHMD69H3,NAT_SCI,,"This course will explore the role of the chemical elements other than “the big six” (C, H, O, N, P, S) in living systems, with a focus on metal cations. The topic includes geochemistry and early life, regulation and uptake of metallic elements, structure-function relationships in metalloproteins.",CHMC31Y3,[[ BIOC12H3 and BIOC13H3] or CHMB62H3] and CHMB31H3,"CHM333H, CHM437H",Bioinorganic Chemistry,, +CHMD79H3,,,Advanced topics in biological chemistry will be covered at a modern research level. The exact topic will be announced in the Winter Session prior to the course being offered.,,"Permission of the instructor. Normally recommended for individuals who have completed fifteen full credits, including at least two C-level Chemistry courses, and who are pursuing one of the Chemistry Programs.",,Topics in Biological Chemistry,, +CHMD89H3,NAT_SCI,,The 'twelve principles' of green chemistry will be discussed in the context of developing new processes and reactions (or modifying old ones) to benefit society while minimizing their environmental impact. Examples will be taken from the recent literature as well as from industrial case studies.,CHMB31H3,[CHMC42H3 or CHMC47H3],,Introduction to Green Chemistry,, +CHMD90Y3,,University-Based Experience,You can find the names and contact information for the current course coordinators by visiting the Chemistry website. This course involves participation in an original research project under the direction of a faculty supervisor. Approximately 260 hours of work are expected in CHMD90Y3. The topic will be selected in conference with the course coordinator who will provide project descriptions from potential faculty supervisors. Progress will be monitored during periodic consultations with the faculty supervisor as well as the submission of written reports. The final results of the project will be presented in a written thesis as well as an oral and/or poster presentation at the end of the term. Please see the note below on registration in CHMD90Y3.,,Permission of the course coordinator.,"CHMD91H3, CHMD92H3",Directed Research,,"Students must apply to the course coordinator for admission into this course. Applications must be received by the end of August for enrolment in the fall/spring semester; for enrolment in the summer semester, applications must be received by the end of April. Applications will consist of: 1) A letter of intent indicating the student's wish to enrol in CHMD90Y3; 2) A list of relevant courses successfully completed as well as any relevant courses to be taken during the current session; 3) Submission of the preferred project form indicating the top four projects of interest to the student. This form is available from the course coordinator, along with the project descriptions. Generally, only students meeting the requirements below will be admitted to CHMD90Y3: 1) A Cumulative Grade Point Average of 2.5. Students who do not meet this requirement should consider enrolling in CHMD92H3 instead; 2) Completion of at least 15.0 credits; 3) Completion of at least 1.0 credits of C-level chemistry or biochemistry courses containing a lab component (i.e. CHMC16H3, CHMC31Y3, CHMC42H3, CHMC47H3, BIOC23H3). Once the course coordinator (or designate)* has approved enrolment to CHMD90Y3, they will sign the course enrolment form for submission to the registrar. *Note that the course coordinator (or designate) is the only one permitted to give ""permission of instructor"" on this form." +CHMD91H3,,University-Based Experience,You can find the names and contact information for the current course coordinators by visiting the Chemistry website. This course involves participation in an original research project under the direction of a faculty supervisor. Approximately 130 hours of work are expected in CHMD91H3. The topic will be selected in conference with the course coordinator who will provide project descriptions from potential faculty supervisors. Progress will be monitored during periodic consultations with the faculty supervisor as well as the submission of written reports. The final results of the project will be presented in a written thesis as well as an oral and/or poster presentation at the end of the term. Please see the note below on registration in CHMD91H3.,,Permission of the course coordinator.,"CHMD90Y3, CHMD92H3",Directed Research,,"Students must apply to the course coordinator for admission into this course. Applications must be received by the end of August for enrolment in the fall/spring semester; for enrolment in the summer semester, applications must be received by the end of April. Applications will consist of: 1) A letter of intent indicating the student's wish to enroll in either CHMD90Y3 or CHMD91H3; 2) A list of relevant courses successfully completed as well as any relevant courses to be taken during the current session; 3) Submission of the preferred project form indicating the top four projects of interest to the student. This form is available from the course coordinator, along with the project descriptions. Generally, only students meeting the following requirements will be admitted to CHMD91H3: 1) A Cumulative Grade Point Average of 2.5. Students who do not meet this requirement should consider enrolling in CHMD92H3 instead; 2) Completion of at least 15.0 credits; 3) Completion of at least 1.0 credits of C-level chemistry or biochemistry courses containing a lab component (i.e. CHMC16H3, CHMC31Y3, CHMC42H3, CHMC47H3, BIOC23H3). Once the course coordinator (or designate)* has approved enrolment to CHMD91H3, s/he will sign the course enrolment form for submission to the registrar. *Note that the course coordinator (or designate) is the only one permitted to give ""permission of instructor"" on this form." +CHMD92H3,NAT_SCI,University-Based Experience,"A lab course designed to introduce students to modern synthetic methods while performing multi-step syntheses. The course will consist of two, six hour lab days every week. Students will develop advanced practical synthetic and analytic skills by working with important reactions taken from different chemistry disciplines.",,CHMC42H3 or CHMC31Y3,CHMD90Y3 and CHMD91H3,Advanced Chemistry Laboratory Course,, +CITA01H3,SOCIAL_SCI,,"A review of the major characteristics and interpretations of cities, urban processes and urban change as a foundation for the Program in City Studies. Ideas from disciplines including Anthropology, Economics, Geography, Planning, Political Science and Sociology, are examined as ways of understanding cities.",,,CITB02H3,Foundations of City Studies,, +CITA02H3,SOCIAL_SCI,,"An introduction to the philosophical foundations of research, major paradigms, and methodological approaches relevant to Programs in City Studies. This course is designed to increase awareness and understanding of academic work and culture, enhance general and discipline-specific academic literacy, and create practical opportunities for skills development to equip students for academic success in City Studies.",,,,Studying Cities,, +CITB01H3,SOCIAL_SCI,,"After critically examining the history of urban planning in Canada, this course explores contemporary planning challenges and engages with planning’s ‘progressive potential’ to address social justice issues and spatialized inequality through an examination of possible planning solutions.",,[CITA01H3 and CITA02H3] or [CITA01H3 and CITA02H3 as co-requisites with permission],(GGRB06H3),Canadian Cities and Planning,, +CITB03H3,SOCIAL_SCI,,"This course provides an overview of the history, theory, and politics of community development and social planning as an important dimension of contemporary urban development and change.",,[CITA01H3 and CITA02H3] or [CITA01H3 and CITA02H3 as co-requisites with permission],,Social Planning and Community Development,, +CITB04H3,SOCIAL_SCI,,"This course is the foundations course for the city governance concentration in the City Studies program, and provides an introduction to the study of urban politics with particular emphasis on different theoretical and methodological approaches to understanding urban decision-making, power, and conflict.",,[CITA01H3 and CITA02H3] or [CITA01H3 and CITA02H3 as co-requisites with permission],,City Politics,, +CITB05H3,SOCIAL_SCI,,This course introduces quantitative and qualitative methods in city studies. Students will engage in observation and interviews; descriptive data analysis and visualization; surveys and sampling; and document analysis.,,CITA01H3 and CITA02H3,,Researching the City: An Introduction to Methods,,"Priority will be given to students enrolled in Specialist, Major, Major (Co-op) and Minor Programs in City Studies." +CITB07H3,SOCIAL_SCI,,"This introductory course will encourage students to exercise their relational and comparative imagination to understand how the urban issues and challenges they experience in Scarborough and Toronto are interconnected with people, ideas and resources in other parts of the world. Students will examine the complexities of urbanization processes across different regions in the world, including themes such as globalization, urban governance, sustainability, climate change, equity and inclusion. Through interactive lectures, collaborative work and reflective assignments, students will learn to apply comparative and place-based interventions for fostering inclusive, equitable, and sustainable urban futures.",,CITA01H3 and CITA02H3,,Introduction to Global Urbanisms,, +CITB08H3,SOCIAL_SCI,,"An introduction to economic analysis of cities, topics include: theories of urban economic growth; the economics of land use, urban structure, and zoning; the economics of environments, transportation, and sustainability; public finance, cost-benefit analysis, the provision of municipal goods and services, and the new institutional economics.",,[CITA01H3 and CITA02H3] or [CITA01H3 and CITA02H3 as co-requisites with permission],,Economy of Cities,, +CITC01H3,SOCIAL_SCI,Partnership-Based Experience,"This course engages students in a case study of some of the issues facing urban communities and neighbourhoods today. Students will develop both community-based and academic research skills by conducting research projects in co- operation with local residents and businesses, non-profit organizations, and government actors and agencies.",CITC08H3,"8.0 credits, including at least 1.5 credits at the B-level from City Studies, Geography, Political Science or Sociology.",,Urban Communities and Neighbourhoods Case Study: East Scarborough,,Priority enrolment is given students registered in the City Studies programs. Students from other programs may request admission through the Program Advisor at cit- advisor@utsc.utoronto.ca +CITC02H3,,Partnership-Based Experience,"With a focus on building knowledge and skills in community development, civic engagement, and community action, students will ‘learn by doing’ through weekly community- based placements with community organizations in East Scarborough and participatory discussion and written reflections during class time. The course will explore topics such as community-engaged learning, social justice, equity and inclusion in communities, praxis epistemology, community development theory and practice, and community- based planning and organizing. Students will be expected to dedicate 3-4 hours per week to their placement time in addition to the weekly class time. Community-based placements will be organized and allocated by the course instructor.",CITC01H3 and CITC08H3,At least 1.5 credits at the B-level in CIT courses,,Placements in Community Development,,"Priority enrolment is given students registered in the City Studies programs, students from other programs may request admission through the Program Advisor at cit- advisor@utsc.utoronto.ca" +CITC03H3,SOCIAL_SCI,,"This course examines how planning and housing policies help shape the housing affordability landscape in North American cities. The course will introduce students to housing concepts, housing issues, and the role planning has played in (re)producing racialized geographies and housing inequality (e.g., historical and contemporary forms of racial and exclusionary zoning). We will also explore planning’s potential to address housing affordability issues.",,"8.0 credits including at least 1.5 credits at the B-level from Anthropology, City Studies, Health Studies, Human Geography, Political Science, or Sociology",,Housing Policy and Planning,,"Priority will be given to students enrolled in Specialist, Major and Minor Programs in City Studies and Human Geography; and Minor in Urban Public Policy and Governance. Additional students will be admitted as space permits." +CITC04H3,SOCIAL_SCI,,"Constitutional authority, municipal corporations, official plans, zoning bylaws, land subdivision and consents, development control, deed restrictions and common interest developments, Ontario Municipal Board.",,"8.0 credits including at least 1.5 credits at the B-level from City Studies, Human Geography, Political Science, or Sociology.",,Current Municipal and Planning Policy and Practice in Toronto,, +CITC07H3,SOCIAL_SCI,,"In recent years social policy has been rediscovered as a key component of urban governance. This course examines the last half-century of evolving approaches to social policy and urban inequality, with particular emphasis on the Canadian urban experience. Major issues examined are poverty, social exclusion, labour market changes, housing, immigration and settlement.",,"8.0 credits including at least 1.5 credits at the B-level from City Studies, Human Geography, Political Science, or Sociology",CITC10H3 if taken in the 2011 Winter session,Urban Social Policy,, +CITC08H3,SOCIAL_SCI,Partnership-Based Experience,An examination of community development as the practice of citizens and community organizations to empower individuals and groups to improve the social and economic wellbeing of their communities and neighbourhoods. The course will consider different approaches to community development and critically discuss their potential for positive urban social change.,,"8.0 credits including at least 1.5 credits at the B-level from City Studies, Human Geography, Political Science, or Sociology.",,Cities and Community Development,,Priority enrolment is given students registered in the City Studies programs. Students from other programs may request admission through the Program Advisor at cit- advisor@utsc.utoronto.ca +CITC09H3,SOCIAL_SCI,,"An introduction to the study of the history of urban planning with particular emphasis on the investigation of the planning ideas, and the plans, that have shaped Toronto and its surrounding region through the twentieth century. The course will consider international developments in planning thought together with their application to Toronto and region.",,"8.0 credits including at least 1.5 credits at the B-level from City Studies, Human Geography, Political Science, or Sociology",,Introduction to Planning History: Toronto and Its Region,, +CITC10H3,SOCIAL_SCI,,Examination of one or more current issues in cities. The specific issues will vary depending on the instructor.,,"8.0 credits including at least 1.5 credits at the B-level from City Studies, Human Geography, Political Science, or Sociology",,Selected Issues in City Studies,, +CITC12H3,SOCIAL_SCI,Partnership-Based Experience,"Decisions: Field Research in Urban Policy Making Local governments are constantly making policy decisions that shape the lives of residents and the futures of cities. This course focuses on how these decisions get made, who has power to make them, and their impact on urban citizens. We will address how challenges in cities are understood by city council, staff, and the public, and how certain “policy solutions” win out over others. In the process, we will draw from both classical and contemporary theories of local government as well as the latest research on urban policy making. We will also be learning field research methods to study policy making as it happens on the ground in cites.",,"8.0 credits and at least 1.5 other credits at the B-level from City Studies, Human Geography, Economics for Management Studies, Management, Political Science, or Sociology; including CITB04H3.",,"City Structures, Problems, and",, +CITC14H3,SOCIAL_SCI,,"This course introduces students to questions of urban ecology and environmental planning, and examines how sustainability and environmental concerns can be integrated into urban planning processes and practices.",,"8.0 credits, including at least 1.5 credits at the B-level from City Studies, Human Geography, Environmental Studies, Political Science, or Sociology",,Environmental Planning,, +CITC15H3,SOCIAL_SCI,,"This course examines the role of municipal finance in shaping all aspects of urban life. Putting Canada into a comparative perspective, we look at how local governments provide for their citizens within a modern market economy and across different societies and time periods. The course also explores the relationship between municipal finance and various social problems, including movements for racial justice and the ongoing housing crisis.",,"8.0 credits, including at least 1.5 credits at the B-level from City Studies, Human Geography, Economics for Management Studies, Management, Political Science, or Sociology",,Money Matters: How Municipal Finance Shapes the City,, +CITC16H3,SOCIAL_SCI,,"Most of the world's population now lives in large urban regions. How such metropolitan areas should be planned and governed has been debated for over a century. Using examples, this course surveys and critically evaluates leading historical and contemporary perspectives on metropolitan planning and governance, and highlights the institutional and political challenges to regional coordination and policy development.",,"8.0 credits, including at least 1.0 credits at the B-level from City Studies, Human Geography, Management, Political Science, or Sociology",,Planning and Governing the Metropolis,, +CITC17H3,SOCIAL_SCI,,"This course examines the engagement of citizen groups, neighbourhood associations, urban social movements, and other non-state actors in urban politics, planning, and governance. The course will discuss the contested and selective insertion of certain groups into city-regional decision-making processes and structures.",,"8.0 credits, including at least 1.5 credits at the B-level from City Studies, Human Geography, Political Science, or Sociology",,Civic Engagement in Urban Politics,, +CITC18H3,SOCIAL_SCI,,"Demand forecasting; methodology of policy analysis; impacts on land values, urban form and commuting; congestion; transit management; regulation and deregulation; environmental impacts and safety.",,"[STAB22H3 or equivalent] and [8.0 credits, including at least 1.5 credits at the B-level from City Studies, Human Geography, Economics for Management Studies, Management, or Political Science]",GGR324H and (GGRC18H3),Urban Transportation Policy Analysis,, +CITC54H3,SOCIAL_SCI,Partnership-Based Experience,"A central focus of city studies is the attempt to understand the diversity of cities and urbanization processes globally. This course provides an opportunity to engage in field research work on a common research topic in a city outside Toronto. Students will prepare case study questions; engage in data collection including interviews, archives, and observation; networking; and case analysis in a final report.",CITB07H3,CITB05H3,GGRC54H3,City Studies Field Trip Course,, +CITD01H3,SOCIAL_SCI,University-Based Experience,"This course is designed as a culminating City Studies course in which participants are able to showcase the application of their research skills, and share their professional and disciplinary interests in a common case study. Lectures and guests will introduce conceptual frameworks, core questions and conflicts. Students will be expected to actively participate in discussions and debates, and produce shared research resources. Each student will prepare a substantial research paper as a final project.",,15.0 credits and completion of the following requirements from either the Major or Major Co-operative programs in City Studies: (2) Core Courses and (3) Methods,,City Issues and Strategies,, +CITD05H3,SOCIAL_SCI,University-Based Experience,"City Studies Workshop I provides training in a range of career-oriented research, consulting, and professional skills. Through a series of 4-week modules, students will develop professional practice oriented skills, such as conducting public consultations, participating in design charrettes, making public presentations, writing policy briefing notes, conducting stakeholder interviews, working with community partner organizations, organizing and running public debates, and participant observation of council meetings and policy processes at Toronto City Hall.",,"15.0 credits, including completion of the following requirements of the Specialist and Major/Major Co- op programs in City Studies: (2) Core Courses and (3) Methods",(CITC05H3),City Studies Workshop I,,This course is designed for students in Years 3 and 4 of their programs. Priority will be given to students enrolled in the Specialist and Major/Major Co-op programs in City Studies. +CITD06H3,SOCIAL_SCI,University-Based Experience,"City Studies Workshop II provides training in a range of career-oriented research, consulting, and professional skills. Through a series of 4-week modules, students will develop professional practice oriented skills, such as conducting public consultations, participating in design charrettes, making public presentations, writing policy briefing notes, conducting stakeholder interviews, working with community partner organizations, organizing and running public debates, and participant observation of council meetings and policy processes at Toronto City Hall.",,"15.0 credits, including completion of the following requirements of the Specialist and Major/Major Co- op programs in City Studies: (2) Core Courses and (3) Methods",(CITC06H3),City Studies Workshop II,,This course is designed for students in Years 3 and 4 of their program of study. Priority will be given to students enrolled in the Specialist and Major/Major Co-op programs in City Studies. +CITD10H3,SOCIAL_SCI,,"Designed primarily for final-year City Studies Majors, this research seminar is devoted to the analysis and discussion of current debates and affairs in City Studies using a variety of theoretical and methodological approaches. Specific content will vary from year to year. Seminar format with active student participation.",,"15.0 credits, including completion of the following requirements of the Major/Major Co-op programs in City Studies: (2) Core Courses and (3) Methods",,Seminar in Selected Issues in City Studies,,Priority will be given to students enrolled in the Major/Major Co-op programs in City Studies. Additional students will be admitted as space permits. +CITD12H3,SOCIAL_SCI,Partnership-Based Experience,"This course is designed to develop career-related skills such as policy-oriented research analysis, report writing, and presentation and networking skills through experiential learning approaches. The policy focus each year will be on a major current Toronto planning policy issue, from ‘Complete Streets’ to improvements to parks and public space infrastructure, to public transit-related investments. Students work closely in the course with planners and policymakers from the City of Toronto, policy advocates, and community organizers.",,"15.0 credits, including completion of the following requirements of the Major/Major Co-op programs in City Studies: (2) Core Courses and (3) Methods",CITD10H3 (if taken in the 2018 Fall Session and 2020 Winter session),Planning and Building Public Spaces in Toronto,, +CITD30H3,SOCIAL_SCI,,An independent studies course open only to students in the Major and Major Co-op programs in City Studies. An independent studies project will be carried out under the supervision of an individual faculty member.,,"15.0 credits, including completion of the following requirements of the Major/Major Co-op programs in City Studies: (2) Core Courses, (3) Methods, and a cumulative GPA of at least 2.5",,Supervised Research Project,, +CLAA04H3,HIS_PHIL_CUL,,"An introduction to the main features of the ancient civilizations of the Mediterranean world from the development of agriculture to the spread of Islam. Long term socio- economic and cultural continuities and ruptures will be underlined, while a certain attention will be dedicated to evidences and disciplinary issues. Same as HISA07H3",,,HISA07H3,The Ancient Mediterranean World,, +CLAA05H3,HIS_PHIL_CUL,,A study of Mesopotamian and Egyptian mythologies. Special attention will be dedicated to the sources through which these representational patterns are documented and to their influence on Mediterranean civilizations and arts.,,,CLAA05H3 may not be taken after or concurrently with NMC380Y,Ancient Mythology I: Mesopotamia and Egypt,, +CLAA06H3,HIS_PHIL_CUL,,A study of Greek and Roman mythologies. Special attention will be dedicated to the sources through which these representational patterns are documented and to their influence on Mediterranean civilizations and arts.,CLAA05H3,,"CLA204H, (CLAA02H3), (CLAA03H3)",Ancient Mythology II: Greece and Rome,, +CLAB05H3,HIS_PHIL_CUL,,"A survey of the history and culture of the Greek world from the Minoan period to the Roman conquest of Egypt (ca 1500- 30 BC). Special attention will be dedicated to the nature, variety and limits of the available evidences, to socio-cultural interactions as well as to historical processes of continuities and ruptures. Same as HISB10H3",,,"CLA230H, HISB10H3",History and Culture of the Greek World,, +CLAB06H3,HIS_PHIL_CUL,,"A survey of the history and culture of the ancient Roman world, from the Etruscan period to the Justinian dynasty (ca 800 BC-600 AD). Special attention will be dedicated to the nature, variety and limits of the available evidences, to socio- cultural interactions as well as to historical processes of continuities and ruptures. Same as HISB11H3",CLAB05H3,,"CLA231H, HISB11H3",History and Culture of the Roman World,, +CLAB09H3,HIS_PHIL_CUL,,"A course to introduce students of history and classical studies to the world of late antiquity, the period that bridged classical antiquity and the Middle Ages. This course studies the period for its own merit as a time when the political structures of the Medieval period were laid down and the major religions of the Mediterranean (Judaism, Christianity, Islam, Zoroastrianism) took their recognizable forms. Same as HISB09H3",CLAA04H3/HISA07H3 The Ancient Mediterranean,,HISB09H3,Between Two Empires: The World of Late Antiquity,, +CLAB20H3,HIS_PHIL_CUL,,"The representation of the classical world and historical events in film. How the Greek and Roman world is reconstructed by filmmakers, their use of spectacle, costume and furnishings, and the influence of archaeology on their portrayals. Films will be studied critically for historical accuracy and faithfulness to classical sources. Same as HISB12H3",CLAA05H3 or CLAA06H3 or (CLAA02H3) or (CLAA03H3),,"HISB12H3, CLA388H",The Ancient World in Film,, +CLAC01H3,ART_LIT_LANG,,"A detailed study of an author or a genre in Classical Literature in Translation. Topics will vary from session to session and will alternate between Greek and Roman Epic, Greek and Roman Tragedy and Greek and Roman Comedy.",,One full credit in Classics or in English or another literature,CLA300H,Selected Topics in Classical Literature,, +CLAC02H3,HIS_PHIL_CUL,,"A detailed study of a theme in Classical Civilization. Topics will vary from session to session and may be drawn from such areas as the archaeological history of the Roman world, Greek and Roman religion, ancient education or Roman law.",,One full credit in Classics or History,,Selected Topics in Classical Civilization,, +CLAC05H3,HIS_PHIL_CUL,,"This course focuses on the History of ancient Egypt, with a focus on the Hellenistic to early Arab periods (4th c. BCE to 7th c. CE). Lectures will emphasize the key role played by Egypt’s diverse environments in the shaping of its socio- cultural and economic features as well as in the policies adopted by ruling authorities. Elements of continuity and change will be emphasized and a variety of primary sources and sites will be discussed. Special attention will also be dedicated to the role played by imperialism, Orientalism, and modern identity politics in the emergence and trajectory of the fields of Graeco-Roman Egyptian history, archaeology, and papyrology. Same as (IEEC52H3), HISC10H3.",,"2.0 credits in CLA or HIS courses, including 1.0 credit from the following: CLAA04H3/HISA07H3 or CLAB05H3/HISB10H3 or CLAB06H3/HISB11H3","HISC10H3,(IEEC52H3)",Beyond Cleopatra: Decolonial Approaches to Ancient Egypt,, +CLAC11H3,ART_LIT_LANG,,"An examination of the main genres, authors and works of ancient Greek and Latin poetry, with particular emphasis on epic, drama and lyrics. Attention will be dedicated to the study of how these works reflect the socio-cultural features of Classical Antiquity and influenced later literatures. Texts will be studied in translation.",CLAA06H3,One full credit in Classics or English,,Classical Literature I: Poetry,, +CLAC12H3,ART_LIT_LANG,,"An examination of the main genres, authors and works of ancient Greek and Latin prose. History, rhetoric, biography, letters and the novel will be studied. Attention will be dedicated to the study of how these works reflect the socio- cultural features of Classical Antiquity and influenced later literatures. Texts will be studied in translation.",CLAA06H3 and CLAC11H3,One full credit in Classics or English,,Classical Literature II: Prose,, +CLAC22H3,HIS_PHIL_CUL,,"A comparative study of the Mesopotamian, Egyptian, Phoenician and Punic, Celtic, Palmyrene, Persian, Greco- Roman and Judeo-Christian religious beliefs and practices. Special attention will be dedicated to how they document the societies and cultures in which they flourished.",CLAA05H3 and CLAA06H3,One full credit in Classics or Religion,"CLA366H, NMC380Y",Religions of the Ancient Mediterranean,, +CLAC24H3,HIS_PHIL_CUL,,A critical examination of multiculturalism and cultural identities in the Greek and Roman worlds. Special attention will be dedicated to the evidences through which these issues are documented and to their fundamental influence on the formation and evolution of ancient Mediterranean and West Asian societies and cultures. Same as HISC11H3,CLAB05H3 and CLAB06H3,1.0 credit in CLA or HIS courses.,HISC11H3,Race and Ethnicity in the Ancient Mediterranean and West Asian Worlds,, +CLAC26H3,HIS_PHIL_CUL,,"This course will explore the representations and realities of Indigeneity in the ancient Mediterranean world, as well as the entanglements between modern settler-colonialism, historiography, and reception of the 'Classical' past. Throughout the term, we will be drawn to (un)learn, think, write, and talk about a series of topics, each of which pertains in different ways to a set of overarching questions: What can Classicists learn from ancient and modern indigenous ways of knowing? What does it mean to be a Classicist in Tkaronto, on the land many Indigenous Peoples call Turtle Island? What does it mean to be a Classicist in Toronto, Ontario, Canada? What does it mean to be a Classicist in a settler colony? How did the Classics inform settler colonialism? How does modern settler colonialism inform our reconstruction of ancient indigeneities? How does our relationship to the land we come from and are currently on play a role in the way we think about the ancient Mediterranean world? Why is that so? How did societies of the ancient Mediterranean conceive of indigeneity? How did those relationships manifest themselves at a local, communal, and State levels? Same as HISC16H3",,"Any 4.0 credits, including 1.0 credit in CLA or HIS courses",HISC16H3,Indigeneity and the Classics,, +CLAC67H3,HIS_PHIL_CUL,,"the Construction of a Historical Tradition This course examines the history and historiography of the formative period of Islam and the life and legacy of Muḥammad, Islam’s founder. Central themes explored include the Late Antique context of the Middle East, pre- Islamic Arabia and its religions, the Qur’ān and its textual history, the construction of biographical accounts of Muḥammad, debates about the historicity of reports from Muḥammad, and the evolving identity and historical conception of the early Muslim community. Same as HISC67H3",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",HISC67H3,Early Islam: Perspectives on,, +CLAC68H3,HIS_PHIL_CUL,,"This course reflects on the concept of Orientalism and how it informs the fields of Classical Studies and Anthropology. Topics to be discussed include the Orientalization of the past and the origin, role, and significance of ancient representations of the ""Other"" in contemporary discourses. Same as ANTC58H3 and HISC68H3",,"1.0 credit from the following: [CLAA04H3/HISA07H3, CLAB05H4/HISB10H3, CLAB06H3/HISB11H3, ANTA02H3, ANTB19H3, ANTB20H3, HISB02H3, AFSB50H3/HISB50H3, AFSB51H3/HISB51H3, HISB53H3, HISB57H3, HISB58H3, HISB60H3, HISB61H3, HISB62H3, HISB93H3, HISB94H3]","ANTC58H3, HISC68H3",Constructing the Other: Orientalism through Time and Place,, +CLAC94H3,HIS_PHIL_CUL,,"The Qur'an retells many narratives of the Hebrew Bible and the New Testament. This course compares the Qur'anic renditions with those of the earlier scriptures, focusing on the unique features of the Qur'anic versions. It will also introduce the students to the history of ancient and late antique textual production, transmission of texts and religious contact. The course will also delve into the historical context in which these texts were produced and commented upon in later generations. Same as HISC94H3",,"Any 4.0 credits, including [[1.0 credit in Classical Studies or History] or [WSTC13H3]]",HISC94H3,The Bible and the Qur’an,, +CLAD05H3,HIS_PHIL_CUL,,This seminar type course addresses issues related to the relationships between ancient Mediterranean and West Asian societies and their hydric environments from 5000 BC to 600 AD. Same as HISD10H3,CLAB05H3 and CLAB06H3,Any 11.0 credits including 2.0 credits in CLA or HIS courses.,HISD10H3,Dripping Histories: Water in the Ancient Mediterranean and West Asian Worlds,, +CLAD69H3,ART_LIT_LANG,,"This course is an introduction to mystical/ascetic beliefs and practices in late antiquity and early Islam. Often taken as an offshoot of or alternative to “orthodox” representations of Christianity and Islam, mysticism provides a unique look into the ways in which these religions were experienced by its adherents on a more popular, often non-scholarly, “unorthodox” basis throughout centuries. In this class we will examine mysticism in late antiquity and early Islam through the literature, arts, music, and dance that it inspired. The first half of the term will be devoted to the historical study of mysticism, its origins, its most well-known early practitioners, and the phases of its institutionalization in early Christianity and early Islam; the second part will look into the beliefs and practices of mystics, the literature they produced, the popular expressions of religion they generated, and their effects in the modern world. This study of mysticism will also provide a window for contemporary students of religion to examine the devotional practices of unprivileged members of the late antiquity religious communities, women and slaves in particular. Same as HISD69H3.","CLAB06H3/HISB11H3, CLAB09H3/HISB09H3","Any 8.0 credits, including: [0.5 credit at the A- or B-level in CLA or HIS courses] and [0.5 credit at the C- level in CLA or HIS courses]",HISD69H3,Sufis and Desert Fathers: Mysticism in Late Antiquity and Early Islam,, +COPB10Y3,,Partnership-Based Experience,"This preparatory course helps students navigate the challenges ahead in the world of Co-op and business. This course is highly interactive and practical, and is completed before students start seeking their Co-op work term opportunity. Management experienced Coordinators and expert guests instruct students on how to succeed in their work terms. This course is a compulsory requirement for all Management Co-op programs. Students must pass this course before proceeding to seek for a work term opportunity, therefore, this course may be repeated.",,Restricted to students in the Management Co- op programs.,[COPB11H3 and COPB12H3]; [COPB13H3 and COPB14H3]; (COPD07Y3); (COPD08Y3),Advancing Your Career Exploration,,"1. If you are enrolled in this course, you would not be required to complete: [COPB11H3 and COPB12H3] or [COPB13H3 and COPB14H3]. 2. UTSC internal applicants are accepted into the Management Co-op in early May." +COPB11H3,,Partnership-Based Experience,"This preparatory course helps students navigate the challenges ahead in the world of Co-op and business. This course is highly interactive and practical, and is completed before students start seeking their Co-op work term opportunity. Management experienced Coordinators, and expert guests instruct students on how to succeed in their work terms. This course is a compulsory requirement for all Management Co-op programs. Students must pass this course before proceeding to seek for a work term opportunity, therefore, this course may be repeated.",,Restricted to students in the Management Co- op programs.,COPB10Y3/(COPD07Y3); (COPD08Y3),Advancing Your Career Exploration Part I,,Students in their first year Management Co-op Programs will be core-loaded into this course. +COPB12H3,,Partnership-Based Experience,"This preparatory course helps students navigate the challenges ahead in the world of Co-op and business. This course is highly interactive and practical, and is completed before students start seeking their Co-op work term opportunity. Management experienced Coordinators and expert guests continue to instruct students on how to succeed in their work terms. This course is a compulsory requirement for all Management Co-op programs. Students must pass this course before proceeding to seek a work term opportunity, therefore, this course may be repeated.",,Restricted to students in the Management Co- op programs.,COPB10Y3/(COPD07Y3); (COPD08Y3),Advancing Your Career Exploration Part II,,Students in their first year Management Co-op Programs will be core-loaded into this course. +COPB13H3,,Partnership-Based Experience,"This preparatory course helps Management International Business (MIB) students navigate the challenges ahead in the world of Co-op and business. This course is highly interactive, and practical, and is completed before students start seeking for their Co-op work term opportunity. Management experienced Coordinators and expert guests instruct students on how to succeed in their work terms. This course is a compulsory requirement for the Management MIB Co-op program. Students need to pass this course before proceeding to seek a Co-op work term opportunity, therefore, this course may be repeated.",,Restricted to students in the Management International Business Co-op program.,COPB10Y3/(COPD07Y3); (COPD08Y3),Advancing Your Career Exploration Management International Business Part I,,Students in their first year Management International Business Co-op program will be core-loaded into this course. +COPB14H3,,Partnership-Based Experience,"This preparatory course helps Management International Business (MIB) students navigate the challenges ahead in the world of Co-op and business. This course is highly interactive and practical, and is completed before students start seeking their Co-op work term opportunity. Management experienced Coordinators and expert guests continue to instruct students on how to succeed in their work terms. This course is a compulsory requirement for the Management MIB Co-op program. Students need to pass this course before proceeding to seek a Co-op work term opportunity, therefore, this course may be repeated.",,Restricted to students in the Management International Business Co-op program.,COPB10Y3/(COPD07Y3); (COPD08Y3),Advancing Your Career Exploration Management International Business Part II,,Students in their first year Management International Business Co-op program will be core-loaded into this course. +COPB30H3,SOCIAL_SCI,University-Based Experience,"This course is designed to prepare students in the International Development Studies Co-op programs with the skills, tools and experience to have a successful placement search. This course is an opportunity for students to explore the stages and dynamics of job searching, investigate various career options based on their skill set and interests, develop a placement search plan and create placement search documents. In addition, through workshops and events, students will have an opportunity to interact with IDS placement partners, senior students, and faculty, and gain insight into trends in the field of international development.",,,(COPD02H3),Passport to Placement I,,Restricted to students enrolled in the Specialist (Co-op) Programs in International Development Studies. Students should plan to complete this course in the first year of study in their selected IDS Co-op program. +COPB31H3,SOCIAL_SCI,University-Based Experience,"In this course, students build upon skills and knowledge gained in COPB30H3. This course focuses on the job search and goal setting, culminating in students creating an Action Plan that focuses on developing and polishing their job search and application process skills in preparation for the Co-op application process in COPB33H3. By the end of this course, students should feel confident in their ability to network, write a job application, and communicate professionally.",,COPB30H3/(COPD02H3),(COPD04H3); COPB30H3 (if taken in Fall 2020 or earlier),Passport to Placement II,,Restricted to students enrolled in the Specialist (Co-op) Programs in International Development Studies. IDS Co-op students must successfully complete this course prior to COPB33H3. +COPB33H3,,University-Based Experience,"This course is designed to prepare students in the International Development Studies Co-op programs with the skills, tools and preparation to be successful during the placement year. Building on the skills developed in the first two years of the program, students will explore placement opportunities based on their skill set and interests. The course will include presentations from International Development Studies placement partners, group exercises, and individual assignments designed to prepare students for the placement experience. Pre-departure orientation activities will include intercultural learning, health and safety issues, placement research, and other key topics. A weekend retreat with returned placement students (fifth-year) provides an opportunity for sharing first-hand experience and knowledge.",,COPB30H3 and COPB31H3 (if taken Fall 2021 or later),COPB31H3 (if taken Fall 2020 or earlier),Passport to Placement III,,Restricted to students enrolled in the Specialist (Co-op) Programs in International Development Studies. +COPB50H3,,University-Based Experience,"This course provides students in their first-year of Arts and Science Co-op to develop skills and tools to manage and thrive during the job search and in the workplace throughout the semester. In addition, students begin to build their job search tool kit, examine their strengths and areas of development, discover the skills employers are seeking in undergraduate Co-op students and in employees in general, and explore possible pathways to achieving their Co-op work terms and long term academic or career goals. Students will learn and practice strategies to best present their skills, knowledge and experience in foundational job search documents. The concept of interviewing is also introduced. This course is a compulsory requirement for the Arts and Science Co-op programs. Students need to pass the course before proceeding to seek for a Co-op work term, therefore, this course may be repeated.",,Restricted to students in the Arts and Science Co-op programs.,"COPB10Y3/(COPD07Y3), COPB36H3; (COPD01H3)",Foundations for Success in Arts and Science Co-op,,Students should plan to complete this course in the first year of study in their selected Arts and Science Co-op program. +COPB51H3,,University-Based Experience,"This course builds on the foundational job search concepts introduced in COPB50H3, providing opportunities to refine application strategies and practice interviewing in various formats, based on academic program areas as well as industry hiring practices. Students begin to experience the Co-op job search cycle by reviewing, selecting, and applying to job postings weekly and receiving feedback similar to when participating in a job search cycle. With this feedback, and the support of your Coordinator, students make adjustments to their job search approach and develop strategies for success in the following term for both job applications and interview performance. The importance of a job search network and research to tailor and prepare during your job search are also examined. This course is a compulsory requirement for the Arts and Science Co-op programs. Students need to pass the course before proceeding to seek for a Co-op work term, therefore, this course may be repeated.",,COPB50H3/(COPD01H3); restricted to students in the Arts and Science Co-op programs.,(COPD03H3),Preparing to Compete for your Work Term,, +COPB52H3,,Partnership-Based Experience,"This course will draw on students' job search experience. Students will learn how to effectively and professionally navigate challenging situations while job searching and on work term. Drawing upon the job search knowledge and tool kit created in COPB50H2 and COPB51H3, this course is designed to provide students who are competing for a first Co‐op work term with resources and support necessary to meet their goal of securing a work term. During this semester, Co-op students are applying to job postings on CSM and attending interviews until they secure a work term. This course also provides students with job search trends, job search support and feedback, interview coaching, and peer activities. The course is a combination of in‐class, group activities, and one‐on‐one appointments. Topical information and insights about the labour market and Co‐op employers are also provided.",,COPB51H3/(COPD03H3); restricted to students in the Arts and Science Co-op programs.,(COPD11H3),Managing your Job Search and Transition to the Workplace,, +COPB53H3,,Partnership-Based Experience,This course is for students in Arts & Science Co-op who have undertaken a first work term search and successfully completed COPB52H3 but have not embarked on a first work term experience. Students in this course will continue with job search activities and receive additional support factoring in their overall learning.,,COPB52H3/(COPD11H3); restricted to students in the Arts and Science Co-op programs.,,Continuing your Co-op Job Search,, +COPC01H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts & Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Mathematical Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations. +COPC03H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts & Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Computer Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations. +COPC05H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts and Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Physical and Environmental Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations. +COPC07H3,,Professional Work Term,"In this course, Management Co-op students engage in a work term opportunity, which is a form of work-integrated learning, to improve their employability skills and workplace productivity by concentrating on key areas to foster their development.",,COPB10Y3/(COPD07Y3) or (COPD08Y3) or [COPB11H3 and COPB12H3] or [COPB13H3 and COPB14H3]; restricted to students in the Management Co-op and/or Management International Business Co-op programs.,,Management Co-op Work Term,, +COPC09H3,,Professional Work Term,"The purpose of the work term placement is for students to gain experience in the professional world of development while applying knowledge gained in the classroom to real life experiences. The majority of students secure work terms with Canadian NGOs, research institutes or private sector consulting firms. Work terms are 8-12 months in length. The location and duration of the work terms will vary according to each student’s disciplinary and regional preferences, their experience and abilities, the availability of positions, and the practicability and safety of work.",,COPB31H3/(COPD04H3) and IDSC01H3 and IDSC04H3; restricted to students in the International Development Studies Co-op programs.,,International Development Studies Co-op Work Term,, +COPC13H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts and Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 2 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Social Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations. +COPC14H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts & Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Neuroscience,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations. +COPC20H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts and Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 2 work terms for the Co- op program. Students will be allowed to repeat this course 2 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Humanities,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations. +COPC21H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers, to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts and Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations. +COPC30H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts and Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Biological Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations. +COPC40H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts and Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Psychological and Health Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations. +COPC98H3,,Partnership-Based Experience,"This course is designed to provide students who have completed their first work term with tools and strategies to effectively integrate their recent work term experience into their job search documents, as well as practice articulating their new or enhanced skills and experience in an interview setting. Students are provided with opportunities to practice and refine their approach as they begin to seek their next Co- op work term. In class Apply Together sessions and one-on- one appointment consultations with your Work Term Engagement Coordinator will provide you with semester specific market trends, tools and resources to succeed in your job search. There are also online and in person forums for sharing work term and job search experience with junior Co-op students and peers.",,COPB52H3/(COPD11H3) and completion of one work term; restricted to students in the Arts and Science Co-op Programs.,(COPD12H3),Integrating Your Work Term Experience Part I,, +COPC99H3,,Partnership-Based Experience,"This course is designed to provide students who have completed 2 work terms or more with tools and strategies to effectively integrate their recent work term experiences into their job search documents as well as practice articulating their new or enhanced skills and experience in an interview setting. Students are provided with opportunities to practice and refine their approach as they job search/compete for another Co-op work term. In class Apply Together sessions and one-on-one appointment consultations with your Work Term Engagement Coordinator will provide you with semester specific market trends, tools and resources to succeed in your job search. Having the experience of job searching and at least 8 months of work term experience, students share, compare, and contrast their individual experiences. There are also online and in person forums for sharing their work term and job search experience with junior Co-op students.",,COPC98H3/(COPD12H3) and completion of at least two work terms; restricted to students in the Arts and Science Co-op programs.,(COPD13H3),Integrating Your Work Term Experience Part II,,Students complete this course each time they are job searching for a work term beyond their second work term. +CRTB01H3,ART_LIT_LANG,,"An introduction to the theory, ethics and contexts of art museum/gallery curatorial practice. Emphasis on communication through exploring interpretations and considering ethical practice. Students will learn specialized knowledge, resources, references and methodologies and explore professional and academic responsibilities of art- based curatorial work.",,Any 2.0 credits at A-level,"(VPHB72H3), FAH301H5, FAH310H5",Introduction to Curating Art,,"Restricted to students who have completed the A-level courses in the Major or Specialist programs in Art History, Arts Management, Studio Art, or Media Studies. Priority will be given to students enrolled in the Minor in Curatorial Studies. Additional students will be admitted as space permits." +CRTC72H3,ART_LIT_LANG,Partnership-Based Experience,"Art and the settings in which it is seen in cities today. Some mandatory classes to be held in Toronto museums and galleries, giving direct insight into current exhibition practices and their effects on viewer's experiences of art; students must be prepared to attend these classes. Same as VPHC72H3",,CRTB01H3 and CRTB02H3,VPHC72H3,"Art, the Museum, and the Gallery",, +CRTC80H3,ART_LIT_LANG,,"Viewed from an artist’s perspective, this course considers the exhibition as medium, and curating as a creative act. By studying the history of exhibitions organized by artists and artist collectives, this course considers their influence on contemporary curatorial practice with a focus on historical and contemporary Canadian exhibitions.",,CRTB01H3,,Curator as Artist; Artist as Curator,,"Priority will be given to students enrolled in programs in Curatorial Studies, Art History and Visual Culture, Arts Management, Media Studies, and Studio Art." +CRTD43H3,ART_LIT_LANG,Partnership-Based Experience,"Curatorial practice and the responsibilities of the curator, such as the intellectual and practical tasks of producing a contemporary art exhibition, researching Canadian contemporary art and artists, building a permanent collection, administrating a public art competition, and critical writing about works of visual art in their various contexts. Studio and/or gallery visits required.",,11.0 credits including [VPHB39H3 and CRTB01H3 and CRTB02H3],(VPHD43H3),Curating Contemporary Art,, +CRTD44H3,ART_LIT_LANG,Partnership-Based Experience,"Time and history bring different factors to our understanding and interpretation of artworks. Students will explore both intellectual and practical factors concerning curating historical art, from conservation, research, and handling issues to importance of provenance, collecting, and display, through workshops, critical writing and discussion, field trips, and guest speakers.",,"11.0 credits including [VPHB39H3, CRTB01H3 and CRTB02H3",(VPHD44H3),Curating Historical Art,, +CSCA08H3,QUANT,,"Programming in an object-oriented language such as Python. Program structure: elementary data types, statements, control flow, functions, classes, objects, methods. Lists; searching, sorting and complexity. This course is intended for students having a serious interest in higher level computer science courses, or planning to complete a computer science program.",,Grade 12 Calculus and Vectors and [one other Grade 12 mathematics course or CTL Math Preparedness course with additional resources for CMS students].,"CSCA20H3, CSC108H, CSC110H, CSC120H. CSCA08H3 may not be taken after or concurrently with CSCA48H3. CSC110H cannot be taken after or concurrently with CSC111H.",Introduction to Computer Science I,,This course does not require any prior exposure to computer programming. +CSCA20H3,QUANT,,"An introduction to computer programming, with an emphasis on gaining practical skills. Introduction to programming, software tools, database manipulation. This course is appropriate for students with an interest in programming and computers who do not plan to pursue a Computer Science program.",,,"CSCA08H3, CSC108H, CSC110H, CSC120H. CSC110H cannot be taken after or at the same time as CSC111H.",Introduction to Programming,,This course does not require any prior exposure to computer programming. +CSCA48H3,QUANT,,Abstract data types and data structures for implementing them. Linked data structures. Object Oriented Programming. Encapsulation and information-hiding. Testing. Specifications. Analyzing the efficiency of programs. Recursion.,,CSCA08H3,"CSC148H, CSC111H",Introduction to Computer Science II,, +CSCA67H3,QUANT,,"Introduction to discrete mathematics: Elementary combinatorics; discrete probability including conditional probability and independence; graph theory including trees, planar graphs, searches and traversals, colouring. The course emphasizes topics of relevance to computer science, and exercises problem-solving skills and proof techniques such as well ordering, induction, contradiction, and counterexample. Same as MATA67H3",CSCA08H3 or CSCA20H3,Grade 12 Calculus and Vectors and one other Grade 12 mathematics course,"MATA67H3, (CSCA65H3), CSC165H, CSC240H, MAT102H",Discrete Mathematics,, +CSCB07H3,QUANT,,"An introduction to software design and development concepts, methods, and tools, using a statically-typed object- oriented language such as Java. Topics from: version control, build management, unit testing, refactoring, object-oriented design and development, design patterns and advanced IDE usage.",,"CSCA48H3 and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non- CSC Subject POSt for which this specific course is a program requirement]",CSC207H,Software Design,, +CSCB09H3,QUANT,,"Software techniques in a Unix-style environment, using scripting languages and a machine-oriented programming language (typically C). What goes on in the system when programs are executed. Core topics: creating and using software tools, pipes and filters, file processing, shell programming, processes, system calls, signals, basic network programming.",,"CSCA48H3 and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non- CSC Subject POSt for which this specific course is a program requirement]",CSC209H,Software Tools and Systems Programming,, +CSCB20H3,QUANT,,"A practical introduction to databases and Web app development. Databases: terminology and applications; creating, querying and updating databases; the entity- relationship model for database design. Web documents and applications: static and interactive documents; Web servers and dynamic server-generated content; Web application development and interface with databases.",CSCA08H3 or CSCA20H3,"Some experience with programming in an imperative language such as Python, Java or C.",This course may not be taken after - or concurrently with - any C- or D-level CSC course.,Introduction to Databases and Web Applications,, +CSCB36H3,QUANT,,"Mathematical induction with emphasis on applications relevant to computer science. Aspects of mathematical logic, correctness proofs for iterative and recursive algorithms, solutions of linear and divide-and-conquer recurrences, introduction to automata and formal languages.",,"CSCA48H3 and [(CSCA65H3) or CSCA67H3] and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement]","CSC236H, CSC240H",Introduction to the Theory of Computation,, +CSCB58H3,QUANT,,"Principles of the design and operation of digital computers. Binary data representation and manipulation, Boolean logic, components of computer systems, memory technology, peripherals, structure of a CPU, assembly languages, instruction execution, and addressing techniques. There are a number of laboratory periods in which students conduct experiments with digital logic circuits.",,"[CSCA48H3 or PHYB57H3/(PSCB57H3)] and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement]",CSC258H,Computer Organization,, +CSCB63H3,QUANT,,"Design, analysis, implementation and comparison of efficient data structures for common abstract data types. Priority queues: heaps and mergeable heaps. Dictionaries: balanced binary search trees, B-trees, hashing. Amortization: data structures for managing dynamic tables and disjoint sets. Data structures for representing graphs. Graph searches.",,"CSCB36H3 and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non- CSC Subject POSt for which this specific course is a program requirement]","CSC263H, CSC265H",Design and Analysis of Data Structures,, +CSCC01H3,QUANT,University-Based Experience,Introduction to software development methodologies with an emphasis on agile development methods appropriate for rapidly-moving projects. Basic software development infrastructure; requirements elicitation and tracking; prototyping; basic project management; basic UML; introduction to software architecture; design patterns; testing.,,"CSCB07H3, CSCB09H3, and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement]","CSC301H, (CSCC40H3), (CSCD08H3)",Introduction to Software Engineering,, +CSCC09H3,QUANT,University-Based Experience,"An introduction to software development on the web. Concepts underlying the development of programs that operate on the web. Operational concepts of the internet and the web, static and dynamic client content, dynamically served content, n-tiered architectures, web development processes and security on the web.",,CSCB09H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],CSC309H,Programming on the Web,CSCC43H3, +CSCC10H3,QUANT,,"The course will provide an introduction to the field of Human- Computer Interaction (HCI) with emphasis on guidelines, principles, methodologies, and tools and techniques for analyzing, designing and evaluating user interfaces. Subsequent topics include usability assessment of interactive systems, prototyping tools, information search and visualization, mobile devices, social media and social networking, and accessibility factors.",,CSCB07H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],"CCT380H, CSC318H",Human-Computer Interaction,, +CSCC11H3,QUANT,,"An introduction to methods for automated learning of relationships on the basis of empirical data. Classification and regression using nearest neighbour methods, decision trees, linear and non-linear models, class-conditional models, neural networks, and Bayesian methods. Clustering algorithms and dimensionality reduction. Model selection. Problems of over-fitting and assessing accuracy. Problems with handling large databases.",CSCC37H3,MATB24H3 and MATB41H3 and STAB52H3 and [CGPA of at least 3.5 or enrolment in a CSC Subject POSt or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement].,"CSC411H, (CSCD11H3)",Introduction to Machine Learning and Data Mining,, +CSCC24H3,QUANT,,"Major topics in the design, definition, analysis, and implementation of modern programming languages. Study of programming paradigms: procedural (e.g., C, Java, Python), functional (e.g., Scheme, ML, Haskell) and logic programming (e.g., Prolog, Mercury).",,CSCB07H3 and CSCB09H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],CSC324H,Principles of Programming Languages,, +CSCC37H3,QUANT,,"An introduction to computational methods for solving problems in linear algebra, non-linear equations, approximation and integration. Floating-point arithmetic; numerical algorithms; application of numerical software packages.",,MATA22H3 and [MATA36H3 or MATA37H3] and [CGPA of at least 3.5 or enrolment in a CSC Subject POSt or enrolment in a non-CSC Subject POst for which this specific course is a program requirement],"(CSCC36H3), (CSCC50H3), (CSCC51H3), CSC336H, CSC350H, CSC351H, CSC338H",Introduction to Numerical Algorithms for Computational Mathematics,, +CSCC43H3,QUANT,,"Introduction to database management systems. The relational data model. Relational algebra. Querying and updating databases: the SQL query language. Application programming with SQL. Integrity constraints, normal forms, and database design. Elements of database system technology: query processing, transaction management.",,CSCB09H3 and CSCB63H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],CSC343H,Introduction to Databases,, +CSCC46H3,QUANT,,"How networks underlie the social, technological, and natural worlds, with an emphasis on developing intuitions for broadly applicable concepts in network analysis. Topics include: introductions to graph theory, network concepts, and game theory; social networks; information networks; the aggregate behaviour of markets and crowds; network dynamics; information diffusion; popular concepts such as ""six degrees of separation"", the ""friendship paradox"", and the ""wisdom of crowds"".",,CSCB63H3 and STAB52H3 and [MATA22H3 or MATA23H3] and [a CGPA of 3.5 or enrolment in a CSC Subject POSt],,Social and Information Networks,, +CSCC63H3,QUANT,,"Introduction to the theory of computability: Turing machines, Church's thesis, computable and non-computable functions, recursive and recursively enumerable sets, reducibility. Introduction to complexity theory: models of computation, P, NP, polynomial time reducibility, NP-completeness, further topics in complexity theory.",,"CSCB36H3 and CSCB63H3 and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement]]","CSC363H, CSC365H, CSC364H",Computability and Computational Complexity,,"Although the courses CSCC63H3 and CSCC73H3 may be taken in any order, it is recommended that CSCC73H3 be taken first." +CSCC69H3,QUANT,,"Principles of operating systems. The operating system as a control program and as a resource allocator. The concept of a process and concurrency problem: synchronization, mutual exclusion, deadlock. Additional topics include memory management, file systems, process scheduling, threads, and protection.",,CSCB07H3 and CSCB09H3 and CSCB58H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],CSC369H,Operating Systems,, +CSCC73H3,QUANT,,"Standard algorithm design techniques: divide-and-conquer, greedy strategies, dynamic programming, linear programming, randomization, and possibly others.",,CSCB63H3 and STAB52H3 and [CGPA of at least 3.5 or enrolment in a CSC Subject POSt or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement],"CSC373H, CSC375H, CSC364H",Algorithm Design and Analysis,, +CSCC85H3,QUANT,,"The course introduces the fundamental principles, problems, and techniques involved in the operation of mobile robots and other automated systems. Course topics include: components of automated systems, sensors and sensor management, signal acquisition and noise reduction, principles of robot localization, FSM-based A.I. for planning, fault-tolerance and building fault-tolerant systems, real-time operation and real-time operating systems; and computational considerations such as hardware limitations and code optimization. Ethical considerations in the implementation and deployment of automated systems are discussed. The concepts covered in the course are put in practice via projects developed on a Lego robotic platform.",CSCB07H3,CSCB58H3 and CSCB09H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],ECE385H,Fundamentals of Robotics and Automated Systems,, +CSCD01H3,QUANT,University-Based Experience,"An introduction to the theory and practice of large-scale software system design, development, and deployment. Project management; advanced UML; requirements engineering; verification and validation; software architecture; performance modeling and analysis; formal methods in software engineering.",,CSCC01H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],"CSC302H, (CSCD08H3)",Engineering Large Software Systems,, +CSCD03H3,SOCIAL_SCI,University-Based Experience,"The trade-offs between benefits and risks to society of information systems, and related issues in ethics and public policy. Topics will include safety-critical software; invasion of privacy; computer-based crime; the social effects of an always-online life; and professional ethics in the software industry. There will be an emphasis on current events relating to these topics.",,14.0 credits and enrolment in a Computer Science Subject POSt. Restricted to students in the Specialist/Specialist Co-op programs in Computer Science or in the Specialist/Specialist Co-op programs in Management and Information Technology,CSC300H,Social Impact of Information Technology,, +CSCD18H3,QUANT,,"The course will cover in detail the principles and algorithms used to generate high-quality, computer generated images for fields as diverse as scientific data visualization, modeling, computer aided design, human computer interaction, special effects, and video games. Topics covered include image formation, cameras and lenses, object models, object manipulation, transformations, illumination, appearance modeling, and advanced rendering via ray-tracing and path- tracing. Throughout the course, students will implement a working rendering engine in a suitable programming language.",,MATB24H3 and MATB41H3 and [CSCB09H3 or proficiency in C] and CSCC37H3 and [a CGPA of at least 3.5 or enrolment in a Computer Science Subject POSt],(CSC418H1)/CSC317H1,Computer Graphics,, +CSCD25H3,QUANT,,"This course teaches the basic techniques, methodologies, and ways of thinking underlying the application of data science and machine learning to real-world problems. Students will go through the entire process going from raw data to meaningful conclusions, including data wrangling and cleaning, data analysis and interpretation, data visualization, and the proper reporting of results. Special emphasis will be placed on ethical questions and implications in the use of AI and data. Topics include data pre-processing, web scraping, applying supervised and unsupervised machine learning methods, treating text as data, A/B testing and experimentation, and data visualization.",,CSCB63H3 and CSCC11H3 and [a CGPA of 3.5 or enrolment in a CSC Subject POSt],,Advanced Data Science,, +CSCD27H3,QUANT,University-Based Experience,"Public and symmetric key algorithms and their application; key management and certification; authentication protocols; digital signatures and data integrity; secure network and application protocols; application, system and network attacks and defences; intrusion detection and prevention; social engineering attacks; risk assessment and management.",CSCC69H3,CSCB09H3 and CSCB36H3 and CSCB58H3 and [CGPA of at least 3.5 or enrolment in a CSC Subject POSt],CSC427H,Computer and Network Security,, +CSCD37H3,QUANT,,"Most mathematical models of real systems cannot be solved analytically and the solution of these models must be approximated by numerical algorithms. The efficiency, accuracy and reliability of numerical algorithms for several classes of models will be considered. In particular, models involving least squares, non-linear equations, optimization, quadrature, and systems of ordinary differential equations will be studied.",,CSCC37H3 and MATB24H3 and MATB41H3 and [CGPA of at least 3.5 or enrolment in a CSC Subject POSt or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement],"(CSCC50H3), (CSCC51H3), CSC350H, CSC351H",Analysis of Numerical Algorithms for Computational Mathematics,, +CSCD43H3,QUANT,,"Implementation of database management systems. Storage management, indexing, query processing, concurrency control, transaction management. Database systems on parallel and distributed architectures. Modern database applications: data mining, data warehousing, OLAP, data on the web. Object-oriented and object-relational databases.",,CSCC43H3 and CSCC69H3 and CSCC73H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],CSC443H,Database System Technology,, +CSCD54H3,SOCIAL_SCI,,"This course examines high-Tech innovation and entrepreneurship, principles of operation of successful high- tech enterprises, customer identification and validation, product development, business models, lean startup techniques, and financing of high-technology ventures. Students will work in teams to develop their own innovative product idea, and will produce a sound business plan to support their product.",,A minimum of 2.5 credits at the B-level or higher in CSC courses,CSC454H,Technology Innovation and Entrepreneurship,CSCD90H3,"Restricted to students in the Entrepreneurship stream of the Specialist/Specialist Co-op programs in Computer Science. If space permits, students in other streams of the Specialist/Specialist Co-op programs in Computer Science may be admitted to the course, with the permission of the instructor." +CSCD58H3,QUANT,,"Computer communication network principles and practice. The OSI protocol-layer model; Internet application layer and naming; transport layer and congestion avoidance; network layer and routing; link layer with local area networks, connection-oriented protocols and error detection and recovery; multimedia networking with quality of service and multicasting. Principles in the context of the working-code model implemented in the Internet.",,CSCB58H3 and CSCB63H3 and STAB52H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],CSC458H,Computer Networks,, +CSCD70H3,QUANT,,"The goal of this course is to examine the design and implementation of a compiler optimized for modern parallel architectures. Students will learn about common optimizations, intermediate representations (IRs), control-flow and dataflow analysis, dependence graphs, instruction scheduling, and register allocation. Advanced topics include static single assignment, memory hierarchy optimizations and parallelization, compiling for multicore machines, memory dependence analysis, automatic vectorization/thread extraction, and predicated/speculative execution.",,CSCB63H3 and CSCC69H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],,Compiler Optimization,, +CSCD71H3,,,"A topic from computer science, selected by the instructor, will be covered. The exact topic will typically change from year to year.",,Permission of the instructor and [CGPA 3.5 or enrolment in a CSC Subject POSt]. Normally intended for students who have completed at least 8 credits.,,Topics in Computer Science,, +CSCD72H3,,,"A topic from theoretical computer science, selected by the instructor, will be covered. The exact topic will typically change from year to year.",,Permission of the instructor and [CGPA 3.5 or enrolment in a CSC Subject POSt]. Normally intended for students who have completed at least 8 credits.,,Topics in the Theory of Computing,, +CSCD84H3,QUANT,,"A study of the theories and algorithms of Artificial Intelligence. Topics include a subset of: search, game playing, logical representations and reasoning, planning, natural language processing, reasoning and decision making with uncertainty, computational perception, robotics, and applications of Artificial Intelligence. Assignments provide practical experience of the core topics.",,STAB52H3 and CSCB63H3 and [a CGPA of 3.5 or enrolment in a CSC subject POSt],"CSC484H, CSC384H",Artificial Intelligence,, +CSCD90H3,QUANT,University-Based Experience,"In this capstone course, students will work in teams to develop a viable product prototype following the methodologies and techniques covered in CSCD54H3. Students will produce written reports, short videos pitching their idea, and a final presentation showcasing their proposed innovation, as it would be pitched to potential investors. The course instructor and TAs will provide close supervision and mentorship throughout the project.",,A minimum of 2.5 credits at the B-level or higher in CSC courses,,The Startup Sandbox,CSCD54H3,"Restricted to students in the Entrepreneurship stream of the Specialist/Specialist Co-op programs in Computer Science. If space permits, students in other streams of the Specialist/Specialist Co-op programs in Computer Science may be admitted to the course, with the permission of the instructor." +CSCD92H3,QUANT,,"Students will examine an area of interest through reading papers and texts. This course is offered by arrangement with a computer science faculty member. It may be taken in any session, and must be completed by the last day of classes in the session in which it is taken.",,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Readings in Computer Science,, +CSCD94H3,,,"A significant project in any area of computer science. The project may be undertaken individually or in small groups. This course is offered by arrangement with a computer science faculty member, at U of T Scarborough or the St. George campus. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken. Students must obtain consent from the Supervisor of Studies before registering for this course.",,"[Three C-level CSC courses] and [permission of the Supervisor of Studies] and [CGPA 3.0 or enrolment in a CSC Subject POSt] Enrolment procedures: Project supervisor's note of agreement must be presented to the Supervisor of Studies, who must issue permission for registration.",CSC494H,Computer Science Project,, +CSCD95H3,,,"Same description as CSCD94H3. Normally a student may not take two project half-courses on closely related topics or with the same supervisor. If an exception is made allowing a second project on a topic closely related to the topic of an earlier project, higher standards will be applied in judging it. We expect that a student with the experience of a first project completed will be able to perform almost at the level of a graduate student.",,"CSCD94H3 Enrolment procedures: Project supervisor's note of agreement must be presented to the Supervisor of Studies, who must issue permission for registration.",CSC495H,Computer Science Project,, +CTLA01H3,ART_LIT_LANG,,"This highly interactive course for English Language Learners who find Academic English a challenge aims to fast-track the development of critical thinking, reading, writing and oral communication skills. Through emphasizing academic writing and rapid expansion of vocabulary, students will gain practical experience with university-level academic texts and assignment expectations.",,"No more than 10.0 credits completed. Students are required to take a diagnostic test of academic English skills to be conducted by the English Language Development Support, Centre for Teaching and Learning, in advance of the first day of class.",,Foundations in Effective Academic Communication,,"The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisites." +CTLA02H3,ART_LIT_LANG,,"Students will develop language, communication and critical thinking skills through an exploration of culture and academic culture(s). Students will use various media in activities and assignments to connect their knowledge and experience with course learning, to foster dynamic academic integration for international students as they develop their English and multi- literacies.",,"No more than 10.0 credits completed. Students are required to take a diagnostic test of their academic English skills to be conducted by the English Language Development Support, Centre for Teaching and Learning in advance of the first day of class.",,Exploring Inter-Cultural Perspectives in Academic Contexts,,"The instructor has the authority to exclude students whose level of proficiency is unsuitable for the language learning and cultural exploration focus of the course, including those students who meet the prerequisites." +CTLA20H3,ART_LIT_LANG,University-Based Experience,"This course uses the mode of advocacy writing to teach the foundational skills necessary for all effective communication. Students will learn to convey their ideas about issues relevant to their communities with attention to structure, voice, evidence, and writing mechanics.",,,,Writing for Change: Foundational Academic Skills to Make a Difference in Your Community,,"This course is available to students in the Transitional Year Program only, and students will be enrolled into the course by program administrators." +CTLA21H3,QUANT,University-Based Experience,"This course will cover basic mathematics concepts such as Arithmetic, Elementary Algebra, Geometry and Trigonometry, Data collection and Interpretation, Sets, and Functions. Students will engage these concepts through a series of activities which require them to solve practical problems based on real life circumstances. The course will also draw on African and Indigenous cultural knowledges and perspectives to connect the study of mathematics to TYP students’ interests and lived experiences.",,,,Math4life: Developing Mathematical Thinking and Skills in Practical Contexts,,"This course is available to students in the Transitional Year Program only, and students will be enrolled in the course by program administrators." +CTLB03H3,SOCIAL_SCI,Partnership-Based Experience,"In this experiential learning course, students apply their discipline-specific academic knowledge as they learn from and engage with communities. Students provide, and gain, unique perspectives and insights as they interact with community partners. Through class discussions, workshops and assignments, students also develop transferable life skills such as interpersonal communication, professionalism and self-reflection that support their learning experiences and help them connect theory and practice.",,Completion of 4.0 credits and selection of a U of T Scarborough Specialist or Major program. GPA will also be considered.,"FREC10H3, HCSC01H3",Introduction to Community Engaged Learning,, +DTSB01H3,SOCIAL_SCI,,"An interdisciplinary introduction to the study of diaspora, with particular attention to questions of history, globalization, cultural production and the creative imagination. Material will be drawn from Toronto as well as from diasporic communities in other times and places.",,,"DTS200Y, DTS201H",Introduction to Diaspora and Transnational Studies I,,It is recommended that students take DTSB01H3 in their second year of study. +DTSB02H3,SOCIAL_SCI,,"A continuation of DTSB01H3. An interdisciplinary introduction to the study of diaspora, with particular attention to questions of history, globalization, cultural production and the creative imagination. Material will be drawn from Toronto as well as from diasporic communities in other times and places.",,It is recommended that DTSB01H3 and DTSB02H3 be taken in the same academic year.,"DTS200Y, DTS202H",Introduction to Diaspora and Transnational Studies II,, +ECTB58H3,ART_LIT_LANG,,"This course is a gateway to translation. After dealing with essential skills necessary in translation such as logical thinking, reading proficiency, and precision and clarity in writing, it focuses on fundamental aspects of translation at the conceptual, lexical, syntactic, grammatical, and stylistic levels. It also discusses the practical issues encountered by translators. A variety of real-world documents will be used for practice.",,,,Foundations of Translation,, +ECTB60H3,ART_LIT_LANG,,"From wheat to seafood, Canada’s agri-food exports to China are increasing and Chinese food is popular in Canada. This course explores agri-food, cultures, and translation using materials in Chinese and English. It gives text analysis in translation and hands-on translation experience from English to Chinese and/or from Chinese into English. Students must be able to read and write Chinese and English well.",,,,"Agri-Food, Cultures, and Translation",,"Students will be assessed by the instructor in their first week of class, and must have a good command of both English and Chinese." +ECTB61H3,ART_LIT_LANG,,"An introduction to the major concepts and theories of translation and a survey of English/Chinese translation in modern history. It discusses linguistic, cognitive, socio- political, and cultural aspects of translation. Through analysis and application of translation theory, students practice the art of translation and develop awareness of issues that translators face.",Proficiency in Chinese and English,,CHI411H5,English and Chinese Translation: Theory and Practice,,Students must already have mastered the principles of grammar and composition in both English and Chinese. +ECTB66H3,ART_LIT_LANG,University-Based Experience,"This course discusses the responsibilities, ethical principles, and codes of professional conduct for interpreters. The course introduces three types of interpreting: sight translation, consecutive interpreting, and simultaneous interpreting. Students will practice various skills and techniques required of a qualified interpreter, including note- taking, active listening, shadowing, retelling, paraphrasing, and memory retention. Students will also develop abilities in comprehension, analysis of language, and terminology. The course focuses on effective interpreting in the settings of the Ministry of Immigration and Citizenship, the Ontario Ministry of the Attorney General, and Community Service agencies.",,Students must have oral and written communication skills in both English and Chinese languages.,,English and Chinese Interpreting Skills and Practices,, +ECTB71H3,ART_LIT_LANG,University-Based Experience,"Medical Language is a unique linguistic phenomenon. Medical translation and interpretation play a vital role in healthcare delivery to patients with limited English proficiency. In this comprehensive foundation course, students will study medical terminology in the context needed to translate and/or interpret in various healthcare settings, including Greek and Latin root words, prefixes, suffixes, combining forms and abbreviations, etc., and their Chinese language versions. This course also covers W.H.O. international standard terminologies on traditional Chinese medicine from Chinese to English.",Proficiency in English and Chinese,,,"Medical Terminology, Translation and Interpretation I",, +ECTC60H3,ART_LIT_LANG,University-Based Experience,"This course examines the role of translation in understanding the social production of gender and sexuality as crucial systems of power. Students will use gender and translation to interrogate cultural production and social systems, paying close attention to how gender and sexuality intersect with other categories of social difference, such as sexuality, race, ethnicity, class, and (dis)ability. Students will connect the assigned academic readings to “real-life” examples in the news, media, and their own lives, thereby producing critical reflection on their role as translators in facilitating dialogues for change.",,"Completion of 4.0 credits, with 2.0 credits at the B-level",,Translation and Gender,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits. +ECTC61H3,ART_LIT_LANG,Partnership-Based Experience,This course focuses on the principles and techniques of literary translation from English to Chinese and vice versa. Students will study various translations and practice translating the works of Canadian writers such as those by Alice Munro and Margaret Atwood. Style and technique will be stressed throughout the course.,,ECTB61H3,,Translation Studies in Literature,,Priority will be given to students enrolled in the Minor in English To Chinese Translation. Other students will be admitted as space permits. +ECTC62H3,ART_LIT_LANG,,"The course examines linguistic aspects of translation in different writing media from new media, such as social media and websites, to traditional media, such as film, television, and printed press. It also explores approaches from cultural and social perspectives of media translation. The course delves deeply into translation strategies to deal with the conflict between Chinese and Western cultures in mass media.",High proficiency in both Chinese and English,ECTB58H3 or ECTB61H3 (or an equivalent through an interview).,,Translation in Media,, +ECTC63H3,ART_LIT_LANG,,"This course aims to foster in students a greater awareness and appreciation of how translation plays a vital role in our relationship to and with the environment. Through translation practice and by examining how the environment is translated in a selection of Chinese and English language texts and concepts in multiple mediums including cinema, television and the visual arts, the course will demonstrate that our perception of environmental issues is intimately connected to the translation of concepts, ideas and movements and how they have been transplanted into and out of English and Chinese.",Recommended preparation: high level of proficiency in both Chinese and English,ECTB58H3 or ECTB61H3,,Translation and the Environment,, +ECTC64H3,ART_LIT_LANG,,"This course focuses on understanding and applying concepts of cultural translation and “otherness” from the perspectives of anthropology and translation studies. By taking this course, students will learn that translators are mediators between cultures beyond language translations. The wider concept of translation requires understanding culture and otherness, and almost any intercultural communication involves translation. Students will be able to locate themselves in the wider context as translators/interpreters, understand cultural production and social systems, and pay close attention to how cultural translation intersects with other categories of social difference. Students will connect the assigned academic readings to “real-life” examples in the news, media, and their own lives, thereby forming new understandings of cultural translation.",,"4.0 credits, with 2.0 credits at the B-level",,Translating Cultures in a Polarizing World,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits. +ECTC65H3,ART_LIT_LANG,University-Based Experience,"Religious translations facilitated some of the most vibrant cultural exchanges throughout history. Catholic missionaries and Chinese scholars translated not only the Bible but also Euclid's Elements. Many Protestant missionaries later became the earliest Sinologists and translated foundational Confucian texts including The Analects. The translation of Buddhist scriptures influenced Daoist discourses, Chinese philosophy, neo-Confucianism, everyday practices and way of life. The course will open with an introduction to these fascinating histories and explore the complex relationship between religion and translation in various contexts, with an emphasis on both institutional religions, such as Christianity, Buddhism, Islam, Confucianism, and Daoism, and also on what are known as Chinese popular or folk religions.",,"Completion of 4.0 credits, with 2.0 credits at the B-level",,Translation and Religion,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits. +ECTC66H3,ART_LIT_LANG,University-Based Experience,"This course aims to introduce students to the history of translation from both Western and Chinese perspectives. Students will learn the evolution of thoughts about translation through studying extracts of articles by Chinese and Western thinkers as well as examples of translation to understand the various approaches and methodologies in their cultural, social, and historical contexts. The course provides opportunities for students to deepen their knowledge of translation studies and prepare them for higher level content of the discipline.","CTLA01H3 and/or LINB18H3, as well as one course from LGGC64H3, LGGC65H3, LGGD66H3, and LGGD67H3","ECTB58H3 or ECTB61H3, and completion of 4.0 credits",,History of Translation,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits. +ECTC67H3,ART_LIT_LANG,University-Based Experience,This course is a special seminar on a subject determined by the instructor’s research interest or expertise in translation that fall outside of the English and Chinese Translation Major/Minor program’s current course offerings. Special topics can include selected issues and problems in the theory and practice of translation. This course may be repeated for credit when topic changes.,"[CTLA01H3 or LINB18H3] as well as one course from [LGGC64H3, LGGC65H3, LGGD66H3, or LGGD67H3]",[ECTB58H3 or ECTB61H3] and completion of 4.0 credits,,Special Topics in Translation,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits. +ECTD60H3,ART_LIT_LANG,University-Based Experience,"What are the greatest critical theories that helped shape our modern world? How are these ideas translated across geopolitical and cultural contexts? How did they help people envision a different way to live, think, and love? This course examines how some of the greatest thoughts and ideas that shaped our modern world get translated. We will look at key thinkers, their texts, the social, cultural, and political contexts of their times and that of their translators. We will discuss the role of translation in facilitating cross-cultural exchanges and societal changes.",,"Completion of 4.0 credits, with 2.0 credits at the B-level",,Translating Modernity,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits. +ECTD63H3,ART_LIT_LANG,University-Based Experience,"This course will introduce students to the processes of negotiation and adaptation associated with the translation and interpretation of languages behind the cultural phenomena of everyday life. Students will explore examples from across cultural domains (film, TV, and literature) and develop understanding the concept of “cultural translation” as a gesture of interpretation of the objects of human expression that suffuse the practice of everyday life in the social sphere. Students will also have ample experience in audience- focused English and Chinese translation.","[CTLA01H3 or LINB18H3] and one course from [LGGC64H3, LGGC65H3, LGGD66H3, or LGGD67H3]",[ECTB58H3 or ECTB61H3],,Cultural Translation and Interpretation,,Priority will be given to students enrolled in the English to Chinese Translation program(s). Other students will be admitted as space permits. +ECTD65H3,ART_LIT_LANG,University-Based Experience,"This course examines theoretical developments in the field of Translation Studies from the late 1980s to the present day. First, it considers the linguistic approach to translation that held sway for much of the first half and more of the 20th century. Attention then shifts to how culture impacts not just the translated product, but also the process by which translators operate (the so-called ‘cultural turn’). Focus is on close readings of formative theoretical texts (for example, those by Bassnett, Lefevere, Pym, Venuti and others). Students will critically engage with significant translation theories since the late 1980s, analyse translations to identify how these theories function, and consider how they influence their own translation practice.","Experience in translating is recommended (although not required); translation experience can be in any language pair, e.g., Chinese – English; French – English; Korean – English, etc.","Completion of 4.0 credits, with 2.0 credits at the B-level",,Translation Studies and Theory After the Cultural Turn,, +ECTD66H3,ART_LIT_LANG,University-Based Experience,"This course aims to introduce students to critical engagements with intersemiotic translation (i.e., the practices of interpretation between different sign systems) through adaptation in the English-Chinese transcultural context. Students will interpret a broad range of transcultural intermedia productions across literary works, films, comics, pop songs, manga, etc., through the lenses of ideas such as rewriting, intertextuality, multimodality, cultural appropriation, etc. The course emphasizes the ideological implications and power dynamics in intersemiotic translation between works of Anglophone and Sinophone cultures.","[CTLA01H3 or LINB18H3], ECTC62H3, as well as one course from [LGGC64H3, LGGC65H3, LGGD66H3, or LGGD67H3]",[ECTB58H3 or ECTB61H3] and completion of 4.0 credits,,Translation and Adaptation,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits. +ECTD67H3,ART_LIT_LANG,University-Based Experience,"This course aims to introduce students to the essential knowledge and skills needed in translating texts related to the arts. Students will learn to identify the linguistic, cultural, and ideological features of texts for exhibitions, festivals, and other curated arts activities, and use appropriate strategies in translating the texts of this genre. The course provides ample opportunities for students to practice translating real-world texts from a wide range of museum exhibitions, literary festivals, film festivals, and other arts events between English and Chinese.","[CTLA01H3 or LINB18H3] as well as one course from [LGGC64H3, LGGC65H3, LGGD66H3, or LGGD67H3]",[ECTB58H3 or ECTB61H3] and completion of 4.0 credits,,Translation and the Arts,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits. +ECTD68H3,ART_LIT_LANG,,"Guided by translation theories and techniques, students learn the lexicon, structure, and style used in business discourse and gain hands-on experience in translating real-life documents regarding business for large Chinese communities within Canada.",High proficiency in both Chinese and English.,[ECTB58H3 or ECTB61H3] and [LGGC64H3 or LGGC65H3 or LGGD66H3/(LGGC67H3) or LGGD67H3/(LGGC66H3)]. Students must have a minimum GPA of 70% in one of the four LGG bilingual courses (or an equivalent through an interview).,,Translation for Business,, +ECTD69H3,ART_LIT_LANG,,"This course covers the English/Chinese translation of documents used in government, public administration, and publicly-funded organizations. It introduces the terminologies and special strategies used to translate official documents. Examples of relevant documents will be translated as part of the course work.",High proficiency in both Chinese and English.,[ECTB58H3 or ECTB61H3] and [LGGC64H3 or LGGC65H3 or LGGD66H3/(LGGC67H3) or LGGD67H3/(LGGC66H3)]. Students must have a minimum GPA of 70% in one of the four LGG bilingual courses (or an equivalent through an interview).,,Translation for Government and Public Administration,, +ECTD70H3,ART_LIT_LANG,,"This course connects to the subfields of ecocriticism and eco translatology to explore transcultural translations of the ‘wild’. Focusing especially on modern/contemporary fiction from the Sinosphere and linking such texts to other World Literatures, the aim is to analyze how the ‘wild’ is represented and translated interlingually and intersemiotically. The analysis of these literary translations of the ‘wild’ is important to understanding the impact and influence literature has on human appreciation and respect for the natural world.",,ECTC63H3,,Transcultural Translations of the Wild,, +EESA01H3,NAT_SCI,,"The scientific method and its application to natural systems. The physical and biological processes which drive ecosystem functions. Anthropogenic changes in ecosystem functions at local and global scales. Emphasis on the degradation of the atmosphere, soil, water and biological resources caused by human activity. Renewable and non-renewable resource sustainability. Laboratories will include hands-on field and lab related practical experience.",,,ENV100Y,Introduction to Environmental Science,, +EESA06H3,NAT_SCI,,"This general interest course explores the composition, structure and origin of the Earth and the tectonic, chemical and biological processes that have evolved over the last 4.5 billion years. It explains how planet ""works"" as a complex system. It provides a fundamental basis for understanding many of the environmental challenges faced by human societies especially natural hazards, water shortages, and climate change, and the importance of natural resources to our economy.",,,"GGR100Y, GLG110H",Introduction to Planet Earth,, +EESA07H3,NAT_SCI,,"This course consists of a survey of the planet's water resources and the major issues facing the use of water. Topics include: Earth, the watery planet; water, the last great resource; Canada's waters; Ontario's waters; water and man; water contamination; and protecting our waters. Case studies such as the Walkerton tragedy will be studied. No prior knowledge of environmental science is required.",,,,Water,, +EESA09H3,NAT_SCI,,"A survey of the science, history and applications of wind. Topics include storms including hurricanes, tornadoes and mid-latitude cyclones, global circulation, local circulations, measurement of winds, impact of winds on land surfaces, wind power, winds and pollution, historical and literary winds, and contemporary wind research. No prior knowledge of environmental science is required.",,,,Wind,, +EESA10H3,NAT_SCI,,"Because of pollution, our surroundings are becoming increasingly hazardous to our health. The past century has seen intense industrialization characterized by the widespread production and use of chemicals and the intentional and unintentional disposal of a wide range of waste materials. This course explores the relationship between the incidence of disease in human populations and the environmental pollution. Emphasis will be placed on understanding where and what pollutants are produced, how they are taken up by humans and their long term effects on health; the role of naturally-occurring carcinogens will also be examined. The course will include a view of risk assessment and toxicology using case studies. No prior knowledge of environmental or medical science is required.",,,,Human Health and the Environment,, +EESA11H3,NAT_SCI,,"This course illustrates the environmental effects of urban expansion, changing methods of agriculture, industrialization, recreation, resource extraction, energy needs and the devastation of war. Drawing on information from a wide spectrum of topics - such as waste disposal, tourism, the arctic, tropical forests and fisheries - it demonstrates what we know about how pollutants are produced, the pathways they take through the global environment and how we can measure them. The course will conclude with an examination of the state of health of Canada's environments highlighting areas where environmental contamination is the subject of public discussion and concern. No prior knowledge of environmental science is required.",,,,Environmental Pollution,, +EESB02H3,NAT_SCI,University-Based Experience,"The physical and chemical processes responsible for the development of regolith at the surface of the earth and the mechanics of entrainment, transport and deposition of mass by rivers, wind, glaciers, water waves, gravitational stresses, etc., which control the evolution of surface morphology. Field excursions and laboratory exercises will allow students to apply theory to natural systems and to understand the dynamics of one man-modified geomorphic system.",,EESA06H3,GGR201H,Principles of Geomorphology,, +EESB03H3,NAT_SCI,,"This is an overview of the physical and dynamic nature of meteorology, climatology and related aspects of oceanography. Major topics include: atmospheric composition, nature of atmospheric radiation, atmospheric moisture and cloud development, atmospheric motion including air masses, front formation and upper air circulation, weather forecasting, ocean circulation, climate classification, climate change theory and global warming.",,[EESA06H3 or EESA09H3] and [MATA29H3 or MATA30H3],"GGR203H, GGR312H",Principles of Climatology,, +EESB04H3,NAT_SCI,,"The water and energy balances; fluxes through natural systems. Process at the drainage basin scale: precipitation, evaporation, evapotranspiration and streamflow generation. The measurement of water fluxes, forecasting of rainfall and streamflow events. Human activity and change in hydrologic processes.",,EESA01H3 or EESA06H3 or any B-level EES course.,GGR206H,Principles of Hydrology,, +EESB05H3,NAT_SCI,University-Based Experience,"A study of the processes of pedogenesis and the development of diverse soil profiles, their field relationships and their response to changing environmental conditions. An examination of the fundamental soil properties of importance in soil management. An introduction to the techniques of soil examination in the field, soil analysis in the laboratory and the basic principles of soil classification.",,EESA01H3 or EESA06H3,GGR205H,Principles of Soil Science,, +EESB15H3,NAT_SCI,,"Planet Earth is at least 4,400 million years old and a geological record exists for at least the last 3,900 million years in the form of igneous, metamorphic and sedimentary rocks. The changing dynamics of convection deep within the Earth's mantle and associated super-continent assembly and breakup along with meteorite impacts, are now recognized as the major controls on development of the planet's atmosphere, oceans, biology, climate and geo-chemical cycles. This course reviews this long history and the methods and techniques used by geologists to identify ancient environments.",,EESA06H3,,Earth History,,"Priority will be given to students in Specialist programs in Environmental Geoscience, Environmental Biology, and Environmental Chemistry." +EESB16H3,NAT_SCI,,"Examines the origins and systems of production of the major plants and animals on which we depend for food. Interactions between those species and systems and the local ecology will be examined, looking at issues of over harvesting, genetic erosion, soil erosion, pesticide use, and impacts of genetically modified strains.",,BIOA01H3 and BIOA02H3,,Feeding Humans - The Cost to the Planet,, +EESB17H3,SOCIAL_SCI,,"Competition for water resources between countries is common; population and economic growth are exacerbating this. The socio-political, environmental and economic aspects of transboundary water transfers are explored; the success of relevant international treaties and conventions, and the potential for integrated management of transboundary waters are assessed. Examples from Asia, Africa and the Middle East are presented.",,EESA01H3 or EESA07H3,,Hydro Politics and Transboundary Water Resources Management,, +EESB18H3,NAT_SCI,,"This course is an investigation of the geological background and possible solutions to major hazards in the environment. Environmental hazards to be studied include: landslides, erosion, earthquakes, volcanic eruptions, asteroid impacts, flooding, glaciation, future climate change, subsidence, and the disposal of toxic wastes. This may be of interest to a wide range of students in the life, social, and physical sciences; an opportunity for the non-specialist to understand headline- making geological events of topical interest. No prior knowledge of the Earth Sciences is required.",,,"(EESA05H3), GLG103H",Natural Hazards,, +EESB19H3,NAT_SCI,,"A comprehensive introduction to crystalline structure, crystal chemistry, bonding in rock forming minerals, and optical properties of minerals. The course includes laboratory exercises on the identification of minerals in hand specimen, and identification of minerals using polarizing microscopes.",,CHMA10H3 and CHMA11H3 and EESB15H3,"(EESC32H3), (EESC35H3), GLG423H",Mineralogy,, +EESB20H3,NAT_SCI,,"Sedimentary basins hold the bulk of Earth’s rock record and are fundamental in the study of past environments, tectonic evolution, climates, and biosphere. This course will explore different basin types and the nature of their infills. The course will also emphasize the economic resources within sedimentary basins and paleoenvironmental significance.",,EESB15H3,"ESS331H, ESS332H, ERS313H",Sedimentology and Stratigraphy,,Priority will be given to students enrolled in the Specialist Program in Environmental Geoscience (Co-op and non-Co-op). Additional students will be admitted as space permits. +EESB22H3,NAT_SCI,University-Based Experience,"This course instructs students on the application of geophysical techniques (including gravity and magnetic surveys, electromagnetics, resistivity and seismology) to important environmental issues, such as monitoring climate change and natural hazards, clean energy assessments, and how to build sustainable cities. This lecture-based course teaches students the societal importance of environmental geophysics as well as how to effectively communicate uncertainty when interpreting data.",,EESA06H3 and [PHYA10H3 or PHYA11H3],,Environmental Geophysics,, +EESB26H3,NAT_SCI,,"This course describes the processes and energy sources shaping the solid Earth's physical evolution and the means by which the properties of the planet’s interior can be inferred. Topics include detection of the Earth's core, Earth's magnetic field, manifestations of Earth's secular cooling (e.g., mantle convection) and Earth's gravity field.",,MATA36H3 and PHYA21H3,JPE395H1,Introduction to Global Geophysics,EESB15H3, +EESC02H3,NAT_SCI,,"This course applies a multi-disciplinary lens to the subject of biological invasions and is intended to build upon foundational understandings of global environmental change. The course explores the foundational ecological theories of biological invasions, ecological conditions and mechanisms driving invasions, multi-scale perspectives on the environmental impact of biological invasions (community, ecosystem), past and current approaches to the management of invaded environments, social and economic impacts of species invasions, and invasion risk assessment and biological invasion policy.",EESA01H3 and ESTB01H3 and BIOB51H3,BIOB50H3 and [1.5 additional credits from EES or BIO courses],,Invaded Environments,,Priority will be given to students enrolled in the Specialist Program in Global Environmental Change. +EESC03H3,QUANT,,"This course focuses on the use of Geographic Information Systems (GIS) and Remote Sensing (RS) for solving a range of scientific problems in the environmental sciences and describing their relationship with - and applicability to - other fields of study (e.g. geography, computer science, engineering, geology, ecology and biology). Topics include (but are not limited to): spatial data types, formats and organization; geo-referencing and coordinate systems; remotely sensed image manipulation and analysis; map production.",GGRB30H3,EESA06H3 and 0.5 credit at the B-level in EES courses,,Geographic Information Systems and Remote Sensing,0.5 credit at the B-level in EES courses, +EESC04H3,NAT_SCI,,"Theoretical and practical aspect of the evolution of organismal diversity in a functional context; examination of species distributions and how these are organized for scientific study. Emphasis will be on the highly diverse invertebrate animals. Topics include biomes, dispersal, adaptation, speciation, extinction and the influence of climate history and humans.",,BIOB50H3,,Biodiversity and Biogeography,, +EESC07H3,NAT_SCI,,"Groundwater represents the world's largest and most important fresh water resource. This basic course in hydrogeology introduces the principles of groundwater flow and aquifer storage and shows how a knowledge of these fundamental tools is essential for effective groundwater resource management and protection. Special emphasis is placed on the practical methods of resource exploration and assessment; examples of the approach are given for aquifers under environmental stress in southern Ontario, the US and Africa.",,EESA06H3 and 1.0 full credit in B-level EES courses,,Groundwater,, +EESC13H3,NAT_SCI,,"To familiarize students with the relevant legislation, qualitative and quantitative approaches and applications for environmental impact assessments and environmental auditing. The focus will be on the assessment of impacts to the natural environment, however, socio-economic impacts will also be discussed. Environmental auditing and environmental certification systems will be discussed in detail. Examples and case studies from forestry, wildlife biology and land use will be used to illustrate the principles and techniques presented in the course. Students will acquire ""hands-on"" experience in impact assessment and environmental auditing through case studies.",,1.0 credit in EES courses,GGR393H,Environmental Impact Assessment and Auditing,0.5 credit in EES courses, +EESC16H3,NAT_SCI,University-Based Experience,"Experiential learning in environmental science is critical for better understanding the world around us, solving pressing environmental issues, and gaining hands-on skills for careers in the environmental sector. This course provides exciting and inspiring experiential learning opportunities, across disciplines with themes ranging from geoscience, ecology, climate change, environmental physics, and sustainability, across Canada and internationally. The course entails a 7-10- day field camp with destinations potentially changing yearly, that prioritizes environmental skills including environmental data collection, in-field interpretation of environmental patterns and processes, and science communication.",EESB15H3 and [an additional 0.5 B-level credit in EES courses],Permission of the instructors.,,Field Camp I,, +EESC18H3,NAT_SCI,,"North America is endowed with eight of the twelve largest lakes in the world. The origin and geological history, cycles of carbon, nitrogen and phosphorus, and structures of ecosystems of the North American Great Lakes will be used as examples of large lacustrine systems. Fundamental concepts of limnology will be related to features found in the Great Lakes. Topics include: lake origins, lake classification, lake temperature structure and heat budgets, seasonal water circulations, productivity, plankton ecology, food-web dynamics, exotic species invasions, eutrophication-related phenomena and water quality/fisheries management. Specific anthropogenic influences will be illustrated using case studies from the local environment, and students will be allowed to pursue their own interests through a series of short seminars.",EESB02H3,EESB03H3,,Limnology,, +EESC19H3,NAT_SCI,,"The world's oceans constitute more than 70% of the earth's surface environments. This course will introduce students to the dynamics of ocean environments, ranging from the deep ocean basins to marginal seas to the coastal ocean. The large-scale water circulation is examined from an observationally based water mass analysis and from a theoretical hydro-dynamical framework. The circulation of marginal seas, the role of tides, waves and other currents are studied in terms of their effects upon the coastal boundary.",EESB02H3,EESB03H3,,Oceanography,, +EESC20H3,NAT_SCI,,"The course will cover fundamental aspects of chemical processes occurring at the Earth's surface. Terrestrial and aquatic geochemical processes such as: mineral formation and dissolution, redox, aqueous-solid phase interactions, stable isotopes, and organic geochemistry in the environment will be covered.",,CHMA10H3 and CHMA11H3 and EESB15H3,"(EESD32H3), CHM210H, GLG202H, GLG351H",Geochemistry,, +EESC22H3,NAT_SCI,,"The course will provide a general introduction to the most important methods of geophysical exploration. Topics covered will include physical principles, methodology, interpretational procedures and field application of various geophysical survey methods. Concepts/methods used to determine the distribution of physical properties at depths that reflect the local surface geology will be discussed.",EESB20H3,EESB15H3 and PHYA21H3,"(EESB21H3), JGA305",Exploration Geophysics,, +EESC24H3,,University-Based Experience,An advanced supervised readings course that can be taken in any session. Students will follow structured independent readings in any area of Environmental Science. A description of the objectives and scope of the individual offering must be approved by the Supervisor of Studies. Two papers are required in the course; the supervisor and one other faculty member will grade them. The course may not be used as a substitute for EES Program requirements.,,"A minimum CGPA of 2.5, and 3.0 credits in EES and/or EST courses. Permission of the Supervisor of Studies.",,Advanced Readings in Environmental Science,, +EESC25H3,NAT_SCI,Partnership-Based Experience,"This course will focus on how urban areas modify the local environment, particularly the climates of cities. The physical basis of urban climatology will be examined considering the energy balance of urban surfaces. The urban heat island phenomenon and its modelling will be studied based on conceptual and applied urban-climate research. The impact of climate change on urban sectors such as urban energy systems, water and wastewater systems, and urban transportation and health systems will be examined through case studies. Students will have the opportunity to choose their own areas of interest to apply the knowledge they learn throughout the course and demonstrate their understanding in tutorial-based discussions. The students will be required to work with community or industry partners on a project to assess the impacts or urban climate change.",EESA09H3 or EESB03H3,"A minimum of 6.0 credits, including at least 2.0 credits in EES courses",,Urban Climatology,, +EESC26H3,NAT_SCI,,"Seismology is the study of earthquakes and how seismic waves move through the Earth. Through application of geological and mathematical techniques, seismology can reveal the inner workings of the Earth and provide hazard analysis for tectonic events such as earthquakes, volcanic eruptions, and tsunamis. This course will outline the practical applications of seismology to real-world scenarios of academic research and human exploration, while highlighting cutting-edge technological advances. Topics covered include subsurface imaging and surveying, catastrophe modelling, Martian seismology, stress and strain principles, wave theory, data inversion, and data science applications on seismic data analysis.","EESB15H3, EESB26H3",[MATA36H3 or MATA37H3] and PHYA10H3,JPE493H1,Seismology and Seismic Methods,, +EESC30H3,NAT_SCI,,"This course examines the diversity of microorganisms, their adaptations to special habitats, and their critical role in the ecosystems and biogeochemical cycles. The course covers microbial phylogeny, physiological diversity, species interactions and state of the art methods of detection and enumeration.",,CHMA10H3 and CHMA11H3 and BIOB50H3 and BIOB51H3,(BGYC55H3),Environmental Microbiology,, +EESC31H3,NAT_SCI,Partnership-Based Experience,"The last 2.5 million years has seen the repeated formation of large continental ice sheets over North America and Europe. The course will review the geologic and geomorphologic record of past glacial and interglacial climates, the formation and flow of ice sheets , and modern day cold-climate processes in Canada's north. The course includes a one-day field trip to examine the glacial record of the GTA.",,EESA06H3 and EESB20H3,,Glacial Geology,, +EESC33H3,NAT_SCI,University-Based Experience,"A field course on selected topics in aquatic environments. Aquatic environmental issues require careful field work to collect related hydrological, meteorological, biological and other environmental data. This hands-on course will teach students the necessary skills for fieldwork investigations on the interactions between air, water, and biota.",,1.5 full credits at the B-level or higher in EES and permission of instructor.,(EEB310H),Environmental Science Field Course,, +EESC34H3,NAT_SCI,,"This course is intended for students who would like to apply theoretical principles of environmental sustainability learned in other courses to real-world problems. Students will identify a problem of interest related either to campus sustainability, a local NGO, or municipal, provincial, or federal government. Class meetings will consist of group discussions investigating key issues, potential solutions, and logistical matters to be considered for the implementation of proposed solutions. Students who choose campus issues will also have the potential to actually implement their solutions. Grades will be based on participation in class discussions, as well as a final report and presentation. Same as ESTC34H3",,Any additional 9.5 credits,ESTC34H3,Sustainability in Practice,, +EESC36H3,NAT_SCI,,"This course surveys the processes that produce the chemical and mineralogical diversity of igneous, sedimentary, and metamorphic rocks including: the distribution, chemical and mineral compositions of rocks of the mantel and crust, their physical properties, and their relation to geological environments. Descriptive petrology for various rocks will also be covered.",EESB15H3,EESB19H3 or (EESC35H3),"(EESC32H3), GLG207H, ERS203H",Petrology,,Students who do not have the prerequisites will be removed from the course. Priority will be given to students in Year 4 of their program. +EESC37H3,NAT_SCI,Partnership-Based Experience,"The course introduces mechanics of rock deformation. It examines identification, interpretation, and mechanics of faults, folds, and structural features of sedimentary, igneous and metamorphic rocks as well as global, regional and local scale structural geology and tectonics. Lectures are supplemented by lab exercises and demonstrations as well as local field trips.",,[PHYA10H3 or PHYA11H3] and EESB15H3 and EESB20H3,"GLG345H, ESS241H",Structural Geology,,Students who do not have the prerequisites will be removed from the course. Priority will be given to students enrolled in the Specialist Program in Environmental Geoscience. Additional students will be admitted as space permits. +EESC38H3,NAT_SCI,,"“The Anthropocene” is a term that now frames wide-ranging scientific and cultural debates and research, surrounding how humans have fundamentally altered Earth’s biotic and abiotic environment. This course explores the scientific basis of the Anthropocene, with a focus on how anthropogenic alterations to Earth’s atmosphere, biosphere, cryosphere, lithosphere, and hydrosphere, have shifted Earth into a novel geological epoch. Students in this course will also discuss and debate how accepting the Anthropocene hypothesis, entails a fundamental shift in how humans view and manage the natural world. Same as ESTC38H3",,"ESTB01H3 and [1.0 credit from the following: EESB03H3, EESB04H3 and EESB05H3]",ESTC38H3,The Anthropocene,, +EESD02H3,NAT_SCI,,"Natural hydrochemical processes; the use of major ions, minor ions, trace metals and environmental isotopes in studying the occurrence and nature of ground water flow. Point and non-point sources of ground water contamination and the mechanisms of contaminant transport.",,At least 1 full credit in Environmental Science at the C-level.,,Contaminant Hydrogeology,, +EESD06H3,NAT_SCI,,Climate change over the last 150 years is reviewed by examining the climate record using both direct measurements and proxy data. Projection of future climate is reviewed using the results of sophisticated climate modeling. The climate change impact assessment formalism is introduced and applied to several examples. Students will acquire practical experience in climate change impact assessment through case studies.,,EESB03H3,,Climate Change Impact Assessment,, +EESD07H3,NAT_SCI,University-Based Experience,"Experiential learning is a critical element of applied environmental science. Hands-on experience in observing, documenting, and quantifying environmental phenomenon, patterns, and processes unlocks a deeper understanding and curiosity of the natural world, and prepares students for careers in the environment. This advanced field camp course explores applied scientific themes across geoscience, climate science, ecology, hydrology, environmental physics, and sustainability, while emphasizing student-led scientific enquiry and projects. Over a 7-10-day field camp in locations in Canada and abroad, students will develop a deep inquiry- based understanding and appreciation of the natural world, by immersing themselves in some of Earth’s most captivating environments.",,EESC16H3 and permission of the instructors,,Field Camp II,, +EESD09H3,,University-Based Experience,"This course entails the design, implementation, and reporting of an independent and substantial research project, under the direct supervision of a faculty member. Research may involve laboratory, fieldwork, and/or computer-based analyses, with the final products being presented primarily as a written thesis, although other course work, such as oral presentations of student research, may also be required. All areas of environmental science research that are supported by existing faculty members are permissible. The course should be undertaken after the end of the 3rd Year, and is subject to faculty availability. Faculty permission and supervision is required.",PSCB90H3 and EESC24H3,Permission of the course coordinator.,EESD10Y3,Research Project in Environmental Science,,"Students must apply to the course coordinator for admission into this course. Applications must be received by: (i) the end of August for enrolment in the fall semester; (ii) the end of December for enrolment in the spring semester; or (iii) the end of April for enrolment in the summer semester. Applications should consist of a completed 1-page application form (available from the course instructor) that includes: 1. Student name, number, academic program, and current year of study; 2. A note of intent indicating the student's wish to enrol in EESD09H3; 3. A brief description of the projects of interest to the student; 4. A list of relevant courses successfully completed by the student, as well as any relevant courses to be taken during the concurrent session; 5. The confirmed name of the supervising professor, the date and method in which confirmation of their willingness to supervise was received (i.e., this must determined ahead of time, through personal correspondence with a professor). Generally, only students meeting the following requirements will be admitted to EESD09H3: 1. A Cumulative Grade Point Average of 2.5 or higher; 2. Completion of at least 12.0 full credits (see point 4 below); 3. Completion of at least 1.5 full credits of C-level environmental science courses (see point 4 below); 4. For students in the Specialist/Specialist Co-op programs Environmental Physics, completion of Year 3 and completion of at least 1.0 C-level PHY courses. Students who do not meet these criteria are strongly encouraged to consider enrolment in PSCB90H3 and/ or EESC24H3 as an alternative to EESD09H3. Once the course coordinator (or designate) has approved enrolment to EESD09H3, they will sign the course enrolment form for submission to the registrar. Note that the course coordinator (or designate) is the only one permitted to give ""permission of instructor"" on this form." +EESD10Y3,,University-Based Experience,"This course entails the design, implementation, and reporting of an independent and substantial research project, under the direct supervision of a faculty member. Research may involve laboratory, fieldwork, and/or computer-based analyses, with the final products being presented primarily as a written thesis, though other course work, such as oral presentations of student research, may also be required. All areas of environmental science research that are supported by existing faculty members are permissible. The course should be undertaken after the end of the 3rd Year, and is subject to faculty availability. Faculty permission and supervision is required.",PSCB90H3 and EESC24H3,Permission of the course coordinator.,EESD09H3,Research Project in Environmental Science,,"Students must apply to the course coordinator for admission into this course. Applications must be received by the end of August for enrolment in the fall semester. Applications should consist of a completed 1-page application form (available from the course instructor) that includes: 1. Student name, number, academic program, and current year of study; 2. A note of intent indicating the student's wish to enrol in EESD10Y3; 3. A brief description of the projects of interest to the student; 4. A list of relevant courses successfully completed by the student, as well as any relevant courses to be taken during the concurrent session; 5. The confirmed name of the supervising professor, the date and method in which confirmation of their willingness to supervise was received (i.e., this must determined ahead of time, through personal correspondence with a professor). Generally, only students meeting the following requirements will be admitted to EESD10Y3: 1. A Cumulative Grade Point Average of 2.5 or higher; 2. Completion of at least 12.0 full credits (see point 4 below); 3. Completion of at least 1.5 full credits of C-level environmental science courses (see point 4 below); 4. For students in the Specialist/Specialist Co-op programs in Environmental Physics, completion of Year 3 and completion of at least 1.0 C-level PHY courses. Students who do not meet these criteria, are strongly encouraged to consider enrolment in PSCB90H3 and/ or EESC24H3 as an alternative to EESD10Y3. Once the course coordinator (or designate) has approved enrolment to EESD10Y3, they will sign the course enrolment form for submission to the registrar. Note that the course coordinator (or designate) is the only one permitted to give ""permission of instructor"" on this form." +EESD11H3,NAT_SCI,,"The motion of water at the hill slope and drainage basin scales. The relationship between surface and subsurface hydrological processes. Soil hydrologic processes emphasizing infiltration. Stream flow generation mechanisms, hydrometric and isotopic research methods. Problems of physically based and empirical modelling of hydrological processes. Snowmelt energetics and modelling.",,EESB04H3,,Advanced Watershed Hydrology,, +EESD13H3,NAT_SCI,,"This course reviews the laws and policies governing the management of natural resources in Canada. It examines the role of law and how it can it can work most effectively with science, economics and politics to tackle environmental problems such as climate change, conservation, and urban sprawl at domestic and international scales.",EESA10H3 and EESA11H3 and EESC13H3,Students must have completed at least 15.0 credits,LAW239H,"Environmental Law, Policy and Ethics",,Priority will be given to students enrolled in the Specialist and Major programs in Environmental Science. Additional students will be admitted as space permits. +EESD15H3,NAT_SCI,,"This course consists of a study of the ways in which hazardous organic and inorganic materials can be removed or attenuated in natural systems. The theory behind various technologies, with an emphasis on bioremediation techniques and their success in practice. An introduction to the unique challenges associated with the remediation of surface and ground water environments, soils, marine systems, and contaminated sediments.",,BIOA01H3 and BIOA02H3 and CHMA10H3 and CHMA11H3 and [PHYA10H3 or PHYA11H3],,Fundamentals of Site Remediation,, +EESD16H3,NAT_SCI,,"Students will select a research problem in an area of special interest. Supervision will be provided by a faculty member with active research in geography, ecology, natural resource management, environmental biology, or geosciences as represented within the departments. Project implementation, project monitoring and evaluation will form the core elements for this course. Same as ESTD16H3",,At least 14.5 credits,ESTD16H3,Project Management in Environmental Studies,, +EESD17Y3,NAT_SCI,University-Based Experience,"This course is designed to provide a strong interdisciplinary focus on specific environmental problems including the socioeconomic context in which environmental issues are resolved. The cohort capstone course is in 2 consecutive semesters, providing final year students the opportunity to work in a team, as environmental researchers and consultants, combining knowledge and skill-sets acquired in earlier courses. Group research to local environmental problems and exposure to critical environmental policy issues will be the focal point of the course. Students will attend preliminary meetings schedules in the Fall semester. Same as ESTD17Y3",,At least 14.5 credits,ESTD17Y3,Cohort Capstone Course in Environmental Studies,, +EESD18H3,NAT_SCI,,"This course will be organized around the DPES seminar series, presenting guest lecturers around interdisciplinary environmental themes. Students will analyze major environmental themes and prepare presentations for in-class debate. Same as ESTD18H3",,At least 14.5 credits,ESTD18H3,Environmental Studies Seminar Series,, +EESD19H3,NAT_SCI,Partnership-Based Experience,"This course consists of 12 lectures given by senior industry professionals to prepare students for a post-graduate career in environmental consulting. Lectures will convey the full range of consulting activities, including visits to environmental investigation sites in the Toronto area. Technical writing and oral communication skills will be stressed in assignments.",,Students must be enrolled in the 4th year of their Environmental Science Program.,,Professional Development Seminars in Geoscience,, +EESD20H3,NAT_SCI,Partnership-Based Experience,"This course reviews the geological and environmental evolution of the North American continent over the past 4 billion years by exploring the range of plate tectonics involved in continental growth and how those processes continue today. It will explore major changes in terrestrial and marine environments through geologic time and associated organisms and natural resources of economic importance, and will conclude with an examination of recent human anthropogenic influences on our environment especially in regard to urban areas and associated problems of waste management, resource extraction, geological hazards, and the impacts of urbanization on watersheds and water resources. The course will include a weekend field trip to examine the geology and urban environmental problems of The Greater Toronto Area. It provides students in environmental science with a fundamental knowledge of the importance of environmental change on various timescales and the various field methods used to assess such changes.",,"15.0 credits, including at least 4.0 credits at the C- or D-level",(EESC21H3),Geological Evolution and Environmental History of North America,, +EESD21H3,QUANT,,"This course offers an advanced introduction to geophysical data analysis. It is intended for upper-level undergraduate students and graduate students interested in data analysis and statistics in the geophysical sciences and is mainly laboratory (computer) based. The goal is to provide an understanding of the theory underlying the statistical analysis of geophysical data, in space, time and spectral domains and to provide the tools to undertake this statistical analysis. Important statistical techniques such as regression, correlation and spectral analysis of time series will be explored with a focus on hypothesis formulation and interpretation of the analysis. Multivariate approaches will also be introduced. Although some previous knowledge of probability and statistics will be helpful, a review will be provided at the beginning of the course. Concepts and notation will be introduced, as needed. Jointly offered with EES1132H.",,[MATA21H3 or MATA35H3 or MATA36H3] and PHYB57H3/(PSCB57H3) and STAB22H3,EES1132H,Geophysical and Climate Data Analysis,,Graduate students enrolled in the Master of Environmental Science or in a Ph.D. program in DPES have enrollment priority as EESD21H3 it is a partner course for an existing graduate course EES1132H. +EESD28H3,NAT_SCI,,"This course introduces the rapidly growing field of environmental and earth system modelling. Emphasis will be placed on the rationale of model development, the objective of model evaluation and validation, and the extraction of the optimal complexity from complicated/intertwined environmental processes. By focusing on the intersections between climate change and ecological systems, students will develop the ability to integrate information from a variety of disciplines, including geosciences, biology, ecology, chemistry, and other areas of interest. The course will also involve practical training in the computer lab. Students will develop an intermediate complexity mathematical model, calibrate the model and assess the goodness-of-fit against observed data, identify the most influential model parameters (sensitivity analysis), and present their results. Jointly offered with EES1118H",,"[MATA30H3 and STAB22H3 (or equivalent)] and [an additional 6.0 credits, including at least 0.5 credit at the C-level in EES courses]",EES1118H,Fundamentals of Environmental Modelling,, +EESD31H3,NAT_SCI,,"This course will introduce and discuss the basic topics and tools of applied climatology, and how its concepts can be used in everyday planning and operations (e.g. in transportation, agriculture, resource management, health and energy). The course involves the study of the application of climatic processes and the reciprocal interaction between climate and human activities. Students will also learn the methods of analyzing and interpreting meteorological and climatological data in a variety of applied contexts. Topics include: Solar Energy; Synoptic Climatology and Meteorology; Climate and Agriculture; Climate and Energy; Climate and Human Comfort; Urban Effects on Climate and Air Pollution. Jointly offered with EES1131H",,"STAB22H3 and EESB03H3 and [an additional 1.0 credit in EES courses, of which 0.5 credit must be at the C-level]",EES1131H,Applied Climatology,, +EESD33H3,NAT_SCI,University-Based Experience,"This course consists of a series of modules designed for students to gain practical skills necessary to investigate and characterize complex environmental systems. Field projects will allow students to collect scientific data that they will use to interpret the geology, hydrogeology, and chemistry of natural and anthropogenic environments.",,EESB02H3 and EESC07H3,"EES330H, GGR390H, GGR379H",Field Techniques,,Priority will be given to students enrolled in the Specialist/Specialist Co-op programs in Environmental Science. +ENGA01H3,ART_LIT_LANG,,"This course introduces the fundamentals of studying English at the university level, and builds the skills needed to successfully navigate English degree programs as well as a liberal arts education more broadly. Students will learn how to read texts closely and think critically; they will practice presenting their ideas in a clear, supported way; they will be exposed to a variety of texts in different forms and genres; and they will gain a working familiarity with in-discipline terminology and methodologies. Moreover, the course is an opportunity to explore the power exercised by literature on all levels of society, from the individual and personal to the political and global.",,,"ENG110Y, (ENGB03H3)",What Is Literature?,, +ENGA02H3,ART_LIT_LANG,,"This is a writing-focused, workshop-based course that provides training in critical writing about literature at the university level. Throughout the term, students will examine and develop fundamental writing skills (close reading, critical analysis, organization, argumentation, and research). Specifically, this course aims to equip students with the practical tools and confidence to consult different academic writing styles, develop thesis-driven analyses, and produce short thesis-driven papers. The course will also provide overview of library research methods, MLA-style citation guidelines, and strategies for improving the craft of writing itself (grammar and style). While this course focuses on critical writing about fiction, it will also help students develop a set of transferrable skills that may be applied to various academic and professional settings. English A02 is not a language course. All students entering the course are expected to have a basic grasp of the conventions of academic writing.",,,(ENGB05H3),Critical Writing about Literature,, +ENGA03H3,ART_LIT_LANG,,"An introduction to the fundamentals of creative writing, both as practice and as a profession. Students will engage in reading, analyzing, and creating writing in multiple genres, including fiction, poetry, nonfiction, and drama.",,High school English or Creative Writing,ENG289H1,Introduction to Creative Writing,,"Priority will be given to students who have declared, or are considering, a Major or Minor program in Creative Writing." +ENGA10H3,ART_LIT_LANG,,An exploration of how literature and film reflect the artistic and cultural concerns that shaped the twentieth century.,,,ENG140Y,Literature and Film for Our Time: Visions and Revisions,, +ENGA11H3,ART_LIT_LANG,,"Building on ENGA10H3, this course considers how literature and film responds to the artistic, cultural, and technological changes of the late twentieth and twenty-first centuries.",,,ENG140Y,Literature and Film for Our Time: Dawn of the Digital,, +ENGB01H3,ART_LIT_LANG,,"This course introduces students to a diverse selection of writing by Indigenous authors (primarily Canadian) from Turtle Island, including novels, poetry, drama, essays, oratory, and autobiography. Discussion of literature is grounded in Indigenous literary criticism, which addresses such issues as appropriation of voice, language, land, spirituality, orality, colonialism, gender, hybridity, authenticity, resistance, sovereignty, and anti-racism. Indigenous Literatures of Turtle Island course",ENGA01H3 and ENGA02H3,Any 6.0 credits,(ENGC01H3),Introduction to Indigenous Literatures of Turtle Island,, +ENGB02H3,ART_LIT_LANG,,"This course will provide science students with practical strategies, detailed instructions, and cumulative assignments to help them hone their ability to write clear, coherent, well- reasoned prose for academic and professional purposes. Topics will include scientific journal article formats and standards, peer-review, and rhetorical analysis (of both scientific and lay-science documents).",,,PCL285H,Effective Writing in the Sciences,,Priority will be given to students enrolled in science programs. Additional students will be admitted as space permits. +ENGB04H3,ART_LIT_LANG,,"An introduction to the understanding of poetry in English. By close reading of a wide range of poems from a variety of traditions, students will learn how poets use the resources of patterned language to communicate with readers in uniquely rich and powerful ways.",,,ENG201Y,How to Read a Poem,, +ENGB06H3,ART_LIT_LANG,,"A study of Canadian literature from pre-contact to 1900. This course explores the literatures of the ""contact zone"", from Indigenous oral and orature, to European journals of exploration and discovery, to the works of pioneer settlers, to the writing of the post-Confederation period. Pre-1900 course",,,ENG252Y,Canadian Literature to 1900,, +ENGB07H3,ART_LIT_LANG,,"A continuation of ENGB06H3 introducing students to texts written from 1900 to the present. Focusing on the development of Canada as an imagined national community, this course explores the challenges of imagining an ethical national community in the context of Canada's ongoing colonial legacy: its multiculturalism; Indigenous and Quebec nationalisms; and recent diasporic and transnational reimaginings of the nation and national belonging.",,,ENG252Y,Canadian Literature 1900 to Present,, +ENGB08H3,ART_LIT_LANG,,"An examination of Early American literature in historical context from colonization to the Civil War. This introductory survey places a wide variety of genres including conquest and captivity narratives, theological tracts, sermons, and diaries, as well as classic novels and poems in relation to the multiple subcultures of the period. Pre-1900 course",,,ENG250Y,American Literature to 1860,, +ENGB09H3,ART_LIT_LANG,,"An introductory survey of major novels, short fiction, poetry, and drama produced in the aftermath of the American Civil War. Exploring texts ranging from The Adventures of Huckleberry Finn to Rita Dove's Thomas and Beulah, this course will consider themes of immigration, ethnicity, modernization, individualism, class, and community.",,,ENG250Y,American Literature from the Civil War to the Present,, +ENGB12H3,ART_LIT_LANG,,"Life-writing, whether formal biography, chatty memoir, postmodern biotext, or published personal journal, is popular with writers and readers alike. This course introduces students to life-writing as a literary genre and explores major issues such as life-writing and fiction, life-writing and history, the contract between writer and reader, and gender and life- writing.",,,ENG232H,Life Writing,, +ENGB14H3,ART_LIT_LANG,,"A study of major plays and playwrights of the twentieth century. This international survey might include turn-of-the- century works by Wilde or Shaw; mid-century drama by Beckett, O'Neill, Albee, or Miller; and later twentieth-century plays by Harold Pinter, Tom Stoppard, Caryl Churchill, Peter Shaffer, August Wilson, Tomson Highway, David Hwang, or Athol Fugard.",,,"ENG340H, ENG341H, (ENG342H), (ENGB11H3), (ENGB13H3), (ENG338Y), (ENG339H)",Twentieth-Century Drama,, +ENGB17H3,ART_LIT_LANG,,"A study of fiction, drama, and poetry from the West Indies. The course will examine the relation of standard English to the spoken language; the problem of narrating a history of slavery and colonialism; the issues of race, gender, and nation; and the task of making West Indian literary forms.",,,"ENG264H, ENG270Y, (NEW223Y), (ENG253Y)",Contemporary Literature from the Caribbean,, +ENGB19H3,ART_LIT_LANG,,"A study of literature in English from South Asia, with emphasis on fiction from India. The course will examine the relation of English-language writing to indigenous South Asian traditions, the problem of narrating a history of colonialism and Partition, and the task of transforming the traditional novel for the South Asian context.",,,"ENG270Y, (ENG253Y)",Contemporary Literature from South Asia,, +ENGB22H3,ART_LIT_LANG,,"A study of fiction, drama, and poetry from English-speaking Africa. The course will examine the relation of English- language writing to indigenous languages, to orality, and to audience, as well as the issues of creating art in a world of suffering and of de-colonizing the narrative of history.",,,"(ENGC72H3), ENG278Y",Contemporary Literature from Africa,, +ENGB25H3,ART_LIT_LANG,Partnership-Based Experience,"A study of the Canadian short story. This course traces the development of the Canadian short story, examining narrative techniques, thematic concerns, and innovations that captivate writers and readers alike.",,,ENG215H,The Canadian Short Story,, +ENGB26H3,ART_LIT_LANG,,"A study of Dante’s Inferno and its influence on later art and literature. Inferno describes a journey through the nine circles of hell, where figures from history, myth, and literature undergo elaborate punishments. Dante’s poem has inspired writers and artists since its composition, from Jorge Luis Borges to Gloria Naylor to Neil Gaiman. In this course, we will read Inferno together with a selection of 19th, 20th, and 21st century works based on Dante. Throughout, we will explore how Dante’s poem informs and inspires poetic creativity, social commentary, and political critique. No prior knowledge of Dante or Inferno is necessary; we will encounter the text together. Pre-1900 course.",,,,Inferno,, +ENGB27H3,ART_LIT_LANG,,"An introduction to the historical and cultural developments that have shaped the study of literature in English before 1700. Focusing on the medieval, early modern, and Restoration periods, this course will examine the notions of literary history and the literary “canon” and explore how contemporary critical approaches impact our readings of literature in English in specific historical and cultural settings. Pre-1900 course",,,ENG202Y,Charting Literary History I,, +ENGB28H3,ART_LIT_LANG,,"An introduction to the historical and cultural developments that have impacted the study of literature in English from 1700 to our contemporary moment. This course will familiarize students with the eighteenth century, Romanticism, the Victorian period, Modernism, and Postmodernism, and will attend to the significance of postcolonial and world literatures in shaping the notions of literary history and the literary “canon.” Pre-1900 course",ENGB27H3,,,Charting Literary History II,, +ENGB29H3,ART_LIT_LANG,,"The history of Shakespeare and (on) film is long, illustrious— and prolific: there have been at least 400 film and television adaptations and appropriations of Shakespeare over the past 120 years, from all over the world. But how and why do different film versions adapt Shakespeare? What are the implications of transposing a play by Shakespeare to a different country, era, or even language? What might these films reveal, illuminate, underscore, or re-imagine about Shakespeare, and why? In this course, we will explore several different Shakespearean adaptations together with the plays they adapt or appropriate. We will think carefully about the politics of adaptation and appropriation; about the global contexts and place of Shakespeare; and about the role of race, gender, sexuality, disability, empire and colonialism in our reception of Shakespeare on, and in, film. Pre-1900 course.",,ENGA10H3 or ENGA11H3 or (ENGB70H3) or FLMA70H3,,Shakespeare and Film,, +ENGB30H3,ART_LIT_LANG,,The goal of this course is to familiarize students with Greek and Latin mythology. Readings will include classical materials as well as important literary texts in English that retell classical myths. Pre-1900 Course,,,"(ENGC58H3), (ENGC60H3), (ENGC61H3)",Classical Myth and Literature,, +ENGB31H3,ART_LIT_LANG,,"A study of the romance a genre whose episodic tale of marvellous adventures and questing heroes have been both criticized and celebrated. This course looks at the range of a form stretching from Malory and Spenser through Scott and Tennyson to contemporary forms such as fantasy, science fiction, postmodern romance, and the romance novel. Pre-1900 course",,,,The Romance: In Quest of the Marvelous,, +ENGB32H3,ART_LIT_LANG,,"An introduction to the poetry and plays of William Shakespeare, this course situates his works in the literary, social and political contexts of early modern England. The main emphasis will be on close readings of Shakespeare's sonnets and plays, to be supplemented by classical, medieval, and renaissance prose and poetry upon which Shakespeare drew. Pre-1900 course.",,,"ENG220Y, (ENGB10H3)",Shakespeare in Context I,, +ENGB33H3,ART_LIT_LANG,,"A continuation of ENGB32H3, this course introduces students to selected dramatic comedies, tragedies and romances and situates Shakespeare's works in the literary, social and political contexts of early modern England. Our readings will be supplemented by studies of Shakespeare's sources and influences, short theoretical writings, and film excerpts. Pre-1900 course.",ENGB32H3,,"(ENGB10H3), ENG220Y",Shakespeare in Context II,, +ENGB34H3,ART_LIT_LANG,,"An introduction to the short story as a literary form. This course examines the origins and recent development of the short story, its special appeal for writers and readers, and the particular effects it is able to produce.",,,ENG213H,The Short Story,, +ENGB35H3,ART_LIT_LANG,,"An introduction to children's literature. This course will locate children's literature within the history of social attitudes to children and in terms of such topics as authorial creativity, race, class, gender, and nationhood. Pre-1900 course.",,,ENG234H,Children's Literature,, +ENGB37H3,ART_LIT_LANG,,"This course considers the creation, marketing, and consumption of popular film and fiction. Genres studied might include bestsellers; detective fiction; mysteries, romance, and horror; fantasy and science fiction; ""chick lit""; popular song; pulp fiction and fanzines.",,,,Popular Literature and Mass Culture,, +ENGB38H3,ART_LIT_LANG,,"A study of extended narratives in the comic book form. This course combines formal analysis of narrative artwork with an interrogation of social, political, and cultural issues in this popular literary form. Works to be studied may include graphic novels, comic book series, and comic book short story or poetry collections.",,,"ENG235H, (ENGC57H3)",The Graphic Novel,, +ENGB39H3,ART_LIT_LANG,,"This course will explore Tolkien's writing, including selections from the Lord of the Rings trilogy, together with the medieval poetry that inspired it. We will consider how the encounter with medieval literature shapes Tolkien’s attitudes toward themes including ecology, race, gender, and history. Pre-1900 course.",,,,Tolkien's Middle Ages,, +ENGB50H3,ART_LIT_LANG,,"An examination of the development of a tradition of women's writing. This course explores the legacy and impact of writers such as Christine de Pizan, Julian of Norwich, Mary Wollstonecraft, Anne Bradstreet, Margaret Cavendish, Jane Austen, Mary Shelley, Emily Dickinson, and Margaret Fuller, and considers how writing by women has challenged and continues to transform the English literary canon. Pre-1900 course",,,(ENG233Y),Women and Literature: Forging a Tradition,, +ENGB52H3,ART_LIT_LANG,,"An exploration of the many intersections between the worlds of literature and science. The focus will be on classic and contemporary works of fiction, non-fiction, poetry and drama that have illuminated, borrowed from or been inspired by the major discoveries and growing cultural significance of the scientific enterprise.",,,,Literature and Science,, +ENGB60H3,ART_LIT_LANG,Partnership-Based Experience,"A focused introduction to the writing of poetry. This course will enable students to explore the writing of poetry through reading, discussion, and workshop sessions.",,ENGA03H3 and enrolment in the Major or Minor program in Creative Writing,(ENG369Y),Creative Writing: Poetry I,, +ENGB61H3,ART_LIT_LANG,Partnership-Based Experience,"A focused introduction to the writing of fiction. This course will enable students to explore the writing of short fiction through reading, discussion, and workshop sessions.",,ENGA03H3 and enrolment in the Major or Minor program in Creative Writing,(ENG369Y),Creative Writing: Fiction I,, +ENGB63H3,ART_LIT_LANG,Partnership-Based Experience,"A focused introduction to the writing of creative non-fiction. This course will enable students to explore the writing of creative non-fiction through reading, discussion, and workshop sessions.",,ENGA03H3 and enrolment in the Major or Minor program in Creative Writing,,Creative Writing: Creative Nonfiction I,, +ENGB72H3,ART_LIT_LANG,,"Building on the fundamental critical writing skills students have already mastered in English A02, English B72 is designed to advance students' critical thinking and writing skills in response to a wide range of literary texts and genres. In this context, students will learn how to compose, develop, and organize sophisticated arguments; how to integrate and engage with critical sources; and how to polish their writing craft. Ultimately, students will become more confident in their writing voices and growing abilities.",,ENGA02H3,,Advanced Critical Writing about Literature,, +ENGB74H3,ART_LIT_LANG,,"An interdisciplinary exploration of the body in art, film, photography, narrative and popular culture. This course will consider how bodies are written or visualized as ""feminine"" or ""masculine"", as heroic, as representing normality or perversity, beauty or monstrosity, legitimacy or illegitimacy, nature or culture.",,,"(VPAC47H3), (VPHC47H3), (ENGC76H3)",The Body in Literature and Film,, +ENGB78H3,ART_LIT_LANG,,"Digitized Literature to Born-Digital Works This course explores the creative, interpretive, social, and political effects of our interactions and experiments with digital forms of literature: novels, short stories, plays, and poems, but also video games, online fan fiction, social media posts, and other texts typically excluded from the category of the ""literary."" The course attends both to texts written before the digital turn and later digitized, as well as to ""born-digital"" texts. It surveys the history of shifts within the media landscape - from oral to written, from manuscript to print, from print to digital. Over the course of the semesters, we will explore a variety of questions about digital literary culture, including: How does a text's medium - oral, manuscript, print and/or digital - affect its production, transmission, and reception? How do writers harness, narrate, and depict the use of digital technologies? How does digital textuality challenge earlier conceptions of ""literature""? How does digitization shape our work as readers and critics? By reading ""traditional"" literary forms alongside newer ones, we will investigate how the digital age impacts literature, and how literature helps us grapple with the implications of our digitized world.",,,"ENG287H1, ENG381H5",The Digital Text: From,, +ENGC02H3,ART_LIT_LANG,,An examination of three or more Canadian writers. This course will draw together selected major writers of Canadian fiction or of other forms. Topics vary from year to year and might include a focused study of major women writers; major racialized and ethnicized writers such as African-Canadian or Indigenous writers; major writers of a particular regional or urban location or of a specific literary period.,ENGA01H3 and ENGA02H3,Any 6.0 credits,,Major Canadian Authors,, +ENGC03H3,ART_LIT_LANG,,"An analysis of Canadian fiction with regard to the problems of representation. Topics considered may include how Canadian fiction writers have responded to and documented the local; social rupture and historical trauma; and the problematics of representation for marginalized societies, groups, and identities.",ENGA01H3 and ENGA02H3,Any 6.0 credits,"ENG353Y, (ENG216Y)",Topics in Canadian Fiction,, +ENGC04H3,ART_LIT_LANG,Partnership-Based Experience,"An introduction to the craft of screenwriting undertaken through discussions, readings, and workshop sessions.",,ENGB61H3,,Creative Writing: Screenwriting,, +ENGC05H3,ART_LIT_LANG,,"This course is a creative investigation into how, through experimentation, we can change poetry, and how, through poetry, we can change the world. Our explorations are undertaken through writing assignments, discussions, readings, and workshop sessions.",,ENGB60H3,,"Creative Writing: Poetry, Experimentation, and Activism",, +ENGC06H3,ART_LIT_LANG,,"An introduction to the writing of comics undertaken through discussions, readings, and workshop sessions.",,ENGB61H3,,Creative Writing: Writing for Comics,, +ENGC07H3,ART_LIT_LANG,,"A study of major Canadian playwrights with an emphasis on the creation of a national theatre, distinctive themes that emerge, and their relation to regional and national concerns. This course explores the perspectives of Québécois, feminist, Native, queer, ethnic, and Black playwrights who have shaped Canadian theatre.",ENGA01H3 or ENGA02H3,Any 6.0 credits or [THRB20H3/(VPDB10H3) and THRB21H3/(VPDB11H3)],"ENG352H, (ENG223H)",Canadian Drama,, +ENGC08H3,ART_LIT_LANG,,"This multi-genre creative writing course, designed around a specific theme or topic, will encourage interdisciplinary practice, experiential adventuring, and rigorous theoretical reflection through readings, exercises, field trips, projects, etc.",,ENGB60H3 or ENGB61H3,,Special Topics in Creative Writing I,, +ENGC09H3,ART_LIT_LANG,,"A study of contemporary Canadian poetry in English, with a changing emphasis on the poetry of particular time-periods, regions, and communities. Discussion will focus on the ways poetic form achieves meaning and opens up new strategies for thinking critically about the important social and political issues of our world.",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG354Y,Canadian Poetry,, +ENGC10H3,ART_LIT_LANG,,An in-depth study of selected plays from Shakespeare's dramatic corpus combined with an introduction to the critical debates within Shakespeare studies. Students will gain a richer understanding of Shakespeare's texts and their critical reception. Pre-1900 course,[ENGA01H3 and ENGA02H3 and ENGB27H3] or ENGB32H3 or ENGB33H3,Any 6.0 credits,ENG336H,Studies in Shakespeare,, +ENGC11H3,ART_LIT_LANG,,"Poetry is often seen as distant from daily life. We will instead see how poetry is crucial in popular culture, which in turn impacts poetry. We will read such popular poets as Ginsberg and Plath, look at poetry in film, and consider song lyrics as a form of popular poetry.",ENGA01H3 and ENGA02H3,Any 6.0 credits,(ENGA18H3),Poetry and Popular Culture,, +ENGC12H3,ART_LIT_LANG,,"An exploration of the tension in American literature between two conflicting concepts of self. We will examine the influence on American literature of the opposition between an abstract, ""rights-based,"" liberal-individualist conception of the self and a more traditional, communitarian sense of the self as determined by inherited regional, familial, and social bonds.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,Individualism and Community in American Literature,, +ENGC13H3,ART_LIT_LANG,,"A survey of the literature of Native Peoples, Africans, Irish, Jews, Italians, Latinos, and South and East Asians in the U.S, focusing on one or two groups each term. We will look at how writers of each group register the affective costs of the transition from ""old-world"" communalism to ""new-world"" individualism.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,Ethnic Traditions in American Literature,, +ENGC14H3,ART_LIT_LANG,,"A study of the diverse and vibrant forms of literary expression that give voice to the Black experience in Canada, with changing emphasis on authors, time periods, Black geographies, politics and aesthetics. The range of genres considered may include the slave narrative, memoir, historical novel, Afrofuturism and “retrospeculative” fiction, poetry, drama, as well as the performance cultures of spoken word, dub, rap, DJing and turntablism.",ENGA01H3 and ENGA02H3 and ENGB06H3 and ENGB07H3,Any 6.0 credits,,Black Canadian Literature,, +ENGC15H3,ART_LIT_LANG,,"A study of selected topics in literary criticism. Schools of criticism and critical methodologies such as New Criticism, structuralism, poststructuralism, Marxism, psychoanalysis, gender and sexuality studies, New Historicism, and postcolonialism will be covered, both to give students a roughly century-wide survey of the field and to provide them with a range of models applicable to their own critical work as writers and thinkers. Recommended for students planning to pursue graduate study in English literature.",ENGA01H3 and ENGA02H3,Any 6.0 credits,"ENG280H, (ENG267H)",Introduction to Theory and Criticism,, +ENGC16H3,ART_LIT_LANG,,"A literary analysis of the Hebrew Bible (Christian Old Testament) and of texts that retell the stories of the Bible, including the Quran. We will study Biblical accounts of the creation, the fall of Adam and Eve, Noah's flood, Abraham's binding of Isaac, the Exodus from Egypt, and the Judges, Prophets, and Kings of Israel as works of literature in their own right, and we will study British, American, European, African, Caribbean, and Indigenous literary texts that, whether inspired by or reacting against Biblical narratives, retell them. Pre-1900 course.",ENGA01H3 and ENGA02H3,Any 6.0 credits,"(ENGB42H3), (ENG200Y)",The Bible and Literature I,, +ENGC17H3,ART_LIT_LANG,,"A literary analysis of the New Testament and the ways that the stories of Jesus have been reworked in British, American, European, African, Caribbean, and Indigenous literature and visual art. The Gospels, the Acts of the Apostles, and the Book of Revelation will be considered as literature, and we will study later literary texts that, whether inspired by or reacting against Biblical narratives, retell them. Pre-1900 course.",ENGA01H3 and ENGA02H3,Any 6.0 credits,"(ENGB43H3), (ENG200Y)",The Bible and Literature II,, +ENGC18H3,ART_LIT_LANG,,"Over the course of five centuries, European empires changed the face of every continent. The present world bears the traces of those empires in the form of nation-states, capitalism, population transfers, and the spread of European languages. We will consider how empire and resistance to empire have been imagined and narrated in a variety of texts.",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG270Y,Colonial and Postcolonial Literature,, +ENGC19H3,ART_LIT_LANG,,"The world is increasingly interrelated - economically, digitally, and culturally. Migrants and capitalists move across borders. So do criminals and terrorists. Writers, too, travel between countries; novels and films are set in various locales. How have writers had to re-invent generic conventions to imagine the world beyond the nation and the new links among distant places?",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG370H,Transnational Literature,, +ENGC20H3,ART_LIT_LANG,,"This course traces the evolution of the antihero trope from its earliest prototypes in pre- and early modern literature, through its Gothic and Byronic nineteenth-century incarnations, twentieth-century existentialists, noir and Beat protagonists, and up to the “difficult” men and women of contemporary film, television, and other media. We will examine the historical and cultural contexts that enabled the construction and enduring popularity of this literary archetype, particularly in relation to gender and sexuality, race, class, religion, and (post-)colonialism.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,The Antihero in Literature and Film,, +ENGC21H3,ART_LIT_LANG,,"A study of major novels in the Victorian period. Authors studied might include Charles Dickens, the Bronte sisters, George Eliot, and Thomas Hardy. Central to the study of the novel in the period are concerns about social and political justice, historical awareness, personal perspective and narration, and the development of realism. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG324Y,The Victorian Novel,, +ENGC22H3,ART_LIT_LANG,,"A study of popular fiction during the Victorian period. This course examines the nineteenth-century emergence of genres of mass-market fiction, which remain popular today, such as historical romance, mystery and detective fiction, imperial adventure, fantasy, and science fiction. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG324Y,Victorian Popular Fiction,, +ENGC23H3,ART_LIT_LANG,,"A study of fantasy and the fantastic from 1800 to the present. Students will consider various theories of the fantastic in order to chart the complex genealogy of modern fantasy across a wide array of literary genres (fairy tales, poems, short stories, romances, and novels) and visual arts (painting, architecture, comics, and film).",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG239H,Fantasy and the Fantastic in Literature and the Other Arts,,Preference will be given to students enrolled in programs from the Department of English. +ENGC24H3,ART_LIT_LANG,,"This writing workshop is based on the art and craft of the personal essay, a form of creative nonfiction characterized by its commitment to self-exploration and experiment. Students will submit their own personal essays for workshop, and become acquainted with the history and contemporary resurgence of the form.",,ENGB63H3,,Creative Writing: The Art of the Personal Essay,, +ENGC25H3,ART_LIT_LANG,,"An introduction to the poetry and nonfiction prose of the Victorian period, 1837-1901. Representative authors are studied in the context of a culture in transition, in which questions about democracy, social inequality, the rights of women, national identity, imperialism, and science and religion are prominent. Pre-1900 course",,Any 6.0 credits,(ENGB45H3),Victorian Poetry and Prose,, +ENGC26H3,ART_LIT_LANG,,"An exploration of major dramatic tragedies in the classic and English tradition. European philosophers and literary critics since Aristotle have sought to understand and define the genre of tragedy, one of the oldest literary forms in existence. In this course, we will read representative works of dramatic tragedy and investigate how tragedy as a genre has evolved over the centuries. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits or [VPDB10H3 and VPDB11H3],,Drama: Tragedy,, +ENGC27H3,ART_LIT_LANG,,"An historical exploration of comedy as a major form of dramatic expression. Comedy, like its more august counterpart tragedy, has been subjected to centuries of theoretical deliberation about its form and function. In this course, we will read representative works of dramatic comedy and consider how different ages have developed their own unique forms of comedy. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits or [THRB20H3/(VPDB10H3) and THRB21H3/(VPDB11H3)],,Drama: Comedy,, +ENGC28H3,ART_LIT_LANG,,"A study of fairy tales in English since the eighteenth century. Fairy tales have been a staple of children’s literature for three centuries, though they were originally created for adults. In this course, we will look at some of the best-known tales that exist in multiple versions, and represent shifting views of gender, race, class, and nationality over time. The course will emphasize the environmental vision of fairy tales, in particular, the uses of natural magic, wilderness adventures, animal transformations, and encounters with other-than- human characters.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,The Fairy Tale,, +ENGC29H3,ART_LIT_LANG,,"Selections from The Canterbury Tales and other works by the greatest English writer before Shakespeare. In studying Chaucer's medieval masterpiece, students will encounter a variety of tales and tellers, with subject matter that ranges from broad and bawdy humour through subtle social satire to moral fable. Pre-1900 course",ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,ENG300Y,Chaucer,, +ENGC30H3,ART_LIT_LANG,,A study of selected medieval texts by one or more authors. Pre-1900 course,ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,ENG311H,Studies in Medieval Literature,, +ENGC31H3,ART_LIT_LANG,,"Long before the travel channel, medieval writers described exciting journeys through lands both real and imagined. This course covers authors ranging from scholar Ibn Battuta, whose pilgrimage to Mecca became the first step in a twenty- year journey across India, Southeast Asia, and China; to armchair traveller John Mandeville, who imagines distant lands filled with monsters and marvels. We will consider issues such as: how travel writing negotiates cultural difference; how it maps space and time; and how it represents wonders and marvels. Students will also have the opportunity to experiment with creative responses such as writing their own travelogues. Pre-1900 course.",ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,,Medieval Travel Writing,, +ENGC33H3,ART_LIT_LANG,,"A study of the poetry, prose, and drama written in England between the death of Queen Elizabeth in 1603 and the Restoration of the monarchy in 1660. This course will examine the innovative literature of these politically tumultuous years alongside debates concerning personal and political sovereignty, religion, censorship, ethnicity, courtship and marriage, and women's authorship. Pre-1900 course",ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,ENG304Y,"Deceit, Dissent, and the English Civil Wars, 1603-1660",, +ENGC34H3,ART_LIT_LANG,,"A focused exploration of women's writing in the early modern period. This course considers the variety of texts produced by women (including closet drama, religious and secular poetry, diaries, letters, prose romance, translations, polemical tracts, and confessions), the contexts that shaped those writings, and the theoretical questions with which they engage. Pre-1900 course",[ENGA01H3 and ENGA02H3] or ENGB27H3 or ENGB50H3,Any 6.0 credits,,"Early Modern Women and Literature, 1500-1700",, +ENGC35H3,ART_LIT_LANG,,"A study of the real and imagined multiculturalism of early modern English life. How did English encounters and exchanges with people, products, languages, and material culture from around the globe redefine ideas of national, ethnic, and racial community? In exploring this question, we will consider drama and poetry together with travel writing, language manuals for learning foreign tongues, costume books, and maps. Pre-1900 course",ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,,"Imagined Communities in Early Modern England, 1500-1700",, +ENGC36H3,ART_LIT_LANG,,"Studies in literature and literary culture during a turbulent era that was marked by extraordinary cultural ferment and literary experimentation. During this period satire and polemic flourished, Milton wrote his great epic, Behn her brilliant comedies, Swift his bitter attacks, and Pope his technically balanced but often viciously biased poetry. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG305H,"Literature and Culture, 1660- 1750",, +ENGC37H3,ART_LIT_LANG,,"An exploration of literature and literary culture during the end of the eighteenth and beginning of the nineteenth centuries. We will trace the development of a consciously national culture, and birth of the concepts of high, middle, and low cultures. Authors may include Johnson, Boswell, Burney, Sheridan, Yearsley, Blake, and Wordsworth. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,,"Literature and Culture, 1750- 1830",, +ENGC38H3,ART_LIT_LANG,,"An examination of generic experimentation that began during the English Civil Wars and led to the novel. We will address such authors as Aphra Behn and Daniel Defoe, alongside news, ballads, and scandal sheets: and look at the book trade, censorship, and the growth of the popular press. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG322Y,"Novel Genres: Fiction, Journalism, News, and Autobiography, 1640-1750",, +ENGC39H3,ART_LIT_LANG,,"A contextual study of the first fictions that contemporaries recognized as being the novel. We will examine the novel in relation to its readers, to neighbouring genres such as letters, nonfiction travel writing, and conduct manuals, and to culture more generally. Authors might include Richardson, Fielding, Sterne, Burney, Austen and others. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG322Y,"The Early Novel in Context, 1740-1830",, +ENGC40H3,ART_LIT_LANG,,"From Augustine’s Confessions to Dante’s New Life, medieval writers developed creative means of telling their life stories. This course tracks medieval life-writing from Augustine and Dante to later figures such as Margery Kempe—beer brewer, mother of fourteen, and self-proclaimed saint—Thomas Hoccleve, author of the first description of a mental breakdown in English literature, and Christian convert to Islam Anselmo Turmeda/‘Abd Allāh al-Turjumān. In these texts, life writing is used for everything from establishing a reputation to recovering from trauma to religious polemic. The course will also explore how medieval life writing can help us to understand 21st century practices of self-representation, from selfies to social media. Pre-1900 course.",ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,,Medieval Life Writing,, +ENGC41H3,ART_LIT_LANG,,"How do video games connect to English literature? In what ways can they be “read” and assessed as storytelling texts? How do video game narratives reflect historical, cultural, and social concerns? Although active playing will be a required part of the course, students of all video game experience levels are welcome.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,Video Games: Exploring the Virtual Narrative,, +ENGC42H3,ART_LIT_LANG,,"A study of the Romantic Movement in European literature, 1750-1850. This course investigates the cultural and historical origins of the Romantic Movement, its complex definitions and varieties of expression, and the responses it provoked in the wider culture. Examination of representative authors such as Goethe, Rousseau, Wollstonecraft, Wordsworth, Coleridge, Blake, P. B. Shelley, Keats, Byron and M. Shelley will be combined with study of the philosophical and historical backgrounds of Romanticism. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG308Y,Romanticism,, +ENGC43H3,ART_LIT_LANG,,"An investigation of how nineteenth-century literature is translated into our contemporary world through art forms like music, architecture, film, television, graphic novels, or online and social media. What is it that makes us keep returning to the past, and how does each adaptation re-make the original into something new and relevant? Pre-1900 course.",ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,,Nineteenth-Century Literature and Contemporary Culture,, +ENGC45H3,ART_LIT_LANG,,"This course focuses on queer studies in a transhistorical context. It serves as an introduction to queer theory and culture, putting queer theory into conversation with a range of literary texts as well as other forms of media and culture. This course might explore contemporary LGBTQ2+ literature, media and popular culture; the history of queer theory; and literary work from early periods to recover queer literary histories.",,Any 6.0 credits,"ENG273Y1, ENG295H5",Queer Literature and Theory,, +ENGC46H3,ART_LIT_LANG,,"An examination of how the law and legal practices have been imagined in literature, including the foundations of law, state constitutions, rule of law, rights, trials and judgments, ideas of justice, natural law, enforcement, and punishment. We will examine Western and non-Western experiences of the law, legal documents and works of literature. Authors may include Sophocles, Aeschylus, Shakespeare, Melville, Dostoyevsky, Kafka, Achebe, Soyinka, Borges, Shamsie, R. Wright, Silko.",,Any 6.0 credits,,Law and Literature,, +ENGC47H3,ART_LIT_LANG,,"A study of poetry written roughly between the World Wars. Poets from several nations may be considered. Topics to be treated include Modernist difficulty, formal experimentation, and the politics of verse. Literary traditions from which Modernist poets drew will be discussed, as will the influence of Modernism on postmodern writing.",ENGA01H3 and ENGA02H3 and ENGB04H3,Any 6.0 credits,,Modernist Poetry,, +ENGC48H3,ART_LIT_LANG,,"An investigation of the literatures and theories of the unthinkable, the reformist, the iconoclastic, and the provocative. Satire can be conservative or subversive, corrective or anarchic. This course will address a range of satire and its theories. Writers range from Juvenal, Horace, Lucian, Erasmus, Donne, Jonson, Rochester, Dryden, Swift, Pope, Gay, Haywood, and Behn to Pynchon, Nabokov and Atwood. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,(ENGD67H3),Satire,, +ENGC49H3,ART_LIT_LANG,,"This course explores social media’s influence on literary culture and our personal lives. Engaging with contemporary novels, essays and films that deal with the social media, as well as examining social media content itself (from early web blogs, to Facebook, Twitter, Instagram and TikTok), over the course of the semester, we will consider how social media shapes literary texts and our emotional, social and political selves.",ENGB78H3,Any 6.0 credits,,The Digital Self: Social Media & Literary Culture,, +ENGC50H3,ART_LIT_LANG,,"Developments in American fiction from the end of the 1950's to the present: the period that produced James Baldwin, Saul Bellow, Philip Roth, John Updike, Norman Mailer, Ann Beatty, Raymond Carver, Don DeLillo, Toni Morrison, Maxine Hong Kingston, and Leslie Marmon Silko, among others.",ENGA01H3 and ENGA02H3,Any 6.0 credits,"ENG365H, (ENG361H)",Studies in Contemporary American Fiction,, +ENGC51H3,ART_LIT_LANG,,"A study of Arab women writers from the late nineteenth century to the present. Their novels, short stories, essays, poems, and memoirs invite us to rethink western perceptions of Arab women. Issues of gender, religion, class, nationalism, and colonialism will be examined from the perspective of Arab women from both the Arab world and North America.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,Contemporary Arab Women Writers,, +ENGC54H3,ART_LIT_LANG,,"An analysis of how gender and the content and structure of poetry, prose, and drama inform each other. Taking as its starting point Virginia Woolf's claim that the novel was the genre most accessible to women because it was not entirely formed, this course will consider how women writers across historical periods and cultural contexts have contributed to specific literary genres and how a consideration of gender impacts our interpretation of literary texts.",ENGA01H3 and ENGA02H3,Any 6.0 credits,(ENGB51H3),Gender and Genre,, +ENGC59H3,ART_LIT_LANG,,"This course introduces students to ecocriticism (the study of the relationship between literature and environment). The course is loosely structured around several topics: the environmental imagination in literature and film, ecological literary theory, the history of the environmental movement and climate activism, literary representations of natural and unnatural disasters, and climate fiction.",ENGA01H3 and ENGA02H3,"Any 6.0 credits or [SOCB58H3, and an additional 4.0 credits, and enrolment in the Minor in Culture, Creativity, and Cities]",,Literature and the Environment,, +ENGC60H3,ART_LIT_LANG,,"A study of plays by Indigenous authors (primarily Canadian), from Turtle Island, paying attention to relations between text and performance, and with an emphasis on distinctive themes that emerge, including colonialism, Indigenous resistance, and Indigenous sovereignty. Indigenous literatures of Turtle Island course",ENGB01H3,Any 6.0 credits,,Indigenous Drama of Turtle Island,, +ENGC61H3,ART_LIT_LANG,,"A study of poetry by Indigenous authors (primarily Canadian) from Turtle Island. Discussion will focus on the ways poetic form and content combine to achieve meaning and open up new strategies for thinking critically, and with an emphasis on distinctive themes that emerge, including colonialism, Indigenous resistance, and Indigenous sovereignty. Indigenous literatures of Turtle Island course",ENGB01H3,Any 6.0 credits,,Indigenous Poetry of Turtle Island,, +ENGC62H3,ART_LIT_LANG,,"A study of short stories by Indigenous authors (primarily Canadian) from Turtle Island, examining narrative techniques, thematic concerns, and innovations, and with an emphasis on distinctive themes that emerge, including colonialism, Indigenous resistance, and Indigenous sovereignty. Indigenous literatures of Turtle Island course",ENGB01H3,Any 6.0 credits,,Indigenous Short Stories of Turtle Island,, +ENGC69H3,ART_LIT_LANG,,"A study of the Gothic tradition in literature since 1760. Drawing on texts such as Horace Walpole's The Castle of Otranto, Jane Austen's Northanger Abbey, Henry James' The Turn of the Screw, and Anne Rice's Interview with the Vampire, this course will consider how the notion of the ""Gothic"" has developed across historical periods and how Gothic texts represent the supernatural, the uncanny, and the nightmares of the unconscious mind. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,,Gothic Literature,,Preference will be given to students enrolled in programs from the Department of English. +ENGC70H3,ART_LIT_LANG,,"An examination of twentieth-century literature, especially fiction, written out of the experience of people who leave one society to come to another already made by others. We will compare the literatures of several ethnic communities in at least three nations, the United States, Britain, and Canada.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,The Immigrant Experience in Literature to 1980,, +ENGC71H3,ART_LIT_LANG,,"A continuation of ENGC70H3, focusing on texts written since 1980.",ENGA01H3 and ENGA02H3 and ENGC70H3,Any 6.0 credits,,The Immigrant Experience in Literature since 1980,, +ENGC74H3,ART_LIT_LANG,Partnership-Based Experience,"This course is an introduction to the theory and practice of rhetoric, the art of persuasive writing and speech. Students will study several concepts at the core of rhetorical studies and sample thought-provoking work currently being done on disability rhetorics, feminist rhetorics, ethnic rhetorics, and visual rhetorics. A guiding principle of this course is that studying rhetoric helps one to develop or refine one’s effectiveness in speaking and writing. Toward those ends and through a 20-hour community-engaged learning opportunity in an organization of their choice, students will reflect on how this community-based writing project shapes or was shaped by their understanding of some key rhetorical concept. Students should leave the course, then, with a “rhetorical toolbox” from which they can draw key theories and concepts as they pursue future work in academic, civic, or professional contexts.",,ENGA02H3,,Persuasive Writing and Community-Engaged Learning,, +ENGC79H3,ART_LIT_LANG,,"This course will explore the literary history and evolution of the superhero, from its roots in the works of thinkers such as Thomas Carlyle and Friedrich Nietzsche to the wartime birth of the modern comic book superhero to the contemporary pop culture dominance of transmedia experiments like the “universes” created by Marvel and DC. We will explore the superhero in various media, from prose to comics to film and television, and we will track the superhero alongside societal and cultural changes from the late 19th century to the present.",,Any 6.0 credits,,Above and Beyond: Superheroes in Fiction and Film,, +ENGC80H3,ART_LIT_LANG,,"Advanced study of a crucial period for the development of new forms of narrative and the beginnings of formal narrative theory, in the context of accelerating modernity.",ENGA01H3 and ENGA01H3,Any 6.0 credits,,Modernist Narrative,, +ENGC86H3,ART_LIT_LANG,,"An intensive study of the writing of poetry through a selected theme, topic, or author. The course will undertake its study through discussions, readings, and workshop sessions.",,ENGB60H3,,Creative Writing: Poetry II,, +ENGC87H3,ART_LIT_LANG,Partnership-Based Experience,"An intensive study of the writing of fiction through a selected theme, topic, or author. The course will undertake its study through discussions, readings, and workshop sessions.",,ENGB61H3,,Creative Writing: Fiction II,, +ENGC88H3,ART_LIT_LANG,,"An advanced study of the craft of creative non-fiction. Through in-depth discussion, close reading of exceptional texts and constructive workshop sessions, students will explore special topics in the genre such as: fact versus fiction, writing real people, the moral role of the author, the interview process, and how to get published. Students will also produce, workshop and rewrite an original piece of long- form creative non-fiction and prepare it for potential publication.",,ENGB63H3,,Creative Writing: Creative Nonfiction II,, +ENGC89H3,ART_LIT_LANG,,"This course connects writers of poetry and fiction, through discussion and workshop sessions, with artists from other disciplines in an interdisciplinary creative process, with the aim of having students perform their work.",,0.5 credit at the B-level in Creative Writing; students enrolled in performance-based disciplines such as Theatre and Performance (THR) and Music and Culture (VPM) may be admitted with the permission of the instructor.,,Creative Writing and Performance,, +ENGC90H3,ART_LIT_LANG,,"This course pursues the in-depth study of a small set of myths. We will explore how a myth or mythological figure is rendered in a range of literary texts ancient and modern, and examine each text as both an individual work of art and a strand that makes up the fabric of each given myth. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,"CLAC01H3, (ENGC58H3), (ENGC60H3), (ENGC61H3)",Topics in Classical Myth and Literature,, +ENGC91H3,ART_LIT_LANG,,"An exploration of late nineteenth- and early twentieth-century American realism and naturalism in literary and visual culture. This course will explore the work of writers such as Henry James, William Dean Howells, Edith Wharton, Charles Chesnutt, Stephen Crane, Frank Norris, Kate Chopin, and Theodore Dreiser alongside early motion pictures, photographs, and other images from the period.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,American Realisms,, +ENGD02Y3,ART_LIT_LANG,Partnership-Based Experience,"This course explores the theories and practices of teaching academic writing, mostly in middle and secondary school contexts as well as university writing instruction and/or tutoring in writing. Through its 60-hour service-learning component, the course also provides student educators with the practical opportunities for the planning and delivering of these instruction techniques in different teaching contexts.",,Any 5.0 credits and ENGA01H3 and ENGA02H3,,"Teaching Academic Writing: Theories, Methods and Service Learning",, +ENGD03H3,,,"A study of selected topics in recent literary theory. Emphasis may be placed on the oeuvre of a particular theorist or on the impact of a given theoretical movement; in either case, the relation of theory to literary critical practice will be considered , as will the claims made by theory across a range of aesthetic and political discourses and in response to real world demands. Recommended for students planning to pursue graduate study in English literature.",ENGC15H3,1.0 credit at C-level in ENG or FLM courses,,Topics in Contemporary Literary Theory,, +ENGD05H3,ART_LIT_LANG,,"In this course we consider the possibilities opened up by literature for thinking about the historical and ongoing relations between Indigenous and non-Indigenous people on the northern part of Turtle Island (the Iroquois, Anishinabek and Lenape name for North America). How does literature written by both diasporic and Indigenous writers call upon readers to act, identify, empathize and become responsible to history, to relating, and to what effect? Students will have the opportunity to consider how literature can help address histories of colonial violence by helping us to think differently about questions about land, justice, memory, community, the environment, and the future of living together, in greater balance, on Turtle Island.",ENGB06H3 and [ENGB01H3 or (ENGC01H3)],1.0 credit at the C-level in ENG courses,(ENGB71H3),Diasporic-Indigenous Relations on Turtle Island,, +ENGD07H3,ART_LIT_LANG,,"The study of a poet or poets writing in English after 1950. Topics may include the use and abuse of tradition, the art and politics of form, the transformations of an oeuvre, and the relationship of poetry to the individual person and to the culture at large.",,1.0 credit at C-level in ENG or FLM courses,,Studies in Postmodern Poetry,, +ENGD08H3,ART_LIT_LANG,,"This advanced seminar will provide intensive study of a selected topic in African literature written in English; for example, a single national literature, one or more authors, or a literary movement.",,[1.0 credit at C-level in ENG or FLM courses] or [AFSA01H3 and [ENGB22H3 or (ENGC72H3)]],,Topics in African Literature,, +ENGD12H3,,,"A detailed study of some aspect or aspects of life-writing. Topics may include life-writing and fiction, theory, criticism, self, and/or gender. Can count as a pre-1900 course depending on the topic.",,1.0 credit at C-level in ENG or FLM courses,,Topics in Life Writing,, +ENGD13H3,ART_LIT_LANG,,"An intensive study of rhetoric, genre, meaning, and form in rap lyrics. The three-decade-plus recorded history of this popular poetry will be discussed in rough chronological order. Aspects of African-American poetics, as well as folk and popular song, germane to the development of rap will be considered, as will narrative and vernacular strategies in lyric more generally; poetry's role in responding to personal need and to social reality will also prove relevant.",,1.0 credit at the C- level in ENG courses,"(ENGC73H3), (ENGD63H3)",Rap Poetics,, +ENGD14H3,,,"An advanced inquiry into critical questions relating to the development of sixteenth- and seventeenth-century English literature and culture. Focus may include the intensive study of an author, genre, or body of work. Pre-1900 course",ENGC10H3 or ENGC32H3 or ENGC33H3 or ENGC34H3 or ENGC35H3,1.0 credit at the C-level in ENG courses,,Topics in Early Modern English Literature and Culture,, +ENGD18H3,,,"Topics in the literature and culture of the long eighteenth century. Topics vary from year to year and might include a study of one or more authors, or the study of a specific literary or theatrical phenomenon. Pre-1900 course",ENGC37H3 or ENGC38H3 or ENGC39H3,1.0 credit at C-level in ENG or FLM courses,,"Topics in the Long Eighteenth Century, 1660-1830",, +ENGD19H3,ART_LIT_LANG,,An in-depth study of sixteenth- and seventeenth-century literature together with intensive study of the theoretical and critical perspectives that have transformed our understanding of this literature. Pre-1900 course,ENGC10H3 or ENGC32H3 or ENGC33H3 or ENGC34H3 or ENGC35H3,1.0 credit at the C-level in ENG courses,,Theoretical Approaches to Early Modern English Literature and Culture,, +ENGD22H3,ART_LIT_LANG,,"This multi-genre creative writing course, designed around a specific theme or topic, will encourage interdisciplinary practice, experiential adventuring, and rigorous theoretical reflection through readings, exercises, field trips, projects, etc.",,[0.5 credit at the B-level in Creative Writing] and [0.5 credit at the C-level in Creative Writing],,Special Topics in Creative Writing II,, +ENGD26Y3,,,Advanced study of the writing of poetry for students who have excelled at the introductory and intermediate levels. Admission by portfolio. The portfolio should contain 15-25 pages of your best poetry and a 500-word description of your project. Please email your portfolio to creative- writing@utsc.utoronto.ca by the last Friday of April (for Independent Studies beginning in either the Fall or Winter semesters).,,ENGB60H3 and ENGC86H3 and [additional 0.5 credit at the C-level in Creative Writing] and permission of the instructor.,,Independent Studies in Creative Writing: Poetry,,Students may normally count no more than 1.0 full credit of D-level independent study towards an English program. +ENGD27Y3,,,Advanced study of the writing of fiction or creative nonfiction for students who have excelled at the introductory and intermediate levels. Admission by portfolio. The portfolio should contain 30-40 pages of your best fiction or creative nonfiction and a 500-word description of your project. Please email your portfolio to creative-writing@utsc.utoronto.ca by the last Friday of April (for Independent Studies beginning in either the Fall or Winter semesters).,,[ENGB61H3 or ENGB63H3] and [ENGC87H3 or ENGC88H3] and [additional 0.5 credit at the C-level in Creative Writing] and permission of the instructor,(ENGD27H3),Independent Studies in Creative Writing: Prose,,Students may normally count no more than 1.0 full credit of D-level independent study towards an English program. +ENGD28Y3,,,"Advanced study of the writing of a non poetry/prose genre (for example, screenwriting, comics, etc.), or a multi- genre/multi-media project, for students who have excelled at the introductory and intermediate levels. Admission by portfolio. The portfolio should contain 20-30 pages of your best work composed in your genre of choice and a 500-word description of your project. Please email your portfolio to creative-writing@utsc.utoronto.ca by the last Friday of April (for Independent Studies beginning in either the Fall or Winter semesters).",,[[ENGB60H3 and ENGC86H3] or [ENGB61H3 and ENGC87H3]] and [additional 0.5 credit at the C-level in Creative Writing] and permission of the instructor.,(ENGD28H3),Independent Studies in Creative Writing: Open Genre,,Students may normally count no more than 1.0 full credit of D-level independent study towards an English program. +ENGD29H3,ART_LIT_LANG,,"Advanced study of Chaucer’s early writings, from The Book of the Duchess to Troilus and Criseyde. Consisting of dream visions, fantastic journeys, and historical fictions, these works all push beyond the boundaries of everyday experience, depicting everything from the lifestyles of ancient Trojans to a flight through the stars. This course will explore the forms and literary genres that Chaucer uses to mediate between the everyday and the extraordinary. We will also consider related problems in literary theory and criticism, considering how scholars bridge the gap between our own time and the medieval past. Texts will be read in Middle English. Pre-1900 course.",ENGC29H3 or ENGC30H3 or ENGC40H3,1.0 credit at the C-level in ENG courses,,Chaucer's Early Works,, +ENGD30H3,,,Topics in the literature and culture of the medieval period. Topics vary from year to year and might include a study of one or more authors. Pre-1900 course,ENGC29H3 or ENGC30H3,1.0 credit at C-level in ENG or FLM courses,,Topics in Medieval Literature,, +ENGD31H3,ART_LIT_LANG,,"Medieval authors answer the question “what happens after we die?” in great detail. This course explores medieval representations of heaven, hell, and the afterlife. Texts under discussion will include: Dante’s Inferno, with its creative punishments; the Book of Muhammad’s Ladder, an adaptation of Islamic tradition for Christian readers; the otherworldly visions of female mystics such as Julian of Norwich; and Pearl, the story of a father who meets his daughter in heaven and immediately starts bickering with her. Throughout we will consider the political, spiritual, and creative significance of writing about the afterlife. Pre-1900 course.",ENGC29H3 or ENGC30H3 or ENGC31H3 or ENGC40H3,1.0 credit at the C-level in ENG courses,,Medieval Afterlives,, +ENGD42H3,ART_LIT_LANG,,Advanced study of a selected Modernist writer or small group of writers. The course will pursue the development of a single author's work over the course of his or her entire career or it may focus on a small group of thematically or historically related writers.,,1.0 credit at C-level in ENG or FLM courses,,Studies in Major Modernist Writers,, +ENGD43H3,,,"Topics in the literature and culture of the Romantic movement. Topics vary from year to year and may include Romantic nationalism, the Romantic novel, the British 1790s, or American or Canadian Romanticism. Pre-1900 course",ENGC42H3,1.0 credit at C-level in ENG or FLM courses,,"Topics in Romanticism, 1750- 1850",, +ENGD48H3,ART_LIT_LANG,,Advanced study of a selected Victorian writer or small group of writers. The course will pursue the development of a single author's work over the course of his or her entire career or it may focus on a small group of thematically or historically related writers. Pre-1900 course,,1.0 credit at the C-level in ENG courses,,Studies in Major Victorian Writers,, +ENGD50H3,ART_LIT_LANG,,"This course will explore the portrayal of the human-robot relationship in conjunction with biblical and classical myths. The topic is timely in view of the pressing and increasingly uncanny facets of non-divine, non-biological creation that attend the real-world production and marketing of social robots. While the course looks back to early literary accounts of robots in the 1960s, it concentrates on works written in or after the 1990s. The course aims to analyze how a particular narrative treatment of the robot-human relationship potentially alters our understanding of its mythical intertext and, by extension, notions of divinity, humanity, gender, animality, disability, and relations of kinship and care.",,1.0 credit at the C- level in ENG courses,,Fake Friends and Artificial Intelligence: the Human-Robot Relationship in Literature and Culture,, +ENGD53H3,ART_LIT_LANG,,"Advanced study of a genre or genres not typically categorized as “literature”, including different theoretical approaches and/or the historical development of a genre. Possible topics might include science fiction, fantasy, gothic, horror, romance, children’s or young adult fiction, or comics and graphic novels.",,1.0 credits at the C-level in ENG courses,,Studies in Popular Genres,, +ENGD54H3,ART_LIT_LANG,,"An in-depth examination of a theme or topic though literary texts, films, and/or popular culture. This seminar course will be organized around a particular topic and will include texts from a variety of traditions. Topics might include, for example, “Disability and Narrative” or “Technology in Literature and Popular Culture.”",,1.0 credit at C-level in ENG or FLM courses,,Comparative Approaches to Literature and Culture,, +ENGD55H3,ART_LIT_LANG,,"This advanced seminar will focus on a selected writer or a small group of writers whose literary work engages with themes of politics, revolution and/or resistance. The course will pursue the development of a single author's work over their entire career, or the development of a small group of thematically or historically related writers, and may include film and other media. Topics will vary year to year.",,1.0 credit at C-level in ENG or FLM courses,,"Literature, Politics, Revolution",, +ENGD57H3,,,Advanced study of a selected Canadian writer or small group of writers. The course will pursue the development of a single author's work over the course of his or her entire career or it may focus on a small group of thematically or historically related writers.,ENGB06H3 or ENGB07H3,1.0 credit at C-level in ENG or FLM courses,"(ENGD51H3), (ENGD88H3)",Studies in Major Canadian Writers,, +ENGD58H3,,,"Topics in the literature and culture of Canada. Topics vary from year to year and may include advanced study of ethics, haunting, madness, or myth; or a particular city or region.",ENGB06H3 or ENGB07H3,1.0 credit at C-level in ENG or FLM courses,"(ENGD51H3), (ENGD88H3)",Topics in Canadian Literature,, +ENGD59H3,,,"This seminar will usually provide advanced intensive study of a selected American poet each term, following the development of the author's work over the course of his or her entire career. It may also focus on a small group of thematically or historically related poets.",ENGB08H3,1.0 credit at C-level in ENG or FLM courses,,Topics in American Poetry,, +ENGD60H3,,,"This seminar course will usually provide advanced intensive study of a selected American prose-writer each term, following the development of the author's work over the course of his or her entire career. It may also focus on a small group of thematically or historically related prose-writers.",ENGB09H3,1.0 credit at C-level in ENG or FLM courses,,Topics in American Prose,, +ENGD68H3,,,"Topics might explore the representation of religion in literature, the way religious beliefs might inform the production of literature and literary values, or literature written by members of a particular religious group.",,1.0 credit at C-level in ENG or FLM courses,,Topics in Literature and Religion,, +ENGD71H3,ART_LIT_LANG,,"A study of Arab North-American writers from the twentieth century to the present. Surveying one hundred years of Arab North-American literature, this course will examine issues of gender, identity, assimilation, and diaspora in poetry, novels, short stories, autobiographies and nonfiction.",,1.0 credit at C-level in ENG or FLM courses,,Studies in Arab North- American Literature,, +ENGD80H3,ART_LIT_LANG,,"A study of the remarkable contribution of women writers to the development of Canadian writing. Drawing from a variety of authors and genres (including novels, essays, poems, autobiographies, biographies, plays, and travel writing), this course will look at topics in women and Canadian literature in the context of theoretical questions about women's writing.",ENGB06H3 or ENGB07H3,1.0 credit at C-level in ENG or FLM courses,,Women and Canadian Writing,, +ENGD84H3,ART_LIT_LANG,,"An analysis of features of Canadian writing at the end of the twentieth and the beginning of the twenty-first century. This course will consider such topics as changing themes and sensibilities, canonical challenges, and millennial and apocalyptic themes associated with the end of the twentieth century.",ENGB06H3 or ENGB07H3,1.0 credit at the C-level in ENG courses.,,Canadian Writing in the 21st Century,, +ENGD89H3,,,Topics vary from year to year and might include Victorian children's literature; city and country in Victorian literature; science and nature in Victorian writing; aestheticism and decadence; or steampunk. Pre-1900 course,,1.0 credit at the C-level in ENG courses,ENG443Y,Topics in the Victorian Period,, +ENGD90H3,ART_LIT_LANG,,"Feminist scholar, Gloria Anzaldua writes in Borderlands/La Frontera, “I cannot separate my writing from any part of my life. It is all one.” In this class, students will engage with a genre-expansive survey of non-linear and experimental forms of life writing in which lived experience inspires and cultivates form. Some of these genres include flash fiction, auto-theory, auto-fiction, book length essays, ekphrasis, anti-memoir, performance texts, and many others. This course is rooted in intersectional feminist philosophy as a foundational tool for interdisciplinary practice. Throughout the semester, we will explore theoretical approaches that center decolonial literary analysis. We will pair these readings with literature that exemplifies these approaches. In this class, “the personal is political” is the fertile center for our rigorous process of writing and craft excavation.",,[0.5 credit at the B-level in Creative Writing] and [0.5 credit at the C-level in Creative Writing],,Creative Writing: Genre Bending and Other Methods of Breaking Form,, +ENGD94H3,ART_LIT_LANG,,"The study of films from major movements in the documentary tradition, including ethnography, cinema vérité, social documentary, the video diary, and ""reality television"". The course will examine the tensions between reality and representation, art and politics, technology and narrative, film and audience.",Additional 0.5 credit at the B- or C-level in FLM courses,1.0 credit at C-level in ENG or FLM courses,INI325Y,Stranger Than Fiction: The Documentary Film,, +ENGD95H3,ART_LIT_LANG,,"A practical introduction to the tools, skills and knowledge- base required to publish in the digital age and to sustain a professional creative writing career. Topics include: the publishing landscape, pitching creative work, and employment avenues for creative writers. Will also include a workshop component (open to all genres).",,1.0 credit at the C-level in Creative Writing courses,,Creative Writing as a Profession,, +ENGD98Y3,,,"An intensive year-long seminar that supports students in the development of a major independent scholarly project. Drawing on workshops and peer review, bi-monthly seminar meetings will introduce students to advanced research methodologies in English and will provide an important framework for students as they develop their individual senior essays. Depending on the subject area of the senior essay, this course can be counted towards the Pre-1900 requirement.",0.5 credit at the D-level in ENG or FLM courses,"Minimum GPA of 3.5 in English courses; 15.0 credits, of which at least 2.0 must be at the C-or D-level in ENG or FLM courses.",ENG490Y,Senior Essay and Capstone Seminar,, +ESTB01H3,SOCIAL_SCI,,"This course introduces the Environmental Studies major and the interdisciplinary study of the environment through a team- teaching format. Students will explore both physical and social science perspectives on the environment, sustainability, environmental problems and their solutions. Emphasis will be on critical thinking, problem solving, and experiential learning.",,,,Introduction to Environmental Studies,, +ESTB02H3,,,"Introduces students to the geography of Indigenous-Crown- Land relations in Canada. Beginning with pre-European contact and the historic Nation-to-Nation relationship, the course will survey major research inquiries from the Royal Commission on Aboriginal Peoples to Missing and Murdered Indigenous Women and Girls. Students will learn how ongoing land and treaty violations impact Indigenous peoples, settler society, and the land in Canada. Same as GGRB18H3",,"4.0 credits, including at least 0.5 credit in ANT, CIT, EST, GGR, HLT, IDS, POL or SOC",GGRB18H3,Whose Land? Indigenous- Canada-Land Relations,, +ESTB03H3,SOCIAL_SCI,,"In this course students will learn about sustainability thinking, its key concepts, historical development and applications to current environmental challenges. More specifically, students will gain a better understanding of the complexity of values, knowledge, and problem framings that sustainability practice engages with through a focused interdisciplinary study of land. This is a required course for the Certificate in Sustainability, a certificate available to any student at UTSC. Same as VPHB69H3.",,,VPHB69H3,Back to the Land: Restoring Embodied and Affective Ways of Knowing,, +ESTB04H3,SOCIAL_SCI,,"Addressing the climate crisis is a profound challenge for society. This course explores climate change and what people are doing about it. This course emphasizes the human dimensions of the climate crisis. It introduces students to potential solutions, ethical and justice considerations, climate change policies and politics, and barriers standing in the way of effective action. With an emphasis on potential solutions, students will learn how society can eliminate greenhouse gas emissions through potential climate change mitigation actions and about adaptation actions that can help reduce the impacts of climate change on humans. This course is intended for students from all backgrounds interested in understanding the human dimensions of the climate crisis and developing their ability to explain potential solutions.",,Any 4.0 credits,GGR314H1,Addressing the Climate Crisis,, +ESTB05H3,NAT_SCI,University-Based Experience,"This course provides a conceptual and qualitative overview of climate science and a discussion of climate science misinformation. The course is intended to be accessible to arts and humanities students seeking to better understand and gain fluency in the physical science basis of climate change. Major topics will include the Earth’s climate system, reconstruction of past climates, factors that impact the Earth’s climate, climate measurements and models, and future climate change scenarios.",,Any 4.0 credits,"GGR314H1, GGR377H5",Climate Science for Everyone,,Priority enrollment for students in the Environmental Studies Major Program in Climate Change (Arts) +ESTC34H3,NAT_SCI,,"This course is intended for students who would like to apply theoretical principles of environmental sustainability learned in other courses to real world problems. Students will identify a problem of interest related either to campus sustainability, a local NGO, or municipal, provincial, or federal government. Class meetings will consist of group discussions investigating key issues, potential solutions, and logistical matters to be considered for the implementation of proposed solutions. Students who choose campus issues will also have the potential to actually implement their solutions. Grades will be based on participation in class discussions, as well as a final report and presentation. Same as EESC34H3",,Any 9.5 credits,EESC34H3,Sustainability in Practice,, +ESTC35H3,SOCIAL_SCI,,"In this course students will engage critically, practically and creatively with environmental controversies and urgent environmental issues from the standpoint of the sociology of science and technology (STS). This course will contribute to a better understanding of the social and political construction of environmental science and technology.",,ESTB01H3,,Environmental Science and Technology in Society,,Priority will be given to students enrolled in the Environmental Studies Program. Additional students will be admitted as space permits. +ESTC36H3,SOCIAL_SCI,,"Most environmental issues have many sides including scientific, social, cultural, ethical, political, and economic. Current national, regional and local problems will be discussed in class to help students critically analyze the roots of the problems and possible approaches to decision-making in a context of pluralism and complexity.",,ESTB01H3,,"Knowledge, Ethics and Environmental Decision-Making",,Priority will be given to students enrolled in the Environmental Studies Program. Additional students will be admitted as space permits. +ESTC37H3,SOCIAL_SCI,,"This course will address energy systems and policy, focusing on opportunities and constraints for sustainable energy transitions. The course introduces energy systems, including how energy is used in society, decarbonization pathways for energy, and the social and political challenges of transitioning to zero carbon and resilient energy systems. Drawing on real- world case studies, students will learn about energy sources, end uses, technologies, institutions, politics, policy tools and the social and ecological impacts of energy. Students will learn integrated and interdisciplinary approaches to energy systems analysis and gain skills in imagining and planning sustainable energy futures.",,10.0 credits including ESTB04H3,ENV350H1,Energy and Sustainability,, +ESTC38H3,NAT_SCI,,"“The Anthropocene” is a term that now frames wide-ranging scientific and cultural debates and research, surrounding how humans have fundamentally altered Earth’s biotic and abiotic environment. This course explores the scientific basis of the Anthropocene, with a focus on how anthropogenic alterations to Earth’s atmosphere, biosphere, cryosphere, lithosphere, and hydrosphere, have shifted Earth into a novel geological epoch. Students in this course will also discuss and debate how accepting the Anthropocene hypothesis, entails a fundamental shift in how humans view and manage the natural world. Same as EESC38H3",,"ESTB01H3 and [1.0 credit from the following: EESB03H3, EESB04H3 and EESB05H3]",EESC38H3,The Anthropocene,, +ESTC40H3,NAT_SCI,,"Addressing the climate crisis requires designing and implementing effective climate change mitigation targets, strategies, policies and actions to eliminate human-caused greenhouse gas emissions. In this course, students will learn the various technical methods required in climate change mitigation. Students will explore the opportunities, barriers, and tools that exist to implement effective climate change mitigation in the energy, industry, waste, and agriculture, forestry and land-use sectors. The emphasis of the course is on the technical methods that climate change mitigation experts require.",,10.0 credits including ESTB04H3,,Technical Methods for Climate Change Mitigation,, +ESTD16H3,NAT_SCI,University-Based Experience,"Students will select a research problem in an area of special interest. Supervision will be provided by a faculty member with active research in geography, ecology, natural resource management, environmental biology, or geosciences as represented within the departments. Project implementation, project monitoring and evaluation will form the core elements for this course. Same as EESD16H3",,At least 14.5 credits,EESD16H3,Project Management in Environmental Studies,, +ESTD17Y3,NAT_SCI,University-Based Experience,"This course is designed to provide a strong interdisciplinary focus on specific environmental problems including the socioeconomic context in which environmental issues are resolved. The cohort capstone course is in 2 consecutive semesters, providing final year students the opportunity to work in a team, as environmental researchers and consultants, combining knowledge and skill-sets acquired in earlier courses. Group research to local environmental problems and exposure to critical environmental policy issues will be the focal point of the course. Students will attend preliminary meetings schedules in the Fall semester. Same as EESD17Y3",,At least 14.5 credits,EESD17Y3,Cohort Capstone Course in Environmental Studies,, +ESTD18H3,NAT_SCI,,"This course will be organized around the DPES seminar series, presenting guest lecturers around interdisciplinary environmental themes. Students will analyze major environmental themes and prepare presentations for in-class debate. Same as EESD18H3",,At least 14.5 credits,EESD18H3,Environmental Studies Seminar Series,, +ESTD19H3,NAT_SCI,,"A practical introduction to the concept of 'risk' as utilized in environmental decision-making. Students are introduced to risk analysis and assessment procedures as applied in business, government, and civil society. Three modules take students from relatively simple determinations of risk (e.g., infrastructure flooding) towards more complex, real-world, inclusive considerations (e.g., ecosystem impacts of climate change).",,14.5 credits and STAB22H3 (or equivalent),,Risk,, +ESTD20H3,SOCIAL_SCI,,"Climate change affects all sectors of society, natural ecosystems, and future generations. Addressing climate change, either in terms of mitigation or adaptation, is complex due to its pervasive scope, the heterogeneity of its impacts and the uneven distribution of responsibilities, resources and capacities to respond to it between different levels of government, stakeholder groups, and rightholder groups. This course focuses on nexus approaches in climate policy development and assessment across different public policy domains. In this course, students will learn about how different levels of government frame climate change and climate policy objectives, how they interact with stakeholders (e.g., economic interests and environmental groups) and rightholders (Indigenous people), and how to approach complexity in climate governance.",,14.0 credits including ESTB04H3,,Integrated Natural Resource and Climate Change Governance,, +FLMA70H3,ART_LIT_LANG,,"An introduction to the critical study of cinema, including films from a broad range of genres, countries, and eras, as well as readings representing the major critical approaches to cinema that have developed over the past century.",,,"INI115Y, (ENGB70H3)",How to Read a Film,, +FLMB71H3,ART_LIT_LANG,,"In this course, students will learn to write critically about movies. We will watch movies and read film criticism, learning to write about film for various audiences and purposes. Forms of writing covered will include movie reviews, blogs, analytical essays, and research-based essays. This is a writing-intensive course that will include revision and peer review. Students will learn how to write academic essays about movies, while also learning about the goals and tools for writing about film for other audiences and venues.",FLMA70H3/(ENGB70H3),,"CIN369H1, (ENGB71H3)",Writing About Movies,, +FLMB75H3,ART_LIT_LANG,,"An investigation of film genres such as melodrama, film noir, and the western from 1895 to the present alongside examples of twentieth-century prose and poetry. We will look at the creation of an ideological space and of new mythologies that helped organize the experience of modern life.",,,(ENGB75H3),Cinema and Modernity,, +FLMB77H3,,,"An introduction to cinema’s relationship to colonialism, decolonization, and postcolonialism. How has film constructed, perpetuated, and challenged colonial logic? We will explore this question by examining colonial cinema, ethnography, Hollywood genres, anti-colonial film, and postcolonial film practices.",FLMA70H3/(ENGB70H3),,"HISC08H3, VCC306H5, (ENGB77H3)",Cinema and Colonialism,,Priority will be given to students enrolled in programs from the Department of English. +FLMB80H3,ART_LIT_LANG,,"This course examines representations of race in cinema, focusing on methods for analyzing the role of race in the politics and aesthetics of various cinematic modes. Topics may include: ideology, stereotypes, representation, dominant and counter-cinemas, cultural hegemony, and popular culture. Contemporary and classic films will be studied through the lens of race and representation.",,,CIN332Y,"Cinema, Race, and Representation",, +FLMC44H3,ART_LIT_LANG,,"A study of the relation between self and other in narrative fiction. This course will examine three approaches to the self- other relation: the moral relation, the epistemological relation, and the functional relation. Examples will be chosen to reflect engagements with gendered others, with historical others, with generational others, and with cultural and national others.",[ENGA01H3 and ENGA02H3] or FLMA70H3/(ENGB70H3),Any 6.0 credits,(ENGC44H3),Self and Other in Literature and Film,, +FLMC56H3,ART_LIT_LANG,,"An exploration of the relationship between written literature and film and television. What happens when literature influences film and vice versa, and when literary works are recast as visual media (including the effects of rewriting, reproduction, adaptation, serialization and sequelization)?",[ENGA01H3 and ENGA02H3] or FLMA70H3/(ENGB70H3),Any 6.0 credits,(ENGC56H3),Literature and Media: From Page to Screen,, +FLMC75H3,ART_LIT_LANG,,"This course will look at the depiction of childhood and youth in contemporary film and television, especially focusing on films that feature exceptional, difficult, or magical children. The course will explore how popular culture represents children and teens, and how these films reflect cultural anxieties about parenting, childhood, technology, reproduction, disability and generational change. Films and television shows may include: Mommy, The Babadook, Boyhood, Girlhood, A Quiet Place, We Need to Talk About Kevin, The Shining, Looper, Elephant, Ready Player One, Stranger Things, Chappie, Take Shelter, and Moonlight.",ENGA01H3 and ENGA02H3,Any 6.0 credits,(ENGC75H3),Freaks and Geeks: Children in Contemporary Film and Media,, +FLMC78H3,ART_LIT_LANG,,"An exploration of negative utopias and post-apocalyptic worlds in film and literature. The course will draw from novels such as 1984, Brave New World, Clockwork Orange, and Oryx and Crake, and films such as Metropolis, Mad Max, Brazil, and The Matrix. Why do we find stories about the world gone wrong so compelling?",[ENGA01H3 and ENGA02H3] or FLMA70H3/(ENGB70H3),Any 6.0 credits,(ENGC78H3),Dystopian Visions in Fiction and Film,, +FLMC81H3,,,"This is a course on the nation as a framework for film analysis. The topic will be the cinema of a single nation, or a comparison of two or more national cinemas, explored from several perspectives: social, political, and aesthetic. The course will look at how national cinema is shaped by and in turn shapes the cultural heritage of a nation. The course will also consider how changing definitions of national cinema in Film Studies have shaped how we understand film history and global film culture.",FLMB71H3/(ENGB71H3) or FLMB77H3/(ENGB77H3) or FLMB80H3/(ENGB80H3),FLMA70H3 or (ENGB70H3),,Topics in National Cinemas,,"Priority for students enrolled in programs in the Department of English, including the Literature and Film Minor and the Film Studies Major." +FLMC82H3,ART_LIT_LANG,,"A variable theme course that will feature different theoretical approaches to Cinema: feminist, Marxist, psychoanalytic, postcolonial, and semiotic. Thematic clusters include ""Madness in Cinema,"" and ""Films on Films.""",[ENGA01H3 and ENGA02H3] or FLMA70H3/(ENGB70H3),Any 6.0 credits,(ENGC82H3),Topics in Cinema Studies,, +FLMC83H3,ART_LIT_LANG,,"A study of Non-Western films. This course analyzes a selection of African, Asian, and Middle Eastern films both on their own terms and against the backdrop of issues of colonialism and globalization.",[ENGA01H3 and ENGA02H3] or FLMA70H3/(ENGB70H3),"Any 6.0 credits or [SOCB58H3, and an additional 4.0 credits, and enrolment in the Minor in Culture, Creativity, and Cities]",(ENGC83H3),World Cinema,, +FLMC84H3,ART_LIT_LANG,,"This course introduces students to cinema by, and about, immigrants, refugees, migrants, and exiles. Using a comparative world cinema approach, the course explores how the aesthetics and politics of the cinema of migration challenge theories of regional, transnational, diasporic, and global cinemas.",ENGA01H3 and ENGA02H3,Any 6.0 credits,(ENGC84H3),Cinema and Migration,, +FLMC92H3,ART_LIT_LANG,,"An introduction to the major theorists and schools of thought in the history of film theory, from the early 20th century to our contemporary moment. What is our relationship to the screen? How do movies affect our self-image? How can we think about the power and politics of the moving image? We will think about these questions and others by watching movies in conjunction with theoretical texts touching on the major approaches to film theory over the last century.",ENGA01H3 and ENGA02H3 and 0.5 credit in FLM courses,Any 6.0 credits,"CIN301Y, (ENGC92H3)",Film Theory,, +FLMC93H3,,,"This course is a study of gender and sexuality in cinema. What happens when we watch bodies on screen? Can cinema change the way we understand gender and sexuality? We explore these questions in relation to topics including feminist film theory, LGBTQ2S+ film cultures, women’s cinema, and queer theory.",,FLMA70H3 or (ENGB70H3),"CIN336H1, CIN330Y1, (ENGC93H3)",Gender and Sexuality at the Movies,, +FLMC94H3,ART_LIT_LANG,,"A study of select women filmmakers and the question of women's film authorship. Emphasis may be placed on the filmography of a specific director, or on film movements in which women filmmakers have made major contributions. Aspects of feminist film theory, critical theory, and world cinema will be considered, as well as the historical context of women in film more generally.",FLMA70H3/(ENGB70H3),Any 6.0 credits,"CIN330Y1, (ENGC94H3)",Women Directors,,Priority will be given to students enrolled in programs from the Department of English. +FLMC95H3,ART_LIT_LANG,,"This course will introduce students to various film cultures in India, with a focus on Bollywood, the world's largest producer of films. The readings will provide an overview of a diverse range of film production and consumption practices in South Asia, from popular Hindi films to 'regional' films in other languages. This is an introductory course where certain key readings and films will be selected with the aim of helping students develop their critical writing skills. These course materials will help students explore issues of aesthetics, politics and reception across diverse mainstream, regional and art cinema in the Indian subcontinent.",ENGA10H3 and ENGA11H3 and ENGB19H3 and FLMA70H3/(ENGB70H3) and FLMB77H3/(ENGB77H3),Any 6.0 credits,(ENGC95H3),"Indian Cinemas: Bollywood, Before and Beyond",, +FLMD52H3,ART_LIT_LANG,,"An exploration of the genesis of auteur theory. By focusing on a particular director such as Jane Campion, Kubrick, John Ford, Cronenberg, Chaplin, Egoyan, Bergman, Godard, Kurosawa, Sembene, or Bertolucci, we will trace the extent to which a director's vision can be traced through their body of work.",,1.0 credit at C-level in ENG or FLM courses,"INI374H, INI375H, (ENGD52H3)",Cinema: The Auteur Theory,, +FLMD62H3,,,"An exploration of multicultural perspectives on issues of power, perception, and identity as revealed in representations of imperialism and colonialism from the early twentieth century to the present.",,1.0 credit at C-level in ENG or FLM courses,(ENGD62H3),Topics in Postcolonial Literature and Film,, +FLMD91H3,ART_LIT_LANG,,"An exploration of Avant-Garde cinema from the earliest experiments of German Expressionism and Surrealism to our own time. The emphasis will be on cinema as an art form aware of its own uniqueness, and determined to discover new ways to exploit the full potential of the ""cinematic"".",,1.0 credit at C-level in ENG or FLM courses,"INI322Y, (ENGD91H3)",Avant-Garde Cinema,, +FLMD93H3,ART_LIT_LANG,,Advanced study of theories and critical questions that inform current directions in cinema studies.,Additional 0.5 credit at the B- or C-level in FLM courses,1.0 credit at C-level in ENG or FLM courses,"INI214Y, (ENGD93H3)",Theoretical Approaches to Cinema,, +FLMD96H3,ART_LIT_LANG,,"This course examines the development of Iranian cinema, particularly experimental and art cinema. Questions of form, and the political and social dimensions of cinema, will be considered alongside the theory of national cinemas. The course places Iranian cinema in a global context by considering it with other national cinemas.",,0.5 credit at the B- or C-level in FLM courses,(ENGD96H3),Iranian Cinema,,Priority will be given to students enrolled in the Minor Program in Film Studies. +FREA01H3,ART_LIT_LANG,,"This course is designed to consolidate the language skills necessary for higher-level French courses through an action- oriented approach to language teaching and learning. Students will improve their communicative language competencies (listening, reading, speaking and writing) by engaging in task-based activities in real-world, contextual situations. By the end of FREA01H3 and FREA02H3, students will have completed the level A2 of the Common European Framework of Reference.",,Grade 12 French or FREA91Y3 or FREA99H3 or equivalent,"Native or near-native fluency in French, (FSL161Y), (FSL181Y), FSL221Y, FSL220H1",Language Practice I,,FREA01H3 is a prerequisite for all B-level French courses. +FREA02H3,ART_LIT_LANG,,"A continuation of FREA01H3. Students will continue to improve their communicative language competencies (listening, reading, speaking and writing) by engaging in task- based activities in real-world, contextual situations. By the end of FREA01H3 and FREA02H3, students will have completed the level A2 of the Common European Framework of Reference.",,FREA01H3,"Native or near-native fluency in French; (FREA10Y3), (FSL161Y), (FSL181Y), FSL221Y, FSL22H1",Language Practice II,,FREA02H3 is a prerequisite for all B-level French courses. +FREA90Y3,ART_LIT_LANG,,"This course is for students with no prior knowledge of French. Based on a communicative approach, it will help students learn French vocabulary, understand grammatical structures and concepts, and gain oral and written communication skills. Students will develop their listening, speaking, reading and writing skills through a variety of contextually specific activities. Class periods will include explanations of grammatical concepts, as well as communicative and interactive exercises. In addition to preparation at home, regular class attendance is paramount for student success.",,,"(LGGA21H3), (LGGA22H3), (LGGB23H3), (LGGB24H3), FREA96H3, FREA97H3, [FSL100H1 or equivalent], or any prior knowledge of French",Intensive Introductory French,,"1. This course does not satisfy any French program requirements. It is a 6 week, 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. Students will be expected to attend up to 12 hours of class per week. 2. Priority will be given to students in the Specialist Co-op program in Management and International Business (MIB), Specialist/Specialist Co-op and Major/Major Co-op programs in Linguistics, and Specialist Co-op programs in International Development Studies (both BA and BSc)." +FREA91Y3,ART_LIT_LANG,,"This course is for students who have studied some French in high school or who have some prior knowledge of French, and who wish to bring their proficiency up to the level required for UTSC French programs. Students will continue to improve their listening, speaking, reading and writing skills through a variety of contextually specific activities. Class periods will include explanations of grammatical concepts, as well as communicative and interactive exercises. In addition to preparation at home, regular class attendance is paramount in order to succeed in the class.",,FREA90Y3 or FREA97H3,"FREA98H3, FREA99H3, [LGGB23H3 or equivalent], or FSL121Y1",Intensive Intermediate French,,"1.This course does not satisfy any French program requirements. Students who complete this course may continue into FREA01H3. This is a 6 week, 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. Students will be expected to attend up to 12 hours of class per week. 2. Priority will be given to students in the Specialist program in Management and International Business (MIB), Specialist/Specialist Co-op and Major/Major Co-op programs in Linguistics, and Specialist Co-op programs in International Development Studies (both BA and BSc)." +FREA96H3,ART_LIT_LANG,,"An intensive basic course in written and spoken French; comprehension, speaking, reading and writing. This intensive, practical course is designed for students who have no previous knowledge of French.",,,"(LGGA21H3), (LGGA22H3), (LGGB23H3), (LGGB24H3), FSL100H or equivalent",Introductory French I,,This course does not satisfy any French program requirements. +FREA97H3,ART_LIT_LANG,,"An intensive course in written and spoken French; a continuation of FREA96H3. This course is designed for students who have some knowledge of French. It continues the basic, comprehensive training in both written and oral French begun in FREA96H3, using the second half of the same textbook. Notes: This course does not satisfy any French program requirements.",,FREA96H3 or (LGGA21H3),"(LGGA22H3), FSL102H or equivalent.",Introductory French II,, +FREA98H3,ART_LIT_LANG,,"Intended for students who have studied some French in high school or have some knowledge of French. Offers a review of all basic grammar concepts and training in written and spoken French. Reinforces reading comprehension, written skills and oral/aural competence. Notes: This course does not satisfy any French program requirements.",,FREA97H3 or (LGGA22H3),"FSL121Y, (LGGB23H3) or equivalent",Intermediate French I,, +FREA99H3,ART_LIT_LANG,,"Intended for students who have some knowledge of French and who wish to bring their proficiency up to the level of normal University entrance; a continuation of FREA98H3; prepares students for FREA01H3. Offers training in written and spoken French, reinforcing reading comprehension, written skills and oral/aural competence. Notes: This course does not satisfy any French program requirements.",,"FREA98H3, (LGGB23H3) or equivalent.","Grade 12 French, (LGGB24H3), FSL121Y or equivalent. Cannot be taken concurrently or after FREA01H3.",Intermediate French II,, +FREB01H3,ART_LIT_LANG,,"This course is designed to reinforce and develop fluency, accuracy of expression and style through an action-oriented approach to language teaching and learning. Students will improve their communicative language competencies (listening, reading, speaking and writing) by engaging in task- based activities in real-world, contextual situations. By the end of FREB01H3 and FREB02H3, students will have completed the level B1 of the Common European Framework of Reference.",,[FREA01H3 and FREA02H3] or equivalent.,"FSL224H1, FSL225H1, (FSL261Y), (FSL281Y), FSL321Y, (FSL331Y), (FSL341Y) or equivalent or native proficiency",Language Practice III,, +FREB02H3,ART_LIT_LANG,,"A continuation of FREB01H3. Students will continue to develop their accuracy of expression and improve their fluency by engaging in activities in real-world, contextual situations. By the end of FREB01H3 and FREB02H3, students will have completed the level B1 of the Common European Framework of Reference.",,FREB01H3,"FSL320H1, (FSL261Y), (FSL281Y), FSL321Y, (FSL331Y), (FSL341Y) or equivalent or native proficiency",Language Practice IV,, +FREB08H3,ART_LIT_LANG,University-Based Experience,An introduction to translation. The course will use a wide selection of short texts dealing with a variety of topics. Grammatical and lexical problems will be examined with special attention to interference from English.,,[FREA01H3 and FREA02H3] or equivalent.,"Native proficiency. FREB08H3 may not be taken after or concurrently with FREC18H3, FRE480Y or FRE481Y.",Practical Translation I,, +FREB11H3,ART_LIT_LANG,,This course is intended for students considering a career in language teaching. It involves a series of seminars as well as preparation for observations in local schools throughout the duration of the course.,,[FREA01H3 and FREA02H3] or equivalent.,,French Language in the School System,,Students taking this course will need to have a police check completed with the police board in the jurisdiction for which they reside. Completed police checks must be submitted to the instructor during the first day of class. +FREB17H3,ART_LIT_LANG,,Designed for students who wish to improve their speaking abilities. The course examines the French sound system with the goal of improving students' pronunciation in reading and everyday speech. Theoretical concepts are put into practice via structured exercises and various dialogues involving useful colloquial expressions.,,[FREA01H3 and FREA02H3] or equivalent,"FREC01H3, FREC02H3, FRED01H3, FRED06H3; and any Francophone students",Spoken French: Conversation and Pronunciation,, +FREB18H3,ART_LIT_LANG,,"The French language in a commercial or economic context. Of interest, among others, to students in French, Business, Accounting, Management, and Economics, this course emphasizes commercial writing techniques and exercises that include the vocabulary and structures of business language.",,[FREA01H3 and FREA02H3] or equivalent.,FSL366H,Business French,, +FREB20H3,ART_LIT_LANG,University-Based Experience,"An analysis of the varied forms and contents of children's literature written in French. The course examines different texts in terms of target age, pictorial illustrations, didactic bent, socio-cultural dimensions etc., focusing on, among other things, fairy tales urban and otherwise, cartoons, detective stories, adventure tales, and art, science and history books.",,[FREA01H3 and FREA02H3] or equivalent.,FRE385H,Teaching Children's Literature in French,, +FREB22H3,HIS_PHIL_CUL,,"A study of the historical, cultural and social development of Québec society from its origins to today. Aspects such as history, literature, art, politics, education, popular culture and cinema will be examined. Emphasis will be placed on the elements of Québec culture and society that make it a distinct place in North America.",,[FREA01H3 and FREA02H3] or equivalent.,,The Society and Culture of Québec,, +FREB27H3,HIS_PHIL_CUL,,"An examination of political, social and cultural developments in France in the last hundred years. Topics will include: the impact of two World Wars; the decolonization process; the European Community; the media; the educational system; immigration etc.",,[FREA01H3 and FREA02H3] or equivalent.,,Modern France,, +FREB28H3,HIS_PHIL_CUL,,"An examination of historical, political and cultural realities in different parts of the Francophone world excluding France and Canada. Topics to be discussed will include slavery, colonization, de-colonization and multilinguism.",,[FREA01H3 and FREA02H3] or equivalent.,FSL362Y,The Francophone World,, +FREB35H3,ART_LIT_LANG,,"A study of a variety of literary texts from the French-speaking world, excluding France and Canada. Attention will be given to the cultural and historical background as well as to the close study of works from areas including the West Indies, North and West Africa.",,[FREA01H3 and FREA02H3] or equivalent.,FRE332H,Francophone Literature,, +FREB36H3,ART_LIT_LANG,,A study of some of the major novels written in Québec since 1945. The course will focus on the evolution of the novelistic form and its relevance within modern Western literature. We will also examine the link between the novels studied and the transformation of Québec society.,,FREA01H3 and FREA02H3,FRE210Y,The 20th Century Quebec Novel,, +FREB37H3,ART_LIT_LANG,,"An examination of contemporary Québec theatre. We will study texts representative of a variety of dramatic styles. The focus will be primarily on dramatic texts; significant theatrical performances, however, will also be considered.",,FREA01H3 and FREA02H3,FRE312H,Contemporary Quebec Drama,, +FREB44H3,ART_LIT_LANG,,An examination of the sound system of modern French. The course will acquaint student with acoustic phonetics and the basic concept and features of the French phonetic system. Phonological interpretation of phonetic data (from speech samples) and prosodic features such as stress and intonation will be examined.,,[FREA01H3 and FREA02H3] or equivalent.,"(FRE272Y), FRE272H, FRE274H",Introduction to Linguistics: French Phonetics and Phonology,, +FREB45H3,ART_LIT_LANG,,"An examination of the internal structure of words and sentences in French. Covered are topics including word formation, grammatical categories, syntactic structure of simple and complex clauses, and grammatical relations of subject, predicate and complement. This course complements (FREB43H3) and FREB44H3.",,FREA01H3 and FREA02H3,(FRE272Y) and FRE272H and FRE274H,Introduction to Linguistics: French Morphology and Syntax,, +FREB46H3,ART_LIT_LANG,,"An introduction to the origin and development of French, from the Latin of the Gauls to current varieties of the language. The course examines the internal grammatical and phonological history undergone by the language itself as well as the external history which includes ethnic, social, political, technological, and cultural changes.",,FREA01H3 and FREA02H3,"FRE273H, FRE372H, FRE373H",History of the French Language,, +FREB50H3,ART_LIT_LANG,,"A study of representative texts from the three major literary genres (fiction, drama, poetry). The course will introduce students to the critical reading of literary texts in French; students will acquire the basic concepts and techniques needed to analyze literature.",,[FREA01H3 and FREA02H3] or equivalent.,FRE240Y,Introduction to Literature in French I,FREB01H3,"FREB50H3 is a pre-requisite for all other French Literature courses at the C-, and D-level." +FREB51H3,ART_LIT_LANG,,"A study of the evolution of the major trends of French literature from the Middle Ages to the 17th century through representative texts (short novels, poetry and short stories) selected for their historical relevance and literary importance.",,[FREA01H3 and FREA02H3] or equivalent.,FRE250Y,Literary History in Context: From the Middle Ages to the 17th Century,, +FREB55H3,ART_LIT_LANG,,"A study of the evolution of the major trends of French literature from the 18th and 19th centuries through representative texts (short stories, poetry and novels), selected for their historical relevance and literary importance. Students will also learn to use some tools required for text analysis and will apply them in context.",,[FREA01H3 and FREA02H3] or equivalent.,FRE250Y,Literary History in Context: 18th and 19th Centuries,, +FREB70H3,ART_LIT_LANG,,"This course introduces students to the fundamental aspects of the language of cinema. By examining important films from the French-speaking world, students will learn to analyse the composition of shots and sequences, the forms of expression used in cinematographic language, film editing and certain aspects of filmic narrative.",,[FREA01H3 and FREA02H3] or equivalent.,,Introduction to Film Analysis in French,, +FREB84H3,ART_LIT_LANG,,"An examination of the imagined/imaginative in cultures and belief systems in the francophone world. Myths and folktales from Canada, the U.S., French Guyana, North and West Africa will be examined in terms of form, function, psychological dimensions and cultural interpretations of, for instance, life, death, food and individualism.",,[FREA01H3 and FREA02H3] or equivalent.,,"Folktale, Myth and the Fantastic in the French-Speaking World",, +FREC01H3,ART_LIT_LANG,,"This course is designed to hone students’ reading, writing, listening and speaking skills through group work, written projects, oral presentations and robust engagement with authentic materials. Students will improve their communicative language competencies by participating in activities in real-world, contextual situations. By the end of FREC01H3 and FREC02H3, students will be closer to the level B2 of the Common European Framework of Reference.",,[FREB01H3 and FREB02H3] or equivalent.,"FSL322H1, (FSL361Y), (FSL382H), (FSL383H), FSL421Y, FSL431Y or equivalent.",Language Practice V,, +FREC02H3,ART_LIT_LANG,,"A continuation of FREC01H3. Students will continue to hone their language competencies by participating in activities in real-world, contextual situations and by engaging with authentic materials. By the end of FREC01H3 and FREC02H3, students will be closer to the level B2 of the Common European Framework of Reference.",,FREC01H3,"FSL420H1, (FSL361Y), (FSL382H), (FSL383H), FSL421Y, FSL431Y or equivalent",Language Practice VI,, +FREC03H3,ART_LIT_LANG,,"This is a practical application of French in which students engage in writing and performing their own short play. Students will study French and Québécois plays, participate in acting and improvisation workshops, engage in a collaborative writing assignment, rehearse and produce their play and create a promotional poster. The final project for the course is a performance of the play.",,FREB02H3 and FREB50H3,,French in Action I: Practical Workshop in Theatre,,Students will meet the professors during the first week of class to have their French oral proficiency assessed. Students who are not at the appropriate level may be removed from the course. +FREC10H3,ART_LIT_LANG,,"In this Community-Engaged course, students will have opportunities to strengthen their French skills (such as communication, interpersonal, intercultural skills) in the classroom in order to effectively complete a placement in the GTA’s Francophone community. By connecting the course content and their practical professional experience, students will gain a deeper understanding of the principles of experiential education: respect, reciprocity, relevance and reflection; they will enhance and apply their knowledge and problem-solving skills; they will develop their critical thinking skills to create new knowledge and products beneficial to the Francophone community partners.",,"FREC01H3 or equivalent. For students who have not taken FRE courses at UTSC, or students who have advanced French proficiency, they must pass the international B1 level of a CEFR-based proficiency exam.",CTLB03H3,Community-Engaged Learning in the Francophone Community,FREC02H3,"Ideally, students will complete FREC02H3 concurrently with FREC10H3, rather than prior to FREC10H3." +FREC11H3,ART_LIT_LANG,,A study of different theories of language teaching and learning and their application to the teaching of French as a second language.,,[[FREB01H3 and FREB02H3] or equivalent]] and FREB11H3,FRE384H,Teaching French as a Second Language,, +FREC18H3,ART_LIT_LANG,University-Based Experience,"Practice in translating commercial, professional and technical texts. Students will have the opportunity to widen their knowledge of the vocabulary and structures particular to the language of business as well as to such fields as industrial relations, insurance, software, health care, social work and finance.",,FREB01H3 and [FREB08H3 or (FREB09H3)] or equivalent.,FREC18H3 may not be taken after or concurrently with FRE480Y or FRE481Y.,Translation for Business and Professional Needs,FREB02H3, +FREC38H3,ART_LIT_LANG,,"This course considers how Québec’s literature, especially the novel, has changed since 1980. It focuses on the literary forms of the novel, the dialogues between novels and texts from different literatures (Anglo-Canadian, French, American), and various elements related to the contemporary or the postmodern.",,FREB50H3 or equivalent.,,Topics in the Literature of Quebec,, +FREC44H3,HIS_PHIL_CUL,,"An introduction to the role of meaning in the structure, function and use of language. Approaches to the notion of meaning as applied to French data will be examined.",,FREB44H3 and FREB45H3,"(FREC12H3), LINC12H3, LIN241H3, LIN341H, FRE386H",French Semantics,, +FREC46H3,ART_LIT_LANG,,"Core issues in syntactic theory, with emphasis on French universal principles and syntactic variation.",,FREB45H3,"LINC11H3, FRE378H, LIN232H, LIN331H",French Syntax,, +FREC47H3,ART_LIT_LANG,,"A study of pidgin and Creole languages worldwide. The course will introduce students to the often complex grammars of these languages and examine French, English, Spanish and Dutch-based Creoles, as well as regional varieties. It will include some socio-historical discussion. Same as LINC47H3 Taught in English",,[LINA01H3 and LINA02H3] or [FREB44H3 and FREB45H3],LINC47H3,Pidgin and Creole Languages,, +FREC48H3,SOCIAL_SCI,,"An exploration of the relationship between language and society within a francophone context. We examine how language use is influenced by social factors. Topics include dialect, languages in contact, language shift, social codes and pidgin and Creole languages. Fieldwork is an integral part of this course.",,"[[FREB01H3 and FREB02H3] or equivalent] and [one of FREB44H3, FREB45H3, FREB46H3]","LINB20H3, (LINB21H3)",Sociolinguistics of French,, +FREC54H3,HIS_PHIL_CUL,,"This course is designed to provide students with an introduction to Paris’ great monuments, buildings, streets, and neighbourhoods through art history (painting, sculpture, and architecture), music, and literature from the Middle ages to the beginning of the 20th century.",,FREB27H3 or FREB50H3,,Paris through the Ages,, +FREC57H3,ART_LIT_LANG,,This course will examine themes and literary techniques in various forms of narrative prose from across the 19th century. Attention will also be paid to the historical and sociocultural context in which these works were produced.,,[FREB01H3 and FREB02H3] and [FREB50H3 or equivalent],(FREC56H3),French Fiction of the 19th Century,, +FREC58H3,ART_LIT_LANG,,"An introduction to major French writers from the 16th century (Rabelais, Montaigne), 17th century (Corneille, Molière, La Fontaine) or 18th century (Voltaire, Rousseau, Diderot). Students will learn skills required for textual analysis and will apply them to the cultural and intellectual context of literature from the Ancien Régime.",,FREB50H3,FRE319H and FRE320H,Literature of the Ancien Regime,, +FREC63H3,ART_LIT_LANG,,"An examination of the trends and attitudes embodied in travel writing from the early 20th century to now. The course considers aspects of exoticism, imperialism and ethnography as well as more contemporary cultural tourism, heritage and memory tourism, eco-tourism etc. Selections are drawn from commentators such as Gide, Camus, Kessel, Hubler and Belkaïd.",,[[FREB01H3 and FREB02H3] and [FREB50H3 or equivalent]],,Topics in French Literature: Encountering Foreign Cultures: Travel Writing in French,, +FREC64H3,ART_LIT_LANG,,"This course will examine French texts, such as comic writing, women’s writing, postmodern and postcolonial works, autobiographical works, and fantasy.",,FREB50H3 or equivalent,(FREC61H3),French Fiction of the 20th and 21st Centuries,, +FREC70H3,ART_LIT_LANG,University-Based Experience,"This course is a study of major genres (such as the musical, comedy, drama, documentary) and movements (such as the French New Wave, le Cinéma du look, social cinema, Beur cinema, political cinema) of the French-speaking world. We will study motion pictures from France, Québec, Africa and other parts of the Francophone world that have made a significant contribution to modern cinematography and culture.",,"FREB70H3, or permission of the instructor",,"Cinema, Movements and Genres",, +FREC83H3,HIS_PHIL_CUL,,"The history and development of perceptions of ""us"" and ""them"" in France and the francophone world. The course examines language and culture, and the historic role of Eurocentrism and colonialism in the construction of cultural stereotypes. ""Others"" considered include the ""noble savage"", the ""Oriental"", the ""country bumpkin"" and the ""foreigner"". This course was formerly taught in English, but will now be taught in French.",,"[FREB01H3 and FREB02H3] or equivalent, and one of FREB22H3, FREB27H3 and FREB28H3 or equivalent.",,Cultural Identities and Stereotypes in the French-Speaking World,, +FRED01H3,ART_LIT_LANG,,"A continuation of FREC01H3 and FREC02H3. Through an action-oriented approach, students will continue to hone their language competencies by participating in task-based activities in real-world, contextual situations and by engaging with authentic materials. Students will also work on developing the necessary techniques for the production of various types of discourse. By the end of FRED01H3, students will be at the level B2 of the Common European Framework of Reference.",,FREC02H3 or equivalent.,"FSL431Y, FSL461Y, FSL442H or equivalent",Language practice VII: Written French,, +FRED02H3,,,"These courses offer the student an opportunity to carry out independent study of an advanced and intensive kind, under the direction of a faculty member. Student and instructor work out in consultation the course's objectives, content, bibliography, and methods of approach. The material studied should bear a clear relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in regular courses. In applying to a faculty supervisor, students should be prepared to present a brief written statement of the topic they wish to explore. Final approval of the project rests with the French Discipline. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. Interested students should contact the Discipline Representative or Program Supervisor for guidance.",,1.0 credit at the C-level in FRE courses,,Supervised Reading,, +FRED03H3,,,"These courses offer the student an opportunity to carry out independent study of an advanced and intensive kind, under the direction of a faculty member. Student and instructor work out in consultation the course's objectives, content, bibliography, and methods of approach. The material studied should bear a clear relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in regular courses. In applying to a faculty supervisor, students should be prepared to present a brief written statement of the topic they wish to explore. Final approval of the project rests with the French Discipline. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. Interested students should contact the Discipline Representative or Program Supervisor for guidance.",,1.0 credit at the C-level in FRE courses,,Supervised Reading,, +FRED04H3,,,"These courses offer the student an opportunity to carry out independent study of an advanced and intensive kind, under the direction of a faculty member. Student and instructor work out in consultation the course's objectives, content, bibliography, and methods of approach. The material studied should bear a clear relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in regular courses. In applying to a faculty supervisor, students should be prepared to present a brief written statement of the topic they wish to explore. Final approval of the project rests with the French Discipline. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. Interested students should contact the Discipline Representative or Program Supervisor for guidance.",,1.0 credit at the C-level in FRE courses,,Supervised Reading,, +FRED05H3,,,"These courses offer the student an opportunity to carry out independent study of an advanced and intensive kind, under the direction of a faculty member. Student and instructor work out in consultation the course's objectives, content, bibliography, and methods of approach. The material studied should bear a clear relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in regular courses. In applying to a faculty supervisor, students should be prepared to present a brief written statement of the topic they wish to explore. Final approval of the project rests with the French Discipline. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. Interested students should contact the Discipline Representative or Program Supervisor for guidance.",,1.0 credit at the C-level in FRE courses,,Supervised Reading,, +FRED06H3,ART_LIT_LANG,,"This is an advanced language course designed for students who want to consolidate their oral/aural skills. In-class discussions, debates and oral presentations will enhance their fluency, expand their vocabulary and improve their pronunciation.",,FREC02H3 or equivalent.,FSL443H and FSL473H or equivalent,Language Practice VIII: Oral French,, +FRED07H3,,,"These courses offer the student an opportunity to carry out independent study of an advanced and intensive kind, under the direction of a faculty member. Student and instructor work out in consultation the course's objectives, content, bibliography, and methods of approach. The material studied should bear a clear relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in regular courses. In applying to a faculty supervisor, students should be prepared to present a brief written statement of the topic they wish to explore. Final approval of the project rests with the French Discipline. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. Interested students should contact the Discipline Representative or Program Supervisor for guidance.",,1.0 credit at the C-level in FRE courses,,Supervised Reading,, +FRED13H3,ART_LIT_LANG,,"Topics will vary from year to year. This seminar provides intensive study of a specific aspect of French literature from France. Emphasis may be placed on the importance of a particular movement or theme that will be explored in a variety of genres (novels, short stories, essays, autobiographies) and different authors. This course will require student participation and will involve a major paper.",,FREB50H3 and at least 0.5 credit at the C- level in FRE literature courses,,Advanced Topics in French Literature,, +FRED14H3,ART_LIT_LANG,,"The focus of this seminar will vary from year to year and may examine one specific advanced aspect of Québec’s literature by studying a variety of genres (novels, short stories, essays, autobiographies). The course will include questions of identity, the Self, migration, etc. It may also explore literatures from culturally-diverse communities based in Québec.",,"FREB50H3 and [0.5 credit in Quebec literature and 0.5 credit in French literature, one of which must be at the C-level]",(FRED12H3),Advanced Topics in the Literature of Quebec,, +FRED28H3,ART_LIT_LANG,University-Based Experience,"A continuation of FREB08H3 and FREC18H3 involving translation of real-world documents and practical exercises as well as a theoretical component. Students will use a variety of conceptual and practical tools to examine problems that arise from lexical, syntactic and stylistic differences and hone skills in accessing and evaluating both documentary resources and specific professional terminology. The course includes two field trips. Different translation fields (e.g. Translation for Government and Public Administration, or Translation for Medicine and Health Sciences) will be chosen from year to year.",,FREC18H3 or equivalent,,Special Topics in Translation,, +FRED90Y3,,,"These courses offer the student an opportunity to carry out independent study of an advanced and intensive kind, under the direction of a faculty member. Student and instructor work out in consultation the course's objectives, content, bibliography, and methods of approach. The material studied should bear a clear relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in regular courses. In applying to a faculty supervisor, students should be prepared to present a brief written statement of the topic they wish to explore. Final approval of the project rests with the French Discipline. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. Interested students should contact the Discipline Representative or Program Supervisor for guidance.",,"One B-level course in the group FREB01H3- FREB84H3, except FREB17H3 and FREB18H3.",,Supervised Reading,, +FSTA01H3,SOCIAL_SCI,University-Based Experience,"This course introduces students to university-level skills through an exploration of the connections between food, environment, culture, religion, and society. Using a food biography perspective, it critically examines ecological, material, and political foundations of the global food system and how food practices affect raced, classed, gendered, and national identities.",,,,Foods That Changed the World,, +FSTA02H3,SOCIAL_SCI,University-Based Experience,"This course provides innovation and entrepreneurship skills to address major problems in socially just food production, distribution, and consumption in the time of climate crisis. Students will learn to identify and understand what have been called “wicked problems” -- deeply complicated issues with multiple, conflicting stakeholders -- and to develop community-scale solutions.",,,,"Food Futures: Confronting Crises, Improving Lives",, +FSTB01H3,HIS_PHIL_CUL,University-Based Experience,"This course, which is a requirement in the Minor program in Food Studies, provides students with the basic content and methodological training they need to understand the connections between food, culture, and society. The course examines fundamental debates around food politics, health, culture, sustainability, and justice. Students will gain an appreciation of the material, ecological, and political foundations of the global food system as well as the ways that food shapes personal and collective identities of race, class, gender, and nation. Tutorials will meet in the Culinaria Kitchen Laboratory.",,,,Methodologies in Food Studies,,Priority will be given to students in the Minor program in Food Studies. +FSTC02H3,HIS_PHIL_CUL,University-Based Experience,"This course explores the history of wine making and consumption around the world, linking it to local, regional, and national cultures.",At least 1.0 credit at the B- level or higher in FST courses,,,Mondo Vino: The History and Culture of Wine Around the World,,Priority will be given to students in the Food Studies Minor program. +FSTC05H3,HIS_PHIL_CUL,,"This course puts urban food systems in world historical perspective using case studies from around the world and throughout time. Topics include provisioning, food preparation and sale, and cultures of consumption in courts, restaurants, street vendors, and domestic settings. Students will practice historical and geographical methodologies to map and interpret foodways. Same as HISC05H3",,"Any 4.0 credits, including 0.5 credit at the A or B-level in CLA, FST, GAS HIS or WST courses",HISC05H3,Feeding the City: Food Systems in Historical Perspective,, +FSTC24H3,HIS_PHIL_CUL,,"Across cultures, women are the main preparers and servers of food in domestic settings; in commercial food production and in restaurants, and especially in elite dining establishments, males dominate. Using agricultural histories, recipes, cookbooks, memoirs, and restaurant reviews and through the exploration of students’ own domestic culinary knowledge, students will analyze the origins, practices, and consequences of such deeply gendered patterns of food labour and consumption. Same as WSTC24H3",,"8.0 credits, including [0.5 credit at the A- or B- level in WST courses] and [0.5 credit at the A or B-level in FST courses]",WSTC24H3,Gender in the Kitchen,, +FSTC37H3,HIS_PHIL_CUL,,"Students in this course will examine the development of regional cuisines in North and South America. Topics will include indigenous foodways, the role of commodity production and alcohol trade in the rise of colonialism, the formation of national cuisines, industrialization, migration, and contemporary globalization. Tutorials will be conducted in the Culinaria Kitchen Laboratory. Same as HISC37H3",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in CLA, FST, GAS, HIS or WST courses",HISC37H3,Eating and Drinking Across the Americas,, +FSTC43H3,HIS_PHIL_CUL,,"This course uses street food to comparatively assess the production of ‘the street’, the legitimation of bodies and substances on the street, and contests over the boundaries of, and appropriate use of public and private space. It also considers questions of labour and the culinary infrastructure of contemporary cities around the world. Same as GGRC34H3",,FSTA01H3 or GGRA02H3 or GGRA03H3,"GGRC41H3 (if taken in the 2019 Winter and 2020 Winter sessions), GGRC43H3",Social Geographies of Street Food,, +FSTC54H3,SOCIAL_SCI,,"Students examine historical themes for local and regional cuisines across Global Asia, including but not limited to Anglo-Indian, Arab, Bengali, Chinese, Himalayan, Goan, Punjabi, Japanese, Persian, Tamil, and Indo-Caribbean. Themes include religious rituals, indigenous foodways; colonialism, industrialization, labour, gender, class, migration, globalization, and media. Tutorials are in the Culinaria Kitchen Lab. Same as GASC54H3 and HISC54H3",,"Any 4.0 credits, including 0.5 credit at the A- or B-level from CLA, FST, GAS, HIS or WST courses","GASC54H3, HISC54H3",Eating and Drinking Across Global Asia,, +FSTD01H3,HIS_PHIL_CUL,University-Based Experience,This option is available in rare and exceptional circumstances to students who have demonstrated a high level of academic maturity and competence. Qualified students will have the opportunity to investigate a topic in Food Studies that is of common interest to both student and supervisor.,,"At least 10.0 credits, including FSTB01H3, and written permission from the instructor.",,Independent Studies: Senior Research Project,, +FSTD02H3,HIS_PHIL_CUL,,This seminar will expose students to advanced subject matter and research methods in Food Studies. Each seminar will explore a selected topic.,,Any 8.0 credits including 1.0 credit from the Food Studies Courses Table,,Special Topics in Food Studies,, +FSTD10H3,ART_LIT_LANG,,"This course introduces students to a range of writing about food and culture, exposing them to different genres and disciplines, and assisting them to experiment with and develop their own prose. The course is designed as a capstone offering in Food Studies, and as such, asks students to draw on their own expertise and awareness of food as a cultural vehicle to write in a compelling way about social dynamics, historical meaning, and - drawing specifically on the Scarborough experience - the diasporic imaginary.",,FSTB01H3,,Food Writing,,Priority will be given to students enrolled in the Minor program in Food Studies. Additional students will be admitted as space permits. +FSTD11H3,HIS_PHIL_CUL,University-Based Experience,"This course combines elements of a practicum with theoretical approaches to the study and understanding of the place of food in visual culture. It aims to equip students with basic to intermediate-level skills in still photography, post- processing, videography, and editing. It also seeks to further their understanding of the ways in which scholars have thought and written about food and the visual image, with special emphasis on the “digital age” of the last thirty years.",,FSTB01H3,,Food and Media: Documenting Culinary Traditions Through Photography and Videography,, +GASA01H3,HIS_PHIL_CUL,,"This course introduces Global Asia Studies through studying historical and political perspectives on Asia. Students will learn how to critically analyze major historical texts and events to better understand important cultural, political, and social phenomena involving Asia and the world. They will engage in intensive reading and writing for humanities. Same as HISA06H3",,,HISA06H3,Introducing Global Asia and its Histories,, +GASA02H3,ART_LIT_LANG,,This course introduces Global Asia Studies through the study of cultural and social institutions in Asia. Students will critically study important elements of culture and society over different periods of history and in different parts of Asia. They will engage in intensive reading and writing for humanities.,,,,Introduction to Global Asia Studies,, +GASB05H3,HIS_PHIL_CUL,,"This course examines the role of technological and cultural networks in mediating and facilitating the social, economic and political processes of globalization. Key themes include imperialism, militarization, global political economy, activism, and emerging media technologies. Particular attention is paid to cultures of media production and reception outside of North America. Same as MDSB05H3",,4.0 credits and MDSA01H3,MDSB05H3,Media and Globalization,, +GASB15H3,ART_LIT_LANG,,"The course will provide students with an introduction to the arts of South Asia, from classical to modern, and from local to global. Fields of study may include music, dance, drama, literature, film, graphic arts, decorative arts, magic, yoga, athletics, and cuisine, fields viewed as important arts for this society.",,,,The Arts of South Asia,, +GASB20H3,HIS_PHIL_CUL,,This course examines the role of gender in shaping social institutions in Asia.,,,,Gender and Social Institutions in Asia,, +GASB30H3,HIS_PHIL_CUL,,"This course examines the close relationship between religions and cultures, and the role they play in shaping the worldviews, aesthetics, ethical norms, and other social ideals in Asian countries and societies.",,,,Asian Religions and Culture,, +GASB33H3,HIS_PHIL_CUL,,This course examines the global spread of different versions of Buddhism across historical and contemporary societies.,,,,Global Buddhism in Historical and Contemporary Societies,, +GASB42H3,SOCIAL_SCI,,"This course surveys central issues in the ethnographic study of contemporary South Asia (Afghanistan, Bangladesh, Bhutan, India, the Maldives, Nepal, Pakistan and Sri Lanka). Students will engage with classical and recent ethnographies to critically examine key thematic fault lines within national imaginations, especially along the lines of religion, caste, gender, ethnicity, and language. Not only does the course demonstrate how these fault lines continually shape the nature of nationalism, state institutions, development, social movements, violence, and militarism across the colonial and post-colonial periods but also, demonstrates how anthropological knowledge and ethnography provide us with a critical lens for exploring the most pressing issues facing South Asia in the world today. Same as ANTB42H3",,"[ANTB19H3 and ANTB20H3, or permission of the instructor] or [Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or Africa and Asia Area HIS courses]","ANTB42H3, (ANTC12H3)/(GASC12H3)",Culture and Society in Contemporary South Asia,, +GASB53H3,HIS_PHIL_CUL,,"Why does Southern Asia’s pre-colonial history matter? Using materials that illustrate the connected worlds of Central Asia, South Asia and the Indian Ocean rim, we will query conventional histories of Asia in the time of European expansion. Same as HISB53H3",,,HISB53H3,"Mughals and the World, 1500- 1858 AD",, +GASB57H3,HIS_PHIL_CUL,,"A survey of South Asian history. The course explores diverse and exciting elements of this long history, such as politics, religion, trade, literature, and the arts, keeping in mind South Asia's global and diasporic connections. Same as HISB57H3",,,"HIS282Y, HIS282H, HISB57H3",Sub-Continental Histories: South Asia in the World,, +GASB58H3,HIS_PHIL_CUL,,"This course provides an overview of the historical changes and continuities of the major cultural, economic, political, and social institutions and practices in modern Chinese history. Same as HISB58H3",0.5 credit at the A-level in HIS or GAS courses,Any 2.0 credits,"HIS280Y, HISB58H3",Modern Chinese History,, +GASB65H3,HIS_PHIL_CUL,,"For those who reside east of it, the Middle East is generally known as West Asia. By reframing the Middle East as West Asia, this course will explore the region’s modern social, cultural, and intellectual history as an outcome of vibrant exchange with non-European world regions like Asia. It will foreground how travel and the movement fundamentally shape modern ideas. Core themes of the course such as colonialism and decolonization, Arab nationalism, religion and identity, and feminist thought will be explored using primary sources (in translation). Knowledge of Arabic is not required. Same as HISB65H3",,,HISB65H3,West Asia and the Modern World,, +GASB73H3,ART_LIT_LANG,,"A survey of the art of China, Japan, Korea, India, and Southeast Asia. We will examine a wide range of artistic production, including ritual objects, painting, calligraphy, architectural monuments, textile, and prints. Special attention will be given to social contexts, belief systems, and interregional exchanges. Same as VPHB73H3",,VPHA46H3 or GASA01H3,"VPHB73H3, FAH261H",Visualizing Asia,, +GASB74H3,SOCIAL_SCI,,"This course explores the social circulation of Asian-identified foods and beverages using research from geographers, anthropologists, sociologists, and historians to understand their changing roles in ethnic entrepreneur-dominated cityscapes of London, Toronto, Singapore, Hong Kong, and New York. Foods under study include biryani, curry, coffee, dumplings, hoppers, roti, and tea. Same as HISB74H3",,,HISB74H3,Asian Foods and Global Cities,, +GASB77H3,ART_LIT_LANG,,"An introduction to modern Asian art through domestic, regional, and international exhibitions. Students will study the multilayered new developments of art and art institutions in China, Japan, Korea, India, Thailand, and Vietnam, as well as explore key issues such as colonial modernity, translingual practices, and multiple modernism. Same as VPHB77H3",VPHA46H3 or GASA01H3,,VPHB77H3,Modern Asian Art,, +GASC20H3,HIS_PHIL_CUL,,"This course offers students a critical and analytical perspective on issues of gender history, equity, discrimination, resistance, and struggle facing societies in East and South Asia and their diasporas.",GASA01H3 or GASA02H3,"8.0 credits, including 0.5 credit at the A-level, and 1.0 credit at the B-level in CLA, FST, GAS, HIS, or WST courses",,Gendering Global Asia,, +GASC33H3,HIS_PHIL_CUL,,This course critically examines different aspects of Buddhism in global context.,,Any 4.0 credits,,Critical Perspectives in Global Buddhism,, +GASC40H3,HIS_PHIL_CUL,,"This course examines the complex and dynamic interplay of media and politics in contemporary China, and the role of the government in this process. Same as MDSC40H3",,4.0 credits,MDSC40H3,Chinese Media and Politics,, +GASC41H3,HIS_PHIL_CUL,,"This course introduces students to media industries and commercial popular cultural forms in East Asia. Topics include reality TV, TV dramas, anime, and manga as well as issues such as regional cultural flows, global impact of Asian popular culture, and the localization of global media in East Asia. Same as MDSC41H3",,4.0 credits,MDSC41H3,Media and Popular Culture in East Asia,, +GASC42H3,ART_LIT_LANG,,"This course offers students a critical perspective on film and popular cultures in South Asia. Topics include Bombay, Tamil, and other regional filmic industries, their history, production, and distribution strategies, their themes and musical genres, and a critical look at the larger social and political meanings of these filmic cultures.",,Any 4.0 credits,,Film and Popular Culture in South Asia,, +GASC43H3,HIS_PHIL_CUL,,"This course explores the development of colonialism, modernity, and nationalism in modern Japan, Korea, China, and Taiwan. Key issues include sexuality, race, medicine, mass media, and consumption.",,Any one of [GASB20H3 or GASB58H3/HISB58H3 or GASC20H3],,Colonialisms and Cultures in Modern East Asia,, +GASC45H3,ART_LIT_LANG,,"This course offers students a critical perspective on film and popular cultures in East Asia. The course examines East Asian filmic industries, and the role they play in shaping worldviews, aesthetics, ethical norms, folk beliefs, and other socio-cultural aspects in China, Hong Kong, Taiwan, Korea, and Japan.",,Any 4.0 credits,,Film and Popular Cultures in East Asia,, +GASC48H3,HIS_PHIL_CUL,,"This course examines the history of South Asia's partition in 1947, in the process of decolonization, into the independent nation-states of India and Pakistan. Major course themes include nationalism, violence, and memory. Students will read historical scholarship on this topic and also engage with literature, film, oral histories, and photography. Partitioning lands and peoples is an old colonial technology of rule. Why did it become such a compelling solution to the problems of group conflict in the Indian subcontinent and beyond in the twentieth century even after 1947? How did the emergence of different ideas of nationalism – Indian, Pakistani, Hindu, Islamic, and beyond – contribute to this? Why was the Partition of India so violent? What happened to the people who were displaced at the time of Partition? How has the Partition been remembered and narrated and how does it continue to echo through national and regional politics? Beyond the subcontinent's partition into India and Pakistan, the course will introduce comparative case studies of Burma and Sri Lanka, among others.",HISB02H3 or HISB57H3/GASB57H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS or GAS courses",,Partition in South Asia,, +GASC50H3,HIS_PHIL_CUL,,"An introduction to the distinctive East Asian legal tradition shared by China, Japan, and Korea through readings about selected thematic issues. Students will learn to appreciate critically the cultural, political, social, and economic causes and effects of East Asian legal cultures and practices. Same as HISC56H3",GASB58H3/HISB58H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses",HISC56H3,Comparative Studies of East Asian Legal Cultures,, +GASC51H3,HIS_PHIL_CUL,,"This course addresses literary, historical, ethnographic, and filmic representations of the political economy of China and the Indian subcontinent from the early 19th century to the present day. We will look at such topics as the role and imagination of the colonial-era opium trade that bound together India, China and Britain in the 19th century, anticolonial conceptions of the Indian and Chinese economies, representations of national physical health, as well as critiques of mass-consumption and capitalism in the era of the ‘liberalization’ and India and China’s rise as major world economies. Students will acquire a grounding in these subjects from a range of interdisciplinary perspectives. Same as HISC51H3",GASA01H3/HISA06H3 or GASA02H3,"Any 4.0 credits, including 0.5 credit at the A- level and 0.5 credit at the B-level in HIS, GAS or other Humanities and Social Sciences courses",HISC51H3,From Opium to Maximum City: Narrating Political Economy in China and India,, +GASC53H3,ART_LIT_LANG,University-Based Experience,"The Silk Routes were a lacing of highways connecting Central, South and East Asia and Europe. Utilizing the Royal Ontario Museum's collections, classes held at the Museum and U of T Scarborough will focus on the art produced along the Silk Routes in 7th to 9th century Afghanistan, India, China and the Taklamakhan regions. Same as VPHC53H3",,One full credit in art history or in Asian or medieval European history.,VPHC53H3,The Silk Routes,, +GASC54H3,SOCIAL_SCI,,"Students examine historical themes for local and regional cuisines across Global Asia, including but not limited to Anglo-Indian, Arab, Bengali, Chinese, Himalayan, Goan, Punjabi, Japanese, Persian, Tamil, and Indo-Caribbean. Themes include religious rituals, indigenous foodways; colonialism, industrialization, labour, gender, class, migration, globalization, and media. Tutorials are in the Culinaria Kitchen Lab. Same as FSTC54H3 and HISC54H3",,"Any 4.0 credits, including 0.5 credit at the A- or B-level from CLA, FST, GAS, HIS or WST courses","FSTC54H3, HISC54H3",Eating and Drinking Across Global Asia,, +GASC57H3,HIS_PHIL_CUL,,"A study of the history of China's relationship with the rest of the world in the modern era. The readings focus on China's role in the global economy, politics, religious movements, transnational diasporas, scientific/technological exchanges, and cultural encounters and conflicts in the ages of empire and globalization. Same as HISC57H3",GASB58H3/HISB58H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses",HISC57H3,China and the World,, +GASC59H3,HIS_PHIL_CUL,,"This course explores the transnational history of Tamil worlds. In addition to exploring modern Tamil identities, the course will cover themes such as mass migration, ecology, social and economic life, and literary history. Same as HISC59H3",GASB57H3/HISB57H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses","HISC59H3, (GASB54H3), (HISB54H3)",The Making of Tamil Worlds,, +GASC73H3,HIS_PHIL_CUL,,The course will explore the history and career of a term: The Global South. The global south is not a specific place but expressive of a geopolitical relation. It is often used to describe areas or places that were remade by geopolitical inequality. How and when did this idea emerge? How did it circulate? How are the understandings of the global south kept in play? Our exploration of this term will open up a world of solidarity and circulation of ideas shaped by grass-roots social movements in different parts of the world Same as HISC73H3,,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses",HISC73H3,Making the Global South,, +GASC74H3,ART_LIT_LANG,,"Introduction to Contemporary Art in China An introduction to Chinese contemporary art focusing on three cities: Beijing, Shanghai, and Guangzhou. Increasing globalization and China's persistent self-renovation has brought radical changes to cities, a subject of fascination for contemporary artists. The art works will be analyzed in relation to critical issues such as globalization and urban change. Same as VPHC74H3",,"2.0 credits at the B-level in Art History, Asian History, and/or Global Asia Studies courses, including at least 0.5 credit from the following: VPHB39H3, VPHB73H3, HISB58H3, (GASB31H3), GASB33H3, or (GASB35H3).",VPHC74H3,A Tale of Three Cities:,, +GASD01H3,HIS_PHIL_CUL,,"This course offers an in-depth and historicized study of important cultural issues in historical and contemporary Asian, diasporic and borderland societies, including migration, mobility, and circulation. It is conducted in seminar format with emphasis on discussion, critical reading and writing, digital skills, and primary research. Same as HISD09H3",,"Any 8.0 credits, including [0.5 at the A- or B- level in CLA, FST, GAS, HIS or WST courses] and [0.5 credit at the C-level in CLA, FST, GAS, HIS or WST courses]",HISD09H3,Senior Seminar: Topics in Global Asian Migrations,, +GASD02H3,,University-Based Experience,"This course offers a capstone experience of issues which confront Asian and diasporic societies. Themes include gender, environment, human rights, equity, religion, politics, law, migration, labour, nationalism, post-colonialism, and new social movements. It is conducted in seminar format with emphasis on discussion, critical reading, and writing of research papers.",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS courses] and [0.5 credit at the C-level in GAS courses]",,Senior Seminar: Topics in Global Asian Societies,, +GASD03H3,HIS_PHIL_CUL,,"The course offers an in-depth, special study of important topics in the study of Global Asia. Special topics will vary from year to year depending on the expertise of the visiting professor. It is conducted in seminar format with emphasis on discussion, critical reading, and writing of research papers.",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS courses] and [0.5 credit at the C-level in GAS courses]",,Senior Seminar: Topics in Global Asia Studies,,Topics vary from year to year. Check the website: www.utsc.utoronto.ca/~hcs/programs/global-asia-studies.html for current offerings. +GASD06H3,HIS_PHIL_CUL,,"An exploration of the global problem of crime and punishment. The course investigates how the global processes of colonialism, industrialization, capitalism and liberalization affected modern criminal justice and thus the state-society relationship and modern citizenry in different cultures across time and space. Same as HISD06H3",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",HISD06H3,Global History of Crime and Punishment since 1750,, +GASD13H3,SOCIAL_SCI,,"What is violence? How do we study violence and its impact? How do people subjected to violence communicate, cope and live with violence? The course is designed to study South Asian communities through the concept of violence by exploring various texts. By looking at the various cases, structures and concepts in relation to violence in different parts of South Asia the course will analyze and understand how forms of violence transfigure, impact, make and remake individual life, and communities within and beyond South Asia. We will analyze different forms of violence from structural, symbolic to discreet and every-day expressions of violence. The course closely looks at how, on the one hand, violence operates in the everyday life of people and how it creates social suffering, pain, silence, loss of voice, difficulties of communicating the experience of violence, etc. On the other hand, the course will focus on how ordinary people who were subjected to violence cope, live, recover and rebuild their life during and in the aftermath of violence.",,"Any 8.0 credits, including [0.5 at the A- or B- level in CLA, GAS, HIS or WST courses] and [0.5 credit at the C-level in CLA, GAS, HIS or WST courses]",,Living within Violence: Exploring South Asia,, +GASD20H3,,University-Based Experience,This seminar examines the transformation and perpetuation of gender relations in contemporary Chinese societies. It pays specific attention to gender politics at the micro level and structural changes at the macro level through in-depth readings and research. Same as SOCD20H3,GASB20H3 and GASC20H3,"[SOCB05H3 and 0.5 credit in SOC course at the C-level] or [GASA01H3 and GASA02H3 and 0.5 credit at the C-level from the options in requirement #2 of the Specialist or Major programs in Global Asia Studies] or [10.0 credits including IDSB11H3 and enrolment in the Certificate in Global Development, Environment and Health]",SOCD20H3,Advanced Seminar: Social Change and Gender Relations in Chinese Societies,, +GASD30H3,HIS_PHIL_CUL,,"This course examines how popular culture projects its fantasies and fears about the future onto Asia through sexualized and racialized technology. Through the lens of techno-Orientalism this course explores questions of colonialism, imperialism and globalization in relation to cyborgs, digital industry, high-tech labor, and internet/media economics. Topics include the hyper-sexuality of Asian women, racialized and sexualized trauma and disability. This course requires student engagement and participation. Students are required to watch films in class, and creative assignments such as filmmaking and digital projects are encouraged. Same as WSTD30H3",,1.0 credit at the B-level and 1.0 credit at the C- level in WST courses or other Humanities and Social Sciences courses,WSTD30H3,Gender and Techno- Orientalism,,"Priority will be given to students enrolled in the Major/Major Co-op and Minor programs in Women’s and Gender Studies, and the Specialist, Major and Minor programs in Global Asia Studies. Additional students will be admitted as space permits." +GASD40H3,,,"The Chinese government has played a central role in the development of print, electronic and digital media. Recent changes in the political economy of Chinese media have had strong political and cultural implications. This senior seminar course examines the complex and dynamic interplay of media and politics in contemporary China.",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS courses] and [0.5 credit at the C-level in GAS courses]",,Senior Seminar: Issues in Chinese Media Studies,,Topics vary from year to year. Check the website www.utsc.utoronto.ca/~hcs/programs/global-asia-studies.html for current offerings. +GASD53H3,HIS_PHIL_CUL,,"This seminar course examines the First World War in its imperial and colonial context in Africa and Asia. Topics include forgotten fronts in Africa, the Middle East, Asia and the Pacific, colonial armies and civilians, imperial economies and resources, the collapse of empires and the remaking of the colonial world. Same as AFSD53H3 and HISD53H3",,"8.0 credits, including: 1.0 credit in AFS, GAS or Africa and Asia area HIS courses","AFSD53H3, HISD53H3",Africa and Asia in the First World War,, +GASD54H3,,,"This upper-level seminar will explore how water has shaped human experience. It will explore water landscapes, the representation of water in legal and political thought, slave narratives, and water management in urban development from the 16th century. Using case studies from South Asia and North America we will understand how affective, political and social relations to water bodies are made and remade over time. Same as HISD54H3",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",HISD54H3,Aqueous History: Water- Stories for a Future,, +GASD55H3,HIS_PHIL_CUL,,"This course explores the transnational connections and contexts that shaped ideas in modern Asia such as secularism, modernity, and pan Asianism. Through the intensive study of secondary sources and primary sources in translation, the course will introduce Asian thought during the long nineteenth-century in relation to the social, political, cultural, and technological changes. Using the methods of studying transnational history the course will explore inter- Asian connections in the world of ideas and their relation to the new connectivity afforded by steamships and the printing press. We will also explore how this method can help understand the history of modern Asia as a region of intellectual ferment rather than a passive recipient of European modernity. Same as HISD55H3",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",HISD55H3,Transnational Asian Thought,, +GASD56H3,HIS_PHIL_CUL,,"Labouring Diasporas in the British Empire 'Coolie' labourers formed an imperial diaspora linking South Asia and China to the Caribbean, Africa, the Indian Ocean, South-east Asia, and North America. The long-lasting results of this history are evident in the cultural and ethnic diversity of today's Caribbean nations and Commonwealth countries such as Great Britain and Canada. Same as HISD56H3",,"[8.0 credits, at least 2.0 credits should be at the B- or C-level in GAS or Modern History courses] or [15.0 credits, including SOCB60H3]",HISD56H3,'Coolies' and Others: Asian,, +GASD58H3,HIS_PHIL_CUL,University-Based Experience,"A study of major cultural trends, political practices, social customs, and economic developments in late imperial China (1400-1911) as well as their relevance to modern and contemporary China. Students will read the most recent literature and write a substantive research paper. Same as HISD58H3",GASB58H3/HISB58H3 or GASC57H3/HISC57H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",HISD58H3,"Culture, Politics, and Society in Late Imperial China",, +GASD59H3,HIS_PHIL_CUL,,"A seminar course on Chinese legal tradition and its role in shaping social, political, economic, and cultural developments, especially in late imperial and modern China. Topics include the foundations of legal culture, regulations on sexuality, women's property rights, crime fictions, private/state violence, laws of ethnicities, prison reforms and modernization. Same as HISD59H3",GASB58H3/HISB58H3 or GASC57H3/HISC57H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",HISD59H3,Law and Society in Chinese History,, +GASD71H3,HIS_PHIL_CUL,Partnership-Based Experience,"Examines the central place of cuisine to families, societies, and cultures across Global Asian societies and their diasporas, using tastes, culinary work techniques, community-based research, oral histories, digital humanities and multi-media experiential learning, as well as critical reading and writing.",,"8.0 credits, including 1.0 credit from any program offered by the Department of Historical and Cultural Studies",,"Cuisine, Culture, and Societies Across Global Asia",, +GGRA02H3,SOCIAL_SCI,,"Globalization from the perspective of human geography. The course examines how the economic, social, political, and environmental changes that flow from the increasingly global scale of human activities affect spatial patterns and relationships, the character of regions and places, and the quality of life of those who live in them.",,,"GGR107H, (GGR107Y), GGR117Y",The Geography of Global Processes,, +GGRA03H3,SOCIAL_SCI,,"An introduction to the characteristics of modern cities and environmental issues, and their interconnections. Linkages between local and global processes are emphasized. Major topics include urban forms and systems, population change, the complexity of environmental issues such as climate change and water scarcity, planning for sustainable cities.",,,"GGR107H, (GGR107Y), GGR117Y",Cities and Environments,, +GGRA30H3,QUANT,,"Students learn fundamental concepts concerning the structure and effective uses of geographical data and practical skills that will help them to find and apply geographical data appropriately in their studies. Hands-on exercises using a variety of software allow students to gain experience in finding, processing, documenting, and visualizing geographic data. Lecture topics introduce students to the opportunities and challenges of using geographical data as empirical evidence across a range of social science topics.",,,,Geographic Information Systems (GIS) and Empirical Reasoning,, +GGRA35H3,SOCIAL_SCI,,"Scarborough is a place of rapidly changing social geographies, and now contains one of the world’s most extraordinary mixes of people. What do these changes mean, how can we understand and interpret them? This course introduces Human Geography as the study of people, place, and community through field trips, interviews, and guest lectures.",,,,"The Great Scarborough Mashup: People, Place, Community, Experience",,Restricted to first year undergraduate students. +GGRB02H3,SOCIAL_SCI,,"Many of today's key debates - for instance, on globalization, the environment, and cities - draw heavily from geographical thinking and what some have called the ""spatial turn"" in the social sciences. This course introduces the most important methodological and theoretical aspects of contemporary geographical and spatial thought, and serves as a foundation for other upper level courses in Geography.",,Any 4 credits,,The Logic of Geographical Thought,, +GGRB03H3,ART_LIT_LANG,,"This course aims to develop critical reading and writing skills of human geography students. Through a variety of analytical, reflexive, and descriptive writing assignments, students will practice how to draft, revise, and edit their writing on spatial concepts. Students will learn how to conduct research for literature reviews, organize materials, and produce scholarly papers. They will also learn to cultivate their writing voice by engaging in a range of writing styles and forms such as blog posts, critical commentaries, travelogues, field notes, and research briefs. The course emphasizes writing clearly, succinctly, and logically.",,Any 4.0 credits,,Writing Geography,,Priority will be given to students enrolled in the Major program in Human Geography. Additional students will be admitted as space permits. +GGRB05H3,SOCIAL_SCI,,This course will develop understanding of the geographic nature of urban systems and the internal spatial patterns and activities in cities. Emphasis is placed on the North American experience with some examples from other regions of the world. The course will explore the major issues and problems facing contemporary urban society and the ways they are analysed. Area of Focus: Urban Geography,,Any 4 credits,"GGR124H, (GGR124Y)",Urban Geography,, +GGRB13H3,SOCIAL_SCI,,"The reciprocal relations between spatial structures and social identities. The course examines the role of social divisions such as class, 'race'/ethnicity, gender and sexuality in shaping the social geographies of cities and regions. Particular emphasis is placed on space as an arena for the construction of social relations and divisions. Area of Focus: Social/Cultural Geography",,Any 4 credits,,Social Geography,, +GGRB18H3,SOCIAL_SCI,,"Introduces students to the geography of Indigenous-Crown- Land relations in Canada. Beginning with pre-European contact and the historic Nation-to-Nation relationship, the course will survey major research inquiries from the Royal Commission on Aboriginal Peoples to Missing and Murdered Indigenous Women and Girls. Students will learn how ongoing land and treaty violations impact Indigenous peoples, settler society, and the land in Canada. Area of Focus: Environmental Geography Same as ESTB02H3",,"4.0 credits, including at least 0.5 credit in ANT, CIT, EST, GGR, HLT, IDS, POL or SOC",ESTB02H3,Whose Land? Indigenous- Canada-Land Relations,, +GGRB21H3,SOCIAL_SCI,,This foundational course explores different conceptions of 'the environment' as they have changed through space and time. It also analyzes the emergence of different variants of environmentalism and their contemporary role in shaping environmental policy and practice. Area of Focus: Environmental Geography,,,"GGR222H, GGR223H, GGRC22H3","Political Ecology: Nature, Society and Environmental Change",, +GGRB28H3,SOCIAL_SCI,,Examines the geographical distribution of disease and the spatial processes in which diseases are embedded. Themes include spatial theories of health and disease and uneven development and health. Special attention will be given to the geographical dimension of the HIV pandemic. Area of Focus: Social/Cultural Geography,,Any 4 credits,,Geographies of Disease,, +GGRB30H3,QUANT,,"This course provides a practical introduction to digital mapping and spatial analysis using a geographic information system (GIS). The course is designed to provide hands-on experience using GIS to analyse spatial data, and create maps that effectively communicate data meanings. Students are instructed in GIS methods and approaches that are relevant not only to Geography but also to many other disciplines. In the lectures, we discuss mapping and analysis concepts and how you can apply them using GIS software. In the practice exercises and assignments, you then learn how to do your own data analysis and mapping, gaining hands-on experience with ArcGIS software, the most widely used GIS software.",GGRA30H3,,"GGR272H, GGR278H",Fundamentals of GIS I,, +GGRB32H3,QUANT,,"This course builds on GGRB30 Fundamentals of GIS, continuing the examination of theoretical and analytical components of GIS and spatial analysis, and their application through lab assignments. The course covers digitizing, topology, vector data models, remote sensing and raster data models and analysis, geoprocessing, map design and cartography, data acquisition, metadata, and data management, and web mapping.",,GGRB30H3,GGR273H1,Fundamentals of GIS II,, +GGRB55H3,SOCIAL_SCI,,"The course introduces core concepts in cultural geography such as race and ethnicity, identity and difference, public and private, landscape and environment, faith and community, language and tradition, and mobilities and social change. Emphasis will be on cross-disciplinary, critical engagement with current events, pop culture, and visual texts including comics, photos, and maps. Area of Focus: Social/Cultural Geography",,Any 4.0 credits,,Cultural Geography,, +GGRC01H3,,,An independent supervised reading course open only to students in the Major Program in Human Geography. An independent literature review research project will be carried out under the supervision of an individual faculty member.,,"10 full credits including completion of the following requirements for the Major Program in Human Geography: 1) Introduction, 2) Theory and Concepts, 3) Methods; and a cumulative GPA of at least 2.5.",,Supervised Readings in Human Geography,, +GGRC02H3,SOCIAL_SCI,,"An examination of the geographical dimension to human population through the social dynamics of fertility, mortality and migration. Themes include disease epidemics, international migration, reproductive technologies, and changing family structure. Area of focus: Social/Cultural Geography",CITA01H3/(CITB02H3) or GGRB02H3,Any 8.0 credits,"GGR323H, GGR208H",Population Geography,, +GGRC09H3,SOCIAL_SCI,,"Examination and discussion of current trends and issues in social geography, with particular emphasis on recent developments in concepts and methods. This course is an unique opportunity to explore a particular topic in-depth, the specific content will vary from year to year. Area of focus: Social/Cultural Geography",,Any 8.0 credits,,Current Topics in Social Geography,, +GGRC10H3,SOCIAL_SCI,,"Examines global urbanization processes and the associated transformation of governance, social, economic, and environmental structures particularly in the global south. Themes include theories of development, migration, transnational flows, socio-spatial polarization, postcolonial geographies of urbanization. Area of focus: Urban Geography",CITA01H3/(CITB02H3) or GGRB05H3 or IDSA01H3,Any 8.0 credits,,Urbanization and Development,, +GGRC11H3,SOCIAL_SCI,,"Examination and discussion of current trends and issues in urban geography, with particular emphasis on recent developments in concepts and methods. This course is an unique opportunity to explore a particular topic in-depth, the specific content will vary from year to year. Area of focus: Urban Geography",CITA01H3/(CITB02H3) or GGRB05H3,Any 8.0 credits,,Current Topics in Urban Geography,, +GGRC12H3,SOCIAL_SCI,,"Transportation systems play a fundamental role in shaping social, economic and environmental outcomes in a region. This course explores geographical perspectives on the development and functioning of transportation systems, interactions between transportation and land use, and costs and benefits associated with transportation systems including: mobility, accessibility, congestion, pollution, and livability. Area of focus: Urban Geography",GGRB30H3,Any 8.0 credits including GGRA30H3 and [GGRB05H3 or CITA01H3/(CITB02H3)],"GGR370H, GGR424H",Transportation Geography,, +GGRC13H3,SOCIAL_SCI,,"Geographical approach to the politics of contemporary cities with emphasis on theories and structures of urban political processes and practices. Includes nature of local government, political powers of the property industry, big business and community organizations and how these shape the geography of cities. Area of focus: Urban Geography",CITA01H3/(CITB02H3) or GGRB05H3 or PPGB66H3/(PPGC66H3)/(POLC66H3),Any 8.0 credits,,Urban Political Geography,, +GGRC15H3,SOCIAL_SCI,,"Given the importance of the management of data within geographic information modelling, this course provides students with the opportunity to develop skills for creating, administering and applying spatial databases. Overview of relational database management systems, focusing on spatial data, relationships and operations and practice creating and using spatial databases. Structured Query Language (SQL) and extensions to model spatial data and spatial relationships. Topics are introduced through a selection of spatial data applications to contextualize, explain, and practice applying spatial databases to achieve application objectives: creating data from scanned maps; proximity and spatial relations; vehicle routing; elementary web services for spatial data. Students will complete a term project applying spatial data to study or model a topic of their choosing.",,GGRB32H3,,Spatial Databases and Applications,, +GGRC21H3,SOCIAL_SCI,,"Examination and discussion of current trends and issues in environmental geography, with particular emphasis on recent developments in concepts and methods. This course is an unique opportunity to explore a particular topic in-depth, the specific content will vary from year to year. Area of focus: Environmental Geography",GGRB21H3,Any 8.0 credits,,Current Topics in Environmental Geography,, +GGRC24H3,SOCIAL_SCI,,"Explores the processes through which segments of societies come to understand their natural surroundings, the social relations that produce those understandings, popular representations of nature, and how 'the environment' serves as a consistent basis of social struggle and contestation. Areas of focus: Environmental Geography; Social/Cultural Geography",GGRB21H3,Any 8.0 credits,,Socio-Natures and the Cultural Politics of 'The Environment',, +GGRC25H3,SOCIAL_SCI,,"Land reform, which entails the redistribution of private and public lands, is broadly associated with struggles for social justice. It embraces issues concerning how land is transferred (through forceful dispossession, law, or markets), and how it is currently held. Land inequalities exist all over the world, but they are more pronounced in the developing world, especially in countries that were affected by colonialism. Land issues, including land reform, affect most development issues. Area of focus: Environmental Geography",GGRB21H3 or AFSB01H3 or IDSB02H3 or ESTB01H3,Any 8.0 credits,,Land Reform and Development,, +GGRC26H3,SOCIAL_SCI,,"This course addresses the translation of environmentalisms into formalized processes of environmental governance; and examines the development of environmental institutions at different scales, the integration of different forms of environmental governance, and the ways in which processes of governance relate to forms of environmental practice and management. Area of focus: Environmental Geography",GGRB21H3 or ESTB01H3,Any 8.0 credits,,Geographies of Environmental Governance,, +GGRC27H3,SOCIAL_SCI,,Location of a firm; market formation and areas; agricultural location; urban spatial equilibrium; trade and spatial equilibrium; locational competition; equilibrium for an industry; trade and location. Area of focus: Urban Geography,,MGEA01H3 and [[GGRB02H3 and GGRB05H3] or [CITB01H3 and CITA01H3/(CITB02H3)]] or [[MGEB01H3 or MGEB02H3] and [MGEB05H3 or MGEB06H3]],(GGRB27H3) GGR220Y,Location and Spatial Development,, +GGRC28H3,SOCIAL_SCI,,"Engages Indigenous perspectives on the environment and environmental issues. Students will think with Indigenous concepts, practices, and theoretical frameworks to consider human-environment relations. Pressing challenges and opportunities with respect to Indigenous environmental knowledge, governance, law, and justice will be explored. With a focus primarily on Canada, the course will include case studies from the US, Australia, and Aotearoa New Zealand",GGRB18H3/ESTB02H3,Any 8.0 credits,,"Indigenous Peoples, Environment and Justice",, +GGRC30H3,QUANT,,"This course covers advanced theoretical and practical issues of using GIS systems for research and spatial analysis. Students will learn how to develop and manage GIS research projects, create and analyze three-dimensional surfaces, build geospatial models, visualize geospatial data, and perform advanced spatial analysis. Lectures introduce concepts and labs implement them.",,GGRB32H3,GGR373H,Advanced GIS,, +GGRC31H3,HIS_PHIL_CUL,,"Explores the practice of ethnography (i.e. participant observation) within and outside the discipline of geography, and situates this within current debates on methods and theory. Topics include: the history of ethnography, ethnography within geography, current debates within ethnography, the ""field,"" and ethnography and ""development.""",,Any 8.0 credits,,Qualitative Geographical Methods: Place and Ethnography,, +GGRC32H3,QUANT,,"This course builds on introductory statistics and GIS courses by introducing students to the core concepts and methods of spatial analysis. With an emphasis on spatial thinking in an urban context, topics such as distance decay, distance metrics, spatial interaction, spatial distributions, and spatial autocorrelation will be used to quantify spatial patterns and identify spatial processes. These tools are the essential building blocks for the quantitative analysis of urban spatial data. Area of focus: Urban Geography",,Any 8.0 credits including [STAB23H3 and GGRB30H3],GGR276H,Essential Spatial Analysis,, +GGRC33H3,SOCIAL_SCI,,"This course examines issues of urban form and structure, urban growth and planning in the Toronto region. Current trends in population, housing, economy, environment, governance, transport, urban design and planning practices at the local level and the regional scale will be examined critically. Area of focus: Urban Geography",CITA01H3/(CITB02H3) or GGRB05H3,Any 8.0 credits,,The Toronto Region,, +GGRC34H3,SOCIAL_SCI,Partnership-Based Experience,"Significant recent transformations of geographic knowledge are being generated by the ubiquitous use of smartphones and other distributed sensors, while web-based platforms such as Open Street Map and Public Participation GIS (PPGIS) have made crowd-sourcing of geographical data relatively easy. This course will introduce students to these new geographical spaces, approaches to creating them, and the implications for local democracy and issues of privacy they pose. Area of focus: Urban Geography",GGRB32H3,GGRB05H3 or GGRB30H3,,Crowd-sourced Urban Geographies,, +GGRC40H3,SOCIAL_SCI,,"The last 50 years have seen dramatic growth in the global share of population living in megacities over 10 million population, with most growth in the global south. Such giant cities present distinctive infrastructure, health, water supply, and governance challenges, which are increasingly central to global urban policy and health. Area of focus: Urban Geography",CITA01H3/(CITB02H3) or GGRB05H3,Any 8.0 credits,(CITC40H3),Megacities and Global Urbanization,, +GGRC41H3,SOCIAL_SCI,,"Examination and discussion of current trends and issues in human geography, with particular emphasis on recent developments in concepts and methods. This course is an unique opportunity to explore a particular topic in-depth, the specific content will vary from year to year.",GGRB20H3,Any 8.0 credits,,Current Topics in Human Geography,, +GGRC42H3,QUANT,,"This course introduces students to the main methods of multivariate analysis in the social sciences, with an emphasis on applications incorporating spatial thinking and geographic data. Students will learn how to evaluate data quality, construct analysis datasets, and perform and interpret multivariate analyses using the R statistical programming language.",,STAB22H3 or equivalent,GGRC41H3 (if taken in the 2019 Fall session),Making Sense of Data: Applied Multivariate Analysis,, +GGRC43H3,HIS_PHIL_CUL,,"This course uses street food to comparatively assess the production of ‘the street’, the legitimation of bodies and substances on the street, and contests over the boundaries of, and appropriate use of public and private space. It also considers questions of labour and the culinary infrastructure of contemporary cities around the world. Area of Focus: Social/Cultural Geography Same as FSTC43H3",,FSTA01H3 or GGRA02H3 or GGRA03H3,"FSTC43H3, GGRC41H3 (if taken in the 2019 Winter and 2020 Winter sessions)",Social Geographies of Street Food,, +GGRC44H3,SOCIAL_SCI,Partnership-Based Experience,"Deals with two main topics: the origins of environmental problems in the global spread of industrial capitalism, and environmental conservation and policies. Themes include: changes in human-environment relations, trends in environmental problems, the rise of environmental awareness and activism, environmental policy, problems of sustainable development. Area of focus: Environmental Geography",GGRB21H3 or IDSB02H3 or ESTB01H3,Any 8.0 credits,"GGR233Y, (GGRB20H3)",Environmental Conservation and Sustainable Development,, +GGRC48H3,SOCIAL_SCI,,"How have social and economic conditions deteriorated for many urban citizens? Is the geographic gap widening between the rich and the poor? This course will explore the following themes: racialization of poverty, employment and poverty, poverty and gender socio-spatial polarization, and housing and homelessness. Area of focus: Urban Geography",CITA01H3/(CITB02H3) or GGRB05H3 or IDSA01H3,Any 8.0 credits,,Geographies of Urban Poverty,, +GGRC50H3,SOCIAL_SCI,University-Based Experience,"Explores the social geography of education, especially in cities. Topics include geographical educational inequalities; education, class and race; education, the family, and intergenerational class immobility; the movement of children to attend schools; education and the ‘right to the city.’ Areas of focus: Urban or Social/Cultural Geography",GGRB05H3 or GGRB13H3,Any 8.0 credits,,Geographies of Education,, +GGRC54H3,SOCIAL_SCI,Partnership-Based Experience,"Provides an opportunity to engage in a field trip and field research work on a common research topic. The focus will be on: preparation of case study questions; methods of data collection including interviews, archives, and observation; snowballing contacts; and critical case-study analysis in a final report.",,GGRB02H3 and 1.0 additional credit at the B- level in GGR,,Human Geography Field Trip,, +GGRD01H3,,,An independent studies course open only to students in the Major Program in Human Geography. An independent studies project will be carried out under the supervision of an individual faculty member.,,13.0 credits including GGRB02H3,,Supervised Research Project,, +GGRD08H3,SOCIAL_SCI,Partnership-Based Experience,"Designed for final-year Human Geography Majors, this seminar is devoted to analysis and discussion of advanced theoretical and methodological issues in Environmental Geography. Specific content will vary from year to year. Seminar format with active student participation. Area of focus: Environmental Geography",,13.0 credits including GGRB21H3,,Research Seminar in Environmental Geography,, +GGRD09H3,SOCIAL_SCI,,"How do gender relations shape different spaces? We will explore how feminist geographers have approached these questions from a variety of scales - from the home, to the body, to the classroom, to the city, to the nation, drawing on the work of feminist geographers. Area of focus: Social/Cultural Geography",,13.0 credits,,Feminist Geographies,, +GGRD10H3,SOCIAL_SCI,,"Examines links between health and human sexuality. Particularly explores sexually transmitted infections. Attention will be given to the socially and therefore spatially constructed nature of sexuality. Other themes include sexual violence, masculinities and health, reproductive health, and transnational relationships and health. Examples will be taken from a variety of countries. Area of focus: Social/Cultural Geography",,13.0 credits including [GGRB13H3 or IDSB04H3 or WSTB05H3],,Health and Sexuality,, +GGRD11H3,SOCIAL_SCI,,"Designed for final-year Human Geography Majors, this reading-intensive seminar course develops analytical and methodological skills in socio-spatial analysis. We explore major theoretical/methodological traditions in geography including positivism, humanism, Marxism, and feminism, and major analytical categories such as place, scale, and networks. Particularly recommended for students intending to apply to graduate school.",,13.0 credits including GGRB02H3,,Advanced Geographical Theory and Methods,, +GGRD12H3,,,"Designed for final-year Human Geography Majors, this seminar is devoted to analysis and discussion of current theoretical and methodological issues in human geography. This course is an unique opportunity to explore a particular topic in-depth, the specific content will vary from year to year. Seminar format with active student participation.",,13.0 credits including GGRB02H3,,Seminar in Selected Topics in Human Geography,, +GGRD13H3,SOCIAL_SCI,University-Based Experience,"This course focuses on the practice of ethnography in geographic research and allows students to design and conduct their own ethnographic research projects. Utilizing various approaches in geographic scholarship, in the first part of the course students will learn about ethnographic research methods and methodologies and finalize their research proposals. In the second part, they will carry out their research under the supervision of the course director and with support from their peers. Course assignments will assist each student throughout their research design, ethics approval, ethnography, and writing a final paper. Course meetings will be conducted in a seminar format.",,"Any 13.0 credits, including GGRC31H3",,"Space, Place, People: Practice of Ethnographic Inquiry",, +GGRD14H3,SOCIAL_SCI,,"Examines links between politics of difference, social justice and cities. Covers theories of social justice and difference with a particular emphasis placed on understanding how contemporary capitalism exacerbates urban inequalities and how urban struggles such as Occupy Wall Street seek to address discontents of urban dispossession. Examples of urban social struggles will be drawn from global North and South. Areas of focus: Urban or Social/Cultural Geography",,13.0 credits including [GGRB05H3 or GGRB13H3 or CITA01H3/(CITB02H3) or IDSB06H3],,Social Justice and the City,, +GGRD15H3,SOCIAL_SCI,,"How do sex and gender norms take and shape place? To examine this question, we will explore selected queer and trans scholarship, with a particular emphasis on queer scholars of colour and queer postcolonial literatures. Course topics include LGBTQ2S lives and movements, cities and sexualities, cross-border migration flows, reproductive justice, and policing and incarceration.",GGRB13H3 or WSTB25H3,Any 8.0 credits,,Queer Geographies,, +GGRD16H3,SOCIAL_SCI,,"As major engines of the global economy, cities are also concentrated sites of work and employment. Popular and political understandings about what constitutes ""fair"" and ""decent"" work, meanwhile, are currently facing profound challenges. From the rise of platformed gig work to the rising cost of living in many cities – this course introduces students to approaches within Geography that help to conceptualize what ""work"" is, and to major forces shaping the laboured landscapes of cities, with a focus on the Greater Toronto Area. In this course students will get the opportunity to explore the varied forms of production and reproduction that make the GTA function and thrive, and to develop a vocabulary and critical lens to identify the geographies of different kinds of work and employment relations. Students will also have the chance to develop labour market research skills, and to critically examine the forms of work they themselves undertake every day.",,13.0 credits including [GGRB05H3 or CITA01H3/(CITB02H3)],SOCB54H3 and GGRD25H3 (if taken in Winter 2022),Work and Livelihoods in the GTA,, +GGRD25H3,SOCIAL_SCI,,"Designed for final-year Human Geography Majors, this seminar is devoted to analysis and discussion of current theoretical and methodological issues in urban geography. Specific content will vary from year to year. Seminar format with active student participation. Area of focus: Urban Geography",,13.0 credits including [GGRB05H3 or CITA01H3/(CITB02H3)],,Research Seminar in Urban Spaces,,Priority will be given to Geography Majors with the highest CGPA. +GGRD30H3,QUANT,University-Based Experience,"Students will design, manage and complete a research project using GIS. Students will work in teams of 4-6 to pose a research question, acquire a dataset, and organize and analyze the data to answer their question. The course will teach research design, project management, data analysis, team work, and presentation of final results.",,GGRC30H3,GGR462H,GIS Research Project,, +GGRD31H3,SOCIAL_SCI,University-Based Experience,"Independent research extension to one of the courses already completed in Human Geography. Enrolment requires written permission from a faculty supervisor and Associate Chair, Human Geography. Only open to students who have completed 13.0 credits and who are enrolled in the Human Geography Major, Human and Physical Geography Major programs, or Minor Program in GIS sponsored by the Department of Human Geography.",,Any 13.0 credits,,Independent Research Project,, +GGRD49H3,SOCIAL_SCI,Partnership-Based Experience,"This course explores various ways of making claims to possess or use land by first unsettling commonsense ideas about ownership and then tracing these through examples of classed, gendered and racialized property regimes. Through this exploration, the course shows that claims to land are historically and geographically specific, and structured by colonialism, and capitalism. Informed by a feminist interpretation of “conflict,” we look at microprocesses that scale up to largescale transformations in how land is lived. We end by engaging with Black and Indigenous epistemologies regarding how land might be differently cared for and occupied. Areas of focus: Environmental or Social/Cultural Geography",GGRB13H3 or GGRB21H3 or IDSA01H3,"13.0 credits including at least 0.5 credit at the B-level from (AFS, ANT, CIT, GGR, HLT, IDS, POL, PPG, or SOC)",(GGRC49H3),Land and Land Conflicts in the Americas,, +GLBC01H3,SOCIAL_SCI,Partnership-Based Experience,"Whether corporate, not for profit or governmental, modern organizations require leaders who are willing to take on complex challenges and work with a global community. Effective leaders must learn how to consider and recognize diverse motivations, behaviours, and perspectives across teams and networks. Building upon content learned in GLB201H5 and focusing on applications and real-life case studies; this course will provide students with knowledge and skills to become global leaders of the future. Upon completion of this course, students will be able to adapt culturally sensitive communication, motivation and negotiation techniques, preparing them to apply new principled, inclusive, and appreciative approaches to the practice of global leadership. In preparation for GLB401Y1, this course will include group-based activities in which students collaborate on current issues of global importance. An experiential learning component will help develop skills through interactions with guest lecturers and community partners. Community partners will present real-world global leadership problems to the class, which students will work to analyze and solve. At the end of the term, students will meet in person for final group presentations to deliver key solutions to community partners. This course will be delivered primarily online through synchronous/asynchronous delivery, with specific in-person activities scheduled throughout the course.",,GLB201H5,,"Global Leadership: Theory, Research and Practice",,"25 UTSC students in each course section (up to 4 sections). This is a tri-campus course and the enrolment limit for the Minor it supports is 100 students (25 UTSC, 25 UTM, 50 FAS)" +HCSC01H3,HIS_PHIL_CUL,,"In this experiential learning course, students will have opportunities to apply their HCS program-specific knowledge and skills, develop learning, technology and/or transferable competencies, and serve the GTA community. This experience will allow students to meaningfully contribute to and support projects and activities that address community needs by completing a placement at a community organization.",,"Students must be in Year 3 or 4 of their studies, and enrolled in an HCS subject POSt, and must have completed 3.0 credits of their HCS program","CTLB03H3, WSTC23H3",Experiential Learning in Historical and Cultural Studies,, +HCSD05H3,HIS_PHIL_CUL,,"The course provides an introduction to Canada’s intellectual property (IP) systems, copyright, patent, trademark and confidential information. Topics include use, re-use and creation of IP, the impact of the digital environment, the national implication of international agreements and treaties and information policy development.",,"Any 2.0 credits; and an additional 2.0 credits at the C-level in ACM, Language Studies, HCS, ENG and PHL",,Intellectual Property in Arts and Humanities,, +HISA04H3,HIS_PHIL_CUL,,"An introduction to history that focuses on a particular theme in world history, which will change from year to year. Themes may include migration; empires; cultural encounters; history and film; global cities.",,,,Themes in World History I,, +HISA05H3,HIS_PHIL_CUL,,"An introduction to history that focuses on a particular theme in world history, which will change from year to year. Themes may include migration; empires; cultural encounters; history and film; global cities.",,,,Themes in World History II,, +HISA06H3,HIS_PHIL_CUL,,"This course introduces Global Asia Studies through studying historical and political perspectives on Asia. Students will learn how to critically analyze major historical texts and events to better understand important cultural, political, and social phenomena involving Asia and the world. They will engage in intensive reading and writing for humanities. Same as GASA01H3 Africa and Asia Area",,,GASA01H3,Introducing Global Asia and its Histories,, +HISA07H3,HIS_PHIL_CUL,,"An introduction to the main features of the ancient civilizations of the Mediterranean world from the development of agriculture to the spread of Islam. Long term socio- economic and cultural continuities and ruptures will be underlined, while a certain attention will be dedicated to evidences and disciplinary issues. Same as CLAA04H3 0.50 pre-1800 credit Ancient World Area",,,CLAA04H3,The Ancient Mediterranean World,, +HISA08H3,HIS_PHIL_CUL,,"An interdisciplinary introduction to the history and development of Africa with Africa's place in the wider world a key theme. Students critically engage with African and diasporic histories, cultures, social structures, economies, and belief systems. Course material is drawn from Archaeology, History, Geography, Literature, Film Studies and Women's Studies. Africa and Asia Area Same as AFSA01H3",,,"AFSA01H3, NEW150Y",Africa in the World: An Introduction,, +HISA09H3,HIS_PHIL_CUL,,"This course explores the rise of capitalism – understood not simply as an economic system but as a political and cultural one as well – from roughly the 14th century to the present day. It aims to acquaint students with many of the more important socio-economic changes of the past seven hundred years and informing the way they think about some of the problems of the present time: globalization, growing disparities of wealth and poverty, and the continuing exploitation of the planet’s natural resources.",,,"HISA04H3 (if taken in the Fall 2017, Summer 2018 and Summer 2019 semesters)",Capitalism: A Global History,, +HISB02H3,HIS_PHIL_CUL,,"The British Empire at one time controlled a quarter of the world's population. This course surveys the nature and scope of British imperialism from the sixteenth to the twentieth century, through its interactions with people and histories of Asia, Africa, the Americas, the Caribbean, the Pacific, and the British Isles. Transnational Area",,,,The British Empire: A Short History,, +HISB03H3,HIS_PHIL_CUL,,"Practical training in critical writing and research in History. Through lectures, discussion and workshops, students will learn writing skills (including essay organization, argumentation, documentation and bibliographic style), an introduction to methodologies in history and basic source finding techniques.",,,(HISB01H3),Critical Writing and Research for Historians,, +HISB05H3,HIS_PHIL_CUL,,"This course provides a general introduction to digital methods in History through the study of the rise of information as a concept and a technology. Topics include the history of information theory, the rise of digital media, and, especially, the implications of digital media, text processing, and artificial intelligence for historical knowledge. Using simple tools, students learn to encode texts as data structures and transform those structures programmatically.","0.5 credit at the A or B-level in CLA, FST, GAS, HIS or WST courses",,DHU235H1,History of Information for a Digital Age,, +HISB09H3,HIS_PHIL_CUL,,"A course to introduce students of history and classical studies to the world of late antiquity, the period that bridged classical antiquity and the Middle Ages. This course studies the period for its own merit as a time when political structures of the Medieval period were laid down and the major religions of the Mediterranean (Judaism, Christianity, Islam, Zoroastrianism) took their recognizable forms. Same as CLAB09H3 Ancient World Area",CLAA04H3/HISA07H3 The Ancient Mediterranean,,CLAB09H3,Between Two Empires: The World of Late Antiquity,, +HISB10H3,HIS_PHIL_CUL,,"A survey of the history and culture of the Greek world from the Minoan period to the Roman conquest of Egypt (ca 1500- 30 BC). Special attention will be dedicated to the nature, variety and limits of the available evidences, to socio-cultural interactions as well as to historical processes of continuities and ruptures. Same as CLAB05H3 0.50 pre-1800 credit Ancient World Area",,,"CLAB05H3, CLA230H",History and Culture of the Greek World,, +HISB11H3,HIS_PHIL_CUL,,"A survey of the history and culture of the ancient Roman world, from the Etruscan period to the Justinian dynasty (ca 800 BC-600 AD). Special attention will be dedicated to the nature, variety and limits of the available evidences, to socio- cultural interactions as well as to historical processes of continuities and ruptures. Same as CLAB06H3 0.5 pre-1800 credit Ancient World Area",,,"CLAB06H3, CLA231H",History and Culture of the Roman World,, +HISB12H3,HIS_PHIL_CUL,,"The representation of the classical world and historical events in film. How the Greek and Roman world is reconstructed by filmmakers, their use of spectacle, costume and furnishings, and the influence of archaeology on their portrayals. Films will be studied critically for historical accuracy and faithfulness to classical sources. Same as CLAB20H3 Ancient World Area",CLAA05H3 or CLAA06H3 or (CLAA02H3) or (CLAA03H3),,"CLAB20H3, CLA388H",The Ancient World in Film,, +HISB14H3,HIS_PHIL_CUL,University-Based Experience,"An exploration of how eating traditions around the world have been affected by economic and social changes, including imperialism, migration, the rise of a global economy, and urbanization. Topics include: immigrant cuisines, commodity exchanges, and the rise of the restaurant. Lectures will be supplemented by cooking demonstrations. Transnational Area",,,(HISC14H3),Edible History: History of Global Foodways,, +HISB22H3,HIS_PHIL_CUL,University-Based Experience,"This introductory survey course connects the rich histories of Black radical women’s acts, deeds, and words in Canada. It traces the lives and political thought of Black women and gender-non-conforming people who refused and fled enslavement, took part in individual and collective struggles against segregated labour, education, and immigration practices; providing a historical context for the emergence of the contemporary queer-led #BlackLivesMatter movement. Students will be introduced, through histories of activism, resistance, and refusal, to multiple concepts and currents in Black feminist studies. This includes, for example, theories of power, race, and gender, transnational/diasporic Black feminisms, Black-Indigenous solidarities, abolition and decolonization. Students will participate in experiential learning and engage an interdisciplinary array of key texts and readings including primary and secondary sources, oral histories, and online archives. Same as WSTB22H3 Canadian Area",WSTA01H3 or WSTA03H3,1.0 credit at the A-level in any Humanities or Social Science courses,"WSTB22H3, WGS340H5",From Freedom Runners to #BlackLivesMatter: Histories of Black Feminism in Canada,, +HISB23H3,HIS_PHIL_CUL,,"This class will examine Latin America’s social and cultural history from the ancient Aztecs and Incas to the twentieth- century populist revolutions of Emiliano Zapata and Evita Perón. It will also focus on Latin America’s connections to the wider world through trade, migration, and cuisine.",,,"HIS290H, HIS291H, HIS292H",Latin America and the World,, +HISB30H3,HIS_PHIL_CUL,,A survey of American history from contact between Indians and Europeans up through the Civil War. Topics include the emergence of colonial societies; the rise and destruction of racial slavery; revolution and republic-making; economic and social change in the new nation; western conquest; and the republic's collapse into internal war. United States and Latin America Area,,,HIS271Y,American History to the Civil War,, +HISB31H3,HIS_PHIL_CUL,,"This course offers a survey of U.S. history from the post-Civil War period through the late 20th century, examining key episodes and issues such as settlement of the American West, industrialization, urbanization, immigration, popular culture, social movements, race relations, and foreign policy. United States and Latin America Area",,,HIS271Y,History of the United States since the Civil War,, +HISB37H3,HIS_PHIL_CUL,,"This class will examine Mexico’s social and cultural history from the ancient Aztecs through the Spanish Conquest to the twentieth-century revolutionary movements led by Pancho Villa and Emiliano Zapata. It will also focus on Mexico’s connections to the wider world through trade, migration, and cuisine. United States and Latin America Area",,,,History of Mexico,, +HISB40H3,HIS_PHIL_CUL,,"The history of northern North America from the first contacts between Europeans and Aboriginal peoples to the late 19th century. Topics include the impact of early exploration and cultural encounters, empires, trans-Atlantic migrations, colonization and revolutions on the development of northern North America. Canadian Area",,,"(HIS262Y), HIS263Y",Early Canada and the Atlantic World,, +HISB41H3,HIS_PHIL_CUL,,"Students will be introduced to historical processes central to the history of Canada's diverse peoples and the history of the modern age more generally, including the industrial revolution, women's entry in social and political ""publics,"" protest movements, sexuality, and migration in the context of international links and connections. Canadian Area",,,,Making of Modern Canada,, +HISB50H3,HIS_PHIL_CUL,,"An introduction to the history of Sub-Saharan Africa, from the era of the slave trade to the colonial conquests. Throughout, the capacity of Africans to overcome major problems will be stressed. Themes include slavery and the slave trade; pre- colonial states and societies; economic and labour systems; and religious change. Africa and Asia Area Same as AFSB50H3",,Any modern history course or AFSA01H3.,"AFSB50H3, (HISC50H3), HIS295H, HIS396H, (HIS396Y)",Africa in the Era of the Slave Trade,, +HISB51H3,HIS_PHIL_CUL,,"Modern Sub-Saharan Africa, from the colonial conquests to the end of the colonial era. The emphasis is on both structure and agency in a hostile world. Themes include conquest and resistance; colonial economies; peasants and labour; gender and ethnicity; religious and political movements; development and underdevelopment; Pan-Africanism, nationalism and independence. Same as AFSB51H3 Africa and Asia Area",AFSA01H3/HISA08H3 or AFSB50H3 or HISB50H3 strongly recommended.,,"AFSB51H3, (HISC51H3), HIS396H, (HIS396Y)",Africa from the Colonial Conquests to Independence,, +HISB52H3,HIS_PHIL_CUL,,"An interdisciplinary introduction to African and African diasporic religions in historic context, including traditional African cosmologies, Judaism, Christianity, Islam, as well as millenarian and synchretic religious movements. Same as AFSB01H3 Africa and Asia Area",AFSA01H3/HISA08H3,,"AFSB01H3, (AFSA02H3)",African Religious Traditions Through History,, +HISB53H3,HIS_PHIL_CUL,,"Why does Southern Asia’s pre-colonial history matter? Using materials that illustrate the connected worlds of Central Asia, South Asia and the Indian Ocean rim, we will query conventional histories of Asia in the time of European expansion. Same as GASB53H3 0.5 pre-1800 credit Africa & Asia Area",,,GASB53H3,"Mughals and the World, 1500- 1858 AD",, +HISB54H3,HIS_PHIL_CUL,,"Africa from the 1960s to the present. After independence, Africans experienced great optimism and then the disappointments of unmet expectations, development crises, conflict and AIDS. Yet the continent’s strength is its youth. Topics include African socialism and capitalism; structural adjustment and resource economies; dictatorship and democratization; migration and urbanization; social movements. Same as AFSB54H3 Asia and Africa Area",,AFSA01H3 or AFSB51H3 or 0.5 credit in Modern History,"AFSB54H3, NEW250Y1",Africa in the Postcolonial Era,, +HISB57H3,HIS_PHIL_CUL,,"A survey of South Asian history. The course explores diverse and exciting elements of this long history, such as politics, religion, trade, literature, and the arts, keeping in mind South Asia's global and diasporic connections. Africa and Asia Area Same as GASB57H3",,,"HIS282Y, HIS282H, GASB57H3",Sub-Continental Histories: South Asia in the World,, +HISB58H3,HIS_PHIL_CUL,,"This course provides an overview of the historical changes and continuities of the major cultural, economic, political, and social institutions and practices in modern Chinese history. Same as GASB58H3 Africa and Asia Area",0.5 credit at the A-level in HIS or GAS courses,Any 2.0 credits,"HIS280Y, GASB58H3",Modern Chinese History,, +HISB59H3,HIS_PHIL_CUL,,"This is a gateway course to the study of the history of science, technology, and medicine, examining the development of modern science and technology in service of and as a response to mercantile and colonial empires. Students will read historical scholarship and also get a basic introduction to the methods, big ideas, and sources for the history of science, technology and medicine. Such scientific and technological advances discussed will include geography and cartography; botany and agricultural science; race science and anthropology; tropical medicine and disease control; transportation and communication technologies.",,,,"Science, Technology, Medicine and Empire",, +HISB60H3,HIS_PHIL_CUL,,"The development of Europe from the Late Roman period to the eleventh-century separation of the Roman and Byzantine Churches. The course includes the foundation and spread of Christianity, the settlement of ""barbarians"" and Vikings, the establishment of Frankish kingship, the Empire of Charlemagne, and feudalism and manorialism. 0.50 pre-1800 credit Medieval Area",,,HIS220Y,Europe in the Early Middle Ages (305-1053),, +HISB61H3,HIS_PHIL_CUL,,"An introduction to the social, political, religious and economic foundations of the Western world, including Church and State relations, the Crusades, pilgrimage, monasticism, universities and culture, rural exploitation, town development and trade, heresy, plague and war. Particular attention will be devoted to problems which continue to disrupt the modern world. 0.50 pre-1800 credit Medieval Area",,,HIS220Y,Europe in the High and Late Middle Ages (1053-1492),, +HISB62H3,HIS_PHIL_CUL,,"An exploration of the interplay of culture, religion, politics and commerce in the Mediterranean region from 1500 to 1800. Through travel narratives, autobiographical texts, and visual materials we will trace how men and women on the Mediterranean's European, Asian, and African shores experienced their changing world. 0.50 pre-1800 credit Transnational Area.",,,,"The Early Modern Mediterranean, 1500-1800",, +HISB63H3,HIS_PHIL_CUL,,"This course explores the history of early and medieval Islamic societies, from the rise of Islam in the seventh century up to the Mongol invasions (c. 1300). The course will trace the trajectory of the major Islamic dynasties (i.e.: Umayyads, Abbasids, Seljuks, Fatimids, and Ayyubids) and also explore the cultural and literary developments in these societies. Geographically, the course spans North Africa, the Mediterranean, the Middle East, and Central Asia. Pre-1800 course Medieval Area",,,"NMC273Y1, NMC274H1, NMC283Y1, HIS201H5, RLG204H5",Muhammad to the Mongols: Islamic History 600-1300,, +HISB64H3,HIS_PHIL_CUL,,"This course explores the political and cultural history of early modern and modern Muslim societies including the Mongols, Timurids, Mamluks, and the Gunpowder empires (Ottomans, Safavids and Mughals). It concludes with the transformations in the Middle East in the nineteenth and twentieth centuries: European colonialism, modernization, and the rise of the nation-states. Pre-1800 course Medieval Area",,,NMC278H1,The Making of the Modern Middle East: Islamic History 1300-2000,, +HISB65H3,HIS_PHIL_CUL,,"For those who reside east of it, the Middle East is generally known as West Asia. By reframing the Middle East as West Asia, this course will explore the region’s modern social, cultural, and intellectual history as an outcome of vibrant exchange with non-European world regions like Asia. It will foreground how travel and the movement fundamentally shape modern ideas. Core themes of the course such as colonialism and decolonization, Arab nationalism, religion and identity, and feminist thought will be explored using primary sources (in translation). Knowledge of Arabic is not required. Same as GASB65H3 Africa and Asia Area",,,GASB65H3,West Asia and the Modern World,, +HISB74H3,SOCIAL_SCI,,"This course explores the social circulation of Asian-identified foods and beverages using research from geographers, anthropologists, sociologists, and historians to understand their changing roles in ethnic entrepreneur-dominated cityscapes of London, Toronto, Singapore, Hong Kong, and New York. Foods under study include biryani, curry, coffee, dumplings, hoppers, roti, and tea. Same as GASB74H3 Africa and Asia Area",,,,Asian Foods and Global Cities,, +HISB93H3,HIS_PHIL_CUL,,"Europe from the French Revolution to the First World War. Major topics include revolution, industrialization, nationalism, imperialism, science, technology, art and literature. European Area",,,"HIS241H, (HISB90H3), (HISB92H3)",Modern Europe I: The Nineteenth Century,, +HISB94H3,HIS_PHIL_CUL,,"Europe from the First World War to the present day. War, political extremism, economic crisis, scientific and technological change, cultural modernism, the Holocaust, the Cold War, and the European Union are among the topics covered. European Area",,,"HIS242H, (HISB90), (HISB92)",Modern Europe II: The Twentieth Century,, +HISB96H3,HIS_PHIL_CUL,,"The course is an introduction to some of the most radical European ideas from the eighteenth to the twentieth century. We will study ideas that challenged the existing political order and aimed to overturn the social status quo, ideas that undermined centuries of religious belief and ideas that posed new visions of what it meant to be human. This will include the study of classic texts written by well-known intellectual figures, as well as the study of lesser-known writers and people who challenged the received wisdom of the day. European Area",,,,Dangerous Ideas: Radical Books and Reimagined Worlds in Modern Europe,, +HISC01H3,HIS_PHIL_CUL,,An examination of the nature and uses of evidence in historical and related studies. Historians use a wide variety of sources as evidence for making meaningful statements about the past. This course explores what is meant by history and how historians evaluate sources and test their reliability as historical evidence.,,HISB03H3,,History and Evidence,, +HISC02H3,HIS_PHIL_CUL,,"This is an intensive reading course that explores the Marxist historical tradition in critical perspective. It builds upon HISA09H3, and aims to help students acquire a theoretical and practical appreciation of the contributions, limitations, and ambiguities of Marxian approaches to history. Readings include classical philosophers and social critics, contemporary historians, and critics of Marxism.",HISA09H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,Marx and History,, +HISC03H3,HIS_PHIL_CUL,,"An examination of the places of animals in global history. The course examines on-going interactions between humans and animals through hunting, zoos, breeding, and pets and the historical way the divide between humans and animals has been measured. Through animals, people have often thought about what it means to be human. Same as (IEEC03H3) Transnational Area",,Any 2.5 credits in History.,"(HISD03H3), (IEEC03H3)",History of Animals and People,, +HISC04H3,HIS_PHIL_CUL,,"This class seeks to recover a celebratory side of human experience that revolves around alcohol and stimulating beverages. Although most societies have valued psychoactive beverages, there has also been considerable ambivalence about the social consequences of excessive drinking. Students will examine drinking cultures through comparative historical study and ethnographic observation. Transnational Area",,2.5 credits in HIS courses,,Drink in History,, +HISC05H3,HIS_PHIL_CUL,,"This course puts urban food systems in world historical perspective using case studies from around the world and throughout time. Topics include provisioning, food preparation and sale, and cultures of consumption in courts, restaurants, street vendors, and domestic settings. Students will practice historical and geographical methodologies to map and interpret foodways. Same as FSTC05H3 Transnational Area",,"Any 4.0 credits, including 0.5 credit at the A or B-level in CLA, FST, GAS HIS or WST courses",FSTC05H3,Feeding the City: Food Systems in Historical Perspective,, +HISC06H3,,,"In the oft- titled “Information age” how has historical practice changed? How will researchers analyze the current moment, which produces ever more, and ever-more fragile information? This third-year seminar explores the foundations of digital history by understanding the major shifts in historiography and historical research that have occurred through computing. Students taking this class will be prepared to take HISD18 and further extend their knowledge of digital methodologies.",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,Futures of the Past: Introduction to Digital History,, +HISC07H3,HIS_PHIL_CUL,,"This course prepares students to work in the field of digital history. We focus on the development of concrete skills in spatial and visual analysis; web technologies including HTML, CSS, JavaScript, and Web Components; and multi- media authoring. Each year, we choose a different thematic focus and use techniques of digital history to explore it. Students completing this class will acquire skills that qualify them to participate in ongoing Digital History and Digital Humanities projects run by department faculty, as well as to initiate their own research projects.","0.5 credit at the A or B-level in CLA, FST, GAS, HIS or WST courses",HISB05H3,"HIS355H1, HISC06H3","Data, Text, and the Future of the Past",, +HISC08H3,HIS_PHIL_CUL,,"An examination of the depiction of empires and the colonial and postcolonial experience on film. This course also introduces students to the development of national cinemas in Asia, Africa, the Caribbean and the South Pacific. The relationship between academic history and history as imagined by filmmakers is a key theme. Transnational Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",(HISB18H3),Colonialism on Film,, +HISC09H3,HIS_PHIL_CUL,,"This course examines early modern globalization through that cosmopolitan actor, the pirate. Beginning in the Caribbean, we will explore networks of capitalism, migration, empire, and nascent nationalism. By studying global phenomena through marginalized participants—pirates, maroons, rebels, and criminals—we seek alternate narratives on the modern world’s origins.",,1.0 credit in HIS courses,,Pirates of the Caribbean,, +HISC10H3,HIS_PHIL_CUL,,"This course focuses on the History of ancient Egypt, with a focus on the Hellenistic to early Arab periods (4th c. BCE to 7th c. CE). Lectures will emphasize the key role played by Egypt’s diverse environments in the shaping of its socio- cultural and economic features as well as in the policies adopted by ruling authorities. Elements of continuity and change will be emphasized and a variety of primary sources and sites will be discussed. Special attention will also be dedicated to the role played by imperialism, Orientalism, and modern identity politics in the emergence and trajectory of the fields of Graeco-Roman Egyptian history, archaeology, and papyrology. Same as (IEEC52H3), CLAC05H3 0.5 pre-1800 credit Ancient World Area",,"2.0 credits in CLA or HIS courses, including 1.0 credit from the following: CLAA04H3/HISA07H3 or CLAB05H3/HISB10H3 or CLAB06H3/HISB11H3","CLAC05H3, (IEEC52H3)",Beyond Cleopatra: Decolonial Approaches to Ancient Egypt,, +HISC11H3,HIS_PHIL_CUL,,A critical examination of multiculturalism and cultural identities in the Greek and Roman worlds. Special attention will be dedicated to the evidences through which these issues are documented and to their fundamental influence on the formation and evolution of ancient Mediterranean and West Asian societies and cultures. Same as CLAC24H3 0.5 pre-1800 credit Ancient World Area,CLAB05H3 and CLAB06H3,1.0 credit in CLA or HIS courses.,CLAC24H3,Race and Ethnicity in the Ancient Mediterranean and West Asian Worlds,, +HISC16H3,HIS_PHIL_CUL,,"This course will explore the representations and realities of Indigeneity in the ancient Mediterranean world, as well as the entanglements between modern settler colonialism, historiography, and reception of the 'Classical' past. Throughout the term, we will be drawn to (un)learn, think, write, and talk about a series of topics, each of which pertains in different ways to a set of overarching questions: What can Classicists learn from ancient and modern indigenous ways of knowing? What does it mean to be a Classicist in Tkaronto, on the land many Indigenous Peoples call Turtle Island? What does it mean to be a Classicist in Toronto, Ontario, Canada? What does it mean to be a Classicist in a settler colony? How did the Classics inform settler colonialism? How does modern settler colonialism inform our reconstruction of ancient indigeneities? How does our relationship to the land we come from and are currently on play a role in the way we think about the ancient Mediterranean world? Why is that so? How did societies of the ancient Mediterranean conceive of indigeneity? How did those relationships manifest themselves at a local, communal, and State levels? Same as CLAC26H3 Ancient World Area",,"Any 4.0 credits, including 1.0 credit in CLA or HIS courses",CLAC26H3,Indigeneity and the Classics,, +HISC18H3,HIS_PHIL_CUL,,An examination of the ideals of the Enlightenment against the background of social and political change in eighteenth- century Europe. This course looks at Enlightenment thought and the ways in which European monarchs like Frederick the Great and Catherine the Great adapted it to serve their goals of state building. 0.50 pre-1800 credit European Area,,1.0 credit at B-level in European history,"HIS244H, HIS341Y","Europe in the Enlightenment, 1700-1789",, +HISC20H3,HIS_PHIL_CUL,,"This course examines the political, cultural and social history of fascism, from historical regimes and movements to contemporary expressions of the far right, alt-right and populist nationalism. We will explore topics including intellectual origins, the mobilization of culture, the totalitarian state, political violence, and global networks.",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,Fascism and the Far Right,, +HISC22H3,HIS_PHIL_CUL,,"This course examines the impact of Second World War on the political, social, and cultural fabric of European societies. Beyond the military and political history of the war, it will engage topics including, but not limited to, geopolitical and ideological contexts; occupation, collaboration and resistance; the lives of combatants and civilians in total war; the Holocaust and the radicalisation of violence; and postwar memory. European Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,The Second World War in Europe,, +HISC26H3,HIS_PHIL_CUL,,"The course will present the causes, processes, principles, and effects of the French Revolution. It will additionally present the relationship between the French Revolution and the Haitian Revolution, and look at the rise of Napoleon Bonaparte. 0.5 pre-1800 credit European Area",,,HIS457H,The French Revolution and the Napoleonic Empire,, +HISC27H3,HIS_PHIL_CUL,,"The course will cover major developments in sexuality in Europe since antiquity. It will focus on the manner in which social, political, and economic forces influenced the development of sexuality. It will also analyze how religious beliefs, philosophical ideas, and scientific understanding influenced the ways that sexuality was understood. European Area",,,,The History of European Sexuality: From Antiquity to the Present,, +HISC29H3,HIS_PHIL_CUL,,"This course explores familiar commodities in terms of natural origins, everyday cultures of use, and global significance. It analyses environmental conditions, socio-economic transactions, political, religious, and cultural contexts around their production, distribution, and consumption. Commodity case studies will be selected among tea, opium, chocolate, rice, bananas, cotton, rubber, coffee, and sugar. Transnational Area",HISB03H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,"Global Commodities: Nature, Culture, History",,Priority will be given to students enrolled in the Specialist and Major programs in History +HISC30H3,HIS_PHIL_CUL,,"Collectively, immigrants, businesspeople, investors, missionaries, writers and musicians may have been as important as diplomats’ geopolitical strategies in creating networks of connection and exchange between the United States and the world. This course focuses on the changing importance and interactions over time of key groups of state and non-state actors. United States and Latin America Area",,"1.0 credit at the A-level in AFS, GAS or HIS courses",,The U.S. and the World,, +HISC32H3,HIS_PHIL_CUL,,"Overview of the political and social developments that produced the modern United States in the half-century after 1877. Topics include urbanization, immigration, industrialization, the rise of big business and of mass culture, imperialism, the evolution of the American colour line, and how Americans used politics to grapple with these changes. United States and Latin America Area",HISB30H3 and HISB31H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,"The Emergence of Modern America, 1877-1933",, +HISC33H3,HIS_PHIL_CUL,,"An examination of the relationship between culture and politics in modern American history. The course considers culture as a means through which Americans expressed political desires. Politics, similarly, can be understood as a forum for cultural expression. Topics include imperialism, immigration and migration, the Cold War, and the ""culture wars"". United States and Latin America Area",,HISB30H3 and HISB31H3,,Modern American Political Culture,, +HISC34H3,HIS_PHIL_CUL,,"This transnational history course explores the origins, consolidation, and unmaking of segregationist social orders in the American South and South Africa. It examines the origins of racial inequality, the structural and socio-political roots of segregation, the workings of racial practices and ideologies, and the various strategies of both accommodation and resistance employed by black South Africans and African Americans from the colonial era up to the late twentieth century. Transnational Area",,AFSB51H3 or HISB31H3,,"Race, Segregation, Protest: South Africa and the United States",, +HISC36H3,HIS_PHIL_CUL,,"Overview of the waves of immigration and internal migration that have shaped America from the colonial period to the present. Topics include colonization and westward migration, immigrants in the industrial and contemporary eras, nativism, stances towards pluralism and assimilation, and how migration experiences have varied by race, class, and gender. United States and Latin America Area",HISB30H3 and HISB31H3,"[Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses] or [any 8.0 credits, including SOCB60H3]",,People in Motion: Immigrants and Migrants in U.S. History,, +HISC37H3,HIS_PHIL_CUL,,"Students in this course will examine the development of regional cuisines in North and South America. Topics will include indigenous foodways, the role of commodity production and alcohol trade in the rise of colonialism, the formation of national cuisines, industrialization, migration, and contemporary globalization. Tutorials will be conducted in the Culinaria Kitchen Laboratory. Same as FSTC37H3 United States and Latin America Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in CLA, FST, GAS, HIS or WST courses",FSTC37H3,Eating and Drinking Across the Americas,, +HISC39H3,HIS_PHIL_CUL,,"the Blues in the Mississippi Delta, 1890- 1945 This course examines black life and culture in the cotton South through the medium of the blues. Major topics include: land tenure patterns in southern agriculture, internal and external migration, mechanisms of state and private labour control, gender conventions in the black community, patterns of segregation and changing race relations. United States and Latin America Area",,,HIS478H,Hellhound on My Trail: Living,, +HISC45H3,HIS_PHIL_CUL,,"An examination of aspects of the history of immigrants and race relations in Canada, particularly for the period 1840s 1960s. The course covers various immigrant and racialized groups and explores how class, gender and race/ethnicity shaped experiences and racial/ethnic relations. Canadian Area",,Any 4.0 credits,HIS312H,Immigrants and Race Relations in Canadian History,, +HISC46H3,HIS_PHIL_CUL,,"A look at Canada's evolution in relation to developments on the world stage. Topics include Canada's role in the British Empire and its relationship with the U.S., international struggles for women's rights, Aboriginal peoples' sovereignty and LGBT equality, socialism and communism, the World Wars, decolonization, the Cold War, humanitarianism, and terrorism. Canadian Area",HISB40H3 or HISB41H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses","HIS311H, HIS311Y",Canada and the World,, +HISC51H3,HIS_PHIL_CUL,,"This course addresses literary, historical, ethnographic, and filmic representations of the political economy of China and the Indian subcontinent from the early 19th century to the present day. We will look at such topics as the role and imagination of the colonial-era opium trade that bound together India, China and Britain in the 19th century, anticolonial conceptions of the Indian and Chinese economies, representations of national physical health, as well as critiques of mass-consumption and capitalism in the era of the ‘liberalization’ and India and China’s rise as major world economies. Students will acquire a grounding in these subjects from a range of interdisciplinary perspectives. Same as GASC51H3 Asia and Africa Area",GASA01H3/HISA06H3 or GASA02H3,"Any 4.0 credits, including 0.5 credit at the A- level and 0.5 credit at the B-level in HIS, GAS or other Humanities and Social Sciences courses",GASC51H3,From Opium to Maximum City: Narrating Political Economy in China and India,, +HISC52H3,HIS_PHIL_CUL,,"This course uses a focus on material history and visual culture to explore Ethiopia from the fourth through the nineteenth century, with particular emphasis on the Christian Church, the monarchy, links with both the Mediterranean world and the Indian subcontinent, and the relationship of individuals to their social, economic, artistic and geographic environments. Same as AFSC52H3 and VPHC52H3 0.50 pre-1800 credit Africa and Asia Area",,[1.0 credit in History] or [VPHA46H3 and an additional 1.0 credit in VPH courses],"AFSC52H3, VPHC52H3",Ethiopia: Seeing History,, +HISC54H3,SOCIAL_SCI,,"Students examine historical themes for local and regional cuisines across Global Asia, including but not limited to Anglo-Indian, Arab, Bengali, Chinese, Himalayan, Goan, Punjabi, Japanese, Persian, Tamil, and Indo-Caribbean. Themes include religious rituals, indigenous foodways; colonialism, industrialization, labour, gender, class, migration, globalization, and media. Tutorials are in the Culinaria Kitchen Lab. Same as FSTC54H3 and GASC54H3 Africa and Asia Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level from CLA, FST, GAS, HIS or WST courses","FSTC54H3, GASC54H3",Eating and Drinking Across Global Asia,, +HISC55H3,HIS_PHIL_CUL,,"Conflict and social change in Africa from the slave trade to contemporary times. Topics include the politics of resistance, women and war, repressive and weak states, the Cold War, guerrilla movements, resource predation. Case studies of anticolonial rebellions, liberation wars, and civil conflicts will be chosen from various regions. Same as AFSC55H3 Africa and Asia Area",,"Any 4.0 credits, including: AFSB50H3/HISB50H3 or AFSB51H3/HISB51H3 or (HISC50H3) or (HISC51H3)",AFSC55H3,War and Society in Modern Africa,, +HISC56H3,HIS_PHIL_CUL,,"An introduction to the distinctive East Asian legal tradition shared by China, Japan, and Korea through readings about selected thematic issues. Students will learn to appreciate critically the cultural, political, social, and economic causes and effects of East Asian legal cultures and practices. Same as GASC50H3 Africa and Asia Area",GASB58H3/HISB58H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses",GASC50H3,Comparative Studies of East Asian Legal Cultures,, +HISC57H3,HIS_PHIL_CUL,,"A study of the history of China's relationship with the rest of the world in the modern era. The readings focus on China's role in the global economy, politics, religious movements, transnational diasporas, scientific/technological exchanges, and cultural encounters and conflicts in the ages of empire and globalization. Same as GASC57H3 Africa and Asia Area",GASB58H3/HISB58H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses",GASC57H3,China and the World,, +HISC58H3,HIS_PHIL_CUL,,"Delhi and London were two major cities of the British Empire. This course studies their parallel destinies, from the imperial into the post-colonial world. It explores how diverse cultural, ecological, and migratory flows connected and shaped these cities, using a wide range of literary, historical, music, and film sources. Transnational Area",HISB02H3 or HISB03H3 or GASB57H3/HISB57H3 or GASB74H3/HISB74H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level from CLA, FST, GAS, HIS or WST courses",,"Delhi and London: Imperial Cities, Mobile People",, +HISC59H3,HIS_PHIL_CUL,,"This course explores the transnational history of Tamil worlds. In addition to exploring modern Tamil identities, the course will cover themes such as mass migration, ecology, social and economic life, and literary history. Same as GASC59H3 Africa and Asia Area",GASB57H3/HISB57H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses","GASC59H3, (HISB54H3), (GASB54H3)",The Making of Tamil Worlds,, +HISC60H3,HIS_PHIL_CUL,,"An exploration of how medieval and early modern societies encountered foreigners and accounted for foreignness, as well as for religious, linguistic, and cultural difference more broadly. Topics include: monsters, relics, pilgrimage, the rise of the university, merchant companies, mercenaries, piracy, captivity and slavery, tourism, and the birth of resident embassies. Same as (IEEC51H3) 0.5 pre-1800 credit Transnational Area",HISB62H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in CLA, FST, GAS, HIS or WST courses",(IEEC51H3),"Old Worlds? Strangers and Foreigners in the Mediterranean, 1200- 1700",, +HISC65H3,HIS_PHIL_CUL,,"Social and cultural history of the Venetian Empire from a fishermen's colony to the Napoleonic Occupation of 1797. Topics include the relationships between commerce and colonization in the Mediterranean, state building and piracy, aristocracy and slavery, civic ritual and spirituality, guilds and confraternities, households and families. 0.5 pre-1800 credit European Area",HISB62H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in CLA, FST, GAS, HIS or WST courses",,"Venice and its Empire, 800- 1800",, +HISC66H3,HIS_PHIL_CUL,,"This course tracks the evolving histories of gender and sexuality in diverse Muslim societies. We will examine how gendered norms and sexual mores were negotiated through law, ethics, and custom. We will compare and contrast these themes in diverse societies, from the Prophet Muhammad’s community in 7th century Arabia to North American and West African Muslim communities in the 21st century. Same as WSTC66H3 Transnational Area",,"[Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses] or [1.5 credits in WST courses, including 0.5 credit at the B- or C-level]","WSTC66H3, RLG312H1","Histories of Gender and Sexuality in Muslim Societies: Between Law, Ethics and Culture",, +HISC67H3,HIS_PHIL_CUL,,"the Construction of a Historical Tradition This course examines the history and historiography of the formative period of Islam and the life and legacy of Muḥammad, Islam’s founder. Central themes explored include the Late Antique context of the Middle East, pre- Islamic Arabia and its religions, the Qur’ān and its textual history, the construction of biographical accounts of Muḥammad, debates about the historicity of reports from Muḥammad, and the evolving identity and historical conception of the early Muslim community. Same as CLAC67H3 Pre-1800 course Ancient World Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",CLAC67H3,Early Islam: Perspectives on,, +HISC68H3,HIS_PHIL_CUL,,"This course reflects on the concept of Orientalism and how it informs the fields of Classical Studies and Anthropology. Topics to be discussed include the Orientalization of the past and the origin, role, and significance of ancient representations of the ""Other"" in contemporary discourses. Same as ANTC58H3 and CLAC68H3",,"1.0 credit from the following: [CLAA04H3/HISA07H3, CLAB05H3/HISB10H3, CLAB06H3/HISB11H3, ANTA02H3, ANTB19H3, ANTB20H3, HISB02H3, AFSB50H3/HISB50H3, AFSB51H3/HISB51H3, HISB53H3, HISB57H3, HISB58H3, HISB60H3, HISB61H3, HISB62H3, HISB93H3, HISB94H3]","ANTC58H3, CLAC68H3",Constructing the Other: Orientalism through Time and Place,, +HISC70H3,HIS_PHIL_CUL,,"The migration of Caribbean peoples to the United States, Canada, and Europe from the late 19th century to the present. The course considers how shifting economic circumstances and labour demands, the World Wars, evolving imperial relationships, pan-Africanism and international unionism, decolonization, natural disasters, and globalization shaped this migration. Same as AFSC70H3 Transnational Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses","NEW428H, AFSC70H3",The Caribbean Diaspora,, +HISC71H3,HIS_PHIL_CUL,,"Using the methods of intellectual history, this course explores the connected histories of two distinct systems of social oppression: caste and race. While caste is understood to be a peculiarly South Asian historical formation, race is identified as foundational to Atlantic slavery. Yet ideas about race and caste have intersected with each other historically from the early modern period through the course of European colonialism. How might we understand those connections and why is it important to do so? How has the colonial and modern governance of society, economy and sexuality relied on caste and race while keeping those categories resolutely apart? How have Black and Oppressed caste intellectuals and sociologists insisted on thinking race and caste together? We will explore these questions by examining primary texts and essays and the debates they provoked among thinkers from Latin America, the Caribbean, the American South, South Africa, and South Asia. African and Asia Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,Race and Caste: A Connected History,, +HISC73H3,HIS_PHIL_CUL,,The course will explore the history and career of a term: The Global South. The global south is not a specific place but expressive of a geopolitical relation. It is often used to describe areas or places that were remade by geopolitical inequality. How and when did this idea emerge? How did it circulate? How are the understandings of the global south kept in play? Our exploration of this term will open up a world of solidarity and circulation of ideas shaped by grass-roots social movements in different parts of the world Same as GASC73H3 Africa and Asia Area,,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses",GASC73H3,Making the Global South,, +HISC75H3,HIS_PHIL_CUL,,A survey of human mobility from the era when humans first populated the earth to the global migrations of our own time. An introduction to the main categories of human movement and to historical and modern arguments for fostering or restricting migration. Transnational Area,,Any 4.0 credits,,Migration in Global History,, +HISC77H3,HIS_PHIL_CUL,,"Soccer (“football” to most of the world) is the world’s game and serves as a powerful lens through which to examine major questions in modern world history. How did a game that emerged in industrial Britain spread so quickly throughout the globe? How has the sport been appropriated politically and become a venue for contests over class, ethnic and national identity? Why have wars been fought over the outcome of matches? In short, how does soccer explain the modern world? Transnational Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",HIS482H1/(HIS199H1),Soccer and the Modern World,, +HISC94H3,HIS_PHIL_CUL,,"The Qur'an retells many narratives of the Hebrew Bible and the New Testament. This course compares the Qur'anic renditions with those of the earlier scriptures, focusing on the unique features of the Qur'anic versions. It will also introduce the students to the history of ancient and late antique textual production, transmission of texts and religious contact. The course will also delve into the historical context in which these texts were produced and commented upon in later generations. Same as CLAC94H3",,"Any 4.0 credits, including [[1.0 credit in CLA or HIS courses] or [WSTC13H3]]",CLAC94H3,The Bible and the Qur’an,, +HISC96H3,ART_LIT_LANG,,"An examination of the relationship between language, society and identity in North Africa and the Arabic-speaking Middle East from the dawn of Islam to the contemporary period. Topics include processes of Arabization and Islamization, the role of Arabic in pan-Arab identity; language conflict in the colonial and postcolonial periods; ideologies of gender and language among others. Asia and Africa Area",,"Any B-level course in African Studies, Linguistics, History, or Women's and Gender Studies",(AFSC30H3),Language and Society in the Arab World,, +HISC97H3,HIS_PHIL_CUL,,"This course examines women in Sub-Saharan Africa in the pre-colonial, colonial and postcolonial periods. It covers a range of topics including slavery, colonialism, prostitution, nationalism and anti-colonial resistance, citizenship, processes of production and reproduction, market and household relations, and development. Same as AFSC97H3 Asia and Africa Area",,"Any 4.0 credits, including: HISA08H3/AFSA01H3 or HISB50H3/AFSB50H3 or HISB51H3/AFSB51H3",AFSC97H3,Women and Power in Africa,, +HISD01H3,,University-Based Experience,"This option is available in rare and exceptional circumstances to students who have demonstrated a high level of academic maturity and competence. Qualified students will have the opportunity to investigate a historical field which is of common interest to both student and supervisor. Only standing faculty may serve as supervisors, please see the HCS website for a list of eligible faculty.",,At least 15.0 credits and completion of the requirements for the Major Program in History; written permission must be obtained from the instructor in the previous session.,"(HIS497Y), HIS498H, HIS499H, HIS499Y",Independent Studies: Senior Research Project,, +HISD02H3,,University-Based Experience,"This option is available in rare and exceptional circumstances to students who have demonstrated a high level of academic maturity and competence. Qualified students will have the opportunity to investigate an historical field which is of common interest to both student and supervisor. Only standing faculty may serve as supervisors, please see the HCS website for a list of eligible faculty.",,At least 15.0 credits and completion of the requirements for the Major program in History; written permission must be obtained from the instructor in the previous session.,"(HIS497Y), HIS498H, HIS499H, HIS499Y",Independent Studies: Senior Research Project,, +HISD03H3,HIS_PHIL_CUL,,This seminar will expose students to advanced subject matter and research methods in history. Each seminar will explore a selected topic.,,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses].",,Selected Topics in Historical Research,, +HISD05H3,HIS_PHIL_CUL,,"A seminar exploring the social history of translators, interpreters, and the texts they produce. Through several case studies from Ireland and Istanbul to Québec, Mexico City, and Goa, we will ask how translators shaped public understandings of ""self"" and ""other,"" ""civilization"" and ""barbarity"" in the wake of European colonization. Transnational Area",HISB62H3 or HISC18H3 or HISC60H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS, GAS or CLA courses]",,Between Two Worlds? Translators and Interpreters in History,, +HISD06H3,HIS_PHIL_CUL,,"An exploration of the global problem of crime and punishment. The course investigates how the global processes of colonialism, industrialization, capitalism and liberalization affected modern criminal justice and thus the state-society relationship and modern citizenry in different cultures across time and space. Same as GASD06H3 Transnational Area",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",GASD06H3,Global History of Crime and Punishment since 1750,, +HISD07H3,HIS_PHIL_CUL,,"A comparative analysis of transnational histories, and cultural and gendered ideologies of children and childhood through case studies of foundlings in Italy, factory children in England, orphans and adoption in the American West, labouring children in Canada and Australia, and mixed-race children in British India. Transnational Area",HISB02H3 or HISB03H3 or WSTB06H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS or WST courses] and [0.5 credit at the C- level in HIS or WST courses]",(WSTD07H3),Themes in the History of Childhood and Culture,, +HISD08H3,HIS_PHIL_CUL,,"An examination of approaches to historical analysis that take us beyond the national narrative beginning with the study of borderlands between the United States and Mexico, comparing that approach with the study of Canada/United States borderlands and finishing with themes of a North American continental or transnational nature. United States and Latin America Area",[HISB30H3 and HISB31H3] or [HISB40H3 and HISB41H3],"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Borderlands and Beyond: Thinking about a North American History,, +HISD09H3,HIS_PHIL_CUL,,"This course offers an in-depth and historicized study of important issues in historical and contemporary Asian, diasporic, and borderland societies such as migration, mobility, and circulation. It is conducted in seminar format with emphasis on discussion, critical reading and writing, digital skills, and primary research. Same as GASD01H3 Asia and Africa Area",,"Any 8.0 credits, including [0.5 at the A- or B- level in CLA, FST, GAS, HIS or WST courses] and [0.5 credit at the C-level in CLA, FST, GAS, HIS or WST courses]",GASD01H3,Senior Seminar: Topics in Global Asian Migrations,, +HISD10H3,HIS_PHIL_CUL,,This seminar type course addresses issues related to the relationships between ancient Mediterranean and West Asian societies and their hydric environments from 5000 BC to 600 AD. Same as CLAD05H3 0.5 pre-1800 credit Ancient World Area,CLAB05H3 and CLAB06H3,Any 11.0 credits including 2.0 credits in CLA or HIS courses.,CLAD05H3,Dripping Histories: Water in the Ancient Mediterranean and West Asian Worlds,, +HISD12H3,HIS_PHIL_CUL,,"The course will focus on major developments in art and ideas in early twentieth century Europe. We will study experimental forms of art and philosophy that fall under the broad category of Modernism, including painting, music, literature, and film, as well as philosophical essays, theoretical manifestos, and creative scholarly works. European Area",,0.5 credit at the C-level in a European History course,,"Making it Strange: Modernisms in European Art and Ideas, 1900-1945",, +HISD14H3,HIS_PHIL_CUL,,This is a seminar-style course organized around a selected topic in Modern European History. European Area,,"7.5 credits in HIS courses, including [(HISB90H3) or (HISB91H3) or (HISB92H3) or HISB93H3]",,Selected Topics in Modern European History,, +HISD16H3,HIS_PHIL_CUL,,"A comparative exploration of socialist feminism, encompassing its diverse histories in different locations, particularly China, Russia, Germany and Canada. Primary documents, including literary texts, magazines, political pamphlets and group manifestos that constitute socialist feminist ideas, practices and imaginaries in different times and places will be central. We will also seek to understand socialist feminism and its legacies in relation to other contemporary stands of feminism. Same as WSTD16H3 Transnational Area",,"1.0 credit at the B-level and 1.0 credit at the C- level in HIS, WST, or other Humanities and Social Sciences courses",WSTD16H3,Socialist Feminism in Global Context,, +HISD18H3,HIS_PHIL_CUL,,"This seminar/lab introduces students to the exploding field of digital history. Through a combination of readings and hands- on digital projects, students explore how the Web radically transforms how both professional historians and others envision the past and express these visions in various media. Technical background welcome but not required.",HISB03H3 or HISC01H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Digital History,,Priority will be given to students enrolled in the Specialist and Major programs in History. Additional students will be admitted as space permits. +HISD25H3,HIS_PHIL_CUL,Partnership-Based Experience,"An applied research methods course that introduces students to the methods and practice of Oral history, the history of Scarborough, the field of public history and community-based research. A critical part of the class will be to engage in fieldwork related to designing and conducting oral history interviews. Canadian Area",,"Any 8.0 credits, including [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]","WSTC02H3 (if taken in Fall 2013), CITC10H3 (if taken in Fall 2013), (HISC28H3), WSTD10H3, HISD44H3 (if taken in Fall 2013)",Oral History and Urban Change,, +HISD31H3,HIS_PHIL_CUL,,"A seminar exploring the evolution of American thinking about diversity -- ethnic, religious, and regional -- from colonial-era defenses of religious toleration to today's multiculturalism. Participants will consider pluralist thought in relation to competing ideologies, such as nativism, and compare American pluralisms to formulations arrived at elsewhere, including Canada. Transnational Area",HISB30H3 and HISB31H3,"[Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]] or [10.0 credits including SOCB60H3]",,Thinking of Diversity: Perspectives on American Pluralisms,, +HISD32H3,HIS_PHIL_CUL,,"This course explores the origins, growth, and demise of slavery in the United States. It focuses on slavery as an economic, social, and political system that shaped and defined early America. There will be an emphasis on developing historical interpretations from primary sources. United States and Latin America Area",HISB30H3,"Any 8.0 credits, including [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Slavery and Emancipation in the American South,, +HISD33H3,HIS_PHIL_CUL,,"DuBois, African American History, and the Politics of the Past This course focuses on three interrelated themes. First, it explores the social and political history of Reconstruction (1865 to 1877) when questions of power, citizenship, and democracy were fiercely contested. Second, it considers W.E.B. Du Bois’s magnum opus, Black Reconstruction, a book that not only rebutted dominant characterizations of this period but anticipated future generations of scholarship by placing African American agency at the centre of both Civil War and Reconstruction history, developed the idea of racial capitalism as an explanatory concept, and made a powerful argument about race and democracy in the USA. Third, the course looks at the politics of historical writing and knowledge in the past and today.","HISB30H3, HISB31H3","Any 8.0 credits, including: HISB03H3 and [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Black Reconstruction: W.E.B.,, +HISD34H3,,,"This fourth-year seminar is funded by the Canada Research Chair in Urban History and is taught by an advanced graduate student in American history. The course, with topics varying from year to year will focus on major themes in American social and cultural history, such as, women's history, labour history, and/or the history of slavery and emancipation. United States and Latin America Area",,HISB30H3 and HISB31H3,,Topics in American Social and Cultural History,,Topics vary from year to year. Check the website www.utsc.utoronto.ca/~hcs/programs/history.html for current offerings. +HISD35H3,HIS_PHIL_CUL,,"A seminar that puts contemporary U.S. debates over immigration in historical context, tracing the roots of such longstanding controversies as those over immigration restriction, naturalization and citizenship, immigrant political activism, bilingual education and ""English-only"" movements, and assimilation and multiculturalism. Extensive reading and student presentations are required. United States and Latin America Area",HISB30H3 and HISB31H3,"[Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]] or [10.0 credits including SOCB60H3]",,"The Politics of American Immigration, 1865-present",, +HISD36H3,HIS_PHIL_CUL,,"The most striking development in U.S. politics in the last half century has been the rebirth and rise to dominance of conservatism. This seminar examines the roots of today's conservative ascendancy, tracing the rise and fall of New Deal liberalism and the subsequent rise of the New Right. United States and Latin America Area",HISB30H3 and HISB31H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,From New Deal to New Right: American Politics since 1933,, +HISD44H3,HIS_PHIL_CUL,Partnership-Based Experience,"This course introduces students to the methods and practice of the study of local history, in this case the history of Scarborough. This is a service learning course that will require a commitment to working and studying in the classroom and the community as we explore forms of public history. Canadian Area",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Nearby History: The Method and Practice of Local History,, +HISD45H3,HIS_PHIL_CUL,,"A seminar on Canadian settler colonialism in the 19th and 20th centuries that draws comparisons from the United States and elsewhere in the British Empire. Students will discuss colonialism and the state, struggles over land and labour, the role of race, gender, and geography in ideologies and practices of colonial rule, residential schools, reconciliation and decolonization. Canadian Area",HISB40H3 or HISB41H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Canadian Settler Colonialism in Comparative Context,, +HISD46H3,HIS_PHIL_CUL,,"Weekly discussions of assigned readings. The course covers a broad chronological sweep but also highlights certain themes, including race and gender relations, working women and family economies, sexuality, and women and the courts. We will also explore topics in gender history, including masculinity studies and gay history. Same as WSTD46H3 Transnational Area",HISB02H3 or HISB03H3 or HISB14H3 or WSTB06H3 or HISB50H3 or GASB57H3/HISB57H3 or HISC09H3 or HISC29H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in CLA, FST, GAS, HIS or WST courses] and [0.5 credit at the C-level in CLA, FST, GAS, HIS or WST courses]",WSTD46H3,Selected Topics in Canadian Women's History,, +HISD47H3,HIS_PHIL_CUL,,"A seminar on Cold War Canada that focuses on the early post-war era and examines Canadian events, developments, experience within a comparative North American context. Weekly readings are organized around a particular theme or themes, including the national insecurity state; reds, spies, and civil liberties; suburbia; and sexuality. Canadian Area",,HISB41H3 and at least one other B- or C-level credit in History,,Cold War Canada in Comparative Contexts,, +HISD48H3,HIS_PHIL_CUL,,"How have Canadians historically experienced, and written about, the world? In what ways have nationalism, imperialism, and ideas about gender and race given meaning to Canadian understandings of the world? Students will consider these questions by exploring the work of Canadian travel writers, missionaries, educators, diplomats, trade officials, and intellectuals. Canadian Area",HISB40H3 or HISB41H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,The World Through Canadian Eyes,, +HISD50H3,HIS_PHIL_CUL,,"A seminar study of the history of the peoples of southern Africa, beginning with the hunter-gatherers but concentrating on farming and industrializing societies. Students will consider pre-colonial civilizations, colonialism and white settlement, violence, slavery, the frontier, and the mineral revolution. Extensive reading and student presentations are required. Africa and Asia Area",,"Any 8.0 credits, including: AFSB50H3/HISB50H3 or AFSB51H3/HISB51H3 or AFSC55H3/HISC55H3",,"Southern Africa: Conquest and Resistance, 1652-1900",, +HISD51H3,HIS_PHIL_CUL,,"A seminar study of southern African history from 1900 to the present. Students will consider industrialization in South Africa, segregation, apartheid, colonial rule, liberation movements, and the impact of the Cold War. Historiography and questions of race, class and gender will be important. Extensive reading and student presentations are required. Same as AFSD51H3 Africa and Asia Area",,8.0 credits including AFSB51H3/HISB51H3 or HISD50H3,AFSD51H3,"Southern Africa: Colonial Rule, Apartheid and Liberation",, +HISD52H3,HIS_PHIL_CUL,,"A seminar study of East African peoples from late pre-colonial times to the 1990's, emphasizing their rapid although uneven adaptation to integration of the region into the wider world. Transitions associated with migrations, commercialization, religious change, colonial conquest, nationalism, economic development and conflict, will be investigated. Student presentations are required. Same as AFSD52H3 Africa and Asia Area",,8.0 credits including AFSB50H3/HISB50H3 or AFSB51H3/HISB51H3 or HISC55H3,AFSD52H3,East African Societies in Transition,, +HISD53H3,HIS_PHIL_CUL,,"This seminar course examines the First World War in its imperial and colonial context in Africa and Asia. Topics include forgotten fronts in Africa, the Middle East, Asia and the Pacific, colonial armies and civilians, imperial economies and resources, the collapse of empires and the remaking of the colonial world. Same as AFSD53H3 and GASD53H3 Africa and Asia Area",,"8.0 credits, including: 1.0 credit in AFS, GAS, or Africa and Asia area HIS courses","AFSD53H3, GASD53H3",Africa and Asia in the First World War,, +HISD54H3,,,"This upper-level seminar will explore how water has shaped human experience. It will explore water landscapes, the representation of water in legal and political thought, slave narratives, and water management in urban development from the 16th century. Using case studies from South Asia and North America we will understand how affective, political and social relations to water bodies are made and remade over time. Same as GASD54H3",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",GASD54H3,Aqueous History: Water-stories for a Future,, +HISD55H3,HIS_PHIL_CUL,,"This course explores the transnational connections and contexts that shaped ideas in modern Asia such as secularism, modernity, and pan Asianism. Through the intensive study of secondary sources and primary sources in translation, the course will introduce Asian thought during the long nineteenth-century in relation to the social, political, cultural, and technological changes. Using the methods of studying transnational history the course will explore inter- Asian connections in the world of ideas and their relation to the new connectivity afforded by steamships and the printing press. We will also explore how this method can help understand the history of modern Asia as a region of intellectual ferment rather than a passive recipient of European modernity. Same as HISD55H3 Transnational Area",,"Any 8.0 credits, including [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",GASD55H3,Transnational Asian Thought,, +HISD56H3,HIS_PHIL_CUL,,"Labouring Diasporas in the British Empire Coolie' labourers formed an imperial diaspora linking South Asia and China to the Caribbean, Africa, the Indian Ocean, South-east Asia, and North America. The long-lasting results of this history are evident in the cultural and ethnic diversity of today's Caribbean nations and Commonwealth countries such as Great Britain and Canada. Africa and Asia Area Same as GASD56H3",,"[8.0 credits, at least 2.0 credits should be at the B-or C-level in GAS or Modern History courses] or [15.0 credits, including SOCB60H3]",GASD56H3,'Coolies' and Others: Asian,, +HISD57H3,HIS_PHIL_CUL,University-Based Experience,"This course will consider the long history of conflicts that have rippled across the Horn of Africa and Sudan. In particular, it will explore the ethnically and religiously motivated civil wars that have engulfed the region in recent decades. Particular attention will be given to Ethiopia and its historic provinces where warfare is experienced on a generational basis. Africa and Asia Area","AFSB05H3/ANTB05H3, AFSC55H3/HISC55H3",AFSC52H3/HISC52H3/VPHC52H3,,"Conflict in the Horn of Africa, 13th through 21st Centuries",, +HISD58H3,HIS_PHIL_CUL,University-Based Experience,"A study of major cultural trends, political practices, social customs, and economic developments in late imperial China (1400-1911) as well as their relevance to modern and contemporary China. Students will read the most recent literature and write a substantive research paper. Same as GASD58H3 0.5 pre-1800 credit Africa and Asia area",GASB58H3/HISB58H3 or GASC57H3/HISC57H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",GASD58H3,"Culture, Politics, and Society in Late Imperial China",, +HISD59H3,HIS_PHIL_CUL,,"A seminar course on Chinese legal tradition and its role in shaping social, political, economic, and cultural developments, especially in late imperial and modern China. Topics include the foundations of legal culture, regulations on sexuality, women's property rights, crime fictions, private/state violence, laws of ethnicities, prison reforms and modernization. Same as GASD59H3 0.5 pre-1800 credit Africa and Asia Area",GASB58H3/HISB58H3 or GASC57H3/HISC57H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",GASD59H3,Law and Society in Chinese History,, +HISD60H3,HIS_PHIL_CUL,,"The development of travel and travel narratives before 1800, and their relationship to trade and colonization in the Mediterranean and beyond. Topics include: Marco Polo, pilgrimage and crusading, the history of geography and ethnography. Extensive reading, oral presentations, and a final paper based on research in primary documents are required. 0.50 pre-1800 credit Transnational Area",HISB50H3 or HISB53H3 or HISB60H3 or HISB61H3 or HISB62H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Travel and Travel-Writing from the Middle Ages to the Early Modern Period,, +HISD63H3,HIS_PHIL_CUL,,"Modern interpretations of the Crusades will be investigated in the broad context of Western expansion into the Middle East (1099-1204), Spain and southern Europe, and, North-Eastern Europe. Also considered will be the Christian Military Orders, the Mongols and political crusades within Europe itself. 0.50 pre-1800 credit Medieval Area",,HISB60H3 and HISB61H3,,The Crusades: I,, +HISD64H3,HIS_PHIL_CUL,,"An intensive study of the primary sources of the First through Fourth Crusades, including works by Eastern and Western Christian, Arab and Jewish authors. The crusading period will be considered in terms of Western Christian expansion into the Middle East, Spain and Northern Europe in the 11th through 13th centuries. 0.50 pre-1800 credit Medieval Area",,HISB60H3 and HISB61H3,,The Crusades: II,, +HISD65H3,HIS_PHIL_CUL,,"What is good and evil? Are they known by human reason or revelation? How is happiness achieved? How is the human self-cultivated? This course will explore the diverse approaches that Muslim thinkers took to answering these perennial questions. Beginning with early Islam (the Qur’an and Prophet Muhammad), we will examine ethical thought in various intellectual traditions (e.g.: Islamic law, philosophy, mysticism, literature). Finally, we will analyze contemporary ethical dilemmas (e.g.; Muslim political, sexual, and environmental ethics). Transnational area",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,The Good in Islam: Ethics in Islamic Thought,, +HISD66H3,HIS_PHIL_CUL,,"This course explores the practices of documentation involved in investigating, explaining and containing the varieties of conflict that have shaped the history of the Middle East over the past two centuries. Wars, episodes of sectarian violence and political terrorism have all contributed centrally to the formation of states and subjects in the region. Drawing on key works by political historians, anthropologists of state violence and specialists in visual culture, the course examines such events and their many reverberations for Middle Eastern societies from 1798 to the present. Course readings draw on a range of primary source materials produced by witnesses, partisans to conflict, political activists, memoirists and investigators. Classroom discussions will engage theoretical texts that have brought to bear conflicts in the Middle East on larger questions concerning humanitarian intervention, democratic publics and liberal internationalism.",,"Any 8.0 credits, including [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Documenting Conflict and Peacemaking in the Modern Middle East,, +HISD69H3,ART_LIT_LANG,,"This course is an introduction to mystical/ascetic beliefs and practices in late antiquity and early Islam. Often taken as an offshoot of or alternative to “orthodox” representations of Christianity and Islam, mysticism provides a unique look into the ways in which these religions were experienced by its adherents on a more popular, often non-scholarly, “unorthodox” basis throughout centuries. In this class we will examine mysticism in late antiquity and early Islam through the literature, arts, music, and dance that it inspired. The first half of the term will be devoted to the historical study of mysticism, its origins, its most well-known early practitioners, and the phases of its institutionalization in early Christianity and early Islam; the second part will look into the beliefs and practices of mystics, the literature they produced, the popular expressions of religion they generated, and their effects in the modern world. This study of mysticism will also provide a window for contemporary students of religion to examine the devotional practices of unprivileged members of the late antiquity religious communities, women and slaves in particular. Same as CLAD69H3.","CLAB06H3/HISB11H3, CLAB09H3/HISB09H3","Any 8.0 credits, including: [0.5 credit at the A- or B-level in CLA or HIS courses] and [0.5 credit at the C- level in CLA or HIS courses]",CLAD69H3,Sufis and Desert Fathers: Mysticism in Late Antiquity and Early Islam,, +HISD70H3,HIS_PHIL_CUL,University-Based Experience,"A transnational history of how the rise of modern, global empires reshaped how the world produced and consumed food. This course, through cooking practicums, offers a hands-on approach to imperial and culinary histories with emphasis on plantation economies, famine, the tropical commodity trade, and the rise of national cuisines. Transnational Area",,"8.0 credits, including [(HISC14H3) or HISB14H3]",,History of Empire and Foods,,Priority will be given to students enrolled in HIS programs. Additional students will be admitted as space permits. +HISD71H3,HIS_PHIL_CUL,Partnership-Based Experience,"This research seminar uses our immediate community of Scarborough to explore continuity and change within diasporic foodways. Students will develop and practise ethnographic and other qualitative research skills to better understand the many intersections of food, culture, and community. This course culminates with a major project based on original research. Same as ANTD71H3","ANTB64H3, ANTC70H3",HISB14H3/(HISC14H3) or HISC04H3 or [2.0 credits in ANT courses of which 1.0 credit must be at the C- level] or permission of the instructor,ANTD71H3,Community Engaged Fieldwork With Food,, +HISD72H3,HIS_PHIL_CUL,University-Based Experience,"This research seminar examines the history of beer, including production techniques, gender roles, and drinking cultures, from ancient times to contemporary microbrewing. Students will produce a major paper or digital project on a chosen case study. Class will include a practicum on historical technologies of malting, mashing, and fermenting. Transnational Area",,"Any 8.0 credits in CLA, GAS, HCS, HIS, RLG, and/or WST courses",,History of Beer and Brewing,, +HISD73H3,HIS_PHIL_CUL,,"This course explores Canada's diverse food cultures and the varied relationships that Canadians have had historically with food practices in the context of family, community, region, and nation and with reference to transnational connections and identities. It examines Canada's foodways - the practices and traditions associated with food and food preparation - through the gendered lens of Indigenous-colonial relations, migration and diaspora, family, politics, nutrition, and popular culture. The course is organized around two central principles. One is that just as Canada's rich past resists any singular narrative, there is no such thing as a singular Canadian food tradition. The other is that a focus on questions related to women and gender further illuminate the complex relationship between food and cultural politics, variously defined. The course covers a broad time-span, from early contact between European settlers and First Nations through the end of the twentieth century. Canadian Area",,"4.0 credits in HIS, WST or FST courses",,Engendering Canadian Food History,, +HISD93H3,HIS_PHIL_CUL,,"This course examines the politics of historical commemoration. We explore how the representation of the past both informs and reflects political, social, and cultural contexts, and examine case studies involving controversial monuments; debates over coming to terms with historical legacies of genocide, slavery, and imperialism; and processes of truth, reconciliation, and cultural restitution. We also examine the role played by institutions (like museums and archives) and disciplines (archaeology, history, anthropology) in the construction of local, national, transnational, and colonial identities.",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,"The Politics of the Past: Memories, Monuments and Museums",, +HISD95H3,HIS_PHIL_CUL,,"This course introduces students to creative ways of telling/conveying stories about historical moments, events, figures and the social context in which these have occurred. The course will enable students to narrate the past in ways, from film to fiction, accessible to contemporary audiences.",,Any 4.0 credits in HIS courses,,Presenting the Past,, +HLTA02H3,SOCIAL_SCI,,"This is the initial component of a two-part series dedicated to the exploration of theories, contemporary themes, and analytical methodologies associated with the study of health- related matters. Areas of focus encompass the social and biological determinants of health, globalization and international health issues, health technology and information systems, and fundamentals of epidemiology.",,,HST209H1,"Exploring Health and Society: Theories, Perspectives, and Patterns",, +HLTA03H3,SOCIAL_SCI,,"This course marks the continuation of a two-part series that seeks to provide an understanding of inquiry and analysis, practical applications, and policy formulation as it pertains to the study of health-related matters. Areas of focus encompass foundational concepts in research methodology, the Canadian health care system and practical approaches, international comparisons, political systems, and ethical considerations.",,HLTA02H3,,"Navigating Health and Society: Research, Practice, and Policy",, +HLTA20H3,NAT_SCI,University-Based Experience,"An introduction to human functional processes will be presented through the various stages of the life cycle. Focusing on the body’s complex interacting systems, the physiology of all stages of human development, from prenatal development to adolescence to death, will be covered. Students will also develop a working scientific vocabulary in order to communicate effectively across health disciplines. This course is intended for students who have not previously taken a course in Physiology.",,Grade 12 Biology,Any course in Physiology across the campuses.,Physiology Through the Life Course: From Birth Through Death,,Students that have not taken Grade 12 Biology must enroll and successfully pass BIOA11H3 before enrolling in HLTA20H3. +HLTA91H3,SOCIAL_SCI,University-Based Experience,"Students need to be and feel part of a community that allows them to flourish and thrive. This course focuses on creating a healthy campus community by equipping students with practical knowledge, theoretical frameworks, and skills to prioritize their mental health, physical health, and self-care activities. Emphasis is placed on examining theoretical frameworks and practical activities that ameliorate mental health and self care practices, particularly those included in UTSC’s Healthy Campus Initiative Pillars (i.e. Arts & Culture, Equity & Diversity, Food & Nutrition, Mental Health, Physical Activity, and Physical Space). Drawing on theoretical frameworks and current peer-reviewed research from fields including medicine, psychology, nutrition, exercise and fitness, as well as social and cultural studies, students will learn to debate and integrate theoretical and practical concepts relevant to contemporary understandings of what it means to be healthy. In addition, students will engage in experiential learning activities that will expose them to campus resources in ways that they can apply to creating healthy communities.",,,(CTLA10H3),A Healthy Campus for Students: Prioritizing Mental Health and Wellness,,This is an experiential learning course and active participation may be required +HLTB11H3,NAT_SCI,,"An introductory course to provide the fundamentals of human nutrition to enable students to understand and think critically about the complex interrelationships between food, nutrition, health, and environment.",BIOA01H3 or BIOA11H3,HLTA02H3 and HLTA03H3,NFS284H1,Human Nutrition,, +HLTB15H3,SOCIAL_SCI,,"The objective of this course is to introduce students to the main principles that are needed to undertake health-related research. Students will be introduced to the concepts and approaches to health research, the nature of scientific inquiry, the role of empirical research, and epidemiological research designs.",,"[HLTA02H3 and HLTA03H3] or [any 4.0 credits, including SOCB60H3]",(HLTA10H3),Health Research Methodology,, +HLTB16H3,SOCIAL_SCI,,"This course will present a brief history about the origins and development of the public health system and its role in health prevention. Using a case study approach, the course will focus on core functions, public health practices, and the relationship of public health with the overall health system.",,HLTA02H3 and HLTA03H3,,Public Health,, +HLTB20H3,NAT_SCI,,"Basic to the course is an understanding of the synthetic theory of evolution and the principles, processes, evidence and application of the theory. Laboratory projects acquaint the student with the methods and materials utilized Biological Anthropology. Specific topics include: the development of evolutionary theory, the biological basis for human variation, the evolutionary forces, human adaptability and health and disease. Science credit Same as ANTB15H3",,ANTA01H3 or [HLTA02H3 and HLTA03H3],"ANTB15H3, ANT203Y",Contemporary Human Evolution and Variation,, +HLTB22H3,NAT_SCI,,This course is an introduction to the basic biological principles underlying the origins and development of both infectious and non-infectious diseases in human populations. It covers population genetics and principles of inheritance.,,HLTA02H3 and HLTA03H3 and [BIOA11H3 or BIOA01H3],,Biological Determinants of Health,, +HLTB24H3,,University-Based Experience,"This course uses a life-course perspective, considering diversity among mature adults and accounting for the influence of cultural and economic inequity on access to resources, to examine what it means to sustain an age- friendly community. Sample topics covered include: environmental gerontology, global aging, demographies of aging, aging in place, and sustainable aging.",,HLTA03H3,,Aging with Agility,, +HLTB27H3,QUANT,University-Based Experience,"This is a survey course in population health numeracy. This course will build upon foundational statistical knowledge and offers students the opportunity to both understand and apply a range of techniques to public health research. Topics include hypothesis testing, sensitivity/specificity, regression (e.g., logistic regression), diagnostics and model sitting, time- to-event analysis, basic probability theory including discrete and continuous random variables, sampling, and conditional probability and their use and application in public health.",HLTB15H3 and introductory programming,[HLTA03H3 and STAB23H3] or [HLTA02H3 and STAB23H3 and enrollment in the Paramedicine Specialist Program],,Applied Statistics for Public Health,, +HLTB30H3,,,"An interdisciplinary consideration of current and pressing issues in health, including health crises, care, education, policy, research, and knowledge mobilization and translation. The course will focus on emerging questions and research, with attention to local and global experts from a range of disciplines and sectors.",HLTA02H3 and HLTA03H3,,,Current Issues in Health and Society,, +HLTB31H3,SOCIAL_SCI,,"An interdisciplinary examination of a case study of a major contemporary health issue--the biological, physiological, social, economic, epidemiological, and environmental contexts of current and pressing issues in health, including health crises, care, education, policy, research, and knowledge mobilization and translation. This course will explore the science that underpins policy responses and actions and the policy and social change agendas that inform science, with attention to local and global experts from a range of disciplines and sectors.",HLTA02H3 and HLTA03H3,,,"Synergies Among Science, Policy, and Action",, +HLTB33H3,NAT_SCI,,A lecture based course with online learning modules which deals with the functional morphology of the human organism. The subject matter extends from early embryo-genesis through puberty to late adult life.,,[BIOA01H3 and BIOA02H3] or [HLTA03H3 and HLTA20H3],"ANA300Y, ANA301H, BIOB33H3, PMDB33H3",Human Development and Anatomy,, +HLTB40H3,SOCIAL_SCI,University-Based Experience,"This course focuses on public and private financing mechanisms for health care in Canada, emphasizing provincial differences and discussing the systems in place in other developed nations. Topics will include the forces of market competition and government regulation as well as the impact of health policy on key stakeholders. Students will also learn how to apply simple economic reasoning to examine health policy issues.",,HLTA02H3 and HLTA03H3,HST211H1,Health Policy and Health Systems,, +HLTB41H3,SOCIAL_SCI,,"This course introduces students to Social Determinants of Health (SDOH) approaches to reducing health inequities, and improving individual and population health. Students will critically explore the social, political, economic, and historic conditions that shape the everyday lives, and influence the health of people.",,HLTA02H3 and HLTA03H3,,Social Determinants of Health,, +HLTB42H3,SOCIAL_SCI,University-Based Experience,"This course introduces students to anthropological perspectives of culture, society, and language, to foster understanding of the ways that health intersects with political, economic, religious and kinship systems. Topics will include ethnographic theory and practice, cultural relivatism, and social and symbolic meanings and practices regarding the body.",,HLTA02H3 and HLTA03H3,,"Perspectives of Culture, Illness, and Healing",, +HLTB44H3,NAT_SCI,,"This course focuses on functional changes in the body that result from the disruption of the normal balance of selected systems of the human body. Building on the knowledge of human biology, students will learn the biological basis, etiopathology and clinical manifestations of selected diseases and other perturbations, with a focus on cellular and tissue alterations in children.",Grade 12 Biology,[HLTA02H3 and HLTA03H3 and HLTA20H3] and [BIOA11H3 or BIOA01H3],,Pathophysiology and Etiology of Disease,, +HLTB50H3,ART_LIT_LANG,,"An introduction to human health through literature, narrative, and the visual arts. Students will develop strong critical skills in text-centered methods of analysis (i.e., the written word, visual images) through topics including representations of health, illness narratives, death and dying, patient- professional relationships, technoscience, and the human body.",Prior experience in humanities courses at the secondary or post-secondary level.,Any 4.0 credits,,Introduction to Health Humanities,,Preference will be given to students enrolled in a Health and Society program +HLTB60H3,HIS_PHIL_CUL,,"An introduction to interdisciplinary disability studies through humanities, social science, and fine arts, with a strong basis in a social justice orientation that understands disability as a relational, social, and historical symbolic category, and ableism as a form of oppression. Students will develop strong critical skills in interpretation and analysis of artworks (i.e., the written word, visual images, performance) and theoretical texts. Topics including representations of disability in media, including literature and film; medicalization and tropes of disability; disability activism; and intersectional analysis of disability in relation to gender, race, sexuality, ethnicity, and class.",,Completion of 2.0 credits,,Introduction to Interdisciplinary Disability Studies,,Students considering a Major Program in Health and Society should complete HLTA02H3 and HLTA03H3 prior to enrolling in this course. Preference will be given to students enrolled in a Health and Society program. +HLTC02H3,SOCIAL_SCI,,"This course uses historical, anthropological, philosophical approaches to further understand the relationships intertwining women, health and society. Women's interactions with the health sector will be examined. Particular attention will be devoted to the social and gender construction of disease and the politics of women's health.",,HLTB41H3,,Women and Health: Past and Present,, +HLTC04H3,SOCIAL_SCI,,"By engaging with ideas rooted in critical social science and humanities, and emphasising the work of Canadian scholars, students learn strategies for studying societal problems using a postpositivist paradigm. Students learn theoretical and applied skills in activities inside and outside the classroom to emerge with new understandings about the social studies of health and society. This is an advanced and intensive reading and writing course where students learn to think about research in the space between subjectivity and objectivity.",Coursework in interpretive social sciences and humanities.,"HLTB50H3 and an additional 1.0 credit from the following: [ANTB19H3, HISB03H3, GGRB03H3, GGRC31H3, PHLB05, PHLB07, PHLB09H3, POLC78H3, SOCB05H3, VPHB39H3, WSTB05H3, or WSTC02H3]",,Qualitative Research in Action,,"This course is designed and intended for students enrolled in the Major/Major Co-op in Health Studies-Health Policy (Arts), and priority will be given to these students." +HLTC16H3,NAT_SCI,,"An introduction to the fundamental concepts in health informatics (HI) and the relevance of HI to current and future Canadian and international health systems. Students will be introduced to traditional hospital-based/clinician-based HI systems, as well as present and emerging applications in consumer and public HI, including global applications.",,HLTB16H3,,Health Information Systems,, +HLTC17H3,NAT_SCI,,"This course will provide students with an introduction to the rehabilitation sciences in the Canadian context. Students will gain knowledge regarding the pressing demographic needs for rehabilitation services and research, as well as the issues affecting the delivery of those services.",,HLTB16H3,,Rehabilitation Sciences,, +HLTC19H3,NAT_SCI,,"This course will introduce students to the regional, national, and global patterns of chronic disease and demonstrate how demography, behaviour, socio-economic status, and genetics impact patterns of chronic disease in human populations. Using epidemiological studies we will examine these patterns, assess their complex causes, and discuss strategies for broad-based preventative action.",,HLTB22H3 or HLTB41H3,"(HLTC07H3), (HLTC21H3)",Chronic Diseases,, +HLTC20H3,HIS_PHIL_CUL,,"This course considers how the category of disability works globally across geographic locations and cultural settings. Combining an interdisciplinary social justice-oriented disability studies perspective with a critical decolonial approach, students continue to develop an understanding of disability as a relational, social, and historical symbolic category, and ableism. Students will develop strong critical skills in interpretation and analysis of both social science texts, works of theory, and artworks (i.e., the written word, visual images, performance). Topics including representations of disability in global and diasporic media, including literature and film; medicalization and tropes of disability across cultures; human rights and disability activism around the world; and intersectional analysis of disability in relation to gender, race, sexuality, ethnicity, and class in diverse global contexts.",,HLTB60H3,,Global Disability Studies,, +HLTC22H3,SOCIAL_SCI,,"This course focuses on the transition from birth to old age and changes in health status. Topics to be covered include: socio-cultural perspectives on aging, the aging process, chronic and degenerative diseases, caring for the elderly.",,HLTB22H3 or HLTB41H3,"(HLTB01H3), HST308H1","Health, Aging, and the Life Cycle",, +HLTC23H3,SOCIAL_SCI,,"This course will explore bio-social aspects of health and development in children. Topics for discussion include genetics and development, growth and development, childhood diseases, the immune system, and nutrition during the early years.",,HLTB22H3 or HLTB41H3,(HLTB02H3),Child Health and Development,, +HLTC24H3,NAT_SCI,,"Environmental issues are often complex and require a holistic approach where the lines between different disciplines are often obscured. The environment, as defined in this course, includes the natural (biological) and built (social, cultural, political) settings. Health is broadly defined to include the concept of well-being. Case studies will be used to illustrate environment and health issues using an ecosystem approach that includes humans as part of the ecosystem.",,HLTB22H3,"(ANTB56H3), (HLTB04H3)",Environment and Health,, +HLTC25H3,NAT_SCI,,"Adopting ecological, epidemiological, and social approaches, this course examines the impact of infectious disease on human populations. Topics covered include disease ecology, zoonoses, and the role of humans in disease occurrence. The aim is to understand why infectious diseases emerge and how their occurrence is intimately linked to human behaviours.",,HLTB22H3,(HLTB21H3),Infectious Diseases,, +HLTC26H3,NAT_SCI,,"This course will apply students' knowledge of health, society, and human biology to solving real-life cases in global health, such as the Ebola outbreaks in Africa or the acute toxic encephalopathy mystery illness among children in India. This case-study-oriented course will focus on the application of human biology principles in addressing current cases in global health.",,HLTB22H3,HLTC28H3 if taken in the Winter 2018 or the Winter 2019 semester,Global Health and Human Biology,, +HLTC27H3,QUANT,University-Based Experience,"Epidemiology is the study or the pattern and causes of health-related outcomes and the application of findings to improvement of public health. This course will examine the history of epidemiology and its principles and terminology, measures of disease occurrence, study design, and application of concepts to specific research areas.",,[HLTB15H3 and HLTB16H3 and STAB23H3] or [enrolment in the Certificate in Computational Social Science],ANTC67H3,Community Health and Epidemiology,, +HLTC28H3,NAT_SCI,,"An examination of a current topic relevant to health sciences. The specific topic will vary from year to year, and may include: Ecosystem Approaches to Zoonotic Disease; Climate Change and Health; Food Insecurity, Nutrition, and Health; Health and the Human-Insect Interface.",,HLTB22H3,,Special Topics in Health Sciences,, +HLTC29H3,NAT_SCI,,"An examination of a current topic relevant to health sciences. The specific topic will vary from year to year, and may include: Ecosystem Approaches to Zoonotic Disease; Climate Change and Health; Food Insecurity, Nutrition, and Health; Health and the Human-Insect Interface.",,HLTB22H3,,Special Topics in Health Sciences,, +HLTC30H3,NAT_SCI,Partnership-Based Experience,This course introduces students to the cellular and molecular mechanisms underlying cancer and how these overlap with social and environmental determinants of health. This will allow for a wider exploration of risk factors and public health approaches to individual and population health. The social impact of cancer and the importance of patient advocacy and support will also be examined. This course will also delve into evolving concepts of cancer and breakthroughs in cancer therapies.,HLTB44H3,HLTB22H3,"BIO477H5, LMP420H1",Understanding Cancer: From Cells to Communities,, +HLTC42H3,SOCIAL_SCI,,This course takes an interdisciplinary approach to helping students prepare to tackle complex emerging health issues and to explore ways of addressing these issues through public policy. A range of contemporary and newly-emerging health issues are discussed and analyzed in the context of existing policy constraints within Canada and worldwide.,,HLTB40H3,,Emerging Health Issues and Policy Needs,, +HLTC43H3,SOCIAL_SCI,,"This course examines the role of all levels of Canadian government in health and health care. The impact of public policies, health care policy, and access to health care services on the health of populations is considered. The course also examines the role of political parties and social movements in the policy change process.",,HLTB40H3,"(POLC55H3), (HLTC03H3)",Politics of Canadian Health Policy,, +HLTC44H3,SOCIAL_SCI,,"This course surveys a selection of health care systems worldwide in relation to financing, reimbursement, delivery systems and adoption of new technologies. In this course students will explore questions such as: which systems and which public/private sector mixes are better at achieving efficiency and equity? How do these different systems deal with tough choices, such as decisions about new technologies? The set of international health care systems we focus on are likely to vary by term but will include a subset of OECD countries as well as countries with large populations that are heavily represented in Toronto such as China and India.",,HLTB40H3,,Comparative Health Policy Systems,, +HLTC46H3,SOCIAL_SCI,,"This interdisciplinary course draws on diverse theoretical and analytical approaches that span the humanities, social sciences and life sciences to critically explore the diverse relationships between gender and health, in local and global contexts. Particular attention is given to intersections between sex, gender and other social locations and processes that impact health and health inequities across the lifespan, including the impacts of ableism, colonialism, hetero-normativity, poverty, racialization, and sexism on women's and men's health, and related health research and practice. Through course readings, case studies, group discussions, class activities, and course assignments, students will apply these theoretical lenses and develop analytical skills that : (1) advance a more contextualized understanding of gender and health across the lifespan, (2) provide important insights into gendered health inequities, and (3) speak to strategies and social movements that begin to address these challenges.",,HLTB41H3 or IDSB04H3,,"Globalization, Gender, and Health",, +HLTC47H3,SOCIAL_SCI,,"How can we empirically research and understand the powers shaping the social organization of daily life? Engaging with the theory and methods pioneered by Canadian feminist sociologist Dorothy Smith, students learn to analyze and document how health care, social services, education, financial, pharmaceutical, psychiatry, labor, legal aid, criminal justice, emergency, and immigration systems frame and shape their everyday lives.",,HLTB42H3,,Institutional Ethnography in Action,, +HLTC48H3,SOCIAL_SCI,,"An examination of a current topic relevant to health and society. The specific topic will vary from year to year. Topics may include: Social Justice and Health Activism; Climate Change and Health; Labour, Precarity, and Health.",,HLTB41H3,,Special Topics in Health and Society,, +HLTC49H3,SOCIAL_SCI,,"This course will examine the health and well-being of Indigenous peoples, given historic and contemporary issues. A critical examination of the social determinants of health, including the cultural, socioeconomic and political landscape, as well as the legacy of colonialism, will be emphasized. An overview of methodologies and ethical issues working with Indigenous communities in health research and developing programs and policies will be provided. The focus will be on the Canadian context, but students will be exposed to the issues of Indigenous peoples worldwide. Same as SOCC49H3",,"HLTB41H3 or [[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3 , SOCB42H3, SOCB43H3, SOCB47H3]]",SOCC49H3,Indigenous Health,, +HLTC50H3,ART_LIT_LANG,,"An intensive, interdisciplinary study of the human-animal relationship as represented through a range of literature, film, and other critical writings. Students will explore the theoretical underpinnings of “animality” as a critical lens through which human identity, health, and policy are conceptualized. Key topics include: animals in the human imagination, particularly in relation to health; animal-human mythologies; health, ethics, and the animal.",Prior experience in humanities courses at the secondary or post-secondary level.,HLTB50H3,,The Human-Animal Interface,, +HLTC51H3,SOCIAL_SCI,,An examination of a current topic relevant to the study of health and society. The specific topic will vary from year to year. Same as SOCC51H3,,"HLTB41H3 or [[SOCB05H3 or SOCB35H3] and [0.5 from SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]]",SOCC51H3,Special Topics in Health and Society,,Priority will be given to students enrolled in the Major programs in Health and Society +HLTC52H3,ART_LIT_LANG,,An examination of a current topic in Health Humanities. The specific topic will vary from year to year.,,HLTB50H3,,Special Topics in Health Humanities,, +HLTC53H3,ART_LIT_LANG,University-Based Experience,"In this course, we will examine older age from an arts-based humanistic perspective, with particular focus on the representation of older age in the arts, and the role of arts- based therapies, creative engagement, and humanities- informed research initiatives involving older people and/or the aging process.",HLTB15H3 and HLTC55H3,HLTB50H3 or enrolment in the Minor in Aging and Society,,Creative Research Practices in Aging,, +HLTC55H3,ART_LIT_LANG,,"This course introduces students to the practice of arts-based health research (ABHR), which involves the formal integration of creative art forms into health research methods and outcomes. Students will learn about the conceptual foundations of ABHR and explore various methods for generating, interpreting and representing health-related research (e.g., narrative, performance, visual arts, digital storytelling, or body mapping). With reference to concrete exemplars and experiential learning in creative forms, students will examine critical issues of methodological quality, evidence, research ethics, implementation challenges, and opportunities for arts-based health research in Canada and the global context.","HLTB15H3, HLTC04H3, PHLB09H3",HLTB50H3,,Methods in Arts-Based Health Research,, +HLTC56H3,ART_LIT_LANG,University-Based Experience,"For close to a century, comics as a medium have examined diverse topics, from the serious to the silly. Drawing Illness draws on interdisciplinary scholarship from disability studies, comics studies, comic histories, medical anthropology, history of medicine and public health to examine the ways in which graphic narratives have been utilized to tell a range of stories about illness, disability, grief, dying, death, and medicine.",,HLTB50H3 or [HLTB60H3 in combination with any course in Historical and Cultural Studies],,Drawing Illness,, +HLTC60H3,HIS_PHIL_CUL,University-Based Experience,"This course introduces students to disability history, a subfield within both history and the interdisciplinary field of disability studies. Students will use critical perspectives from disability studies to interpret how the concept of disability has changed over time and across cultures. This course understands disability as a social and political phenomenon and seeks to understand the experiences of disabled people in the past around the world. Students enrolled in this course will read secondary and primary source texts, and draw on lectures, films, memoirs, popular culture, and art to examine the social and cultural construction and experiences of disability. Students will also gain an understanding of how historians conduct research, and the methods and problems of researching disability history. Historical themes include colonialism, industrialization, war, and bureaucracy; regions and time periods studied will be selected at the discretion of the instructor.",An A-level course in Health and Society or Historical and Cultural Studies,HLTB60H3 or [HLTB50H3 and any course in Historical and Cultural Studies],,Disability History,, +HLTC81H3,SOCIAL_SCI,University-Based Experience,"This course introduces students to health professions and practice with a focus on understanding the roles and responsibilities of health professionals, their scope of practices, and the key issues and challenges they face. The course will explore the evolution of healthcare delivery systems, the regulatory environment, and the ethical and professional considerations that impact the delivery of health care services through the lens of various health professions. Topics will also include the history and development of health professions and the interprofessional nature of health care delivery. The course will also examine, from the lens of various health professions, key issues and challenges facing health professionals such as health care disparities, health care reform, the use of technology, and other contemporary issues in healthcare. Throughout the course students will engage in critical thinking, analysis, and discussion of current issues in health professions and practice. The course will also provide opportunities for students to explore potential career paths within the healthcare field and to develop skills necessary for success in health professions such as communication, teamwork and cultural competence.",,HLTB40H3,,Health Professions and Practice,, +HLTD01H3,,,This is an advanced reading course in special topics for upper level students who have completed the available basic courses in Health and Society and who wish to pursue further intensive study on a relevant topic. Topic selection and approval will depend on the supervising instructor.,,"Completion of at least 6.0 credits, including at least 1.5 credits at the C-level from the program requirements from one of the Major/Major Co-op programs in Health and Society; students must also have achieved a minimum CGPA of 2.5 and have permission of an instructor for enrollment.",,Directed Readings in Health and Society,, +HLTD02H3,,University-Based Experience,"Provides senior students with the opportunity to apply methodological skills to a health research problem. Students will give presentations of their research proposals, and there may be a guest seminar on health research projects.",,Completion of at least 1.5 credits at the C- Level in HLT courses from the program requirements from one of the Major/Major Co-op programs in Health and Society,,Health Research Seminar,, +HLTD04H3,,,The topics presented in this course will represent a range of contemporary issues in health research. Topics will vary by instructor and term.,,Completion of at least 1.5 credits at the C- Level in HLT courses from the program requirements from one of the Major/Major Co-op programs in Health and Society,,Advanced Topics in Health and Society,, +HLTD05H3,,Partnership-Based Experience,"Provides students with the opportunity to analyze work of health institutions. Students taking this course will arrange, in consultation with the instructor, to work as a volunteer in a health institution. They will write a major research paper related to some aspect of their experience.",,Completion of at least 1.5 credits at the C- Level in HLT courses from the program requirements from one of the Major/Major Co-op programs in Health and Society and a minimum cGPA of 2.5 and permission of the instructor,(HLTC01H3),Directed Research on Health Services and Institutions,, +HLTD06H3,SOCIAL_SCI,,"How does cultural representation and social construction shape understandings of persons with chronic illness, disability and genetic difference? Engaging with history and the present cross-culturally, students learn about language and framing; lay and medical knowledge; family memory and public secrets; the professions and immigration medicine; front-line bureaucracy and public health authority; asymptomatic disease and stigmatized illness; and dual loyalty dilemmas and institutionalized medicine.",,HLTB42H3,,"Migration, Medicine, and the Law",, +HLTD07H3,SOCIAL_SCI,,"This course builds on HLTC17H3 by examining rehabilitation from the perspectives of researchers, clinicians, and clients. The course focuses on the historical role of rehabilitation, not only in improving health, but also in perpetuating the goal of 'normalcy'. Students will examine how rehabilitation impacts people, both at an individual and societal level, and explore the field of disability studies and its critical engagement with the message that disabled people “need to be repaired.”",,HLTC17H3 and an additional 1.5 credits at the C-Level in HLT courses from the program requirements from one of the Major/Major Co-op in Health and Society,HLTD47H3 if taken before Summer 2018,Advanced Rehabilitation Sciences: Disability Studies and Lived Experiences of 'Normalcy',, +HLTD08H3,NAT_SCI,,"An examination of a current health sciences topic. The specific topic will vary from year to year, and may include: clinical epidemiology, an advanced nutrition topic, or the biology and population health impacts of a specific disease or illness condition.",HLTC19H3 or HLTC25H3,[HLTC27H3] and an additional [1.5 credits at the C-Level from the program requirements from the Major/Major Co-op program in Health Studies- Population Health],,Advanced Topics in Health Sciences,, +HLTD09H3,NAT_SCI,,"Reproductive health is defined by the World Health Organization as physical, mental, and social wellbeing across the life course in all domains related to the reproductive system. This course will draw on theories and methods from demography, epidemiology, medicine, and public health to examine the determinants and components of reproductive health. A particular emphasis will be placed on sexual health, family planning, preconception health, and perinatal health and on how these are understood in the context of a growing global population.",,HLTC27H3 and 1.5 credits at the C-level in HLT courses from the requirements of the Major/Major Co-op program in Health Studies- Population Health,,Population Perspectives on Reproductive Health,, +HLTD11H3,SOCIAL_SCI,Partnership-Based Experience,"This course provides an introduction to the field of program and policy evaluation. Evaluation plays an important role in evidence based decision making in all aspects of society. Students will gain insight into the theoretical, methodological, practical, and ethical aspects of evaluation across different settings. The relative strengths and weaknesses of various designs used in applied social research to examine programs and policies will be covered. Same as SOCD11H3",,"[[STAB22H3 or STAB23H3] and [0.5 credit from HLTC42H3, HLTC43H3, HLTC44H3] and [an additional 1.0 credit at the C-Level from courses from the Major/Major Coop in Health Studies- Health Policy]] or [10.0 credits and [SOCB05H3 and SOCB35H3] and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, or SOCB47H3]]",SOCD11H3,Program and Policy Evaluation,, +HLTD12H3,SOCIAL_SCI,,The topics presented in this course will represent a range of contemporary issues in health research. Topics will vary by instructor and term.,,Completion of 1.5 credits at the C-Level in HLT courses from the program requirements from one of the Major/Major Co-op programs in Health and Society,,Advanced Topics in Health and Society,, +HLTD13H3,NAT_SCI,,"An examination of a current topic relevant to global health, especially diseases or conditions that predominately affect populations in low-income countries. The specific topics will vary from year to year, and may include: HIV/AIDS; insect- borne diseases; the biology of poverty and precarity. The course will provide students with relevant information about social context and health policy, but will focus on the processes of disease transmission and its biological impact on human health.",,HLTC26H3 and an additional 1.0 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health Studies- Population Health,,Advanced Topics in Global Health and Human Biology,, +HLTD18H3,NAT_SCI,,"Dentistry is one of the oldest branches of medicine responsible for the treatment of diseases of oral cavity. This course will introduce students to the key concepts as well as the latest research in the dental sciences, including but not limited to craniofacial structures, bone physiology, odontogenesis, pathogenesis of oral diseases, and technology in dental sciences.","ANTC47H3, ANTC48H3, BIOB33H3 and a working background in chemistry, biochemistry, genetics, and principles of inheritance would be beneficial","HLTB44H3, HLTC19H3, HLTC23H3 and 0.5 credit in any Physiology course",HMB474H1,Dental Sciences,,Priority will be given to students in the Population Health Major Program +HLTD20H3,NAT_SCI,,"An examination of a current health topic relevant to sex, gender, and the life course. The specific topic will vary from year to year, and topics may include: reproductive health; the biology and health impacts of aging; infant feeding, weaning, and nutrition; sexual health among youth. The course will provide students with relevant information about social context and health policy, but will focus on biological processes at specific life stages.",,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health Studies- Population Health,,"Advanced Topics in Sex, Gender, and the Life Course",, +HLTD21H3,SOCIAL_SCI,,The topics presented in this course will represent a range of contemporary issues in health research. Topics will vary by instructor and term.,,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,Advanced Topics in Health and Society,, +HLTD22H3,SOCIAL_SCI,,The topics presented in this course will represent a range of contemporary issues in health research. Topics will vary by instructor and term.,,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,Advanced Topics in Health and Society,, +HLTD23H3,SOCIAL_SCI,,"This course will examine pandemics, epidemics, and outbreaks of contagious infectious diseases, specifically viruses (i.e. HIV, Ebola, SARS, hantavirus, smallpox, influenza) among Indigenous Peoples. Students will learn about the social, cultural, and historical impacts of the virus on Indigenous peoples and their communities with regards to transmission, treatment and prevention, public health measures and strategies, as well as ethical issues.",HLTC49H3/SOCC49H3,HLTC25H3 and 1.0 credit at the C-level from the program requirements from the Major/Major Co-op programs in Health Studies- Population Health,,"Indigenous Peoples: Pandemics, Epidemics, and Outbreaks",HLTC27H3, +HLTD25H3,NAT_SCI,University-Based Experience,"The didactic portion of this course will examine emerging environmental health issues using case studies. In the hands-on portion of the course, students will learn a range of research skills - how to use the Systematic Reviews and Meta-Analyses (PRISMA) guidelines, evidence-based health and best practices, and the different elements of a successful grant proposal - while honing their researching, writing, and presenting skills.",,HLTC24H3 with a minimum GPA of 2.7 (B-),,Advanced Topics in Environmental Health,, +HLTD26H3,SOCIAL_SCI,,"This course will introduce students to key conceptual and methodological approaches to studying experiences of embodiment at different points in the life course. It draws on range of social and cultural perspectives on bodily activity, exercise, disability, and representations of the body to encourage students to critically examine relationships between sociocultural dynamics and health.",,HLTB15H3 and HLTC22H3 and an additional 1.0 credit at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society or enrolment in the Minor in Aging and Society,HLTD12H3 if taken in the Winter 2019 semester,Embodiment Across the Life Course,,Priority will be given to students enrolled in Health Studies programs offered by the Department of Health and Society +HLTD27H3,SOCIAL_SCI,Partnership-Based Experience,"Food security is an important determinant of health and well being, and yet in many areas of the world there are profound challenges to achieving it. Food sovereignty – the right of peoples to self-determined food production – has an important and complex relationship with food security. This course will examine the implications of food security and food sovereignty for health equity in the context of sub Saharan Africa.",,HLTC26H3 and an additional 1.0 credit at the C-level from the program requirements from the Major/Major Co-op programs in Health Studies- Population Health,HLTD22H3 if taken in Winter 2018 or Fall 2018 semester,"Food Security, Food Sovereignty, and Health",, +HLTD28H3,SOCIAL_SCI,Partnership-Based Experience,"This course is designed to provide students with an in-depth knowledge of the role of technological and social innovations in global health. Through lectures, case studies, group projects and exciting guest lectures, students will gain an understanding of the process of developing and scaling technological and social innovations in low- and middle- income countries, taking into account the unique socio- cultural, financial and logistical constraints that are present in such settings.",,HLTC26H3 and an additional 1.0 credit at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,"[HLTC47H3 if taken in Fall 2017 semester], [HLTD04H3 if taken in Winter 2019 semester]",Innovations for Global Health,, +HLTD29H3,NAT_SCI,,"An examination of a current topic in inequality, inequity, marginalization, social exclusion, and health outcomes. Topics may include: health and homelessness, poverty and sexual health, political conflict and refugee health. The course will provide students with relevant information about social context and health policy, but will focus on the physical and mental health impacts of various forms of inequity.",,Completion of 1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,"Advanced Topics in Inequality, Inequity, and Health",, +HLTD40H3,SOCIAL_SCI,Partnership-Based Experience,"Drawing on insights from critical social theory and on the experience of community partners, this course critically explores the ethics, economics, and politics of care and mutual aid. The course begins with a focus on informal care in our everyday lives, including self-care. We then move on to interrogate theories of care and care work in a variety of settings including schools, community health centres, hospitals, and long-term care facilities. The course is interdisciplinary, drawing on insights from scholarship across the humanities, social sciences, medicine, and public health.",Interest in the Social Sciences or prior coursework in the Social Sciences.,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health Studies- Health Policy,,"The Politics of Care, Self-Care, and Mutual Aid",, +HLTD44H3,NAT_SCI,University-Based Experience,"This course is designed to provide an in-depth understanding of the potential effects on human health of exposure to environmental contaminants, with special attention to population groups particularly vulnerable to toxic insults.",,"1.5 credits chosen from the following: ANTC67H3, [BIOA11H3 or BIOA01H3], [BIOB33H3 or HLTB33H3], BIOB35H3, BIOC14H3, BIOC65H3, HLTB22H3, HLTC22H3, HLTC24H3, or HLTC27H3",,"Environmental Contaminants, Vulnerability, and Toxicity",, +HLTD46H3,SOCIAL_SCI,,"Violence is a significant public health, human rights, and human development problem that impacts millions of people worldwide. Relying on a critical public health perspective, critical social theories, and local and global case studies on anti-oppression, this course explores structural (causes of) violence, the impact violence has on (public) health and human development, and societal responses to treatment, prevention, and social transformation.",HLTC02H3 and HLTC46H3,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health Studies - Health Policy,,Violence and Health: Critical Perspectives,, +HLTD47H3,SOCIAL_SCI,,"An examination of a current topic in health and wellness. Topics may include: disability, addiction, psychosocial wellbeing, social activism around health issues, Wellness Indices, Community Needs and Assets Appraisals. The course will focus on the contributing historical, social, and/or cultural factors, as well as relevant health policies.",,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,Advanced Topics in Health and Wellness,, +HLTD48H3,SOCIAL_SCI,University-Based Experience,"An examination of a current topic in global health, especially a disease or condition that predominantly impacts populations in low-income countries. The specific topic will vary from year to year. Topics may include: HIV/AIDS; war and violence, insect-borne diseases; policies and politics of water and sanitation; reproductive health and population policies, etc. The course will focus on historical factors, socio- political contexts, and health policies.",,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,Advanced Topics in Global Health,, +HLTD49H3,SOCIAL_SCI,,"This advanced seminar course explores contemporary topics in global health governance as they are being discussed and debated by world leaders at key international summits, such as the World Health Summit. After developing an understanding of the historical and political economy context of the main actors and instruments involved in global health governance, contemporary global health challenges are explored. Topics and cases change based on global priorities and student interests, but can include: the impact of international trade regimes on global health inequities; the role transnational corporations and non-governmental organizations play in shaping the global health agenda; the impact globalization has had on universal health care and health human resources in low-income countries; and health care during complex humanitarian crises.",,0.5 credit from [HLTC02H3 or HLTC43H3 or HLTC46H3] and an additional 1.0 credits at the C-level from the program requirements from the Major/Major Co-op program in Health Studies - Health Policy,,Global Health Governance: Thinking Alongside the World's Leaders,, +HLTD50H3,ART_LIT_LANG,,"This advanced seminar will provide intensive study of a selected topic in and/or theoretical questions about the health humanities. Topics will vary by instructor and term but may include narrative medicine, stories of illness and healing, representations of older age and aging in literature and film, AIDS and/or cancer writing, representations of death and dying in literature and film, and the role of creative arts in health.",,HLTB50H3 and an additional 1.5 credits at the C-level from the program requirements from the Minor program in Health Humanities,,Advanced Topics in Health Humanities,, +HLTD51H3,ART_LIT_LANG,,"In this advanced seminar students will examine older age using the methods and materials of the humanities, with particular focus on: 1) the representation of aging and older age in the arts; and 2) the role of arts-based therapies and research initiatives involving older people and/or the aging process.",,HLTB50H3 and an additional 1.5 credits at the C-level from the program requirements from the Minor program in Health Humanities,,Aging and the Arts,, +HLTD52H3,HIS_PHIL_CUL,,"An examination of a health topic in historical perspective. The specific topics will vary from year to year, and may include: histories of race, racialization, and health policy; history of a specific medical tradition; or histories of specific health conditions, their medical and popular representations, and their treatment (e.g. historical changes in the understanding and representation of leprosy or depression).",,HLTB50H3 and an additional 1.5 credits at the C-level from the program requirements from the Minor program in Health Humanities,,Health Histories,, +HLTD53H3,ART_LIT_LANG,,An examination of a current topic in Health Humanities. The specific topic will vary from year to year.,,HLTB50H3 and an additional 1.5 credits at the C-level from the program requirements from the Minor program in Health Humanities,,Advanced Topics in Health Humanities,, +HLTD54H3,ART_LIT_LANG,University-Based Experience,"This seminar course explores stories of health, illness, and disability that are in some way tied to the City of Toronto. It asks how the Canadian healthcare setting impacts the creation of illness narratives. Topics will include major theorizations of illness storytelling (“restitution”, “chaos,” and “quest” narratives); narrative medicine; ethics and digital health storytelling.",,HLTB50H3 and an additional 1.5 credits at the C-level from the program requirements from the Minor program in Health Humanities,HLTD50H3 if taken in the Winter 2018 semester.,Toronto's Stories of Health and Illness,, +HLTD56H3,ART_LIT_LANG,,"Advanced students of Health Humanities already know that creative work about important contemporary issues in health can help doctors, patients, and the public understand and live through complex experiences. But now, as health humanities practitioners, do we go about making new creative works and putting them out into the world? This upper-level seminar explores Documentary and Memoir as a political practice and supports students already versed in the principles and methods of health humanities in developing their own original work. Through a workshop format, students encounter artistic and compositional practices of documentary and memoir writing, film, and theatre to draw conclusions about what makes a documentary voice compelling, and consider the impact of works as a modality for communicating human experiences of health, illness, and disability through these mediated expressions.",HLTB60H3 and HLTC55H3,1.5 credits at the C-level from the program requirements from the Minor program in Health Humanities,,Health Humanities Workshop: Documentary and Memoir,, +HLTD71Y3,SOCIAL_SCI,University-Based Experience,"In this year-long directed research course, the student will work with a faculty supervisor to complete an original undergraduate research project. During fall term the student will prepare the research proposal and ethics protocol, and begin data collection. In the winter term the student will complete data collection, analysis, and write-up.",HLTB27H3,HLTB15H3 and STAB23H3 and a minimum CGPA of 3.0 and permission of the faculty supervisor,,Directed Research in Health and Society,, +HLTD80H3,SOCIAL_SCI,,"This course will investigate school- and community-based health education efforts that approach health as a complex social, biological, and cultural experience; critique and challenge prevailing understandings of health; and offer alternative theoretical, pedagogical, and curricular approaches to health and illness. Issues such as sexuality, gender, nation, race, social class, age, ability, and indigeneity will be central concerns in this study of health pedagogy, curriculum, and promotion.",,HLTB41H3 and an additional 1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,Critical Health Education,, +HLTD81H3,SOCIAL_SCI,University-Based Experience,"The quality of our health care system is dependent on initial and ongoing education supporting our health professionals. In response to ongoing and new challenges in health care, governments and institutions respond with novel ideas of enacting health care in improved ways. Health care institutions, policy makers, and the public have expectations of highly skilled, knowledgeable, and prepared individuals. As our understanding of health and health systems change, these expectations also change. Keeping up is in part the work of health professions education. Preparing individuals for these dynamic, complex, in some cases unpredictable, and everchanging health care service demands is necessary and complex. In this course, we explore the role and governance, structure, and contemporary multidisciplinary scientific advances of initial and continuing health professions education as a means of supporting the practice and quality of health care. We also explore the future of health professions and how health professions education is working to keep up.",HLTC43H3,HLTB40H3 and 1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,Health Professions Education,,"Whether students are in Health Policy, Population Health Sciences or Health Humanities streams, education of health professions/professionals provides a mechanism (of many) for how health is achieved. Students in all streams will be given an opportunity to understand why and how health professions education (a specialized branch of education) can contribute. This will assist students (and future graduates) explore the role education may play in their contributions to the health care system." +HLTD82H3,SOCIAL_SCI,University-Based Experience,"This course will delve into health promotion's inequities, notably those impacting Black communities. We examine how social determinants intersect with anti-Black racism, particularly during pandemics like HIV/AIDS and COVID-19. The Toronto Board of Health's 2020 declaration of anti-Black racism as a public health crisis underscores the urgency of addressing this issue, as Black Canadians continue to face disproportionate health disparities in areas such as life expectancy and chronic diseases.",HLTC27H3 and HLTC42H3,HLTB41H3 and completion of 1.5 credits at the C-level in HLT courses from the program requirements from one of the Major/Major Co-operative programs in Health and Society,,Black Community Health: Education and Promotion,, +HLTD96Y3,,,"This course is designed to permit critical analysis of current topics relevant to the broad topic of paramedicine. Students will work independently but under the supervision of an industry leader, practitioner and/or researcher involved in paramedicine, who will guide the in-depth study/research. Students report to the course instructor and paramedicine program supervisor to complete course information and their formal registration.",,Minimum of 14.0 credits including PMDC54Y3 and PMDC56H3 and [PSYB07H3 or STAB23H3],(BIOD96Y3),Directed Research in Paramedicine,, +IDSA01H3,SOCIAL_SCI,,"History, theory and practice of international development, and current approaches and debates in international development studies. The course explores the evolution of policy and practice in international development and the academic discourses that surround it. Lectures by various faculty and guests will explore the multi-disciplinary nature of international development studies. This course is a prerequisite for all IDS B-level courses.",,,,Introduction to International Development Studies,, +IDSA02H3,SOCIAL_SCI,Partnership-Based Experience,"This experiential learning course allows students to experience first hand the realities, challenges, and opportunities of working with development organizations in Africa. The goal is to allow students to actively engage in research, decision-making, problem solving, partnership building, and fundraising, processes that are the key elements of development work. Same as AFSA03H3",,,AFSA03H3,Experiencing Development in Africa,, +IDSB01H3,SOCIAL_SCI,,"Introduces students to major development problems, focusing on international economic and political economy factors. Examines trade, aid, international institutions such as the World Bank, the IMF and the WTO. Examines both conventional economic perspectives as well as critiques of these perspectives. This course can be counted for credit in ECM Programs.",,[MGEA01H3/(ECMA01H3) and MGEA05H3/(ECMA05H3)] or [MGEA02H3/(ECMA04H3) and MGEA06H3/(ECMA06H3)] and IDSA01H3,ECO230Y,Political Economy of International Development,, +IDSB02H3,NAT_SCI,,"The environmental consequences of development activities with emphasis on tropical countries. Environmental change in urban, rainforest, semi-arid, wetland, and mountainous systems. The influences of development on the global environment; species extinction, loss of productive land, reduced access to resources, declining water quality and quantity, and climate change.",,IDSA01H3 or EESA01H3,,Development and Environment,, +IDSB04H3,SOCIAL_SCI,,"This course offers an introduction to the political, institutional, social, economic, epidemiological, and ideological forces in the field of international/global health. While considerable reference will be made to “high-income” countries, major emphasis will be placed on the health conditions of “low- and middle-income” countries – and their interaction with the development “aid” milieu. After setting the historical and political economy context, the course explores key topics and themes in global health including: international/global health agencies and activities; data on health; epidemiology and the global distribution of health and disease; the societal determinants of health and health equity; health economics and the organization of health care systems in comparative perspective; globalization, trade, work, and health; health humanitarianism in the context of crisis, health and the environment; the ingredients of healthy societies across the world; and social justice approaches to global health.",,5.0 credits including IDSA01H3,,Introduction to International/Global Health,, +IDSB06H3,HIS_PHIL_CUL,,"What constitutes equitable, ethical as well as socially and environmentally just processes and outcomes of development? This course explores these questions with particular emphasis on their philosophical and ideological foundations and on the challenges of negotiating global differences in cultural, political and environmental values in international development.",,IDSA01H3,,"Equity, Ethics and Justice in International Development",, +IDSB07H3,HIS_PHIL_CUL,,"This course offers students an in-depth survey of the role race and racism plays in Development of Thought and Practice across the globe. Students will learn the multiple ways colonial imaginaries and classificatory schemes continue to shape International Development and Development Studies. A variety of conceptual frameworks for examining race, racism and racialization will also be introduced.",,,,Confronting Development’s Racist Past and Present,, +IDSB10H3,SOCIAL_SCI,,"Examines in-depth the roles of information and communication technology (ICT) in knowledge production and their impact on development. Do new forms of social media make communication more effective, equitable, or productive in the globalized world? How has network media changed governance, advocacy, and information flow and knowledge exchange and what do these mean for development?",,IDSA01H3,(ISTB01H3),Political Economy of Knowledge Technology and Development,,"Effective Summer 2013 this course will not be delivered online; instead, it will be delivered as an in-class seminar." +IDSB11H3,SOCIAL_SCI,,"This course will focus on the importance of historical, socio- economic, and political context in understanding the varying development experiences of different parts of the Global South. In addition to an introductory and concluding lecture, the course will be organized around two-week modules unpacking the development experience in four different regions of the Global South – Latin America/Caribbean, Africa, the Middle East, and South/South East Asia.",,IDSA01H3,,Global Development in Comparative Perspective,, +IDSC01H3,SOCIAL_SCI,,"Examines research design and methods appropriate to development fieldwork. Provides `hands on' advice (practical, personal and ethical) to those preparing to enter ""the field""; or pursuing development work as a career. Students will prepare a research proposal as their main course assignment.",,[9.0 credits including: IDSA01H3 and IDSB07H3] and [at least 6.0 credits satisfying Specialist Co- op Program in International Development Studies Requirements 1 through 4],,Research Design for Development Fieldwork,,Limited to students enrolled in the Specialist (Co-op) Program in IDS. Students in other IDS programs may be admitted with permission of instructor subject to the availability of spaces. +IDSC02H3,NAT_SCI,,"The role science plays in informing environmental policy is sometimes unclear. Students in this interdisciplinary class will examine key elements associated with generating scientific environmental knowledge, and learn how this understanding can be used to inform and critique environmental policy. Discussions of contemporary domestic and international examples are used to highlight concepts and applications.",IDSB02H3,8.0 credits including EESA01H3,,Environmental Science and Evidence-Based Policy,, +IDSC03H3,SOCIAL_SCI,,"This course is intended as an advanced critical introduction to contemporary African politics. It seeks to examine the nature of power and politics, state and society, war and violence, epistemology and ethics, identity and subjectivities, history and the present from a comparative and historical perspective. It asks what the main drivers of African politics are, and how we account for political organization and change on the continent from a comparative and historical perspective. Same as AFSC03H3.",,[IDSA01H3 or AFSA01H3] or by instructor’s permission,AFSC03H3,"Contemporary Africa: State, Society, and Politics",, +IDSC04H3,SOCIAL_SCI,University-Based Experience,"Studies the phases of the project management cycle with emphasis on situational analysis and identification of needs, project implementation, project monitoring and evaluation. Examines basic organizational development, the role of Canadian non-governmental organizations engaged in the delivery of development assistance as well as with CIDA's policies and practices.",,IDSA01H3 and [1.0 credit at the B-level in IDS courses],,Project Management I,,Restricted to students in the IDS Specialist and Major programs. +IDSC06H3,,Partnership-Based Experience,Institutions and International Development This Directed Readings course is designed for students who already have an ongoing working relationship with a Canadian Development institution (both non-government organizations and private agencies). The course will run parallel to the work experience. Students interested in this course must contact and obtain permission from the CCDS Associate Director prior to the beginning of term.,IDSC04H3,IDSA01H3 and [1.0 credit at the B-level in IDS courses],,Directed Reading on Canadian,, +IDSC07H3,SOCIAL_SCI,University-Based Experience,"A case study approach building on Project Management I. Examines: the art of effective communication and negotiation, visioning, participatory and rapid rural appraisal; survey design and implementation; advanced financial management and budgeting; basic bookkeeping and spreadsheet design; results based management; environmental impact assessments; cross-cultural effectiveness; and gender and development.",,IDSA01H3 and IDSC04H3,,Project Management II,,Limited to students in IDS Specialist and Major programs. Other students may be admitted with permission of instructor. +IDSC08H3,SOCIAL_SCI,,"Critical perspectives on the effects of traditional and 'new' media on development policy and practice. The course examines the increasingly significant role the media plays in the development process, the ways in which media- generated images of development and developing countries affect development policy and the potential of 'new' media for those who are marginalized from the development process.",,IDSA01H3 and IDSB10H3,,Media and Development,, +IDSC10H3,,,,,IDSA01H3,,Topics in International Development Studies Contents to be determined by instructor.,, +IDSC11H3,SOCIAL_SCI,,"Key global and international health issues are explored in- depth in three learning phases. We begin with a reading and discussion seminar on international/global health policy and politics. (Exact topic changes each year based on student interest and developments in the field). Next, students develop group projects designed to raise awareness around particular global and international health problems, culminating in UTSC International Health Week in the Meeting Place. The third phase --which unfolds throughout the course-- involves individual research projects and class presentations.",,8.0 credits including IDSA01H3 and IDSB04H3,,Issues in Global and International Health,, +IDSC12H3,SOCIAL_SCI,,"Considers the role of micro- and small/medium enterprise in the development process, as compared to the larger firms. Identifies the role of smaller enterprises in employment creation and a more equitable distribution of income. Examines policies which can contribute to these outcomes, including micro-credit. This course can be counted for credit in ECM Programs.",,IDSA01H3 and IDSB01H3,(IDSB05H3),Economics of Small Enterprise and Microcredit,, +IDSC13H3,SOCIAL_SCI,,"The state has proven to be one of the key factors paving the way for some countries in the Global South to escape conditions of underdevelopment and launch successful development programs over time. But, why have effective states emerged in some countries in the Global South and not in others? This course seeks to answer this question by investigating processes of ""state formation"" using a comparative historical approach. The course will begin by introducing students to theories of state formation. These theories will raise important questions about state formation processes that include: What is a modern, ""rational-legal"" state in theory? What do states look like in practice? What is state capacity and what are its components? What is the infrastructural power of the state and how does it differ from the despotic power of a state? How do state efforts to extend infrastructural power ignite political battles for social control at both elite and popular sector levels of society? Finally, how do processes of state formation unfold over time? The course, then, dives into comparative examinations of state formation using examples from across the Global South – from Central and South America to Africa, the Middle East, South Asia, and East Asia.",POLB91H3,IDSA01H3 or POLB90H3,"IDSC10H3 if taken in Winter 2023; POLC90H3 if taken in Winter 2018, Winter 2019, Winter 2020, Winter 2021.",State Formation and the Politics of Development in the Global South: Explaining Divergent Outcomes,, +IDSC14H3,SOCIAL_SCI,,"Examines how institutions and power relations shape the production and distribution of food, particularly in the global South. The course evaluates competing theories of hunger and malnutrition. It also explores the historical evolution of contemporary food provisioning and evaluates the viability and development potential of alternative food practices.",,IDSB01H3 or [FSTA01H3 and FSTB01H3],,The Political Economy of Food,, +IDSC15H3,SOCIAL_SCI,,The topics presented in this course will represent a range of issues in international development studies. Topics will vary by instructor and term.,,10.0 credits including IDSA01H3,,Special Topics in International Development Studies,, +IDSC16H3,SOCIAL_SCI,,The rise of populism has been widespread and often linked to processes of economic globalization. This course explores the historical and more recent economic and social factors shaping populist movements and leaderships in the Global South.,,IDSA01H3 or POLB90H3,POL492H1,"Populism, Development, and Globalization in the Global South",, +IDSC17H3,SOCIAL_SCI,University-Based Experience,"Explores the question of citizenship through theories of citizen participation and action in dialogue with a wide range of recent empirical case studies from the global south. Going beyond formal rights and status, the course looks at deeper forms of political inclusion and direct participation in decision- making on political and policy issues.",,IDSA01H3 and [1.0 credit at the B-level in IDS courses],,"Development, Citizen Action and Social Change in the Global South",, +IDSC18H3,SOCIAL_SCI,,"This course examines the growing role of the emerging powers - the BRICS countries grouping of Brazil, Russia, India, China and South Africa - in international development. The course examines recent development initiatives by these actors in Africa, Latin America and Asia. It also explores the question of whether BRICS-led development programs and practices challenge the top-down, expert led stances of past development interventions – from colonialism to the western aid era.",,IDSA01H3 and [1.0 credit at the B-level in IDS courses],,New Paradigms in Development: The Role of Emerging Powers,, +IDSC19H3,SOCIAL_SCI,University-Based Experience,"This course introduces students to alternative business institutions (including cooperatives, credit unions, worker- owned firms, mutual aid, and social enterprises) to challenge development. It investigates the history and theories of the solidarity economy as well as its potential contributions to local, regional and international socio-economic development. There will be strong experiential education aspects in the course to debate issues. Students analyze case studies with attention paid to Africa and its diaspora to combat exclusion through cooperative structures. Same as AFSC19H3",,AFSA01H3 or IDSA01H3 or POLB90H3 or permission of the instructor,AFSC19H3,"Community-Driven Development: Cooperatives, Social Enterprises and the Black Social Economy",, +IDSC20H3,SOCIAL_SCI,Partnership-Based Experience,"This course focuses on critical approaches to community engagement in international development. The first half of the course traces the history of critical and participatory approaches to community engagement in development. In the second half of the course students are trained in critical and ethical approaches to participatory community-engaged research. Student’s learning will be guided by an iterative pedagogical approach aimed at facilitating dialogue between theory, practice and experience. Students taking this course will learn about the challenges faced by communities in their interactions with a range of development actors, including international development agencies, local NGOs, state actors and universities.",,IDSA01H3 and IDSB06H3,,Critical Approaches to Community Engagement in Development,, +IDSC21H3,SOCIAL_SCI,University-Based Experience,"The course introduces students to the history and ethics of community-based research in development. We will focus on critical debates in Action Research (AR), Participatory Action Research (PAR), and Community Based Participatory Research (CBPR). Cases will be used to illustrate the politics of community-based research.",,IDSC20H3,,Power and Community-Based Research in Development,, +IDSD01Y3,,Partnership-Based Experience,"Normal enrolment in this course will be made up of IDS students who have completed their work placement. Each student will give at least one seminar dealing with their research project and/or placement. The research paper will be the major written requirement for the course, to be submitted no later than mid-March. The course will also include seminars by practicing professionals on a variety of development topics.",,"IDSA01H3 and students must have completed the first four years of the IDS Specialist Co-op Program or its equivalent and have completed their placement. Also, permission of the instructor is required.",,Post-placement Seminar and Thesis,, +IDSD02H3,SOCIAL_SCI,,An advanced seminar in critical development studies with an emphasis on perspectives and theories from the global South. The main purpose of the course is to help prepare students theoretically and methodologically for the writing of a major research paper based on secondary data collection. The theoretical focus on the course will depend on the interests of the faculty member teaching it.,,14.0 credits including IDSC04H3,,Advanced Research Seminar in Critical Development Studies,,"Restricted to students in the Specialist (non Co-op) Programs in IDS. If space is available, students from the Major Program in IDS may gain admission with the permission of the instructor." +IDSD05H3,SOCIAL_SCI,,"This seminar course examines the history of global/international health and invites students to contemplate the ongoing resonance of past ideologies, institutions, and practices of the field for the global health and development arena in the present. Through exploration of historical documents (primary sources, images, and films) and scholarly works, the course will cover themes including: the role of health in empire-building and capitalist expansion via invasion/occupation, missionary work, enslavement, migration, trade, and labor/resource extraction; perennial fears around epidemics/pandemics and their economic and social consequences; the ways in which international/global health has interacted with and reflected overt and embedded patterns of oppression and discrimination relating to race, Indigeneity, gender, and social class; and colonial and post- colonial health governance, research, and institution-building.",,"[12.0 credits, including IDSB04H3] or permission of the instructor",,Historical Perspectives on Global Health and Development,, +IDSD06H3,HIS_PHIL_CUL,,This interdisciplinary course traces the advance of feminist and postcolonial thinking in development studies. The course serves as a capstone experience for IDS students and social science majors looking to fully engage with feminist and postcolonial theories of development. This course combines short lectures with student led-discussions and critical analyses of development thought and practice.,IDSB06H3,12.0 credits,,Feminist and Postcolonial Perspectives in Development Studies,, +IDSD07H3,HIS_PHIL_CUL,,"This course examines resource extraction in African history. We examine global trade networks in precolonial Africa, and the transformations brought by colonial extractive economies. Case studies, from diamonds to uranium, demonstrate how the resource curse has affected states and economies, especially in the postcolonial period. Same as AFSD07H3",,[10.0 credits including [AFSA01H3 or IDSA01H3 or POLB90H3]] or permission of instructor,AFSD07H3,Extractive Industries in Africa,, +IDSD08H3,SOCIAL_SCI,Partnership-Based Experience,"This course explores the intersection of community-centered research, art, media, politics, activism and how they intertwine with grass-root social change strategies. Students will learn about the multiple forms of media tactics, including alternative and tactical media (fusion of art, media, and activism) that are being used by individuals and grass-root organizations to promote public debate and advocate for changes in development-related public policies. Through case studies, hands-on workshops, community-led learning events, and a capstone project in collaboration with community organizations, students will gain practical research, media and advocacy skills in formulating and implementing strategies for mobilizing public support for social change.",,IDSA01H3 and [1.0 credit in C-level IDS courses] and [0.5 credit in D-level IDS courses],"IDSD10H3 (if taken in the Winter 2018, 2019, 2020 or 2021 sessions)",Community-Centered Media Tactics for Development Advocacy and Social Change,, +IDSD10H3,,,The topics presented in this course will represent a range of issues in international development studies. Topics will vary by instructor and term.,,"12.0 credits, including IDSA01H3",,Topics in International Development Studies,, +IDSD12H3,,,The topics presented in this course will represent a range of issues in international development studies. Topics will vary by instructor and term.,,"12.0 credits, including IDSA01H3",,Topics in International Development Studies,, +IDSD13H3,,,The topics presented in this course will represent a range of issues in international development studies. Topics will vary by instructor and term.,,"12.0 credits, including IDSA01H3",,Topics in International Development Studies,, +IDSD14H3,,,"The goal of the course is for students to examine in a more extensive fashion the academic literature on a particular topic in International Development Studies not covered by existing course offering. Courses will normally only be available to students in their final year of study at UTSC. It is the student's responsibility to find a faculty member who is willing to supervise the course, and the students must obtain consent from the supervising instructor and from the Chair/Associate Chair of the Department of Global Development Studies before registering for this course.",,"12.0 credits, including IDSA01H3 and permission of the instructor",,Directed Reading,, +IDSD15H3,,University-Based Experience,"The goal of the course is for students to prepare and write a senior undergraduate research paper in International Development Studies. For upper-level students whose interests are not covered in one of the other courses normally offered. Courses will normally only be available to students in their final year of study at UTSC. It is the student's responsibility to find a faculty member who is willing to supervise the course, and the students must obtain consent from the supervising instructor and from the Chair/Associate Chair of the Department of Global Development Studies before registering for this course.",,12.0 credits including IDSA01H3 and permission of the instructor,,Directed Research,, +IDSD16H3,SOCIAL_SCI,University-Based Experience,"This course analyzes racial capitalism among persons of African descent in the Global South and Global North with a focus on diaspora communities. Students learn about models for self-determination, solidarity economies and cooperativism as well as Black political economy theory. Same as AFSD16H3",,[10.0 credits including [AFSA01H3 or IDSA01H3 or POLB90H3]] or permission of instructor,AFSD16H3,Africana Political Economy in Comparative Perspective,, +IDSD19H3,SOCIAL_SCI,University-Based Experience,"This course focuses on recent theories and approaches to researcher-practitioner engagement in development. Using case studies, interviews, and extensive literature review, students will explore whether such engagements offer opportunities for effective social change and improved theory.",IDSC04H3,"12.0 credits, including IDSA01H3",,The Role of Researcher- Practitioner Engagement in Development,, +IDSD20H3,SOCIAL_SCI,,"This course offers an advanced critical introduction to the security-development nexus and the political economy of conflict, security, and development. It explores the major issues in contemporary conflicts, the securitization of development, the transformation of the security and development landscapes, and the broader implications they have for peace and development in the Global South. Same as AFSD20H3.",,[12.0 including (IDSA01H3 or AFSA01H3 or POLC09H3)] or by instructor’s permission,AFSD20H3,"Thinking Conflict, Security, and Development",, +IDSD90H3,SOCIAL_SCI,,"While domestic and international political factors have discouraged pro human development public policies in much of the global south, there have been some important success stories. This course examines the economic and social policies most successful in contributing to human development and explores the reasons behind these rare cases of relatively successful human development. Same as POLD90H3",,"[1.0 credit from: IDSB01H3, IDSB04H3, IDSB06H3, POLB90H3 or POLB91H3] and [2.0 credits at the C-level in any courses]",POLD90H3,Public Policy and Human Development in the Global South,, +JOUA01H3,ART_LIT_LANG,,"An introduction to the social, historical, philosophical, and practical contexts of journalism. The course will examine the skills required to become news literate. The course will look at various types of media and the role of the journalist. Students will be introduced to specific techniques to distinguish reliable news from so-called fake news. Media coverage and analysis of current issues will be discussed.",,,(MDSA21H3),Introduction to Journalism and News Literacy I,, +JOUA02H3,ART_LIT_LANG,,,,(MDSA21H3) or JOUA01H3,(MDSA22H3),Introduction to Journalism II A continuation of JOUA01H3. Prerequisite: (MDSA21H3) or JOUA01H3,, +JOUA06H3,HIS_PHIL_CUL,,"An examination of the key legal and ethical issues facing Canadian journalists, with an emphasis on the practical: what a journalist needs to know to avoid legal problems and develop strategies for handling ethical challenges. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,10.0 credits including: JOUB01H3 and JOUB02H3 and ACMB02H3,(MDSB04H3),Contemporary Issues in Law and Ethics,JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3, +JOUB01H3,ART_LIT_LANG,,"An examination of Canadian coverage of immigration and transnational issues. With the shift in Canada's demographics, media outlets are struggling to adapt to new realities. We will explore how media frame the public policy debate on immigration, multiculturalism, diaspora communities, and transnational issues which link Canada to the developing world.",,JOUA01H3 and JOUA02H3,(MDSB26H3),Covering Immigration and Transnational Issues,, +JOUB02H3,ART_LIT_LANG,,"The course examines the representation of race, gender, class and power in the media, traditional journalistic practices and newsroom culture. It will prepare students who wish to work in a media-related industry with a critical perspective towards understanding the marginalization of particular groups in the media.",,4.0 credits including JOUA01H3 and JOUA02H3,(MDSB27H3),Critical Journalism,, +JOUB03H3,ART_LIT_LANG,,"Today’s ‘contract economy’ means full-time staff jobs are rare. Students will dissect models of distribution and engagement, discussing trends, predictions and future opportunities in media inside and outside the traditional newsroom. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"14.5 credits, including: [JOUB05H3 and JOUB19H3 and JOUC18H3 and JOUC19H3 and JOUC20H3] and [(JOUB09H3) or JOUB20H3]; students must have a minimum CGPA of 2.0",,Business of Journalism,JOUC13H3 and JOUC25H3, +JOUB11H3,ART_LIT_LANG,,"Through research and practice, students gain an understanding of news judgment and value, finding and developing credible sources and developing interviewing, editing and curating skills. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,10.0 credits including: JOUB01H3 and JOUB02H3 and ACMB02H3,,News Reporting,JOUA06H3 and JOUB14H3 and JOUB18H3 and JOUB19H3, +JOUB14H3,ART_LIT_LANG,,"Today, content creators and consumers both use mobile tools and technologies. Students will explore the principles of design, including responsive design, and how they apply to various platforms and devices. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,10.0 credits including: JOUB01H3 and JOUB02H3 and ACMB02H3; students must have a minimum CGPA of 2.0,,Mobile Journalism,JOUA06H3 and JOUB11H3 and JOUB18H3 and JOUB19H3, +JOUB18H3,ART_LIT_LANG,,"Applying photo-journalism principles to the journalist's tool of choice, the smartphone. Students will take professional news and feature photos, video optimized for mobile use and will capture credible, shareable visual cross-platform stories. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"10.0 credits, including JOUB01H3 and JOUB02H3 and ACMB02H3",,Visual Storytelling: Photography and Videography,JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB19H3, +JOUB19H3,ART_LIT_LANG,,"To develop stories from raw numbers, students will navigate spreadsheets and databases, and acquire raw data from web pages. Students will learn to use Freedom of Information requests to acquire data. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"[10.0 credits, including: JOUA01H3 and JOUA02H3 and JOUB01H3 and JOUB02H3 and ACMB02H3]andstudents must have a minimum CGPA of 2.0",,Data Management and Presentation,JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3, +JOUB20H3,ART_LIT_LANG,,Building the blending of traditional skills in reporting and writing with interactive production protocols for digital news. The course provides an introduction to web development and coding concepts. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.,,"12.0 credits, including: JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3; students must have a minimum CGPA of 2.0",,Interactive: Data and Analytics,JOUB05H3 and JOUC18H3 and JOUC19H3 and JOUC20H3, +JOUB21H3,SOCIAL_SCI,,"Journalists must observe and understand while responsibly contextualizing and communicating. This course critically examines the motivations and methods of how current events are witnessed but also how changing journalistic forms mediate the social function of bearing witness to communicate a diversity of experiences across matrices of time, space, power, and privilege.",,Enrollment in Major program in Media Studies and Journalism – Journalism Stream or Enrolment in the Specialist (Joint) Program in Journalism,(ACMB02H3),Witnessing and Bearing Witness,, +JOUB24H3,ART_LIT_LANG,,"Journalism is undergoing a revolutionary change. Old trusted formats are falling away and young people are consuming, producing, exchanging, and absorbing news in a different way. The course will help students critically analyze new media models and give them the road map they will need to negotiate and work in New Media.",,,(MDSB24H3),Journalism in the Age of Digital Media,, +JOUB39H3,ART_LIT_LANG,,"An overview of the standard rules and techniques of journalistic writing. The course examines the basics of good writing style including words and structures most likely to cause problems for writers. Students will develop their writing skills through assignments designed to help them conceive, develop, and produce works of journalism.",,[(MDSA21H3) or JOUA01H3] and [(MDSA22H3) or JOUA02H3] and (HUMA01H3).,(MDSB39H3),Fundamentals of Journalistic Writing,, +JOUC13H3,ART_LIT_LANG,,"Working in groups under faculty supervision from the newsroom, students will create, present and share significant portfolio pieces of multiplatform content, demonstrating expertise in credible, verifiable storytelling for discerning audiences. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"14.5 credits, including: [JOUB05H3 and JOUC18H3 and JOUC19H3 and JOUC20H3] and [(JOUB09H3) or JOUB20H3]; students must have a minimum CGPA of 2.0",,Entrepreneurial Reporting,JOUB03H3 and JOUC25H3, +JOUC18H3,ART_LIT_LANG,,"This experiential learning course provides practical experience in communication, media and design industries, supporting the student-to-professional transition in advance of work placements, and graduation towards becoming practitioners in the field. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"[12.0 credits, including: JOUA06H3, JOUB11H3, JOUB14H3, JOUB18H3 and JOUB19H3; students must have a minimum CGPA of 2.0",,Storyworks,JOUB05H3 and JOUB20H3 and JOUC19H3 and JOUC20H3, +JOUC19H3,ART_LIT_LANG,,"Students will effectively use their mobile phones in the field to report, edit and share content, while testing emerging apps, storytelling tools and social platforms to connect with audiences. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"[12.0 credits, including: JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3; students must have a CGPA of 2.0",,Social Media and Mobile Storytelling,JOUB05H3 and JOUB20H3 and JOUC18H3 and JOUC20H3, +JOUC21H3,ART_LIT_LANG,Partnership-Based Experience,"Students will learn the technical fundamentals and performance skills of audio storytelling and explore best practices before researching, interviewing, reporting, editing and producing original podcasts of professional journalistic quality.",,"12 credits, including: JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3",,Podcasting,"JOUB20H3, JOUC18H3, JOUC19H3, JOUC21H3, JOUC22H3", +JOUC22H3,,University-Based Experience,Students will build on the skills in the Visual Storytelling course from the previous semester and focus on the creation and distribution of short- and long-form video for mobile devices and social platforms. Emphasis will be placed on refining interviewing skills and performance and producing documentary-style journalism.,,"12 credits, including: JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3",,Advanced Video and Documentary Storytelling,"JOUB20H3, JOUC18H3, JOUC19H3, JOUC21H3", +JOUC25H3,ART_LIT_LANG,Partnership-Based Experience,"In Field Placement, students use theoretical knowledge and applied skills in professional journalistic environments. Through individual work and as team members, students create editorial content on various platforms and undertake academic research and writing assignments that require them to reflect upon issues arising from their work placement experience. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"Students must be in good standing and have successfully completed groups 1, 2, and be completing group 3 of the Centennial College phase of the Specialist (Joint) program in Journalism.",,Field Placement,,This course will be graded as a CR if a student successfully completes their internship; and as NCR is the internship was unsuccessful. The NCR will impact the CGPA and count as a 0.0 CGPA value on a transcript. +JOUC30H3,ART_LIT_LANG,,"The forms of Journalism are being challenged as reporting styles diverge and change overtime, across genres and media. New forms of narrative experimentation are opened up by the Internet and multimedia platforms. How do participatory cultures challenge journalists to experiment with media and language to create new audience experiences?",,MDSB05H3 and JOUB39H3,,"Critical Approaches to Style, Form and Narrative",,Priority will be given to students in the Specialist (Joint) program in Journalism. +JOUC31H3,ART_LIT_LANG,,"The nexus between journalism, civic engagement and changing technologies presents opportunities and challenges for the way information is produced, consumed and shared. Topics range from citizen and networked journalism, mobile online cultures of social movements and everyday life, to the complicated promises of the internet’s democratizing potential and data-based problem solving.",,JOUB24H3,,"Journalism, Information Sharing and Technological Change",,Priority will be given to students in the Specialist (Joint) program in Journalism. +JOUC60H3,HIS_PHIL_CUL,,"New media technologies enable more production and distribution of culturally, ethnically and linguistically diverse voices than ever before. Who produces these diverse voices and how accessible are these media? This course explores various types of diasporic media from century-old newspapers to young and hip news and magazine blogs, produced by and for members of a multicultural society. Same as MDSC34H3",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"MDSC34H3, (MDSC60H3)",Diasporic Media,, +JOUC62H3,ART_LIT_LANG,,"This course explores themes of labour in news media and new media. Topics include labour conditions for media workers across sectors; the labour impacts of media convergence; and the global distribution of media labour including content generation and management. The course is structured by intersectional analyses, studying how race and racism, class, gender, sex and sexism, sexuality, nationality, global location and citizenship status, Indigeneity and religion shape our experiences of media, journalism and labour. Same as MDSC37H3",,[MDSA01H3 and MDSB05H3] or [JOUA01H3 and JOUA02H3] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"MDSC37H3, (MDSC62H3)","Media, Journalism and Digital Labour",, +JOUC80H3,HIS_PHIL_CUL,,"Understanding the interests and goals of audiences is a key part of media production. This course introduces communication research methods including ratings, metrics, in-depth interviews, and focus groups. The focus of class discussion and research project is to use these methods to be able to understand the nature of audiences’ media use in the digital age. Same as MDSC25H3",,[2.0 credits at the B level in MDS courses] or [2.0 credits at the B level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"MDSC25H3, (MDSC80H3)",Understanding Audiences in the Digital Age,, +JOUD10H3,ART_LIT_LANG,University-Based Experience,A project-oriented capstone course requiring students to demonstrate the skills and knowledge necessary for contemporary journalism. Students will create a project that will serve as part of a portfolio or as a scholarly exploration of the state of the mass media. This course is open only to students in the Journalism Joint Program.,,JOUB03H3 and JOUC13H3 and JOUC25H3,,Senior Seminar in Journalism,, +JOUD11H3,ART_LIT_LANG,University-Based Experience,"Focusing on independent research, this course requires students to demonstrate the necessary analysis, research and writing skills required for advanced study. This seminar course provides the essential research skills for graduate work and other research-intensive contexts. Students will design and undertake unique and independent research about the state of journalism. Same as MDSD11H3",,"ACMB02H3 and [an additional 4.5 credits in MDS or JOU courses, 1.0 credit of which must be at the C- level]",MDSD11H3,Senior Research Seminar in Media and Journalism,,Priority will be given to students in the Specialist (Joint) program in Journalism. +JOUD12H3,ART_LIT_LANG,,"Journalism is a field that influences – and is influenced by – politics, finance, and civil society. This course raises contentious questions about power and responsibility at the core of journalism’s role in society. Challenges to the obligations of responsible journalism are examined through changing economic pressures and ties to political cultures.",,"[1.0 credit from the following: JOUC30H3, JOUC31H3, JOUC62H3, JOUC63H3]",,"Journalism at the Intersection of Politics, Economics and Ethics",,Priority will be given to students in the Specialist (Joint) program in Journalism. +JOUD13H3,ART_LIT_LANG,,"There is a technological and strategic arms race between governmental, military, and corporate entities on the one hand and citizens, human rights workers, and journalists on the other. Across diverse geopolitical contexts, journalistic work faces systematic surveillance alongside the censorship of free speech and a free internet. This course examines those threats to press freedom and how the same technologies support collaboration among citizens and journalists–across borders, languages, and legal regimes – to hold abuses of power to account.",,0.5 credits at JOU C-level,,"Surveillance, Censorship, and Press Freedom",, +LGGA10H3,ART_LIT_LANG,,"Beginner Korean I is an introductory course to the Korean language. Designed for students with no or minimal knowledge of the language, the course will first introduce the Hangeul alphabet (consonants and vowels) and how words are constructed (initial, medial, final sounds). Basic grammar patterns, frequently used vocabulary, and common everyday topics will be covered. Weekly cultural titbits will also be introduced to assist and enrichen the language learning experience. The overall aim of the course is to give students a strong grasp of the basics of the Korean language as well as elements of contemporary Korean culture.",,,"EAS110Y1 (UTSG) EAS211Y1 (UTSG) Not open to native speakers of Korean (more than minimal knowledge of Korean etc.); the instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, with support from program administration as needed.",Beginner Korean I,, +LGGA12H3,ART_LIT_LANG,,"Beginner Korean II is the continuation of Beginner Korean I. Designed for students who have completed Beginner Korean I, the course will build upon and help to solidify knowledge of the Korean language already learnt. Additional grammar patterns, as well as commonly used vocabulary and expressions will be covered. Further weekly cultural titbits will also be introduced to assist and enrichen the language learning experience. The overall aim of the course is to give students a stronger grasp of beginner level Korean, prepare them for higher levels of Korean language study, increase their knowledge of contemporary Korean culture and enable them to communicate with Korean native speakers about daily life.",,LGGA10H3: Beginner Korean I,"EAS110Y1 (UTSG) EAS211Y1 (UTSG) Not open to native speakers of Korean (more than minimal knowledge of Korean etc.); the instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, with support from program administration as needed.",Beginner Korean II,, +LGGA61H3,HIS_PHIL_CUL,,A continuation of LGGA60H3. This course will build on the skills learned in LGGA60H3.,,LGGA60H3 or (LGGA01H3),"All EAS, CHI and LGG Chinese courses except LGGA60H3 or (LGGA01H3). The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Introductory Standard Chinese II,, +LGGA64H3,ART_LIT_LANG,,"An introduction to Modern Standard Chinese for students who speak some Chinese (any dialect) because of their family backgrounds but have minimal or no literacy skills in the language. Emphasis is placed on Mandarin phonetics and written Chinese through reading, writing and translation.",,,"(LGGA62H3), (LGGB64H3). All EAS, CHI and LGG Chinese language courses. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Chinese I for Students with Prior Backgrounds,, +LGGA65H3,HIS_PHIL_CUL,,,,LGGA64H3 or (LGGA62H3),"(LGGA63H3), (LGGB65H3). All EAS, CHI and LGG Chinese language courses except LGGA64H3 or (LGGB64H3) or (LGGA62H3). The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Chinese II for Students with Prior Backgrounds A continuation of LGGA64H3.,, +LGGA70H3,ART_LIT_LANG,,An elementary course for students with no knowledge of Hindi. Students learn the Devanagari script and the Hindi sound system in order to start reading and writing in Hindi. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer-based activities.,,,"HIN212Y, NEW212Y, LGGA72Y3, or any knowledge of Hindi. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Introductory Hindi I,,Students who speak Hindi or Urdu as a home language should enrol in LGGB70H3 or LGGB71H3. +LGGA71H3,HIS_PHIL_CUL,,,,LGGA70H3,"HIN212Y, NEW212Y, LGGA72Y3, or knowledge of Hindi beyond materials covered in LGGA70H3. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Introductory Hindi II A continuation of LGGA70H3. Prerequisite: LGGA70H3,, +LGGA72Y3,ART_LIT_LANG,,This is an intensive elementary course for students with no knowledge of Hindi. It combines the materials taught in both LGGA70H3 and LGGA71H3. Students will learn the Devanagari script and the Hindi sound system in order to start reading and writing in Hindi. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer-based activities.,,,"LGGA70H, LGGA71H, HIN212Y, NEW212Y, any prior knowledge of Hindi. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Hindi,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. +LGGA74H3,ART_LIT_LANG,,An elementary course for students with minimal or no knowledge of Tamil. Students learn the Tamil script and sound system. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer-based activities.,,,"NEW213Y, LGGA76Y3, or high school Tamil, more than minimal knowledge of Tamil. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Introductory Tamil I,, +LGGA75H3,HIS_PHIL_CUL,,,,LGGA74H3,"NEW213Y, LGGA76Y3, or knowledge of Tamil beyond materials covered in LGGA74H3. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Introductory Tamil II A continuation of LGGA74H3. Prerequisite: LGGA74H3,, +LGGA76Y3,ART_LIT_LANG,,An intensive elementary course for students with minimal or no knowledge of Tamil. Students learn the Tamil script and sound system. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer based activities.,,,"LGGA74H3, LGGA75H3, NEW213Y, high school Tamil, more than minimal knowledge of Tamil. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Tamil,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. +LGGA78Y3,ART_LIT_LANG,,This is an elementary course for students with no knowledge of Bengali. Students will learn the Bengali script and sound system in order to start reading and writing in Bengali. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer based activities.,,,Any knowledge of Bengali. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Intensive Introductory Bengali,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. +LGGA80H3,ART_LIT_LANG,,A beginning course for those with minimal or no knowledge of Japanese. The course builds proficiency in both language and culture. Language practice includes oral skills for simple daily conversation; students will be introduced to the Japanese writing systems and learn to read and write simple passages.,,,EAS120Y or LGGA82Y3. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Introductory Japanese I,, +LGGA81H3,HIS_PHIL_CUL,,,,LGGA80H3,"EAS120Y or LGGA82Y3. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Introductory Japanese II Continuation of Introductory Japanese I. Prerequisite: LGGA80H3,, +LGGA82Y3,ART_LIT_LANG,,"This course is an intensive elementary course for those with minimal or no knowledge of Japanese. It combines the materials taught in both LGGA80H3 and LGGA81H3, and builds on proficiency in both language and culture. Language practice includes oral skills for simple daily conversation. Students will also be introduced to the Japanese writing systems and learn to read and write simple passages.",,,"LGGA80H, LGGA81H, EAS120Y. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Japanese,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. +LGGA90Y3,ART_LIT_LANG,,"This course is an intensive elementary course in written and spoken Spanish, including comprehension, speaking, reading, and writing. It is designed for students who have no previous knowledge of Spanish. The course will develop listening and speaking skills through culturally-based materials, which will be enhanced by audio-visual and computer-based activities.",,,"Grade 12 Spanish, LGGA30H, LGGA31H, SPA100Y, native or near-native proficiency in Spanish. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Spanish,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute at UTSC. +LGGA91Y3,ART_LIT_LANG,,"An introduction to the basic grammar and vocabulary of standard Arabic - the language common to the Arab world. Classroom activities will promote speaking, listening, reading, and writing. Special attention will be paid to reading and writing in the Arabic script.",,,"LGGA40H, LGGA41H, ARA212Y, (NMC210Y), NML210Y, Arabic instruction in high school, prior knowledge of spoken Arabic. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Modern Standard Arabic,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. +LGGA95Y3,ART_LIT_LANG,,"This is an intensive elementary course for students with minimal to no knowledge of the featured language. Students will learn the script and sound system so they may begin to read and write in this language. The course will develop listening and speaking skills through culturally-based materials, which will be enhanced by audio-visual and computer-based activities. Students may not repeat this course for credit, including when the current featured language is different from previous featured languages.",,,"Exclusions will vary, dependent on the language offered; students are cautioned that duplicating their studies, whether inadvertently or otherwise, contravenes UTSC academic regulations.",Intensive Introduction to a Featured Language,,"This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute; it may not be offered every summer. When the course is offered, the featured language and exclusions will be indicated on the Course Timetable." +LGGB60H3,ART_LIT_LANG,,"This course will develop listening, speaking, reading, and writing skills in Standard Chinese. Writing tasks will help students to progress from characters to compositions and will include translation from Chinese to English and vice versa. The course is not open to students who have more than the rudiments of Chinese.",,LGGA61H3 or (LGGA02H3),"All EAS and CHI 200- and higher level Chinese language courses; all B- and higher level LGG Chinese language courses; native speakers of any variety of Chinese. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Intermediate Chinese I,, +LGGB61H3,ART_LIT_LANG,,,,LGGB60H3,"All EAS and CHI 200- and higher level language Chinese courses; all B- and higher level LGG Chinese language courses except LGGB60H3, LGGA64H3, and (LGGB64H3). All native speakers of any variety of Chinese. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Intermediate Chinese II A continuation of LGGB60H3. Prerequisite: LGGB60H3,, +LGGB62H3,ART_LIT_LANG,,"This course will further improve the literacy skills of heritage students by studying more linguistically sophisticated and topically extensive texts. Those who have not studied pinyin, the Mandarin pronunciation tool, but know about 600-800 complex or simplified Chinese characters should take this course instead of courses LGGA64H3 and LGGA65H3.",,LGGA65H3 or (LGGA63H3) or equivalent,"All EAS and CHI 200- and higher level language Chinese courses; all B- and higher level LGG language Chinese courses. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Intermediate Chinese for Heritage Students I,, +LGGB63H3,HIS_PHIL_CUL,,,,LGGB62H3,All EAS and CHI 200- and higher level language Chinese courses; all B- and higher level LGG Chinese language courses except LGGB62H3.,Intermediate Chinese for Heritage Students II A continuation of LGGB62H3.,, +LGGB70H3,ART_LIT_LANG,,"Develops language and literacy through the study of Hindi cinema, music and dance along with an introduction to theatrical and storytelling traditions. The course enhances acquisition of cultural competence in Hindi with composition and conversation, complemented by culture-based material, film and other media.",,,Not for students educated in India. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Hindi I for Students with Prior Background,, +LGGB71H3,HIS_PHIL_CUL,,,,LGGB70H3,Not for students educated in India. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course including those students who meet the prerequisite.,Hindi II for Students with Prior Background Continuation of LGGB70H3.,, +LGGB74H3,ART_LIT_LANG,,"Tamil language taught through culture for students with heritage language skills or prior formal study. The cultures of South India, Sri Lanka and diaspora populations will be studied to build literacy skills in the Tamil script as well as further development of speaking and listening skills.",,LGGA75H3,Not for students educated in Tamil Naadu or Sri Lanka.,Intermediate Tamil,, +LGGC60H3,ART_LIT_LANG,,"This course develops all language skills in speaking, listening, reading, writing, and translation, with special attention to idiomatic expressions. Through a variety of texts and interactive materials, students will be introduced to aspects of Chinese life and culture.",,LGGB61H3 or (LGGB04H3) or equivalent,"LGGC61H3 or higher at UTSC, and all third and fourth year Chinese language courses at FAS/UTSG and UTM",Advanced Chinese I,, +LGGC61H3,HIS_PHIL_CUL,,,,LGGC60H3 or equivalent,LGGC62H3 or higher at UTSC and all third and fourth year Chinese language courses at FAS/UTSG and UTM.,Advanced Chinese II A continuation of LGGC60H3. Prerequisite: LGGC60H3 or equivalent,, +LGGC62H3,ART_LIT_LANG,,"This course focuses on similarities and differences between Chinese and Western cultures through a variety of cultural and literary materials. Students will further develop their language skills and cultural awareness through reading, writing, and translation.",,,"(LGGB66H3), (LGGB67H3), LGGC64H3, LGGC65H3, LGGD66H3/(LGGC67H3), LGGD67H3/(LGGC66H3)",Cultures in the East and West,,1. This course is not required for the Minor program in English and Chinese Translation. 2. Students may take this course before or after LGGC63H3. +LGGC63H3,HIS_PHIL_CUL,,"This course focuses on aspects of Canadian and Chinese societies, and related regions overseas. Through a variety of text and non-text materials, in Chinese with English translation and in English with Chinese translation, students will further improve their language skills and have a better understanding of Canada, China, and beyond.",,,"(LGGB66H3), (LGGB67H3), LGGC64H3, LGGC65H3, LGGD66H3/(LGGC67H3), and LGGD67H3/(LGGC66H3)","Canada, China, and Beyond",,1. This course is not required for the Minor program in English and Chinese Translation. 2. Students may take LGGC63H3 before or after LGGC62H3. +LGGC64H3,ART_LIT_LANG,,"Intended for students who read Chinese and English well. Complex-simplified character conversion and vice versa, as well as English-Chinese and Chinese-English bilingual texts, are emphasized through reading, discussion, and translation in a variety of topics from, and outside of, Greater China, presentations, translation comparison, translation, and translation criticism.",,,(LGGB66H3). The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Reading Chinese and English: China Inside Out,,"1. This course is bilingual, and priority will be given to students enrolled in the Minor in English and Chinese Translation. 2. This course may be taken before or after LGGC65H3, LGGD66H3, and/or LGGD67H3. 3. Students who have taken this course should not subsequently take LGGC60H3, LGGC61H3, LGGC62H3, LGGC63H3, or any lower level LGG Chinese courses for credit." +LGGC65H3,HIS_PHIL_CUL,,"Designed for students who read Chinese and English well. Complex-simplified Chinese character conversion and vice versa, as well as English-Chinese and Chinese-English bilingual texts are emphasized through reading, discussion, and translation in a variety of topics from global perspectives, presentations, translation and translation comparison, and translation criticism.",,,(LGGB67H3). The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Reading Chinese and English: Global Perspectives,,"1. This course is bilingual and priority will be given to students enrolled in the Minor in English and Chinese Translation. 2. This course may be taken before or after LGGC64H3, LGGD66H3, and/or LGGD67H3. 3. Students who have taken this course may not subsequently take LGGC60H3, LGGC61H3, LGGC62H3, LGGC63H3, or any lower level LGG Chinese courses for credit." +LGGC70H3,ART_LIT_LANG,,"Advanced language learning through an introduction to the historical development of the Hindi language. Students develop language skills through the study of educational structure, and literary and cultural institutions in colonial and postcolonial India. The course studies a variety of texts and media and integrates composition and conversation.",,LGGB70H3 and LGGB71H3,Not for students educated in India.,Advanced Hindi: From Hindustan to Modern India,, +LGGD66H3,HIS_PHIL_CUL,,This course examines Chinese literary masterpieces of the pre-modern era and their English translations. They include the prose and poetry of many dynasties as well as examples in Literary Chinese of other genres that are still very much alive in Chinese language and society today. An in-depth review of the English translations will be strongly emphasized.,,A working knowledge of Modern Chinese and English,"(LGGC67H3), (EAS306Y), EAS358Y1, EAS455H1, EAS458H1, CHI311H5, CHI408H5, CHI409H5",Literary Chinese and English Translations,,"1. Priority will be given to students enrolled in the Minor in English and Chinese Translation. 2. Students who have taken this course should not subsequently take lower-level Chinese or Chinese/English bilingual courses for credit except LGGC64H3 and LGGC65H3. 3. This course may be taken before or after LGGC64H3, LGGC65H3, and/or LGGD67H3." +LGGD67H3,ART_LIT_LANG,,"This course examines Chinese classics and their English translations, such as The Book of Documents, The Analects of Confucius, The Mencius, The Dao De Jing, and other philosophical maxims, proverbial sayings, rhyming couplets, idioms and poems that still have an impact on Chinese language and culture today.",,A working knowledge of Modern Chinese and English,"(LGGC66H3), (EAS206Y), EAS218H1, (EAS306Y), EAS358Y1, EAS455H1, EAS458H1, CHI311H5, CHI408H5, CHI409H5",Classical Chinese and English Translations,,"1. Priority will be given to students enrolled in the Minor in English and Chinese Translation. 2. This course may be taken before or after LGGC64H3, LGGC65H3, and/or LGGD66H3 3. Students who have taken this course should not subsequently take lower-level Chinese or Chinese/English bilingual courses for credit except LGGC64H3 and/or LGGC65H3." +LINA01H3,ART_LIT_LANG,,"An introduction to the various methods and theories of analyzing speech sounds, words, sentences and meanings, both in particular languages and language in general.",,,"(LIN100Y), LIN101H, LIN102H",Introduction to Linguistics,, +LINA02H3,ART_LIT_LANG,,"Application of the concepts and methods acquired in LINA01H3 to the study of, and research into, language history and language change; the acquisition of languages; language disorders; the psychology of language; language and in the brain; and the sociology of language.",,LINA01H3,"(LIN100Y), LIN101H, LIN102H",Applications of Linguistics,, +LINB04H3,SOCIAL_SCI,,Practice in analysis of sound patterns in a broad variety of languages.,,LINB09H3,LIN229H,Phonology I,, +LINB06H3,HIS_PHIL_CUL,,Practice in analysis of sentence structure in a broad variety of languages.,,LINA01H3,LIN232H,Syntax I,, +LINB09H3,NAT_SCI,,An examination of physiological and acoustic bases of speech.,,LINA01H3,LIN228H,Phonetics: The Study of Speech Sounds,, +LINB10H3,SOCIAL_SCI,,"Core issues in morphological theory, including properties of the lexicon and combinatorial principles, governing word formation as they apply to French and English words.",,LINA01H3,"LIN231H, LIN333H, (LINB05H3), (LINC05H3) FRE387H, (FREC45H3)",Morphology,LINB04H3 and LINB06H3, +LINB18H3,ART_LIT_LANG,,"Description and analysis of the structure of English, including the sentence and word structure systems, with emphasis on those distinctive and characteristic features most of interest to teachers and students of the language.",,,LIN204H,English Grammar,, +LINB19H3,QUANT,,"The course will provide an introduction to the use of computer theory and methods to advance the understanding of computational aspects of linguistics. It will provide basic training in computer programming techniques employed in linguistics such as corpus mining, modifying speech stimuli, experimental testing, and data analysis.",,LINA02H3,"Any computer science course except [CSCA20H3, PSYC03H3]",Computers in Linguistics,,"Priority will be given to students in Specialist/Specialist Co-op programs in Linguistics or Psycholinguistics, or Major/Major Co-op programs in Linguistics. Students in the Minor program in Linguistics, followed by students in other programs, will be admitted as space permits." +LINB20H3,SOCIAL_SCI,,"The study of the relationship between language and society. Topics include: how language reflects and constructs aspects of social identity such as age, gender, socioeconomic class and ethnicity; ways in which social context affects speakers' use of language; and social factors which cause the spread or death of languages.",,LINA02H3,"(LINB21H3), (LINB22H3), LIN251H, LIN256H, FREC48H3",Sociolinguistics,, +LINB29H3,QUANT,,"An introduction to experimental design and statistical analysis for linguists. Topics include both univariate and multivariate approaches to data analysis for acoustic phonetics, speech perception, psycholinguistics, language acquisition, language disorders, and sociolinguistics.",LINB19H3,LINA02H3,"LIN305H, (PLIC65H3), PSYB07H3, STAB23H3",Quantitative Methods in Linguistics,, +LINB30H3,QUANT,,"This course provides students a practical, hands-on introduction to programming, with a focus on analyzing natural language text as quantitative data. This course will be taught in Python and is meant for students with no prior programming background. We will cover the basics of Python, and students will gain familiarity with existing tools and packages, along with algorithmic thinking skills such as abstraction and decomposition.",,LINA01H3,LINB19H3,Programming for Linguists,, +LINB60H3,ART_LIT_LANG,,"This course is an investigation into the lexicon, morphology, syntax, semantics, discourse and writing styles in Chinese and English. Students will use the tools of linguistic analysis to examine the structural and related key properties of the two languages. Emphasis is on the comparison of English and Chinese sentences encountered during translation practice.",,LINB06H3 or LINB18H3,"LGGA60H3, LGGA61H3, (LINC60H3)",Comparative Study of English and Chinese,,Students are expected to be proficient in Chinese and English. +LINB62H3,SOCIAL_SCI,,"An introduction to the structure of American Sign Language (ASL): Comparison to spoken languages and other signed languages, together with practice in using ASL for basic communication.",,LINA01H3 and LINA02H3,(LINA10H3),Structure of American Sign Language,, +LINB98H3,SOCIAL_SCI,University-Based Experience,"This course provides an introduction to, and experience in, ongoing theoretical and empirical research in any field of linguistics. Supervision of the work is arranged by mutual agreement between student and instructor.",0.5 credit at the B-level in LIN or PLI courses,[4.0 credits including [LINA01H3 or LINA02H3]] and a CGPA of 3.3,PSYB90H3 and ROP299Y,Supervised Introductory Research in Linguistics,,"Enrolment is limited based on the research opportunities available with each faculty member and the interests of the students. Students must complete and submit a permission form available from the Registrar's Office, along with an outline of work to be performed, signed by the intended supervisor. Priority will be given to students enrolled in the Specialist/Specialist Co-op programs in Linguistics or Psycholinguistics, and the Major/Major Co-op programs in Linguistics." +LINC02H3,SOCIAL_SCI,,"Basic issues in phonological theory. This course assumes familiarity with phonetic principles, as discussed in LINB09H3, and with phonological problem-solving methods, as discussed in LINB04H3.",,LINB04H3 and LINB09H3,LIN322H,Phonology II,, +LINC10H3,ART_LIT_LANG,,"In this course, students will develop skills that are needed in academic writing by reading and analyzing articles regarding classic and current issues in Linguistics. They will also learn skills including summarizing, paraphrasing, making logical arguments, and critically evaluating linguistic texts. They will also learn how to make references in their wiring using the APA style.",,LINA02H3 and LINB04H3 and LINB06H3 and LINB10H3,"LIN410H5, LIN481H1",Linguistic Analysis and Argumentation,,Priority will be given to students enrolled in any Linguistics programs. +LINC11H3,HIS_PHIL_CUL,,"Core issues in syntactic theory, with emphasis on universal principles and syntactic variation.",,LINB06H3,"FREC46H3, LIN232H, LIN331H, FRE378H",Syntax II,, +LINC12H3,HIS_PHIL_CUL,,"An introduction to the role of meaning in the structure, function, and use of language. Approaches to the notion of meaning as applied to English data will be examined.",,LINA01H3 or [FREB44H3 and FREB45H3],"FREC12H3, FREC44H3, FRE386H, LIN241H, LIN247H, LIN341H",Semantics: The Study of Meaning,, +LINC13H3,ART_LIT_LANG,,"An introduction to linguistic typology with special emphasis on cross-linguistic variation and uniformity in phonology, morphology, and syntax.",,LINB04H3 and LINB06H3 and LINB10H3,"LIN306H, (LINB13H3)",Language Diversity and Universals,, +LINC28H3,SOCIAL_SCI,,"An introduction to the research on differences between women and men in how they use language and how they behave in conversational interaction, together with an examination of the role of language in reflecting and perpetuating cultural attitudes towards gender. Same as WSTC28H3",,"LINA01H3 and one full credit at the B-level in ANT, LIN, SOC or WST","JAL355H, WSTC28H3",Language and Gender,, +LINC29H3,QUANT,Partnership-Based Experience,"This course provides students with advanced statistical methods in linguistics and psycholinguistics. Specifically, an introduction to multiple linear regression (MLR) and its applications in linguistic and psycholinguistic research are presented. The course covers the data analysis process from data collection, to visualization, to interpretation. The goal is to provide students with the theoretical and practical skills needed to reason about and conduct MLR analyses.",Any prior math or statistics course,[LINB29H3 or STAB22H3 or STAB23H3 or PSYB07H3] and an additional 1.0 FCE at the B-level or above in Linguistics or Psycholinguistics,"PSYC09H3, MGEC11H3",Advanced Quantitative Methods in Linguistics,,"Priority will be given to students enrolled in a Linguistics or Psycholinguistics Specialist or Major degree. If additional space remains, the course will be open to all students who meet the prerequisites. This course will be run in an experiential learning format with students alternating between learning advanced statistical methods and applying that theory using a computer to inspect and analyze data in a hands-on manner. If the possibility exists, students will also engage in a consultancy project with a partner or organization in Toronto or a surrounding community that will provide students with data that require analysis to meet certain goals/objectives or to guide future work. Care will be taken to ensure that the project is of linguistic/psycholinguistic relevance. If no such opportunity exists, students will conduct advanced exploration, visualization, and analysis of data collected in our laboratories. Together, managing the various aspects of the course and sufficient interactions with students leads to this course size restriction." +LINC35H3,QUANT,,This course focuses on computational methods in linguistics. It is geared toward students with a background in linguistics but minimal background in computer science. This course offers students a foundational understanding of two domains of computational linguistics: cognitive modeling and natural language processing. Students will be introduced to the tools used by computational linguists in both these domains and to the fundamentals of computer programming in a way that highlights what is important for working with linguistic data.,,LINB30H3 or with permission of instructor,"(LINB35H3), LIN340H5(UTM), LIN341H5(UTM)",Introduction to Computational Linguistics,LINB29H3, +LINC47H3,ART_LIT_LANG,,"A study of pidgin and Creole languages worldwide. The course will introduce students to the often complex grammars of these languages and examine French, English, Spanish, and Dutch-based Creoles, as well as regional varieties. It will include some socio-historical discussion. Same as FREC47H3.",,[LINA01H3 and LINA02H3] or [FREB44H3 and FREB45H3],"FREC47H3, LIN366H",Pidgin and Creole Languages,, +LINC61H3,ART_LIT_LANG,,"An introduction to the phonetics, phonology, word-formation rules, syntax, and script of a featured language other than English or French. Students will use the tools of linguistic analysis learned in prior courses to examine the structural properties of this language. No prior knowledge of the language is necessary.",,LINB04H3 and LINB06H3,LIN409H,Structure of a Language,, +LINC98H3,SOCIAL_SCI,,"This course provides an opportunity to build proficiency and experience in ongoing theoretical and empirical research in any field of linguistics. Supervision of the work is arranged by mutual agreement between student and instructor. For any additional requirements, please speak with your intended faculty supervisor. Students must download the Supervised Study Form, that is to be completed with the intended faculty supervisor, along with an agreed-upon outline of work to be performed., The form must then be signed by the student and the intended supervisor and submitted to the Program Coordinator by email or in person.",,5.0 credits including: [LINA01H3 or LINA02H3] and [1.0 credits at the B-level or higher in Linguistics or Psycholinguistics]; and a minimum cGPA of 3.3,,Supervised Research in Linguistics,,1. Priority will be given to students enrolled in a Specialist or Major program in Linguistics or Psycholinguistics. 2. Students who have taken the proposed course cannot enroll in LINB98H3. 3. Enrollment will depend each year on the research opportunities available with each individual faculty member and the interests of the students who apply for enrollment. +LIND01H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Linguistics for further information.,,At least 1.0 credit at the C-level in LIN courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Linguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +LIND02H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Linguistics for further information.,,At least 1.0 credit at the C-level in LIN courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Linguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +LIND03H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Program Supervisor for Linguistics.,,At least 1.0 credit at the C-level in LIN courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Linguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +LIND07Y3,,University-Based Experience,A reading and research independent study course on a topic of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Linguistics for further information.,,At least 1.0 credit at the C-level in LIN courses; and a CGPA of 3.3; and permission of the supervising instructor.,LIN495Y,Independent Study in Linguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +LIND09H3,NAT_SCI,,Practical application of phonetic theory with special emphasis on instrumental and experimental techniques.,,LINB09H3 and LINB29H3,"LIN423H, (LINC09H3)",Phonetic Analysis,, +LIND11H3,SOCIAL_SCI,,"This course is concerned with modern sociolinguistic theory as well as methods of conducting sociolinguistic research including data collection and the analysis of sociolinguistic data. The theoretical approaches learned include discourse analysis, language variation, conversation analysis, and variationist sociolinguistics.",,LINB20H3,"LIN456H1, LIN351H1, LIN458H",Advanced Sociolinguistic Theory and Method,,Priority will be given to students in the Linguistics program. +LIND29H3,ART_LIT_LANG,,"This course focuses on research methodologies (interviews, corpus collection, surveys, ethnography, etc.). Students conduct individual research studies in real-life contexts.",,LINB04H3 and LINB06H3 and LINB10H3,,Linguistic Research Methodologies,,Topics will vary each time the course is offered. Please check with the department's Undergraduate Assistant or on the Web Timetable on the Office of the Registrar website for details regarding the proposed subject matter. +LIND46H3,ART_LIT_LANG,,"Practice in language analysis based on elicited data from second language learners and foreign speakers. Emphasis is put on procedures and techniques of data collection, as well as theoretical implications arising from data analysis.",LINC02H3 and LINC11H3,[FREB44H3 and FREC46H3] or LINB10H3,"(FRED46H3), JAL401H",Field Methods in Linguistics,, +MATA02H3,QUANT,,"A selection from the following topics: the number sense (neuroscience of numbers); numerical notation in different cultures; what is a number; Zeno’s paradox; divisibility, the fascination of prime numbers; prime numbers and encryption; perspective in art and geometry; Kepler and platonic solids; golden mean, Fibonacci sequence; elementary probability.",,,"MATA29H3, MATA30H3, MATA31H3, (MATA32H3), MATA34H3 (or equivalent). These courses cannot be taken previously or concurrently with MATA02H3.",The Magic of Numbers,,MATA02H3 is primarily intended as a breadth requirement course for students in the Humanities and Social Sciences. +MATA22H3,QUANT,,"A conceptual and rigorous approach to introductory linear algebra that focuses on mathematical proofs, the logical development of fundamental structures, and essential computational techniques. This course covers complex numbers, vectors in Euclidean n-space, systems of linear equations, matrices and matrix algebra, Gaussian reduction, structure theorems for solutions of linear systems, dependence and independence, rank equation, linear transformations of Euclidean n-space, determinants, Cramer's rule, eigenvalues and eigenvectors, characteristic polynomial, and diagonalization.",,Grade 12 Calculus and Vectors or [Grade 12 Advanced Functions and Introductory Calculus and Geometry and Discrete Mathematics],"MATA23H3, MAT223H, MAT240H",Linear Algebra I for Mathematical Sciences,,Students are cautioned that MAT223H cannot be used as a substitute for MATA22H3 in any courses for which MATA22H3 appears as a prerequisite. +MATA23H3,QUANT,,"Systems of linear equations, matrices, Gaussian elimination; basis, dimension; dot products; geometry to Rn; linear transformations; determinants, Cramer's rule; eigenvalues and eigenvectors, diagonalization.",,Grade 12 Calculus and Vectors or [Grade 12 Advanced Functions and Introductory Calculus and Geometry and Discrete Mathematics],"MATA22H3, MAT223H",Linear Algebra I,, +MATA29H3,QUANT,,"A course in differential calculus for the life sciences. Algebraic and transcendental functions; semi-log and log-log plots; limits of sequences and functions, continuity; extreme value and intermediate value theorems; approximation of discontinuous functions by continuous ones; derivatives; differentials; approximation and local linearity; applications of derivatives; antiderivatives and indefinite integrals.",,Grade 12 Calculus and Vectors,"(MATA20H3), (MATA27H3), MATA30H3, MATA31H3, (MATA32H3), MATA34H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus I for the Life Sciences,, +MATA30H3,QUANT,,"An introduction to the basic techniques of Calculus. Elementary functions: rational, trigonometric, root, exponential and logarithmic functions and their graphs. Basic calculus: limits, continuity, derivatives, derivatives of higher order, analysis of graphs, use of derivatives; integrals and their applications.",,Grade 12 Calculus and Vectors,"(MATA20H3), (MATA27H3), MATA29H3, MATA31H3, (MATA32H3), MATA34H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus I for Physical Sciences,, +MATA31H3,QUANT,,"A conceptual introduction to Differential Calculus of algebraic and transcendental functions of one variable; focus on logical reasoning and fundamental notions; first introduction into a rigorous mathematical theory with applications. Course covers: real numbers, set operations, supremum, infimum, limits, continuity, Intermediate Value Theorem, derivative, differentiability, related rates, Fermat's, Extreme Value, Rolle's and Mean Value Theorems, curve sketching, optimization, and antiderivatives.",,Grade 12 Calculus and Vectors,"(MATA20H3), (MATA27H3), MATA29H3, MATA30H3, (MATA32H3), MATA34H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus I for Mathematical Sciences,, +MATA34H3,QUANT,,This is a calculus course designed primarily for students in management. The main concepts of calculus of one and several variables are studied with interpretations and applications to business and economics. Systems of linear equations and matrices are covered with applications in business.,,Ontario Grade 12 Calculus and Vectors or approved equivalent.,"MATA30H3, MATA31H3, MATA33H3, MAT133Y",Calculus for Management,,"Students who are pursuing a BBA degree or who are interested in applying to the BBA programs or the Major Program in Economics must take MATA34H3 for credit (i.e., they should not take the course as CR/NCR)." +MATA35H3,QUANT,,"A calculus course emphasizing examples and applications in the biological and environmental sciences. Discrete probability; basic statistics: hypothesis testing, distribution analysis. Basic calculus: extrema, growth rates, diffusion rates; techniques of integration; differential equations; population dynamics; vectors and matrices in 2 and 3 dimensions; genetics applications.",,MATA29H3,"(MATA21H3), (MATA33H3), MATA34H3, MATA36H3, MATA37H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y,(MATA27H3)",Calculus II for Biological Sciences,,"This course will not satisfy the Mathematics requirements for any Program in Computer and Mathematical Sciences, nor will it normally serve as a prerequisite for further courses in Mathematics. Students who are not sure which Calculus II course they should choose are encouraged to consult with the supervisor(s) of Programs in their area(s) of interest." +MATA36H3,QUANT,,"This course is intended to prepare students for the physical sciences. Topics to be covered include: techniques of integration, Newton's method, approximation of functions by Taylor polynomials, numerical methods of integration, complex numbers, sequences, series, Taylor series, differential equations.",,MATA30H3,"(MATA21H3), MATA35H3, MATA37H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus II for Physical Sciences,,Students who have completed MATA34H3 must still take MATA30H3 +MATA37H3,QUANT,,"A rigorous introduction to Integral Calculus of one variable and infinite series; strong emphasis on combining theory and applications; further developing of tools for mathematical analysis. Riemann Sum, definite integral, Fundamental Theorem of Calculus, techniques of integration, improper integrals, numerical integration, sequences and series, absolute and conditional convergence of series, convergence tests for series, Taylor polynomials and series, power series and applications.",,MATA31H3 and [MATA67H3 or CSCA67H3],"(MATA21H3), (MATA33H3), MATA34H3, MATA35H3, MATA36H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus II for Mathematical Sciences,, +MATA67H3,QUANT,,"Introduction to discrete mathematics: Elementary combinatorics; discrete probability including conditional probability and independence; graph theory including trees, planar graphs, searches and traversals, colouring. The course emphasizes topics of relevance to computer science, and exercises problem-solving skills and proof techniques such as well ordering, induction, contradiction, and counterexample. Same as CSCA67H3",CSCA08H3 or CSCA20H3,Grade 12 Calculus and Vectors and one other Grade 12 mathematics course,"CSCA67H3, (CSCA65H3), CSC165H, CSC240H, MAT102H",Discrete Mathematics,, +MATB24H3,QUANT,,"Fields, vector spaces over a field, linear transformations; inner product spaces, coordinatization and change of basis; diagonalizability, orthogonal transformations, invariant subspaces, Cayley-Hamilton theorem; hermitian inner product, normal, self-adjoint and unitary operations. Some applications such as the method of least squares and introduction to coding theory.",,MATA22H3 or MAT240H,MAT224H,Linear Algebra II,,Students are cautioned that MAT224H cannot be used as a substitute for MATB24H3 in any courses for which MATB24H3 appears as a prerequisite. +MATB41H3,QUANT,,"Partial derivatives, gradient, tangent plane, Jacobian matrix and chain rule, Taylor series; extremal problems, extremal problems with constraints and Lagrange multipliers, multiple integrals, spherical and cylindrical coordinates, law of transformation of variables.",,[MATA22H3 or MATA23H3 or MAT223H] and [[MATA36H3 or MATA37H3] or [MAT137H5 and MAT139H5] or [MAT157H5 and MAT159H5]],"MAT232H, MAT235Y, MAT237Y, MAT257Y",Techniques of the Calculus of Several Variables I,, +MATB42H3,QUANT,,"Fourier series. Vector fields in Rn, Divergence and curl, curves, parametric representation of curves, path and line integrals, surfaces, parametric representations of surfaces, surface integrals. Green's, Gauss', and Stokes' theorems will also be covered. An introduction to differential forms, total derivative.",,MATB41H3,"MAT235Y, MAT237Y, MAT257Y, MAT368H",Techniques of the Calculus of Several Variables II,, +MATB43H3,QUANT,,"Generalities of sets and functions, countability. Topology and analysis on the real line: sequences, compactness, completeness, continuity, uniform continuity. Topics from topology and analysis in metric and Euclidean spaces. Sequences and series of functions, uniform convergence.",,[MATA37H3 or [MAT137H5 and MAT139H5]] and MATB24H3,MAT246Y,Introduction to Analysis,, +MATB44H3,QUANT,,"Ordinary differential equations of the first and second order, existence and uniqueness; solutions by series and integrals; linear systems of first order; non-linear equations; difference equations.",,[MATA36H3 or MATA37H3] and [MATA22H3 or MATA23H3],"MAT244H, MAT267H",Differential Equations I,MATB41H3, +MATB61H3,QUANT,,"Linear programming, simplex algorithm, duality theory, interior point method; quadratic and convex optimization, stochastic programming; applications to portfolio optimization and operations research.",,[MATA22H3 or MATA23H3] and MATB41H3,APM236H,Linear Programming and Optimization,, +MATC01H3,QUANT,,"Congruences and fields. Permutations and permutation groups. Linear groups. Abstract groups, homomorphisms, subgroups. Symmetry groups of regular polygons and Platonic solids, wallpaper groups. Group actions, class formula. Cosets, Lagrange's theorem. Normal subgroups, quotient groups. Emphasis on examples and calculations.",,[MATA36H3 or MATA37H3] and [MATB24H3 or MAT224H],"MAT301H, MAT347Y",Groups and Symmetry,, +MATC09H3,QUANT,,Predicate calculus. Relationship between truth and provability; Gödel's completeness theorem. First order arithmetic as an example of a first-order system. Gödel's incompleteness theorem; outline of its proof. Introduction to recursive functions.,,MATB24H3 and [MATB43H3 or CSCB36H3],"MAT309H, CSC438H",Introduction to Mathematical Logic,, +MATC15H3,QUANT,,"Elementary topics in number theory; arithmetic functions; polynomials over the residue classes modulo m, characters on the residue classes modulo m; quadratic reciprocity law, representation of numbers as sums of squares.",,MATB24H3 and MATB41H3,MAT315H,Introduction to Number Theory,, +MATC27H3,QUANT,,"Fundamentals of set theory, topological spaces and continuous functions, connectedness, compactness, countability, separatability, metric spaces and normed spaces, function spaces, completeness, homotopy.",,MATB41H3 and MATB43H3,MAT327H,Introduction to Topology,, +MATC32H3,QUANT,,"Graphs, subgraphs, isomorphism, trees, connectivity, Euler and Hamiltonian properties, matchings, vertex and edge colourings, planarity, network flows and strongly regular graphs; applications to such problems as timetabling, personnel assignment, tank form scheduling, traveling salesmen, tournament scheduling, experimental design and finite geometries.",,[MATB24H3 or CSCB36H3] and at least one other B-level course in Mathematics or Computer Science,,Graph Theory and Algorithms for its Applications,, +MATC34H3,QUANT,,"Theory of functions of one complex variable, analytic and meromorphic functions. Cauchy's theorem, residue calculus, conformal mappings, introduction to analytic continuation and harmonic functions.",,MATB42H3,"MAT334H, MAT354H",Complex Variables,, +MATC37H3,QUANT,,"Topics in measure theory: the Lebesgue integral, Riemann- Stieltjes integral, Lp spaces, Hilbert and Banach spaces, Fourier series.",MATC27H3,MATB43H3,"MAT337H, (MATC38H3)",Introduction to Real Analysis,, +MATC44H3,QUANT,,"Basic counting principles, generating functions, permutations with restrictions. Fundamentals of graph theory with algorithms; applications (including network flows). Combinatorial structures including block designs and finite geometries.",,MATB24H3,MAT344H,Introduction to Combinatorics,, +MATC46H3,QUANT,,"Sturm-Liouville problems, Green's functions, special functions (Bessel, Legendre), partial differential equations of second order, separation of variables, integral equations, Fourier transform, stationary phase method.",,MATB44H3,APM346H,Differential Equations II,MATB42H3, +MATC58H3,QUANT,,"Mathematical analysis of problems associated with biology, including models of population growth, cell biology, molecular evolution, infectious diseases, and other biological and medical disciplines. A review of mathematical topics: linear algebra (matrices, eigenvalues and eigenvectors), properties of ordinary differential equations and difference equations.",,MATB44H3,,An Introduction to Mathematical Biology,, +MATC63H3,QUANT,,"Curves and surfaces in Euclidean 3-space. Serret-Frenet frames and the associated equations, the first and second fundamental forms and their integrability conditions, intrinsic geometry and parallelism, the Gauss-Bonnet theorem.",,MATB42H3 and MATB43H3,MAT363H,Differential Geometry,, +MATC82H3,QUANT,,"The course discusses the Mathematics curriculum (K-12) from the following aspects: the strands of the curriculum and their place in the world of Mathematics, the nature of proofs, the applications of Mathematics, and its connection to other subjects.",,[MATA67H3 or CSCA67H3 or (CSCA65H3)] and [MATA22H3 or MATA23H3] and [MATA37H3 or MATA36H3],MAT382H,Mathematics for Teachers,, +MATC90H3,QUANT,,"Mathematical problems which have arisen repeatedly in different cultures, e.g. solution of quadratic equations, Pythagorean theorem; transmission of mathematics between civilizations; high points of ancient mathematics, e.g. study of incommensurability in Greece, Pell's equation in India.",,"10.0 credits, including 2.0 credits in MAT courses [excluding MATA02H3], of which 0.5 credit must be at the B-level",MAT390H,Beginnings of Mathematics,, +MATD01H3,QUANT,,"Abstract group theory: Sylow theorems, groups of small order, simple groups, classification of finite abelian groups. Fields and Galois theory: polynomials over a field, field extensions, constructibility; Galois groups of polynomials, in particular cubics; insolvability of quintics by radicals.",MATC34H3,MATC01H3,"(MAT302H), MAT347Y, (MATC02H3)",Fields and Groups,, +MATD02H3,QUANT,,"An introduction to geometry with a selection of topics from the following: symmetry and symmetry groups, finite geometries and applications, non-Euclidean geometry.",,[MATA22H3 or MATA23H3],"MAT402H, (MAT365H), (MATC25H3)",Classical Plane Geometries and their Transformations,MATC01H3, +MATD09H3,QUANT,,"This course is an introduction to axiomatic set theory and its methods. Set theory is a foundation for practically every other area of mathematics and is a deep, rich subject in its own right. The course will begin with the Zermelo-Fraenkel axioms and general set constructions. Then the natural numbers and their arithmetic are developed axiomatically. The central concepts of cardinality, cardinal numbers, and the Cantor- Bernstein theorem are studied, as are ordinal numbers and transfinite induction. The Axiom of Choice and its equivalents are presented along with applications.",,MATB43H3 and [MATC09H3 or MATC27H3 or MATC37H3].,MAT409H1,Set Theory,, +MATD10H3,,,"A variety of topics from geometry, analysis, combinatorics, number theory and algebra, to be chosen by the instructor.",,"Permission from the instructor is required. Typically, this will require that the student has completed courses such as: MATC01H3 and MATC34H3 and [(MATC35H3) or MATC37H3] and [MATC15H3 or MATD02H3] but, depending on the topics covered, the instructor may specify alternative course requirements.",,Topics in Mathematics,, +MATD11H3,,,"A variety of topics from geometry, analysis, combinatorics, number theory and algebra, to be chosen by the instructor.",,"Permission from the instructor is required. Typically this will require that the student has completed courses such as MATC01H3 and MATC34H3 and [(MATC35H3) or MATC37H3] and [MATC15H3 or MATD02H3] but, depending on the topics covered, the instructor may specify alternative course requirements.",,Topics in Mathematics,, +MATD12H3,,,"A variety of topics from geometry, analysis, combinatorics, number theory and algebra, to be chosen by the instructor.",,"Permission from the instructor is required. Typically this will require that the student has completed courses such as MATC01H3 and MATC34H3 and [(MATC35H3) or MATC37H3] and [MATC15H3 or MATD02H3] but, depending on the topics covered, the instructor may specify alternative course requirements.",,Topics in Mathematics,, +MATD16H3,QUANT,,"The main problems of coding theory and cryptography are defined. Classic linear and non-linear codes. Error correcting and decoding properties. Cryptanalysis of classical ciphers from substitution to DES and various public key systems [e.g. RSA] and discrete logarithm based systems. Needed mathematical results from number theory, finite fields, and complexity theory are stated.",,MATC15H3 and [STAB52H3 or STAB53H3],(MATC16H3),Coding Theory and Cryptography,, +MATD26H3,QUANT,,"An intuitive and conceptual introduction to general relativity with emphasis on a rigorous treatment of relevant topics in geometric analysis. The course aims at presenting rigorous theorems giving insights into fundamental natural phenomena. Contents: Riemannian and Lorentzian geometry (parallelism, geodesics, curvature tensors, minimal surfaces), Hyperbolic differential equations (domain of dependence, global hyperbolicity). Relativity (causality, light cones, inertial observes, trapped surfaces, Penrose incompleteness theorem, black holes, gravitational waves).",,MATC63H3,APM426H1,Geometric Analysis and Relativity,, +MATD34H3,QUANT,,"Applications of complex analysis to geometry, physics and number theory. Fractional linear transformations and the Lorentz group. Solution to the Dirichlet problem by conformal mapping and the Poisson kernel. The Riemann mapping theorem. The prime number theorem.",,MATB43H3 and MATC34H3,(MATC65H3),Complex Variables II,, +MATD35H3,QUANT,,"This course provides an introduction and exposure to dynamical systems, with particular emphasis on low- dimensional systems such as interval maps and maps of the plane. Through these simple models, students will become acquainted with the mathematical theory of chaos and will explore strange attractors, fractal geometry and the different notions of entropy. The course will focus mainly on examples rather than proofs; students will be encouraged to explore dynamical systems by programming their simulations in Mathematica.",,[[MATA37H3 or MATA36H3] with a grade of B+ or higher] and MATB41H3 and MATC34H3,,Introduction to Discrete Dynamical Systems,, +MATD44H3,QUANT,,This course will focus on combinatorics. Topics will be selected by the instructor and will vary from year to year.,,[MATC32H3 or MATC44H3],,Topics in Combinatorics,, +MATD46H3,QUANT,,"This course provides an introduction to partial differential equations as they arise in physics, engineering, finance, optimization and geometry. It requires only a basic background in multivariable calculus and ODEs, and is therefore designed to be accessible to most students. It is also meant to introduce beautiful ideas and techniques which are part of most analysts' bag of tools.",,[[MATA37H3 or MATA36H]3 with grade of at least B+] and MATB41H3 and MATB44H3,,Partial Differential Equations,, +MATD50H3,QUANT,,"This course introduces students to combinatorial games, two- player (matrix) games, Nash equilibrium, cooperative games, and multi-player games. Possible additional topics include: repeated (stochastic) games, auctions, voting schemes and Arrow's paradox. Numerous examples will be analyzed in depth, to offer insight into the mathematical theory and its relation to real-life situations.",,MATB24H3 and [STAB52H3 or STAB53H3],MAT406H,Mathematical Introduction to Game Theory,, +MATD67H3,QUANT,,"Manifolds, vector fields, tangent spaces, vector bundles, differential forms, integration on manifolds.",,MATB43H3,MAT367H1,Differentiable Manifolds,, +MATD92H3,QUANT,,A significant project in any area of mathematics. The project may be undertaken individually or in small groups. This course is offered by arrangement with a mathematics faculty member. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken.,,[1.5 credits at the C-level in MAT courses] and [permission of the Supervisor of Studies] and [a CGPA of at least 3.0 or enrolment in a Mathematics Subject POSt],,Mathematics Project,,Enrolment procedures: the project supervisor's note of agreement must be presented to the Supervisor of Studies who will issue permission for registration. +MATD93H3,QUANT,,A significant project in any area of mathematics. The project may be undertaken individually or in small groups. This course is offered by arrangement with a mathematics faculty member. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken.,,[1.5 credits at the C-level in MAT courses] and [permission of the Supervisor of Studies] and [a CGPA of at least 3.0 or enrolment in a Mathematics Subject POSt],,Mathematics Project,,Enrolment procedures: the project supervisor's note of agreement must be presented to the Supervisor of Studies who will issue permission for registration. +MATD94H3,,,Independent study under direction of a faculty member.,,[1.5 credits at the C-level in MAT courses] and [permission of the Supervisor of Studies] and [a CGPA of at least 3.0 or enrolment in a Mathematics Subject POSt],,Readings in Mathematics,,Enrolment procedures: the project supervisor's note of agreement must be presented to the Supervisor of Studies who will issue permission for registration. +MATD95H3,,,Independent study under direction of a faculty member.,,[1.5 credits at the C-level in MAT courses] and permission of the Supervisor of Studies] and [a CPGA of at least 3.0 or enrolment in a Mathematics Subject POSt],,Readings in Mathematics,,Enrolment procedures: the project supervisor's note of agreement must be presented to the Supervisor of Studies who will issue permission for registration. +MBTB13H3,ART_LIT_LANG,University-Based Experience,"In this course students explore a variety of topics relating to songwriting. Advanced techniques relating to melody, lyric, and chord writing will be discussed and applied creatively to original songs. This course is taught at Centennial College.",,MUZA80H3 and MUZB40H3 and MUZB41H3 and MUZB80H3 and 1.0 credit in performance ensembles,,Songwriting 2,MBTB41H3 and MBTB50H3 and [[MBTC62H3 and MBTC63H3] or [MBTC70H3 and MBTC72H3]],Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology. +MBTB41H3,ART_LIT_LANG,University-Based Experience,This course will introduce students to live and studio sound by giving them hands-on experience on equipment in a professional recording studio. This course is taught at Centennial College.,,MUZA80H3 and MUZB40H3 and MUZB41H3 and MUZB80H3 and 1.0 credit in performance ensembles,,Introduction to Audio Engineering,MBTB13H3 and MBTB50H3 and [[MBTC62H3 and MBTC63H3] or [MBTC70H3 and MBTC72H3]],Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology. +MBTB50H3,ART_LIT_LANG,,"Students will develop a foundational knowledge of the music industry that will serve as a base for all other music business- related courses. Students will be introduced to the terminology, history, infrastructure, and careers of the music industry. Students will be introduced to fundamental areas of business management. Legal issues and the future of the music industry will also be discussed. All material will be taught from a uniquely Canadian perspective.",,MUZA80H3 and MUZB40H3 and MUZB41H3 and MUZB80H3 and 1.0 credit in performance ensembles,,Music Business Fundamentals,MBTB13H3 and MBTB50H3 and [[MBTC62H3 and MBTC63H3] or [MBTC70H3 and MBTC72H3]],Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology. +MBTC62H3,ART_LIT_LANG,University-Based Experience,"This course focuses specifically on sound mixing and editing – all stages of post-production. Students will learn how to work efficiently with a variety of different musical content. This course will help students with regard to software proficiency, and to develop a producer's ear. This course is taught at Centennial College.",,MUZA80H3 and MUZB80H3 and MUZB40H3 and MUZB41H3 and 1.0 credit in performance ensembles,,Advanced Sound Mixing and Editing,,Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology. +MBTC63H3,ART_LIT_LANG,University-Based Experience,"This course focuses on a variety of techniques for achieving the best possible sound quality during the sound recording process. Topics discussed include acoustics, microphone selection and placement, drum tuning, guitar and bass amplifiers, preamplifiers, and dynamics processors. This course will help prepare students for work as recording studio engineers, and to be self-sufficient when outputting recorded works as a composer/musician. This course is taught at Centennial College.",,MUZA80H3 and MUZB80H3 and MUZB40H3 and MUZB41H3 and 1.0 credit in performance ensembles,,Advanced Sound Production and Recording,,Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology. +MBTC70H3,ART_LIT_LANG,University-Based Experience,"This course will delve deeper into the overlapping areas of copyright, royalties, licensing, and publishing. These topics will be discussed from an agency perspective. Students will learn about the processes and activities that occur at publishing and licensing agencies in order to prepare for careers at such businesses. This course is taught at Centennial College.",,MUZA80H3 and MUZB80H3 and MUZB40H3 and MUZB41H3 and 1.0 credit in performance ensembles,,"Copyright, Royalties, Licensing, and Publishing",,Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology +MBTC72H3,ART_LIT_LANG,University-Based Experience,"Students will delve deeper into a variety of topics relating to working in the music industry. Topics include grant writing, bookkeeping, contracts, and the future of the music industry. Students will be taught how to be innovative, flexible team players in a rapidly changing industry. This course is taught at Centennial College.",,MUZA80H3 and MUZB80H3 and MUZB40H3 and MUZB41H3 and 1.0 credit in performance ensembles,,Advanced Music Business,,Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology. +MDSA10H3,HIS_PHIL_CUL,,"A survey of foundational critical approaches to media studies, which introduces students to transnational and intersectional perspectives on three core themes in Media Studies: arts, society, and institutions.",,,(MDSA01H3),Media Foundations,MDSA12H3, +MDSA11H3,HIS_PHIL_CUL,,"Introduces students to ethical issues in media. Students learn theoretical aspects of ethics and apply them to media industries and practices in the context of advertising, public relations, journalism, mass media entertainment, and online culture.",,,"(JOUC63H3), (MDSC43H3)",Media Ethics,, +MDSA12H3,ART_LIT_LANG,,"An introduction to diverse forms and genres of writing in Media Studies, such as blog entries, Twitter essays, other forms of social media, critical analyses of media texts, histories, and cultures, and more. Through engagement with published examples, students will identify various conventions and styles in Media Studies writing and develop and strengthen their own writing and editing skills.",,,ACMB01H3,Writing for Media Studies,, +MDSA13H3,HIS_PHIL_CUL,,"This course surveys the history of media and communication from the development of writing through the printing press, newspaper, telegraph, radio, film, television and internet. Students examine the complex interplay among changing media technologies and cultural, political and social changes, from the rise of a public sphere to the development of highly- mediated forms of self identity.",,MDSA10H3 or (MDSA01H3),(MDSA02H3),Media History,, +MDSB05H3,HIS_PHIL_CUL,,"This course examines the role of technological and cultural networks in mediating and facilitating the social, economic, and political processes of globalization. Key themes include imperialism, militarization, global political economy, activism, and emerging media technologies. Particular attention is paid to cultures of media production and reception outside of North America. Same as GASB05H3",,4.0 credits and MDSA01H3,GASB05H3,Media and Globalization,, +MDSB09H3,ART_LIT_LANG,,"Around the world, youth is understood as liminal phase in our lives. This course examines how language and new media technologies mark the lives of youth today. We consider social media, smartphones, images, romance, youth activism and the question of technological determinism. Examples drawn fromm a variety of contexts. Same as ANTB35H3",,"ANTA02H3 or MDSA01H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]",ANTB35H3,"Kids These Days: Youth, Language and Media",, +MDSB11H3,ART_LIT_LANG,,"A course that explores the media arts, with a focus on the creation and circulation of artistic and cultural works including photographs, films, games, gifs, memes and more. Through this exploration, students will develop critical skills to engage with these forms and genres, and investigate their capacity to produce meaning and shape our political, cultural, and aesthetic realities. This course will also introduce students to creation-based research (research-creation) methods.",,Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3],,Media and the Arts,, +MDSB12H3,ART_LIT_LANG,,"Visual Culture studies the construction of the visual in art, media, technology and everyday life. Students learn the tools of visual analysis; investigate how visual depictions such as YouTube and advertising structure and convey ideologies; and study the institutional, economic, political, social, and market factors in the making of contemporary visual culture.",,MDSA01H3 and MDSA02H3,(MDSB62H3) (NMEB20H3),Visual Culture,, +MDSB14H3,HIS_PHIL_CUL,,"What makes humans humans, animals animals, and machines machines? This course probes the leaky boundaries between these categories through an examination of various media drawn from science fiction, contemporary art, film, TV, and the critical work of media and posthumanist theorists on cyborgs, genetically-modified organisms, and other hybrid creatures.",,,"(IEEB01H3), (MDSB01H3)","Human, Animal, Machine",MDSB10H3 or (MDSA01H3), +MDSB16H3,ART_LIT_LANG,,"This course centres Indigenous critical perspectives on media studies to challenge the colonial foundations of the field. Through examination of Indigenous creative expression and critique, students will analyze exploitative approaches, reexamine relationships to land, and reorient connections with digital spaces to reimagine Indigenous digital world- making.",,[MDSA10H3 or (MDSA01H3)] or VPHA46H3,,Indigenous Media Studies,,"Priority enrolment is for MDS, VPH and JOU students" +MDSB17H3,ART_LIT_LANG,,"An exploration of critical approaches to the study of popular culture that surveys diverse forms and genres, including television, social media, film, photography, and more. Students will learn key concepts and theories with a focus on the significance of processes of production, representation, and consumption in mediating power relations and in shaping identity and community in local, national, and global contexts.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Popular Culture and Media Studies,, +MDSB20H3,HIS_PHIL_CUL,,"This course offers an introduction to the field of Science and Technology Studies (STS) as it contributes to the field of media studies. We will explore STS approaches to media technologies, the materiality of communication networks, media ecologies, boundary objects and more. This will ask students to consider the relationship between things like underground cables and colonialism, resource extraction (minerals for media technologies) and economic exploitation, plants and border violences, Artificial Intelligence and policing.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],(MDSB20H3),"Media, Science and Technology Studies",, +MDSB21H3,ART_LIT_LANG,,"This course introduces students to perspectives and frameworks to critically analyze complex media-society relations. How do we understand media in its textual, cultural technological, institutional forms as embedded in and shaped by various societal forces? How do modern media and communication technologies impact the ways in which societies are organized and social interactions take place? To engage with these questions, we will be closely studying contemporary media texts, practices and phenomena while drawing upon insights from various disciplines such as sociology, anthropology, art history and visual culture, and cultural studies.",,Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ],,Media and Society,, +MDSB22H3,ART_LIT_LANG,,"This course offers an introduction to the major topics, debates and issues in contemporary Feminist Media Studies – from digital coding and algorithms to film, television, music and social networks – as they interact with changing experiences, expressions and possibilities for gender, race, sexuality, ethnicity and economic power in their social and cultural contexts. We will explore questions such as: how do we study and understand representations of gender, race and sexuality in various media? Can algorithms reproduce or interrupt racism and sexism? What roles can media play in challenging racial, gendered, sexual and economic violence? How can media technologies normalize or transform relations of oppression and exploitation in specific social and cultural contexts?",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Feminist Media Studies,, +MDSB23H3,ART_LIT_LANG,,"Media not only represents war; it has also been deployed to advance the ends of war, and as part of antiwar struggles. This course critically examines the complex relationship between media and war, with focus on historicizing this relationship in transnational contexts.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Media and Militarization,, +MDSB25H3,ART_LIT_LANG,,"This course follows money in media industries. It introduces a variety of economic theories and methods to analyse cultural production and circulation, and the organization of media and communication companies. These approaches are used to better understand the political economy of digital platforms, apps, television, film, and games.",,MDSA01H3 and MDSA02H3,,Political Economy of Media,, +MDSB29H3,HIS_PHIL_CUL,,"This course introduces students to the key terms and concepts in new media studies as well as approaches to new media criticism. Students examine the myriad ways that new media contribute to an ongoing reformulation of the dynamics of contemporary society, including changing concepts of community, communication, identity, privacy, property, and the political.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],(MDSB61H3),Mapping New Media,, +MDSB30H3,ART_LIT_LANG,,"This course introduces students to the interdisciplinary and transnational field of media studies that helps us to understand the ways that social media and digital culture have impacted social, cultural, political, economic and ecological relations. Students will be introduced to Social Media and Digital Cultural studies of social movements, disinformation, changing labour conditions, algorithms, data, platform design, environmental impacts and more",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],"CCT331H5, (MDSB15H3)",Social Media and Digital Culture,, +MDSB31H3,ART_LIT_LANG,,"This course follows the money in the media industries. It introduces a variety of economic theories, histories, and methods to analyse the organization of media and communication companies. These approaches are used to better understand the critical political economy of media creation, distribution, marketing and monetization.",,Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ],,Media and Institutions,, +MDSB33H3,HIS_PHIL_CUL,,"This course introduces students to the study of advertising as social communication and provides a historical perspective on advertising's role in the emergence and perpetuation of ""consumer culture"". The course examines the strategies employed to promote the circulation of goods as well as the impact of advertising on the creation of new habits and expectations in everyday life.",,MDSA10H3 or SOCB58H3 or (MDSA01H3),(MDSB03H3),Media and Consumer Cultures,, +MDSB34H3,ART_LIT_LANG,,"This course provides an overview of various segments of the media industries, including music, film, television, social media entertainment, games, and digital advertising. Each segment’s history, business models, and labour practices will be examined taking a comparative media approach.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Comparative Media Industries,, +MDSB35H3,ART_LIT_LANG,,"The course explores the different types of platform labour around the world, including micro-work, gig work and social media platforms. It presents aspects of the platformization of labour, as algorithmic management, datafication, work conditions and platform infrastructures. The course also emphasizes workers' organization, platform cooperativism and platform prototypes.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Platform Labour,, +MDSC01H3,HIS_PHIL_CUL,,This is an advanced seminar for third and fourth year students on theories applied to the study of media.,,2.0 credits at the B-level in MDS courses,,Theories in Media Studies,, +MDSC02H3,SOCIAL_SCI,,"This course explores the centrality of mass media such as television, film, the Web, and mobile media in the formation of multiple identities and the role of media as focal points for various cultural and political contestations.",,2.0 credits at the B-level in MDS courses,,"Media, Identities and Politics",, +MDSC10H3,ART_LIT_LANG,,A seminar that explores historical and contemporary movements and issues in media art as well as creation-based research methods that integrate media studies inquiry and analysis through artistic and media-making practice and experimentation.,,"Enrollment in the Major program in Media and Communication Studies and 3.0 credits at MDS B-level and a minimum GPA of 3.3 in MDS A-, B- and C-level courses",,Advanced Studies in Media and the Arts,, +MDSC12H3,ART_LIT_LANG,,"This course builds on a foundation in Feminist Media Studies to engage the scholarly field of Trans-Feminist Queer (TFQ) Media Studies. While these three terms (trans, feminist and queer) can bring us to three separate areas of media studies, this course immerses students in scholarship on media and technology that is shaped by and committed to their shared critical, theoretical and political priorities. This scholarship centers transgender, feminist and queer knowledges and experiences to both understand and reimagine the ways that media and communication technologies contribute to racial, national, ethnic, gender, sexual and economic relations of power and possibility.",,[Enrolment in the Major program in Media and Communication Studies and 3.0 credits at the MDS B-level including MDSB22H3] or [Enrolment in the Minor in Media Studies and 2.0 credits at the MDS B-level including MDSB22H3],(MDSC02H3),Trans-Feminist Queer Media Studies,, +MDSC13H3,ART_LIT_LANG,,"This course explores the importance of sound and sound technology to visual media practices by considering how visuality in cinema, video, television, gaming, and new media art is organized and supported by aural techniques such as music, voice, architecture, and sound effects.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],(MDSB63H3),Popular Music and Media Cultures,, +MDSC20H3,ART_LIT_LANG,,"This seminar provides students with a theoretical toolkit to understand, analyze and evaluate media-society relations in the contemporary world. Students will, through reading and writing, become familiar with social theories that intersect with questions and issues related to media production, distribution and consumption. These theories range from historical materialism, culturalism, new materialism, network society, public sphere, feminist and queer studies, critical race theory, disability media theories, and so on. Special attention is paid to the mutually constitutive relations between digital media and contemporary societies and cultures.",,"Enrollment in the Major program in Media and Communication Studies, and 3.0 credits at MDS B-level and a minimum GPA of 3.3 in MDS A-, B- and C-level courses",,Advanced Studies in Media and Society,, +MDSC21H3,ART_LIT_LANG,,"Anthropology studies language and media in ways that show the impact of cultural context. This course introduces this approach and also considers the role of language and media with respect to intersecting themes: ritual, religion, gender, race/ethnicity, power, nationalism, and globalization. Class assignments deal with lectures, readings, and students' examples. Same as ANTC59H3",,[ANTB19H3 and ANTB20H3] or [MDSA01H3 and MDSB05H3],"(MDSB02H3), (ANTB21H3), ANTC59H3",Anthropology of Language and Media,, +MDSC22H3,HIS_PHIL_CUL,,"This course focuses on modern-day scandals, ranging from scandals of politicians, corporate CEOs, and celebrities to scandals involving ordinary people. It examines scandals as conditioned by technological, social, cultural, political, and economic forces and as a site where meanings of deviances of all sorts are negotiated and constructed. It also pays close attention to media and journalistic practices at the core of scandals.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],"SOC342H5, (MDSC35H3)",Understanding Scandals,, +MDSC23H3,,,"This course explores Black media production, representation, and consumption through the analytical lenses of Black diaspora studies, critical race studies, political economy of media and more. Themes include, Black media histories, radical traditions, creative expression, and social movements. Students will explore various forms of media production created and influenced by Black communities globally. The course readings and assignments examine the interconnection between the lived cultural, social, and historical experiences of the African diaspora and the media artefacts they create as producers, or they are referenced as subjects. Students will critically examine media artefacts (music, television shows, movies, social media content) through various lenses, including race and gender theory, rhetoric, visual communication, and digital media analysis.",,[Enrolment in the Major program in Media and Communication Studies - Media Studies stream and 3.0 credits at the MDS B-level] or [Enrolment in the Major program in Media and Communication Studies - Journalism stream and 3.0 credits at the MDS B-level/JOU B-level] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level],,Black Media Studies,, +MDSC24H3,HIS_PHIL_CUL,,"Selfies are an integral component of contemporary media culture and used to sell everyone from niche celebrities to the Prime Minister. This class examines the many meanings of selfies to trace their importance in contemporary media and digital cultures as well as their place within, and relationship to, historically and theoretically grounded concepts of photography and self portraiture.",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],(MDSC66H3),Selfies and Society,, +MDSC25H3,HIS_PHIL_CUL,,"Understanding the interests and goals of audiences is a key part of media production. This course introduces communication research methods including ratings, metrics, in-depth interviews, and focus groups. The focus of class discussion and research project is to use these methods to be able to understand the nature of audiences’ media use in the digital age. Same as JOUC80H3",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"JOUC80H3, (MDSC80H3)",Understanding Audiences in the Digital Age,, +MDSC26H3,ART_LIT_LANG,,"This course will examine Critical Disability Studies as it intersects with and informs Media Studies and Science & Technology Studies with a focus on the advancement of disability justice goals as they relate to topics that may include: interspecies assistances and co-operations, military/medical technologies that enhance ""ability,"" the possibilities and limitations of cyborg theory for a radical disabilities politics and media practice informed by the disability justice ethics of “nothing about us without us.”",,[Enrolment in the Major program in Media and Communication Studies and 3.0 credits at the MDS B-level including MDSB21H3] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level including MDSB21H3],,"Media, Technology & Disability Justice",, +MDSC27H3,ART_LIT_LANG,,"This course will examine ethical considerations for conducting digital research with a focus on privacy, consent, and security protections, especially as these issues affect underrepresented and minoritized communities.",,[Enrolment in the Major program in Media and Communication Studies and 3.0 credits at the MDS B-level] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level],,Digital Research Ethics,, +MDSC28H3,ART_LIT_LANG,,"The course explores critical data studies and considers critical understandings of artificial intelligence, with a focus on topics that may include algorithmic fairness, data infrastructures, AI colonialism, algorithmic resistance, and interplays between race/gender/sexuality issues and data/artificial intelligence.",,[3.0 credits at MDS B-level and enrolment in Major program in Media and Communication Studies - Media Studies stream] or [3.0 credits at MDS B-level/JOU B-level and enrolment in Major program in Media and Communication Studies - Journalism Studies stream] or [2.0 credits at the MDS B-level and enrolment in the Minor program in Media Studies],,Data and Artificial Intelligence,, +MDSC29H3,HIS_PHIL_CUL,,"The advancement of religious concepts and movements has consistently been facilitated - and contested - by contemporaneous media forms, and this course considers the role of media in the creation, development, and transmission of religion(s), as well as the challenges posed to modern religiosities in a digital era.",,2.0 credits at the B-level in MDS courses,,Media and Religion,, +MDSC30H3,ART_LIT_LANG,,"This seminar elaborates on foundational concepts and transformations in the media industries, such as conglomeration, platformization, datafication, and digitization. Taking a global perspective, emerging industry practices will be discussed, such as gig labour, digital advertising, and cryptocurrency.",,"Enrollment in Major program in Media and Communication Studies; and 3.0 credits at MDS B-level and a minimum GPA of 3.3 in MDS A-, B- and C-level courses",,Advanced Studies in Media and Institutions,, +MDSC31H3,ART_LIT_LANG,,"This course focuses on the process of platformization and how it impacts cultural production. It provides an introduction into the fields of software, platform, and app studies. The tenets of institutional platform power will be discussed, such as economics, infrastructure, and governance, as well as questions pertaining to platform labour, digital creativity, and democracy.",,[Enrolment in the Major program in Media and Communication Studies - Media Studies stream and 3.0 credits at the MDS B-level] or [Enrolment in the Major program in Media and Communication Studies - Journalism stream and 3.0 credits at the MDS B-level/JOU B-level] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level],,Platforms and Cultural Production,, +MDSC32H3,ART_LIT_LANG,,"The course introduces students to contemporary Chinese media. It explores the development of Chinese media in terms of production, regulation, distribution and audience practices, in order to understand the evolving relations between the state, the market, and society as manifested in China’s news and entertainment industries. The first half of the course focuses on how journalistic practices have been impacted by the changing political economy of Chinese media. The second half examines China’s celebrity culture, using it as a crucial lens to examine contemporary Chinese media.",,[Enrolment in the Major program in Media and Communication Studies and 3.0 credits at the MDS B-level] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level],,Chinese Media and Politics,, +MDSC33H3,ART_LIT_LANG,,"This course introduces students to academic perspectives on games and play. Students develop a critical understanding of a variety of topics and discussions related to games, gamification, and play in the physical and virtual world.",,[2.0 credits at the B-level in MDS courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],(MDSC65H3),Games and Play,, +MDSC34H3,HIS_PHIL_CUL,,"New media technologies enable more production and distribution of culturally, ethnically and linguistically diverse voices than ever before. Who produces these diverse voices and how accessible are these media? This course explores various types of diasporic media from century-old newspapers to young and hip news and magazine blogs, produced by and for members of a multicultural society. Same as JOUC60H3",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"JOUC60H3, (MDSC60H3)",Diasporic Media,, +MDSC37H3,ART_LIT_LANG,,"This course explores themes of labour in news media and new media. Topics include labour conditions for media workers across sectors; the labour impacts of media convergence; and the global distribution of media labour including content generation and management. The course is structured by intersectional analyses, studying how race and racism, class, gender, sex and sexism, sexuality, nationality, global location and citizenship status, Indigeneity and religion shape our experiences of media, journalism and labour. Same as JOUC62H3",,[ [MDSA10H3 or (MDSA01H3)] and MDSB05H3] or [JOUA01H3 and JOUA02H3]] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"JOUC62H3, (MDSC62H3)","Media, Journalism and Digital Labour",, +MDSC40H3,HIS_PHIL_CUL,,This course examines the complex and dynamic interplay of media and politics in contemporary China and the role of the government in this process. Same as GASC40H3,,Any 4.0 credits,GASC40H3,Chinese Media and Politics,, +MDSC41H3,HIS_PHIL_CUL,,"This course introduces students to media industries and commercial popular cultural forms in East Asia. Topics include reality TV, TV dramas, anime and manga, as well as issues such as regional cultural flows, global impact of Asian popular culture, and the localization of global media in East Asia. Same as GASC41H3",,Any 4.0 credits,GASC41H3,Media and Popular Culture in East Asia,, +MDSC53H3,ART_LIT_LANG,,"How do media work to circulate texts, images, and stories? Do media create unified publics? How is the communicative process of media culturally-distinct? This course examines how anthropologists have studied communication that occurs through traditional and new media. Ethnographic examples drawn from several contexts. Same as ANTC53H3",,[ANTB19H3 and ANTB20H3] or [MDSA01H3 and MDSB05H3],ANTC53H3,Anthropology of Media and Publics,, +MDSC61H3,HIS_PHIL_CUL,,"This course examines the history, organization and social role of a range of independent, progressive, and oppositional media practices. It emphasizes the ways alternative media practices, including the digital, are the product of and contribute to political movements and perspectives that challenge the status quo of mainstream consumerist ideologies.",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],,Alternative Media,, +MDSC64H3,ART_LIT_LANG,,Media are central to organizing cultural discourse about technology and the future. This course examines how the popularization of both real and imagined technologies in various media forms contribute to cultural attitudes that attend the introduction and social diffusion of new technologies.,,[2.0 credits at the B-level in MDS courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],,Media and Technology,, +MDSC85H3,ART_LIT_LANG,,"This course examines the synergistic relationship between the moving image and music and how these synergies result in processes of meaning-making and communication. Drawing on readings in cultural theory, cultural studies, musicology and film studies, the course considers examples from the feature film, the Hollywood musical, and the animated cartoon. Same as MUZC20H3/(VPMC85H3)",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in MUZ/(VPM) courses],MUZC20H3/(VPMC85H3),"Movies, Music and Meaning",,No Specialist knowledge in Musicology or Film Studies required. +MDSD10H3,,University-Based Experience,"This is a senior seminar that focuses on the connections among media and the arts. Students explore how artists use the potentials offered by various media forms, including digital media, to create new ways of expression. Topics vary.",,"3.0 credits in MDS courses, including 1.0 credit at the C-level",(MDSD01H3),Senior Seminar: Topics in Media and Arts,, +MDSD11H3,ART_LIT_LANG,University-Based Experience,"Focusing on independent research, this course requires students to demonstrate the necessary analysis, research and writing skills required for advanced study. This seminar course provides the essential research skills for graduate work and other research-intensive contexts. Students will design and undertake unique and independent research about the state of journalism. Same as JOUD11H3",,"ACMB02H3 and [an additional 4.5 credits in MDS or JOU courses, 1.0 credit of which must be at the C- level]",JOUD11H3,Senior Research Seminar in Media and Journalism,, +MDSD20H3,,University-Based Experience,"This is a senior seminar that focuses on media and society. It explores the social and political implications of media, including digital media, and how social forces shape their development. Topics vary.",,"3.0 credits in MDS courses, including 1.0 credit at the C-level",(MDSD02H3),Senior Seminar: Topics in Media and Society,, +MDSD30H3,ART_LIT_LANG,,"This is a senior seminar that closely examines media as institutions such as media regulatory bodies, firms, and organizations, as well as media in relation to other institutions in broader political economies. In this course, students will have the opportunity to interrogate key theoretical concepts developed in critical media industry studies and apply them to real-life cases through research and writing.",,Enrollment in Major program in Media and Communication Studies and 2.5 credits at MDS C-level,,Senior Seminar: Topics in Media and Institutions,, +MGAB01H3,SOCIAL_SCI,,"Together with MGAB02H3, this course provides a rigorous introduction to accounting techniques and to the principles and concepts underlying these techniques. The preparation of financial statements is addressed from the point of view of both preparers and users of financial information.",,,"VPAB13H3, MGT120H5, RSM219H1",Introductory Financial Accounting I,, +MGAB02H3,SOCIAL_SCI,,"This course is a continuation of MGAB01H3. Students are encouraged to take it immediately after completing MGAB01H3. Technical topics include the reporting and interpretation of debt and equity issues, owners' equity, cash flow statements and analysis. Through cases, choices of treatment and disclosure are discussed, and the development of professional judgment is encouraged.",,MGAB01H3,"VPAB13H3, MGT220H5, RSM220H1",Introductory Financial Accounting II,, +MGAB03H3,SOCIAL_SCI,,"An introduction to management and cost accounting with an emphasis on the use of accounting information in managerial decision-making. Topics include patterns of cost behaviour, transfer pricing, budgeting and control systems.",,[[MGEA02H3 and MGEA06H3] or [MGEA01H3 and MGEA05H3]] and MGAB01H3,"VPAB13H3, MGT223H5, MGT323H5, RSM222H1, RSM322H1",Introductory Management Accounting,, +MGAC01H3,SOCIAL_SCI,,"Together with MGAC02H3, this course examines financial reporting in Canada. Through case analysis and the technical material covered, students will build on their knowledge covered in MGAB01H3, MGAB02H3 and, to a lesser extent, MGAB03H3.",,MGAB03H3 and MGAB02H3 and [MGTA38H3 or (MGTA35H3) or (MGTA36H3)],"MGT224H5, MGT322H5, RSM221H1, RSM320H1",Intermediate Financial Accounting I,, +MGAC02H3,SOCIAL_SCI,,"This course is a continuation of MGAC01H3. Students will further develop their case writing, technical skills and professional judgment through the study of several complex topics. Topics include leases, bonds, pensions, future taxes and earnings per share.",,MGAC01H3,"MGT224H5, MGT322H5, RSM221H1, RSM320H1",Intermediate Financial Accounting II,, +MGAC03H3,SOCIAL_SCI,,"An examination of various cost accumulation and performance evaluation systems and decision-making tools. Topics include job and process costing, flexible budgeting, and variance analysis and cost allocations.",,MGAB03H3,"MGT323H5, RSM322H1",Intermediate Management Accounting,, +MGAC10H3,SOCIAL_SCI,,"An introduction to the principles and practice of auditing. The course is designed to provide students with a foundation in the theoretical and practical approaches to auditing by emphasizing auditing theory and concepts, with some discussion of audit procedures and the legal and professional responsibilities of the auditor.",,MGAC01H3,,Auditing,, +MGAC50H3,SOCIAL_SCI,,"First of two courses in Canadian income taxation. It provides the student with detailed instruction in income taxation as it applies to individuals and small unincorporated businesses. Current tax laws are applied to practical problems and cases. Covers employment income, business and property income, and computation of tax for individuals.",MGAC01H3 is highly recommended.,Completion of at least 10.0 credits including MGAB01H3 and MGAB02H3 and MGAB03H3.,"MGT423H5, RSM324H1",Canadian Income Taxation I,, +MGAC70H3,SOCIAL_SCI,University-Based Experience,"This course is intended to help students understand the information systems that are a critical component of modern organizations. The course covers the technology, design, and application of data processing and information systems, with emphasis on managerial judgment and decision-making. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAB03H3 and MGHB02H3,"MGT371H5, RSM327H1",Management Information Systems,, +MGAC80H3,SOCIAL_SCI,,"This course covers special topics in the area of accounting. The specific topics will vary from year to year, but could include topics in: data analytics for accounting profession, accounting for finance professionals, forensic accounting, bankruptcy management and integrated reporting, etc. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,MGAB02H3 and MGAB03H3,,Special Topics in Accounting,, +MGAD20H3,SOCIAL_SCI,,"An extension of the study of areas covered in the introductory audit course and will include the application of risk and materiality to more advanced topic areas such as pension and comprehensive auditing. Other topics include special reports, future oriented financial information and prospectuses. This will include a review of current developments and literature.",,MGAC10H3,,Advanced Auditing,, +MGAD40H3,SOCIAL_SCI,Partnership-Based Experience,"An examination of how organizations support the implementation of strategy through the design of planning processes, performance evaluation, reward systems and HR policies, as well as corporate culture. Class discussion will be based on case studies that illustrate a variety of system designs in manufacturing, service, financial, marketing and professional organizations, including international contexts. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAB03H3 and MGHB02H3,"MGT428H5, RSM422H1",Management Control Systems,, +MGAD45H3,SOCIAL_SCI,University-Based Experience,"This course examines issues in Corporate Governance in today’s business environment. Through case studies of corporate “ethical scandals”, students will consider workplace ethical risks, opportunities and legal issues. Students will also examine professional accounting in the public interest as well as accounting and planning for sustainability. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAC01H3 and MGSC30H3,,Corporate Governance and Strategy - CPA Perspective,, +MGAD50H3,SOCIAL_SCI,,An in-depth study of advanced financial accounting topics: long-term inter-corporate investment; consolidation (including advanced measurements and reporting issues); foreign currency translation and consolidation of foreign subsidiaries and non-profit and public sector accounting. This course is critical to the education of students preparing for a career in accounting.,,MGAC01H3 and MGAC02H3,,Advanced Financial Accounting,, +MGAD60H3,SOCIAL_SCI,,"Through case analysis and literature review, this seminar addresses a variety of controversial reporting issues, impression management, the politics of standard setting and the institutional context. Topics may include: international harmonization, special purpose entities, whistle-blowing, the environment and social responsibility and professional education and career issues.",,MGAC01H3 and MGAC02H3,,Controversial Issues in Accounting,, +MGAD65H3,SOCIAL_SCI,,"This course is designed to give the student an understanding of the more complex issues of federal income taxation, by applying current tax law to practical problems and cases. Topics include: computation of corporate taxes, corporate distributions, corporate re-organizations, partnerships, trusts, and individual and corporate tax planning.",,MGAC50H3,"MGT429H5, RSM424H1",Canadian Income Taxation II,, +MGAD70H3,HIS_PHIL_CUL,,"A capstone case course integrating critical thinking, problem solving, professional judgement and ethics. Business simulations will strategically include the specific technical competency areas and the enabling skills of the CPA Competency Map. This course should be taken as part of the last 5.0 credits of the Specialist/Specialist Co-op in Management and Accounting.",,MGAC02H3 and MGAC03H3 and MGAC10H3 and MGAC50H3,,Advanced Accounting Case Analysis: A Capstone Course,, +MGAD80H3,SOCIAL_SCI,,"An overview of international accounting and financial reporting practices with a focus on accounting issues related to international business activities and foreign operations. Understanding the framework used in establishing international accounting standards, preparation and translation of financial statements, transfer pricing and taxation, internal and external auditing issues and discussion of the role of accounting and performance measurement for multinational corporations.",,MGAB02H3 and MGAB03H3,,Accounting Issues in International Business,, +MGAD85H3,SOCIAL_SCI,,"This course covers special topics in the area of accounting. The special topics will vary from year to year but could include topics in bankruptcies, forensic accounting, controversial issues in financial reporting, accounting principles for non-accounting students, accounting for international business, accounting for climate change, ESG accounting and Accounting for general financial literacy. The specific topics to be covered will be set out in the syllabus for the course for the term in which the course is offered.",,MGAB02H3 and MGAB03H3,,Advanced Special Topics in Accounting,, +MGEA01H3,SOCIAL_SCI,,"Economic theory of the firm and the consumer. Although calculus is not used in this course, algebra and graphs are used extensively to illuminate economic analysis.",,,"MGEA02H3, ECO100Y1, ECO105Y1, ECO101H5",Introduction to Microeconomics,,This course is not for students interested in applying to the Specialists in Management and Economics leading to the B.B.A or for the Major program in Economics. +MGEA02H3,SOCIAL_SCI,,"Economic theory of the firm and the consumer. Calculus, algebra and graphs are used extensively. The course is oriented towards students interested in the Specialist Program in Management, the Specialist program in Economics for Management Studies, and the Major Program in Economics for Management Studies.",Completion of Grade 12 Calculus is strongly recommended. It is also recommended that MATA34H3 (or equivalents) be taken simultaneously with MGEA02H3 and MGEA06H3.,,"MGEA01H3, ECO100Y1, ECO105Y1, ECO101H5",Introduction to Microeconomics: A Mathematical Approach,, +MGEA05H3,SOCIAL_SCI,,"Topics include output, employment, prices, interest rates and exchange rates. Although calculus is not used in this course, algebra and graphs are used extensively to illuminate economic analysis.",,,"MGEA06H3, ECO100Y1, ECO105Y1, ECO102H5",Introduction to Macroeconomics,,This course is not for students interested in applying to the Specialists in Management and Economics leading to the B.B.A or for the Major program in Economics. +MGEA06H3,SOCIAL_SCI,,"Study of the determinants of output, employment, prices, interest rates and exchange rates. Calculus, algebra and graphs are used extensively. The course is oriented towards students interested in the Specialist Program in Management, the Specialist program in Economics for Management Studies, and the Major Program in Economics for Management Studies.",Completion of Grade 12 Calculus is strongly recommended. It is also recommended that MATA34H3 (or equivalents) be taken simultaneously with MGEA02H3 and MGEA06H3.,,"MGEA05H3, ECO100Y1, ECO105Y1, ECO102H5",Introduction to Macroeconomics: A Mathematical Approach,, +MGEB01H3,SOCIAL_SCI,,"This course covers the intermediate level development of the principles of microeconomic theory. The emphasis is on static partial equilibrium analysis. Topics covered include: consumer theory, theory of production, theory of the firm, perfect competition and monopoly. This course does not qualify as a credit for either the Major in Economics for Management Studies or the B.B.A.",,[MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],"MGEB02H3, ECO200Y1, ECO204Y1, ECO206Y1",Price Theory,, +MGEB02H3,SOCIAL_SCI,,Intermediate level development of the principles of microeconomic theory. The course will cover the same topics as MGEB01H3 but will employ techniques involving calculus so as to make the theory clearer to students. Enrolment is limited to students registered in programs requiring this course.,,[MGEA02H3 and MGEA06H3 and MATA34H3] or [MGEA02H3 and MGEA06H3 and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]].,"MGEB01H3, ECO200Y1, ECO204Y1, ECO206Y1",Price Theory: A Mathematical Approach,,"1. Students who have completed [MGEA01H3 and MGEA05H3 and MATA34H3] or [[MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3]] and [[MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]] may be admitted with the permission of the Academic Director, Economics. 2. MGEB01H3 is not equivalent to MGEB02H3" +MGEB05H3,SOCIAL_SCI,,"Intermediate level development of the principles of macroeconomic theory. Topics covered include: theory of output, employment and the price level. This course does not qualify as a credit for either the Major in Economics for Management Studies or for the B.B.A.",,[MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],"MGEB06H3, ECO202Y1, ECO208Y1, ECO209Y1",Macroeconomic Theory and Policy,, +MGEB06H3,SOCIAL_SCI,,Intermediate level development of the principles of macroeconomic theory. The course will cover the same topics as MGEB05H3 but will employ techniques involving calculus so as to make the theory clearer to students. Enrolment is limited to students registered in programs requiring this course.,,[MGEA02H3 and MGEA06H3 and MATA34H3] or [MGEA02H3 and MGEA06H3 and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]].,"MGEB05H3, ECO202Y1, ECO208Y1, ECO209Y1",Macroeconomic Theory and Policy: A Mathematical Approach,,"Students who have completed: [MGEA01H3 and MGEA05H3 and MATA34H3] or [[MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]] may be admitted with the permission of the Academic Director, Economics." +MGEB11H3,QUANT,,"An introduction to probability and statistics as used in economic analysis. Topics to be covered include: descriptive statistics, probability, special probability distributions, sampling theory, confidence intervals. Enrolment is limited to students registered in programs requiring this course.",,[MGEA02H3 and MGEA06H3 and MATA34H3] or [MGEA02H3 and MGEA06H3 and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]].,"ANTC35H3, ECO220Y1, ECO227Y1, PSYB07H3, (SOCB06H3), STAB22H3, STAB23H3, STAB52H3, STAB53H3, STAB57H3, STA107H5, STA237H1, STA247H1, STA246H5, STA256H5, STA257H1",Quantitative Methods in Economics I,,"Students who have completed: [MGEA01H3 and MGEA05H3 and MATA34H3] or [[MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]] may be admitted with the permission of the Academic Director, Economics." +MGEB12H3,QUANT,,"A second course in probability and statistics as used in economic analysis. Topics to be covered include: confidence intervals, hypothesis testing, simple and multiple regression. Enrolment is limited to students registered in programs requiring this course.",,MGEB11H3 or STAB57H3,"ECO220Y1, ECO227Y1, STAB27H3, STAC67H3",Quantitative Methods in Economics II,,1. STAB27H3 is not equivalent to MGEB12H3. 2. Students are expected to have completed MGEA02H3 and MGEA06H3 (or equivalent) before taking MGEB12H3. +MGEB31H3,SOCIAL_SCI,,A study of decision-making by governments from an economic perspective. The course begins by examining various rationales for public involvement in the economy and then examines a number of theories explaining the way decisions are actually made in the public sector. The course concludes with a number of case studies of Canadian policy making.,,[MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],,Public Decision Making,, +MGEB32H3,SOCIAL_SCI,,"Cost-Benefit Analysis (CBA) is a key policy-evaluation tool developed by economists to assess government policy alternatives and provide advice to governments. In this course, we learn the key assumption behind and techniques used by CBA and how to apply these methods in practice.",,[MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],,Economic Aspects of Public Policy,MGEB01H3 or MGEB02H3, +MGEC02H3,SOCIAL_SCI,,"Continuing development of the principles of microeconomic theory. This course will build on the theory developed in MGEB02H3. Topics will be chosen from a list which includes: monopoly, price discrimination, product differentiation, oligopoly, game theory, general equilibrium analysis, externalities and public goods. Enrolment is limited to students registered in programs requiring this course.",,MGEB02H3,"MGEC92H3, ECO200Y1, ECO2041Y, ECO206Y1",Topics in Price Theory,, +MGEC06H3,SOCIAL_SCI,,"Continuing development of the principles of macroeconomic theory. The course will build on the theory developed in MGEB06H3. Topics will be chosen from a list including consumption theory, investment, exchange rates, rational expectations, inflation, neo-Keynesian economics, monetary and fiscal policy. Enrolment is limited to students registered in programs requiring this course.",,MGEB06H3,"ECO202Y1, ECO208Y1, ECO209Y1",Topics in Macroeconomic Theory,, +MGEC08H3,SOCIAL_SCI,,"This course covers key concepts and theories in both microeconomics and macroeconomics that are relevant to businesses and investors. Topics to be covered include the market structures; the economics of regulations; the foreign exchange market; economic growth; and policy mix under different macro settings. Aside from enhancing students' understanding of economic analyses, this course also helps students prepare for the economics components in all levels of the CFA exams.",,MGEB02H3 and MGEB06H3,"MGEC41H3, MGEC92H3, MGEC93H3, ECO200Y1, ECO204Y1, ECO206Y1, ECO310H1, ECO364H1, ECO365H1",Economics of Markets and Financial Decision Making,, +MGEC11H3,QUANT,,"This course builds on the introductory regression analysis learned in MGEB12H3 to develop the knowledge and skills necessary to obtain and analyze cross-sectional economic data. Topics includes, multiple regression, Instrumental variables, panel data, maximum likelihood estimation, probit regression & logit regression. “ R”, a standard software for econometric and statistical analysis, will be used throughout the course. By the end of the course students will learn how to estimate economic relations in different settings, and critically assess statistical results.",,MGEB12H3,"ECO374H5, ECM375H5, STA302H; MGEC11H3 may not be taken after STAC67H3.",Introduction to Regression Analysis,, +MGEC20H3,SOCIAL_SCI,,"An examination of the role and importance of communications media in the economy. Topics to be covered include: the challenges media pose for conventional economic theory, historical and contemporary issues in media development, and basic media-research techniques. The course is research-oriented, involving empirical assignments and a research essay.",,MGEB01H3 or MGEB02H3,,Economics of the Media,, +MGEC22H3,SOCIAL_SCI,,Intermediate level development of the principles of behavioural economics. Behavioural economics aims to improve policy and economic models by incorporating psychology and cognitive science into economics. The course will rely heavily on the principles of microeconomic analysis.,Grade B or higher in MGEB02H3. MGEC02H3 and the basics of game theory would be helpful.,MGEB02H3,,Behavioural Economics,,Priority will be given to students who have completed MGEC02H3. +MGEC25H3,SOCIAL_SCI,,"This course covers special topics in an area of Economics. The specific topics will vary from year to year. It will provide students with an opportunity to explore a range of topics through the application of different economic methodologies and analyses. Also, it will highlight current faculty research expertise, and will also allow faculty to present material not covered in our existing course offerings in greater detail.",,MGEB02H3 and MGEB06H3,,Special Topics in Economics,, +MGEC26H3,SOCIAL_SCI,,This course covers special topics an area of economics. The specific topics will vary from year to year. It will provide students with an opportunity to explore a range of topics through the application of different economic methodologies and analyses. It will also highlight current faculty research expertise and provide an opportunity to present material not covered in our existing course offerings in greater detail.,,MGEB02H3 and MGEB06H3,,Special Topics in Economics,, +MGEC31H3,SOCIAL_SCI,,"A course concerned with the revenue side of government finance. In particular, the course deals with existing tax structures, in Canada and elsewhere, and with criteria for tax design.",,MGEB01H3 or MGEB02H3,"MGEC91H3, ECO336H1, ECO337H1",Economics of the Public Sector: Taxation,, +MGEC32H3,SOCIAL_SCI,,"A study of resource allocation in relation to the public sector, with emphasis on decision criteria for public expenditures. The distinction between public and private goods is central to the course.",,MGEB01H3 or MGEB02H3,"MGEC91H3, ECO336H1, ECO337H1",Economics of the Public Sector: Expenditures,, +MGEC34H3,SOCIAL_SCI,,"A study of the economic principles underlying health care and health insurance. This course is a survey of some of the major topics in health economics. Some of the topics that will be covered will include the economic determinants of health, the market for medical care, the market for health insurance, and health and safety regulation.",,MGEB02H3,ECO369H1,Economics of Health Care,, +MGEC37H3,SOCIAL_SCI,,"A study of laws and legal institutions from an economic perspective. It includes the development of a positive theory of the law and suggests that laws frequently evolve so as to maximize economic efficiency. The efficiency of various legal principles is also examined. Topics covered are drawn from: externalities, property rights, contracts, torts, product liability and consumer protection, and procedure.",,MGEB01H3 or MGEB02H3,ECO320H1,Law and Economics,, +MGEC38H3,SOCIAL_SCI,,"This course provides a comprehensive study of selected Canadian public policies from an economic point of view. Topics may include environmental policy, competition policy, inflation and monetary policy, trade policy and others. We will study Canadian institutions, decision-making mechanisms, implementation procedures, policy rationales, and related issues.",,[MGEB01H3 or MGEB02H3] and [MGEB05H3 or MGEB06H3],"ECO336H1, ECO337H1",The Economics of Canadian Public Policy,, +MGEC40H3,SOCIAL_SCI,,"This course examines the economics of the internal organization of the firm. Emphasis will be on economic relationships between various parties involved in running a business: managers, shareholders, workers, banks, and government. Topics include the role of organizations in market economies, contractual theory, risk sharing, property rights, corporate financial structure and vertical integration.",,MGEB01H3 or MGEB02H3,"ECO310H1, ECO370Y5, ECO380H5",Economics of Organization and Management,, +MGEC41H3,SOCIAL_SCI,,"This course covers the economics of the firm in a market environment. The aim is to study business behaviour and market performance as influenced by concentration, entry barriers, product differentiation, diversification, research and development and international trade. There will be some use of calculus in this course.",,MGEB02H3,"MGEC08H3, MGEC92H3, ECO310H1",Industrial Organization,, +MGEC45H3,SOCIAL_SCI,,"This course is intended to apply concepts of analytic management and data science to the sports world. Emphasis on model building and application of models studied previously, including economics and econometrics, is intended to deepen the students’ ability to apply these skills in other areas as well. The course will address papers at the research frontier, since those papers are an opportunity to learn about the latest thinking. The papers will both be interested in sports intrinsically, and interested in sports as a way to assess other theories that are a part of business education.",,MGEB12H3,RSM314H3,"Sports Data, Analysis and Economics",, +MGEC51H3,SOCIAL_SCI,,Applications of the tools of microeconomics to various labour market issues. The topics covered will include: labour supply; labour demand; equilibrium in competitive and non- competitive markets; non-market approaches to the labour market; unemployment. Policy applications will include: income maintenance programs; minimum wages; and unemployment.,,MGEB02H3,ECO339H1,Labour Economics I,, +MGEC54H3,SOCIAL_SCI,,"This course studies the economic aspects of how individuals and firms make decisions: about education and on-the-job training. Economics and the business world consider education and training as investments. In this class, students will learn how to model these investments, and how to create good policies to encourage individuals and firms to make wise investment decisions.",,MGEB01H3 or MGEB02H3,"ECO338H1, ECO412Y5",Economics of Training and Education,, +MGEC58H3,SOCIAL_SCI,,"This course focuses on the various methods that firms and managers use to pay, recruit and dismiss employees. Topics covered may include: training decisions, deferred compensation, variable pay, promotion theory, incentives for teams and outsourcing.",,MGEB02H3,"(MGEC52H3), ECO381H5",Economics of Human Resource Management,, +MGEC61H3,SOCIAL_SCI,,"Macroeconomic theories of the balance of payments and the exchange rate in a small open economy. Recent theories of exchange-rate determination in a world of floating exchange rates. The international monetary system: fixed ""versus"" flexible exchange rates, international capital movements, and their implications for monetary policy.",,MGEB05H3 or MGEB06H3,"ECO230Y1, ECO365H1",International Economics: Finance,, +MGEC62H3,SOCIAL_SCI,,"An outline of the theories of international trade that explain why countries trade with each other, and the welfare implications of this trade, as well as empirical tests of these theories. The determination and effects of trade policy instruments (tariffs, quotas, non-tariff barriers) and current policy issues are also discussed.",,MGEB02H3 or [MGEB01H3 and MATA34H3] or [MGEB01H3 and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]],"MGEC93H3, ECO230Y1, ECO364H1",International Economics: Trade Theory,, +MGEC65H3,SOCIAL_SCI,,"This course provides an Economic framework to understand issues around the environment and climate change. The economic toolkit to understand these issues includes externalities, tradeoffs, cost-benefit analysis, marginal analysis, and dynamic accounting. The course will cover optimal policy approaches to pollution, carbon emissions, and resource extraction. These include carbon taxes, subsidies, cap-and-trade systems, bans, and quotas. Both theoretical and empirical approaches in Economics will be discussed.",,MGEB02H3 and MGEB12H3,,Economics of the Environment and Climate Change,, +MGEC71H3,SOCIAL_SCI,,"There will be a focus on basic economic theory underlying financial intermediation and its importance to growth in the overall economy. The interaction between domestic and global financial markets, the private sector, and government will be considered.",,MGEB05H3 or MGEB06H3,ECO349H1,Money and Banking,, +MGEC72H3,SOCIAL_SCI,,"This course introduces students to the theoretical underpinnings of financial economics. Topics covered include: intertemporal choice, expected utility, the CAPM, Arbitrage Pricing, State Prices (Arrow-Debreu security), market efficiency, the term structure of interest rates, and option pricing models. Key empirical tests are also reviewed.",,MGEB02H3 and MGEB06H3 and MGEB12H3,ECO358H1,Financial Economics,, +MGEC81H3,SOCIAL_SCI,,"An introduction to the processes of growth and development in less developed countries and regions. Topics include economic growth, income distribution and inequality, poverty, health, education, population growth, rural and urban issues, and risk in a low-income environment.",,MGEB01H3 or MGEB02H3,ECO324H1,Economic Development,, +MGEC82H3,SOCIAL_SCI,,"This course will use the tools of economics to understand international aspects of economic development policy. Development policy will focus on understanding the engagement of developing countries in the global economy, including the benefits and challenges of that engagement. Topics to be discussed will include globalization and inequality, foreign aid, multinational corporations, foreign direct investment, productivity, regional economic integration, and the environment.",,MGEB01H3 or MGEB02H3,"ECO324H1, ECO362H5",International Aspects of Development Policy,, +MGEC91H3,SOCIAL_SCI,,"This course provides an overview of what governments can do to benefit society, as suggested by economic theory and empirical research. It surveys what governments actually do, especially Canadian governments. Efficient methods of taxation and methods of controlling government are also briefly covered.",,MGEB01H3 or MGEB02H3,"MGEC31H3, MGEC32H3, ECO336Y5, ECO336H1, ECO337H1",Economics and Government,,"This course may be applied to the C-level course requirements of the Minor Program in Economics for Management Studies. It may not, however, be used to meet the requirements of any program that leads to a B.B.A. or of the Major Program in Economics for Management Studies." +MGEC92H3,SOCIAL_SCI,,"The course builds on MGEB01H3 or MGEB02H3 by exposing students to the economics of market structure and pricing. How and why certain market structures, such as monopoly, oligopoly, perfect competition, etc., arise. Attention will also be given to how market structure, firm size and performance and pricing relate. Role of government will be discussed.",,MGEB01H3 or MGEB02H3,"MGEC02H3, MGEC08H3, MGEC41H3, ECO200Y1, ECO204Y1, ECO206Y1, ECO310H1, ECO310Y5",Economics of Markets and Pricing,,"This course may be applied to the C-level course requirements of the Minor Program in Economics for Management Studies. It may not, however, be used to meet the requirements of any program that leads to a B.B.A. or of the Major Program in Economics for Management Studies." +MGEC93H3,SOCIAL_SCI,,"This course provides general understanding on issues related to open economy and studies theories in international trade and international finance. Topics include why countries trade, implications of various trade policies, theories of exchange rate determination, policy implications of different exchange rate regimes and other related topics.",,[MGEB01H3 or MGEB02H3] and [MGEB05H3 or MGEB06H3],"MGEC08H3, MGEC62H3, ECO230Y1, ECO364H1, ECO365H1",International Economics,,"This course may be applied to the C-level course requirements of the Minor Program in Economics for Management Studies. It may not, however, be used to meet the requirements of any program that leads to a B.B.A. or of the Major Program in Economics for Management Studies." +MGED02H3,SOCIAL_SCI,,"An upper-level extension of the ideas studied in MGEC02H3. The course offers a more sophisticated treatment of such topics as equilibrium, welfare economics, risk and uncertainty, strategic and repeated interactions, agency problems, and screening and signalling problems. Enrolment is limited to students registered in programs requiring this course.",,MGEB12H3 and MGEC02H3,ECO326H1,Advanced Microeconomic Theory,, +MGED06H3,SOCIAL_SCI,,"This course will review recent developments in macroeconomics, including new classical and new Keynesian theories of inflation, unemployment and business cycles. Enrolment is limited to students registered in programs requiring this course.",,MGEB12H3 and MGEC06H3,ECO325H1,Advanced Macroeconomic Theory,, +MGED11H3,QUANT,,"This is an advanced course building on MGEC11H3. Students will master regression theory, hypothesis and diagnostic tests, and assessment of econometric results. Treatment of special statistical problems will be discussed. Intensive computer-based assignments will provide experience in estimating and interpreting regressions, preparing students for MGED50H3. Enrolment is limited to students registered in programs requiring this course.",,MGEB02H3 and MGEB06H3 and MGEB11H3 and MGEB12H3 and MGEC11H3,ECO475H1,Theory and Practice of Regression Analysis,, +MGED25H3,SOCIAL_SCI,,"This course covers more advanced special topics an area of economics. That is, the topics covered will be more advanced than those covered by a C-level special topics course and thus have at least one specified C-level course as a listed prerequisite. The specific topics will vary from year to year. This course will provide students with an opportunity to explore a range of topics through the application of different economic methodologies and analyses. It will highlight current faculty research expertise and provide an opportunity to present material not covered in our existing course offerings in greater detail.",,At least 0.5 credit at the C-level in MGE courses,,Advanced Special Topics in Economics,, +MGED26H3,SOCIAL_SCI,,"This course covers more advanced special topics an area of economics. That is, the topics covered will be more advanced than those covered by a C-level special topics course and thus have at least one specified C-level course as a listed prerequisite. The specific topics will vary from year to year. This course will provide students with an opportunity to explore a range of topics through the application of different economic methodologies and analyses. It will highlight current faculty research expertise and provide an opportunity to present material not covered in our existing course offerings in greater detail.",,At least 0.5 credit at the C-level in MGE courses,,Advanced Special Topics in Economics,, +MGED43H3,SOCIAL_SCI,,"Explores the issue of outsourcing, and broadly defines which activities should a firm do ""in-house"" and which should it take outside? Using a combination of cases and economic analysis, it develops a framework for determining the ""best"" firm organization.",,MGEB02H3 and [MGEC40H3 or MGEC41H3],RSM481H1,Organization Strategies,, +MGED50H3,SOCIAL_SCI,University-Based Experience,"This course introduces to students the techniques used by economists to define research problems and to do research. Students will choose a research problem, write a paper on their topic and present their ongoing work to the class.",,MGEB02H3 and MGEC02H3 and MGEB06H3 and MGEC06H3 and MGEB11H3 and MGEB12H3 and MGEC11H3. This course should be taken among the last 5.0 credits of a twenty-credit degree.,ECO499H1,Workshop in Economic Research,MGED11H3, +MGED63H3,SOCIAL_SCI,,"This course studies the causes, consequences and policy implications of recent financial crises. It studies key theoretical concepts of international finance such as exchange-rate regimes, currency boards, common currency, banking and currency crises. The course will describe and analyze several major episodes of financial crises, such as East Asia, Mexico and Russia in the 1990s, Argentina in the early 2000s, the U.S. and Greece in the late 2000s, and others in recent years.",,MGEC61H3,,"Financial Crises: Causes, Consequences and Policy Implications",, +MGED70H3,QUANT,,"Financial econometrics applies statistical techniques to analyze the financial data in order to solve problems in Finance. In doing so, this course will focus on four major topics: Forecasting returns, Modeling Univariate and Multivariate Volatility, High Frequency and market microstructure, Simulation Methods and the application to risk management.",,MGEC11H3 and [MGEC72H3 or MGFC10H3],ECO462H`,Financial Econometrics,, +MGED90H3,,,These courses will normally be made available only to upper- level students whose interests are not covered by other courses and whose performance in Economics courses has been well above average. Not all faculty will be available for these courses in any single session.,,,,Supervised Reading,,"Students must obtain consent from the Economic, Academic Director, the supervising instructor and the Department of Management before registering for this course." +MGED91H3,,,These courses will normally be made available only to upper- level students whose interests are not covered by other courses and whose performance in Economics courses has been well above average. Not all faculty will be available for these courses in any single session.,,,,Supervised Reading,,"Students must obtain consent from the Economic, Academic Director, the supervising instructor and the Department of Management before registering for this course." +MGFB10H3,SOCIAL_SCI,,"An introduction to basic concepts and analytical tools in financial management. Building on the fundamental concept of time value of money, the course will examine stock and bond valuations and capital budgeting under certainty. Also covered are risk-return trade-off, financial planning and forecasting, and long-term financing decisions.",,MGEB11H3 and MGAB01H3 and [MGTA38H3 or (MGTA35H3) or (MGTA36H3)],"MGT338H5, RSM332H1, MGM230H5, RSM230H1",Principles of Finance,, +MGFC10H3,SOCIAL_SCI,,"This course covers mainstream finance topics. Besides a deeper examination of certain topics already covered in MGFB10H3, the course will investigate additional subjects such as working capital management, capital budgeting under uncertainty, cost of capital, capital structure, dividend policy, leasing, mergers and acquisitions, and international financial management.",,MGFB10H3,"MGT339H5, RSM333H1, MGM332H5",Intermediate Finance,, +MGFC20H3,SOCIAL_SCI,,"This course covers goal setting, personal financial statements, debt and credit management, risk management, investing in financial markets, real estate appraisal and mortgage financing, tax saving strategies, retirement and estate planning. The course will benefit students in managing their personal finances, and in their future careers with financial institutions.",,MGFB10H3,,Personal Financial Management,, +MGFC30H3,SOCIAL_SCI,,"This course introduces students to the fundamentals of derivatives markets covering futures, swaps, options and other financial derivative securities. Detailed descriptions of, and basic valuation techniques for popular derivative securities are provided. As each type of derivative security is introduced, its applications in investments and general risk management will be discussed.",,,"MGT438H5, RSM435H1",Introduction to Derivatives Markets,MGFC10H3, +MGFC35H3,SOCIAL_SCI,,"This course deals with fundamental elements of investments. Basic concepts and techniques are introduced for various topics such as risk and return characteristics, optimal portfolio construction, security analysis, investments in stocks, bonds and derivative securities, and portfolio performance measurements.",,,"(MGFD10H3), MGT330H5, RSM330H1",Investments,MGFC10H3, +MGFC45H3,QUANT,,"This course introduces students to both the theoretical and practical elements of portfolio management. On the theoretical side, students learn the investment theories and analytic models applicable to portfolio management. Students gain fundamental knowledge of portfolio construction, optimization, and performance attribution. The hands-on component of the course aims to provide students with a unique experiential learning opportunity, through participation in the different stages of the portfolio management process. The investment exercises challenge students to apply and adapt to different risk and return scenarios, time horizons, legal and other unique investment constraints. Classes are conducted in the experiential learning lab, where students explore academic, research and practical components of Portfolio Management.",,,,Portfolio Management: Theory and Practice,MGFC35H3, +MGFC50H3,SOCIAL_SCI,,"This course provides students with a framework for making financial decisions in an international context. It discusses foreign exchange markets, international portfolio investment and international corporate finance. Next to covering the relevant theories, students also get the opportunity to apply their knowledge to real world issues by practicing case studies.",,MGFC10H3,"MGT439H5, RSM437H1",International Financial Management,, +MGFC60H3,SOCIAL_SCI,,This course introduces the tools and skills required to perform a comprehensive financial statement analysis from a user perspective. Students will learn how to integrate the concepts and principles in accounting and finance to analyze the financial statements and to utilize that information in earnings-based security valuation.,,MGFC10H3,RSM429H1,Financial Statement Analysis and Security Valuation,, +MGFC85H3,SOCIAL_SCI,,"This course covers special topics in the area of finance. The specific topics will vary from year to year, but could include topics in Financial Markets, Financial Intermediation, Corporate Governance, Real Estate Finance, Retirement Planning, and Sustainable Finance. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,MGFB10H3 and MGFC10H3,,Special Topics in Finance,, +MGFD15H3,SOCIAL_SCI,,"This course explores the private equity asset class and the private equity acquisition process. It covers both the academic and practical components of private equity investing, including: deal sourcing, financial modelling and valuations, transaction structuring, financing, diligence, negotiations, post transaction corporate strategy and governance.",,MGAB02H3 and MGFC10H3,"RSM439H1, MGT495H5",Private Equity,, +MGFD25H3,QUANT,,"Financial Technologies (FinTech) are changing our everyday lives and challenging many financial institutions to evolve and adapt. The course explores disruptive financial technologies and innovations such as mobile banking, cryptocurrencies, Robo-advisory and the financial applications of artificial intelligence (AI) etc. The course covers the various areas within the financial industry that are most disrupted, thus leading to discussions on the challenges and opportunities for both the financial institutions and the regulators. Classes are conducted in the experiential learning lab where students explore academic, research and practical components of FinTech.",CSCA20H3,MGFC10H3,"RSM316H1, MGT415H5",Financial Technologies and Applications (FinTech),MGFC35H3/(MGFD10H3), +MGFD30H3,SOCIAL_SCI,,"This course develops analytical skills in financial risk management. It introduces techniques used for evaluating, quantifying and managing financial risks. Among the topics covered are market risk, credit risk, operational risk, liquidity risk, bank regulations and credit derivatives.",,MGFC10H3,"ECO461H1, RSM432H1",Risk Management,, +MGFD40H3,SOCIAL_SCI,University-Based Experience,"This course is designed to help students understand how different psychological biases can affect investor behaviours and lead to systematic mispricing in the financial market. With simulated trading games, students will learn and practice various trading strategies to take advantage of these market anomalies.",,MGFC10H3 and MGEB12H3,MGT430H5,Investor Psychology and Behavioural Finance,, +MGFD50H3,SOCIAL_SCI,,"This course provides a general introduction to the important aspects of M&A, including valuation, restructuring, divestiture, takeover defences, deal structuring and negotiations, and legal issues.",,MGFC10H3,MGT434H5,Mergers and Acquisitions: Theory and Practice,, +MGFD60H3,SOCIAL_SCI,,This course integrates finance theories and practice by using financial modeling and simulated trading. Students will learn how to apply the theories they learned and to use Excel and VBA to model complex financial decisions. They will learn how the various security markets work under different simulated information settings.,,,"MGT441H5, RSM434H1",Financial Modeling and Trading Strategies,MGFC30H3 and MGFC35H3/(MGFD10H3), +MGFD70H3,SOCIAL_SCI,,"This course reinforces and expands upon the topics covered in MGFB10H3/(MGTB09H3), (MGTC03H3) and MGFC10H3/(MGTC09H3). It examines more advanced and complex decision making situations a financial manager faces in such areas as capital budgeting, capital structure, financing, working capital management, dividend policy, leasing, mergers and acquisitions, and risk management.",,MGFC10H3,"MGT431H5, MGT433H5, RSM433H1",Advanced Financial Management,, +MGFD85H3,SOCIAL_SCI,,"This course covers special topics in the area of finance. The specific topics will vary from year to year but could include topics in Financial Markets, Financial Intermediation, Corporate Governance, Real Estate Finance, Retirement Planning, Sustainable Finance, and Fixed Income. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,MGFB10H3 and MGFC10H3,,Advanced Special Topics in Finance,, +MGHA12H3,SOCIAL_SCI,,"An introduction to current human resource practices in Canada, emphasizing the role of Human Resource Management in enhancing performance, productivity and profitability of the organization. Topics include recruitment, selection, training, career planning and development, diversity and human rights issues in the work place.",,,"(MGHB12H3), (MGIB12H3), MGIA12H3, MGT460H5, RSM460H1",Human Resource Management,, +MGHB02H3,SOCIAL_SCI,,"An introduction to micro- and macro-organizational behaviour theories from both conceptual and applied perspectives. Students will develop an understanding of the behaviour of individuals and groups in different organizational settings. Topics covered include: individual differences, motivation and job design, leadership, organizational design and culture, group dynamics and inter-group relations.",,MGTA38H3 or (MGTA35H3) or (MGTA36H3),"MGIB02H3, MGT262H5, RSM260H1, PSY332H",Managing People and Groups in Organizations,, +MGHC02H3,SOCIAL_SCI,Partnership-Based Experience,"This course will help students develop the critical skills required by today's managers. Topics covered include self- awareness, managing stress and conflict, using power and influence, negotiation, goal setting, and problem-solving. These skills are important for leadership and will enable students to behave more effectively in their working and personal lives. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,[MGHB02H3 or MGIB02H3] and [MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3)],MGIC02H3,Management Skills,, +MGHC23H3,SOCIAL_SCI,Partnership-Based Experience,"Examines the nature and effects of diversity in the workplace. Drawing on theories and research from psychology, the course will examine topics like stereotyping, harassment, discrimination, organizational climate for diversity, conflict resolution within diverse teams, and marketing to a diverse clientele.",,MGHB02H3 or MGIB02H3,,Diversity in the Workplace,, +MGHC50H3,SOCIAL_SCI,,"This course covers special topics in the area of organizational behaviour. The specific topics will vary from year to year but could include topics in organizational culture, motivation, leadership, communication, organizational design, work attitudes, or equity, diversity and inclusion at work. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",[MGHA12H3 or MGIA12H3] and [MGTA35H3 or MGTA36H3 or MGTA38H3],7.5 credits including MGHB02H3,,Special Topics in Human Resources,, +MGHC51H3,SOCIAL_SCI,,"This course covers special topics in the area of organizational behaviour. The specific topics will vary from year to year but could include topics in organizational culture, motivation, leadership, communication, organizational design, work attitudes, or equity, diversity and inclusion at work. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",MGTA35H3 or MGTA36H3 or [MGTA38H3 and MGHA12H3] or MGIA12H3,7.5 credits including MGHB02H3 or MGIB02H3,,Special Topics in Organizational Behaviour,, +MGHC52H3,SOCIAL_SCI,University-Based Experience,"An introduction to the theory and practice of negotiation in business. This course develops approaches and tactics to use in different forums of negotiation, and an introduction to traditional and emerging procedures for resolving disputes. To gain practical experience, students will participate in exercises which simulate negotiations.",,MGHB02H3 or MGIB02H3,,Business Negotiation,, +MGHC53H3,SOCIAL_SCI,University-Based Experience,"An overview of the industrial system and process. The course will introduce students to: industrial relations theory, the roles of unions and management, law, strikes, grievance arbitration, occupational health and safety, and the history of the industrial relations system. Students will participate in collective bargaining simulations. This course includes work- integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,Completion of at least 10.0 credits including [[MGEA01H3 and MGEA05H3] or [MGEA02H3 and MGEA06H3]].,,Introduction to Industrial Relations,, +MGHD14H3,SOCIAL_SCI,,"This advanced leadership seminar builds on MGHC02H3/(MGTC90H3) Management Skills, focusing on leadership theories and practices. Through case studies, skill-building exercises, and world-class research, students will learn critical leadership theories and concepts while gaining an understanding of how effective leaders initiate and sustain change at the individual and corporate levels, allowing each student to harness their full leadership potential.",,[MGHB02H3 or MGIB02H3] or MGHC02H3 or MGIC02H3,,Leadership,, +MGHD24H3,SOCIAL_SCI,,"Occupational health and safety is a management function, however, many managers are not prepared for this role when they arrive in their first jobs. This course will consider the physical, psychological, social, and legal environments relevant to health and safety in the workplace.",,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Occupational Health and Safety Management,, +MGHD25H3,SOCIAL_SCI,,"An in-depth look at recruitment and selection practices in organizations. Students will learn about organizational recruitment strategies, the legal issues surrounding recruitment and selection, how to screen job applicants, and the role of employee testing and employee interviews in making selection decisions.",,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Human Resources Recruitment and Selection,, +MGHD26H3,SOCIAL_SCI,,"This course is designed to teach students about the training and development process. Topics include how training and development fits within the larger organizational context as well as learning, needs analysis, the design and delivery of training programs, on and off-the-job training methods, the transfer of training, and training evaluation.",,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Training and Development,, +MGHD27H3,SOCIAL_SCI,,"This course is designed to provide students with an understanding of strategic human resources management and the human resource planning process. Students will learn how to forecast, design, and develop human resource plans and requirements using both qualitative and quantitative techniques.",,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Human Resources Planning and Strategy,, +MGHD28H3,SOCIAL_SCI,University-Based Experience,This course is designed to provide students with an understanding of compensation programs and systems. Students will learn how to design and manage compensation and benefit programs; individual and group reward and incentive plans; and how to evaluate jobs and assess employee performance.,,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Compensation,, +MGHD60H3,SOCIAL_SCI,,"This course covers advanced special topics in the area of organizational behaviour and human resources. The specific topics will vary from year to year, but could include topics in: organizational culture, motivation, leadership, communication, organizational design, work attitudes, job analysis, employee well-being and performance, performance management, selection, training, or equity, diversity and inclusion at work. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",MGTA38H3 or MGTA35H3 or MGTA36H3,[MGHA12H3 or MGIA12H3] and [MGHB02H3 or MGIB02H3] and 7.5 credits,,Advanced Special Topics in Organizational Behaviour and Human Resources,, +MGIA01H3,SOCIAL_SCI,,"An introduction to basic marketing concepts and tools that provide students with a conceptual framework for analyzing marketing problems facing global managers. Topics are examined from an international marketing perspective and include: buyer behaviour, market segmentation and basic elements of the marketing mix.",,Enrolment in the MIB program,"MGMA01H3, MGT252H5, RSM250H1",Principles of International Marketing,, +MGIA12H3,SOCIAL_SCI,,"This course examines how human resource practices are different across cultures and how they are affected when they ""go global."" It examines how existing organizational structures and human resource systems need to adapt to globalization, in order to succeed domestically and internationally.",,,"(MGIB12H3), (MGHB12H3), MGT460H5, RSM406H1, MGHA12H3",International Human Resources,, +MGIB01H3,SOCIAL_SCI,,"This course examines the challenge of entering and operating in foreign markets. Topics such as international marketing objectives, foreign market selection, adaptation of products, and communication and cultural issues, are examined through case discussions and class presentations. The term project is a detailed plan for marketing a specific product to a foreign country.",,MGMA01H3 or MGIA01H3,MGMB01H3,Global Marketing,, +MGIB02H3,SOCIAL_SCI,,"Examines how and why people from different cultures differ in their workplace behaviours, attitudes, and in how they behave in teams. Uses discussion and case studies to enable students to understand how employees who relocate or travel to a different cultural context, can manage and work in that context.",,,"MGHB02H3, RSM260H1",International Organizational Behaviour,, +MGIC01H3,SOCIAL_SCI,,"International Corporate Strategy examines the analyses and choices that corporations make in an increasingly globalized world. Topics will include: recent trends in globalization, the notion of competitive advantage, the choice to compete through exports or foreign direct investment, and the risks facing multinational enterprises.",,Minimum of 10.0 credits including MGAB02H3 and MGIA01H3 and MGFB10H3 and MGIB02H3,MGSC01H3,International Corporate Strategy,, +MGIC02H3,SOCIAL_SCI,,"Leaders who work internationally must learn how to customize their leadership competencies to the different cultures in which they practice. By using role plays, simulations, cases, and class discussions, students will develop the culturally appropriate leadership skills of articulating a vision, planning and implementing goals, negotiation, and providing effective feedback.",,MGIB02H3,MGHC02H3,International Leadership Skills,, +MGID40H3,SOCIAL_SCI,,"This course offers an introduction to key topics in the law governing international trade and business transactions, including the law and conventions governing foreign investment, and the legal structure of doing business internationally, the international sale and transportation of goods, international finance, intellectual property and international dispute settlement.",,Completion of 10.0 credits,,Introduction to International Business Law,, +MGID79H3,SOCIAL_SCI,Partnership-Based Experience,"This course focuses on critical thinking and problem solving skills through analyzing, researching and writing comprehensive business cases, and is offered in the final semester of the MIB specialist program. It is designed to provide students the opportunity to apply the knowledge acquired from each major area of management studies to international real-world situations.",,MGAB03H3 and MGIA01H3 and MGIA12H3/(MGIB12H3) and MGIB02H3 and MGFC10H3 and MGIC01H3,MGSD01H3,International Capstone Case Analysis,, +MGMA01H3,SOCIAL_SCI,University-Based Experience,"An introduction to basic concepts and tools of marketing designed to provide students with a conceptual framework for the analysis of marketing problems. The topics include an examination of buyer behaviour, market segmentation; the basic elements of the marketing mix. Enrolment is limited to students registered in Programs requiring this course. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,Enrolment in any Bachelor of Business Administration (BBA) program.,"MGIA01H3, RSM250H1",Principles of Marketing,, +MGMB01H3,SOCIAL_SCI,,"This course builds on the introductory course in marketing and takes a pragmatic approach to develop the analytical skills required of marketing managers. The course is designed to help improve skills in analyzing marketing situations, identifying market opportunities, developing marketing strategies, making concise recommendations, and defending these recommendations. It will also use case study methodology to enable students to apply the concepts learned in the introductory course to actual issues facing marketing managers.",,[MGMA01H3 or MGIA01H3] and [MGTA38H3 or (MGTA35H3) or (MGTA36H3)],MGIB01H3,Marketing Management,, +MGMC01H3,SOCIAL_SCI,,"A decision oriented course, which introduces students to the market research process. It covers different aspects of marketing research, both quantitative and qualitative, and as such teaches some essential fundamentals for the students to master in case they want to specialize in marketing. And includes alternative research approaches (exploratory, descriptive, causal), data collection, sampling, analysis and evaluation procedures are discussed. Theoretical and technical considerations in design and execution of market research are stressed. Instruction involves lectures and projects including computer analysis.",,MGMA01H3 or MGIA01H3,"MGT453H5, RSM452H1",Market Research,, +MGMC02H3,SOCIAL_SCI,Partnership-Based Experience,"This course provides an overview of the role of products in the lives of consumers. Drawing on theories from psychology, sociology and economics, the course provides (1) a conceptual understanding of consumer behaviour (e.g. why people buy), and (2) an experience in the application of these concepts to marketing decisions. This course includes work- integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGMA01H3/(MGTB04H3) or MGIA01H3/(MGTB07H3),(MGTD13H3),Consumer Behaviour,, +MGMC11H3,SOCIAL_SCI,Partnership-Based Experience,"Managing products and brands is one of the most important functions of a successful marketer. Product lines and extensions and other issues of product portfolio will be covered in this course. This course also examines issues about brand equity, its measurement and contemporary challenges faced by marketers about branding product management.",,MGMA01H3 or MGIA01H3,,Product Management and Branding,, +MGMC12H3,SOCIAL_SCI,Partnership-Based Experience,"An introduction to the basic communication tools used in planning, implementing and evaluating promotional strategies .The course reviews basic findings of the behavioural sciences dealing with perception, personality, psychological appeals, and their application to advertising as persuasive communication. Students will gain experience preparing a promotional plan for a small business. The course will rely on lectures, discussions, audio-visual programs and guest speakers from the local advertising industry.",,MGMA01H3 or MGIA01H3,,Advertising: From Theory to Practice,, +MGMC13H3,SOCIAL_SCI,,"Pricing right is fundamental to a firm's profitability. This course draws on microeconomics to develop practical approaches for optimal pricing decision-making. Students develop a systematic framework to think about, analyze and develop strategies for pricing right. Key issues covered include pricing new product, value pricing, behavioural issues, and price segmentation.",,[MGMA01H3 or MGIA01H3] and MGEB02H3,,Pricing Strategy,, +MGMC14H3,SOCIAL_SCI,,"Sales and distribution are critical components of a successful marketing strategy. The course discusses key issues regarding sales force management and distribution structure and intermediaries. The course focuses on how to manage sales force rather than how to sell, and with the design and management of an effective distribution network.",,MGMA01H3 or MGIA01H3,,Sales and Distribution Management,, +MGMC20H3,SOCIAL_SCI,Partnership-Based Experience,"This course covers the advantages/disadvantages, benefits and limitations of E-commerce. Topics include: E-commerce business models; Search Engine Optimization (SEO); Viral marketing; Online branding; Online communities and Social Networking; Mobile and Wireless E-commerce technologies and trends; E-Payment Systems; E-commerce security issues; Identity theft; Hacking; Scams; Social Engineering; Biometrics; Domain name considerations and hosting issues. Students will also gain valuable insight from our guest speakers.",,MGMA01H3 or MGIA01H3,,Marketing in the Information Age,, +MGMC30H3,SOCIAL_SCI,,"Event and Sponsorship Management involves the selection, planning and execution of specific events as well as the management of sponsorship rights. This will involve the integration of management skills, including finance, accounting, marketing and organizational behaviour, required to produce a successful event.",,Completion of at least 10.0 credits in any B.B.A. program,,Event and Sponsorship Management,, +MGMC40H3,SOCIAL_SCI,,"This course covers special topics in the area of Marketing. The specific topics will vary from year to year but could include topics in consumer behaviour, marketing management, marketing communication, new developments in the marketing area and trends. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,[MGMA01H3 or MGIA01H3] and [MGMB01H3 or MGIB01H3],,Special Topics in Marketing,, +MGMD01H3,QUANT,,"Marketing is a complex discipline incorporating not only an “art” but also a “science”. This course reviews the “science” side of marketing by studying multiple models used by companies. Students will learn how to assess marketing problems and use appropriate models to collect, analyze and interpret marketing data.",,[MGMA01H3 or MGIA01H3] and MGEB11H3 and MGEB12H3,MGT455H5,Applied Marketing Models,, +MGMD02H3,SOCIAL_SCI,,"This course combines the elements of behavioural research as applied to consumers' decision making models and how this can be used to predict decisions within the marketing and consumer oriented environment. It also delves into psychology, economics, statistics, and other disciplines.",,MGMA01H3 or MGIA01H3,PSYC10H3,Judgement and Decision Making,, +MGMD10H3,SOCIAL_SCI,University-Based Experience,"This seminar style course has advanced discussions that will go in-depth into a variety of topics in consumer psychology. Students will read papers from academic journals each week, lead the discussions, and share their ideas. Students are expected to submit a research paper at the end of the term. This course is appropriate for senior marketing students who are keen on getting insights into consumer psychology and/or those who want to get exposure to academic research in consumer psychology.",,[MGMA01H3 or MGIA01H3] and MGMB01H3,,Seminar in Consumer Psychology I,, +MGMD11H3,SOCIAL_SCI,,"This seminar style course has advanced discussions that will go in-depth into a variety of topics in consumer psychology. Students will read papers from academic journals each week, lead the discussions, and share their ideas. Students are expected to submit a research paper at the end of the term. This course is appropriate for senior marketing students who are keen on getting insights into consumer psychology and/or those who want to get exposure to academic research in consumer psychology.",,[MGMA01H3 or MGIA01H3] and MGMB01H3,,Seminar in Consumer Psychology II,, +MGMD19H3,SOCIAL_SCI,,"This course focuses on current faculty research in areas like consumer behaviour and choice, pricing, promotions, etc. and their importance to marketing and research methodology. Topics covered will include specific theoretical or functional areas in marketing. The particular content in any given year will depend on the faculty member.",Some interest in or additional knowledge of different aspects of Marketing,[MGMA01H3 or MGIA01H3] and [MGMB01H3 or MGIB01H3],MGMD21H3,Advanced Special Topics in Marketing II,,"This course can be taken as CR/NCR only for degree requirements, not program requirements." +MGMD20H3,SOCIAL_SCI,,"This course focuses on current faculty research in areas like consumer behaviour and choice, pricing, promotions etc. and their importance to marketing and research methodology. Topics covered will include specific theoretical or functional areas in marketing. The particular content in any given year will depend on the faculty member.",Some interest in or additional knowledge of different aspects of Marketing,[MGMA01H3 or MGIA01H3] and [MGMB01H3 or MGIB01H3],,Advanced Special Topics in Marketing I,, +MGMD21H3,SOCIAL_SCI,,"This course focuses on the analysis required to support marketing decisions and aid in the formation of marketing strategy. This is a Marketing simulation course which will challenge students to make real-time decisions with realistic consequences in a competitive market scenario. As part of a team, students will make decisions on Pricing, branding, distribution strategy, commissioning and using market research, new product launches and a variety of related marketing actions while competing with other teams in a simulation that will dynamically unfold over the semester. This is an action-packed capstone course and will give students the chance to apply what they have learned and to polish their skills in a realistic environment.",Some interest in or additional knowledge of different aspects of Marketing,[MGMA01H3 or MGIA01H3] and [MGMB01H3 or MGIB01H3],,Competitive Marketing in Action,, +MGOC10H3,QUANT,,"The course develops understanding and practical skills of applying quantitative analysis for making better management decisions. Studied analytics methodologies include linear programming; multi-criteria optimization; network and waiting- line models; decision analysis. Methodologies are practiced in a broad range of typical business problems drawn from different areas of management, using spreadsheet modelling tools.",,MGEB02H3 and MGEB12H3 and [MGTA38H3 or (MGTA36H3) or (MGTA35H3)],,Analytics for Decision Making,, +MGOC15H3,QUANT,,"The course lays the foundation of business data analytics and its application to Management. Using state-of-the-art computational tools, students learn the fundamentals of processing, visualizing, and identifying patterns from data to draw actionable insights and improve decision making in business processes.",,MGEB12H3,"MGT458H5, (MGOD30H3)",Introductory Business Data Analytics,MGOC10H3, +MGOC20H3,QUANT,,"An introduction to a broad scope of major strategic and tactical issues in Operations Management. Topics include project management, inventory management, supply chain management, forecasting, revenue management, quality management, lean and just-in-time operations, and production scheduling.",,MGOC10H3,"MGT374H5, RSM370H1",Operations Management,, +MGOC50H3,QUANT,,"This course will focus on topics in Analytics and Operations Management that are not covered or are covered only lightly in regularly offered courses. The particular content in any given year will depend on the faculty member. Possible topics include (but are not limited to) production planning, revenue management, project management, logistics planning, operations management in shared economy, and health care operations management.",,MGEB02H3 and MGEB12H3,,Special Topics in Analytics and Operations,MGOC10H3, +MGOD31H3,QUANT,Partnership-Based Experience,"The course covers advanced Management concepts of Big Data analytics via state-of-the-art computational tools and real-world case studies. By the end of the course, students will be able to conceptualize, design, and implement a data- driven project to improve decision-making.",,MGOC10H3 and MGOC15H3,(MGOD30H3),Advanced Business Data Analytics,, +MGOD40H3,QUANT,,"Students will learn how to construct and implement simulation models for business processes using a discrete-event approach. They will gain skills in the statistical analysis of input data, validation and verification of the models. Using these models, they can evaluate the alternative design and make system improvements. Students will also learn how to perform a Monte Carlo simulation. Spreadsheet and simulation software are integral components to this course and will enhance proficiency in Excel.",,MGOC10H3,MIE360H1,Simulation and Analysis of Business Processes,MGOC20H3, +MGOD50H3,QUANT,,This course will focus on topics in Analytics and Operations Management that are not covered in regularly offered courses. The particular content in any given year will depend on the faculty member.,,MGOC10H3,,Advanced Special Topics in Analytics and Operations Management,, +MGSB01H3,SOCIAL_SCI,University-Based Experience,"This course offers an introduction to strategic management. It analyzes strategic interactions between rival firms in the product market, provides conceptual tools for analyzing these interactions, and highlights the applications of these tools to key elements of business strategy. The course then moves beyond product market competition and considers (among other things) strategic interactions inside the organization, and with non-market actors.",MGAB01H3,Minimum 4.0 credits including MGEA02H3 and MATA34H3 or [[MATA29H3 or MATA30H3 or MATA31H3 or (MATA32H3)] and [(MATA33H3) or MATA35H3 or MATA36H3 or MATA37H3]],RSM392H1 and MGT492H5,Introduction to Strategy,, +MGSB22H3,SOCIAL_SCI,University-Based Experience,"This course focuses on the skills required and issues such as personal, financial, sales, operational, and personnel, which entrepreneurs face as they launch and then manage their early-stage ventures. Particular focus is placed on developing the analytical skills necessary to assess opportunities, and applying the appropriate strategies and resources in support of an effective business launch. This course includes work- integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAB01H3 and [MGHB02H3 or MGIB02H3],"MGT493H5, RSM493H1",Entrepreneurship,, +MGSC01H3,SOCIAL_SCI,,"Begins with an examination of the concept of business mission. Students are then challenged to evaluate the external and industry environments in which businesses compete, to identify sources of competitive advantage and value creation, and to understand and evaluate the strategies of active Canadian companies.",,MGHB02H3 and [MGEB02H3 or MGEB06H3],"MGIC01H3, VPAC13H3, MGT492H5, RSM392H1",Strategic Management I,, +MGSC03H3,SOCIAL_SCI,,"An introduction to key public sector management processes: strategic management at the political level, planning, budgeting, human resource management, and the management of information and information technology. Makes use of cases, and simulations to develop management skills in a public sector setting.",,MGHB02H3 or [POLB56H3 and POLB57H3/(POLB50Y3)],,Public Management,,POLB56H3 and POLB57H3 are prerequisites only for students enrolled in Public Policy programs +MGSC05H3,SOCIAL_SCI,,"How regulation, privatization and globalization are affecting today's managers. Most major management issues and business opportunities involve government (domestic or foreign) at some level - whether as lawmaker, customer, partner, investor, tax- collector, grant-giver, licensor, dealmaker, friend or enemy. This course provides students with an understanding of the issues and introduces some of the skills necessary to successfully manage a business's relationship with government.",,4.0 credits or [POLB56H3 and POLB57H3/(POLB50Y3)],,The Changing World of Business - Government Relations,,POLB56H3 and POLB57H3 are prerequisites only for students enrolled in Public Policy programs +MGSC07H3,SOCIAL_SCI,,This course focuses on the theory and techniques of analyzing and writing business cases. The main focus is to assist students in developing their conceptual and analytical skills by applying the theory learned from each major area of management studies to practical situations. Critical thinking and problem solving skills are developed through extensive use of case analysis.,,MGAB03H3 and MGFB10H3 and MGHB02H3,,Introduction to Case Analysis Techniques,MGMA01H3 and MGAB02H3, +MGSC10H3,SOCIAL_SCI,,"This course teaches students the ways in which business strategy and strategic decisions are affected by the recent explosion of digital technologies. Key considerations include the market and organizational context, process design, and managerial practices that determine value from data, digital infrastructures, and AI. It provides classic frameworks augmented by frontier research to make sense of digital transformation from the perspective of a general manager. Leaning on case study analysis and in-class discussion, this course will surface both practical and ethical pitfalls that can emerge in an increasingly digital world and equip students to operate effectively in professional contexts affected by these fast-moving trends.","Introductory Logic, Probability and Statistics Econometrics (Linear Regression)",Completion of 10.0 credits including MGEB11H3 and MGEB12H3,,Business Strategy in the Digital Age,, +MGSC12H3,ART_LIT_LANG,,"Through the analysis of fiction and non-fiction narratives, particularly film, dealing with managers in both private and public sector organizations, the course explores the ethical dilemmas, organizational politics and career choices that managers can expect to face.",,MGHB02H3 or ENGD94H3 or [2.0 credits at the C-level in POL courses],,Narrative and Management,, +MGSC14H3,HIS_PHIL_CUL,,"Increasingly, the marketplace has come to reward, and government regulators have come to demand a sophisticated managerial approach to the ethical problems that arise in business. Topics include ethical issues in international business, finance, accounting, advertising, intellectual property, environmental policy, product and worker safety, new technologies, affirmative action, and whistle-blowing.",,MGTA38H3 or (MGTA35H3) or (MGTA36H3),"(MGIC14H3), PHLB06H3",Management Ethics,, +MGSC20H3,SOCIAL_SCI,University-Based Experience,"Tomorrow's graduates will enjoy less career stability than previous generations. Technology and demography are changing the nature of work. Instead of having secure progressive careers, you will work on contract or as consultants. You will need to think, and act like entrepreneurs. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAB03H3 and MGHB02H3,,Consulting and Contracting: New Ways of Work,, +MGSC26H3,SOCIAL_SCI,,"Venture capital and other sources of private equity play a critical role in the founding and development of new enterprises. In this course, we will review all aspects of starting and operating a venture capital firm. At the end of the course, students will better understand how the venture capital industry works; what types of businesses venture capitalists invest in and why; how contract structures protect investors; how venture capitalists create value for their investors and for the companies in which they invest; and how the North American venture capital model ports to other contexts.",,MGFB10H3 and MGEC40H3,,Venture Capital,,Priority will be given to students enrolled in the Specialist program in Strategic Management: Entrepreneurship Stream. Additional students will be admitted as space permits. +MGSC30H3,SOCIAL_SCI,,"An introduction to the Canadian legal system and its effects on business entities. The course includes an examination of the Canadian court structure and a discussion of the various forms of business ownership, tort law, contract law, and property law.",,Completion of at least 10.0 credits including MGAB01H3 and MGAB02H3 and [MGTA38H3 or (MGTA35H3) or (MGTA36H3)],"MGT393H5, RSM225H1",The Legal Environment of Business I,, +MGSC35H3,SOCIAL_SCI,Partnership-Based Experience,"This course introduces students to the nature and elements of innovation and explores the application of innovation to various stages of business evolution and to different business sectors. The course has a significant practical component, as student groups will be asked to provide an innovation plan for a real company. This course includes work-integrated- learning components, and satisfies the WIL requirement of the BBA degree.",,Completion of 10.0 credits and [MGSB22H3 or MGSC01H3 or MGSC20H3],,Innovation,,Priority will be given to students enrolled in the Entrepreneurship Stream of the Specialist/Specialist Co-op programs in Strategic Management. +MGSC44H3,SOCIAL_SCI,Partnership-Based Experience,"This Course deals with: political risk & contingency planning; human threats; weather extremes; NGOs (WTO, IMF and World Bank); government influences - dumping, tariffs, subsidies; cultures around the world; foreign exchange issues; export financing for international business; international collaborative arrangements; and pro-active/re- active reasons for companies going international. There will also be guest speakers.",,MGHB02H3,"MGT491H1, RSM490H1",International Business Management,, +MGSC91H3,SOCIAL_SCI,,"This course covers special topics in the area of strategy. The specific topics will vary from year to year, but could include topics in business or corporate strategy, strategy and technology, strategy for sustainability, international business strategy, entrepreneurship, or managing emerging enterprises. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,MGSB01H3,,Special Topics in Strategy,, +MGSD01H3,SOCIAL_SCI,,This course allows 4th-year Specialists students in Strategic Management to deepen and broaden their strategic skills by strengthening their foundational knowledge of the field and by highlighting applications to key strategic management issues facing modern organizations. It will improve students’ ability to think strategically and understand how strategic decisions are made at the higher levels of management.,,"Completion of at least 11.0 credits, including MGSC01H3 and one of [MGSC03H3 or MGSC05H3]",MGID79H3,Senior Seminar in Strategic Management,, +MGSD05H3,SOCIAL_SCI,,"Topics include competitive advantage, organizing for competitive advantage, and failures in achieving competitive advantage. Through case analysis and class discussion, the course will explore competitive positioning, sustainability, globalization and international expansion, vertical integration, ownership versus outsourcing, economies of scale and scope, and the reasons for failure.",,MGSC01H3 or MGIC01H3,,Strategic Management II,,Admission is restricted to students enrolled in a BBA subject POSt. Priority will be given to students enrolled in the Management Strategy stream of the Specialist/Specialist Co- op in Strategic Management. +MGSD15H3,HIS_PHIL_CUL,University-Based Experience,"Topics include identifying, managing and exploiting information assets, the opportunities and limits of dealing with Big Data, the impact of digitalization of information, managing under complexity, globalization, and the rise of the network economy. Students will explore a topic in greater depth through the writing of a research paper.",,MGSC01H3 or MGIC01H3 or enrolment in the Specialist/Specialist (Co-op) program in Management and Information Technology (BBA).,,Managing in the Information Economy,,Admission is restricted to students enrolled in a BBA subject POSt. +MGSD24H3,SOCIAL_SCI,University-Based Experience,"Aimed at students interested in launching their own entrepreneurial venture. The core of the course is the development of a complete business plan which details the student's plans for the venture's initial marketing, finance and growth. This course provides a framework for the evaluation of the commercial potential of business ideas. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGMA01H3 and MGAB01H3 and MGAB02H3,,New Venture Creation and Planning,, +MGSD30H3,SOCIAL_SCI,,"This course considers patents, trademarks, copyright and confidential information. Canada's international treaty obligations as well as domestic law will be covered. Policy considerations, such as the patentability of life forms, copyright in an Internet age of easy copying and patents and international development will be included.",9.5 credits in addition to the prerequisite.,MGSC30H3,,Intellectual Property Law,, +MGSD32H3,SOCIAL_SCI,,"This course further examines the issues raised in Legal Environment of Business I. It focuses on relevant areas of law that impact business organizations such as consumer protection legislation and agency and employment law, and it includes a discussion of laws affecting secured transactions and commercial transactions.",,MGSC30H3,"MGT394H5, RSM325H1",The Legal Environment of Business II,, +MGSD40H3,HIS_PHIL_CUL,,"This course will examine the role of business in society including stakeholder rights and responsibilities, current important environmental and social issues (e.g., climate change, ethical supply chains, etc.) and management practices for sustainable development. It is designed for students who are interested in learning how to integrate their business skills with a desire to better society.",,Completion of 10.0 credits,,Principles of Corporate Social Responsibility,, +MGSD55H3,SOCIAL_SCI,,"This is an advanced course tackling critical issues in technology and information strategy. We focus on the theory and application of platform, screening, and AI strategies",,MGAB02H3 and MGEB02H3 and MGSB01H3 and [MGIC01H3 or MGSC01H3],MGSD15H3 and [MGSD91H3 if taken in Fall 2023],Strategy and Technology,, +MGSD91H3,SOCIAL_SCI,University-Based Experience,"This course covers special topics in the area of strategy. The specific topics will vary from year to year but could include topics in corporate strategy, strategy for public organizations, strategy for sustainability, international business strategy or entrepreneurship. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",MGSC01H3 or MGIC01H3,Completion of 10.0 credits,,Advanced Special Topics in Strategy,, +MGTA01H3,SOCIAL_SCI,,"This course serves as an introduction to the organizations called businesses. The course looks at how businesses are planned, organized and created, and the important role that businesses play within the Canadian economic system.",,,"MGTA05H3, MGM101H1, RSM100Y1",Introduction to Business,, +MGTA02H3,SOCIAL_SCI,,"This course serves as an introduction to the functional areas of business, including accounting, finance, production and marketing. It builds on the material covered in MGTA01H3.",,MGTA01H3,"MGTA05H3, MGM101H5, MGM102H5, RSM100Y1",Managing the Business Organization,, +MGTA38H3,ART_LIT_LANG,Partnership-Based Experience,"In this course, students will learn skills and techniques to communicate effectively in an organization. Creativity, innovation and personal style will be emphasized. Students will build confidence in their ability to communicate effectively in every setting while incorporating equity, diversity, and inclusion considerations. This course is a mandatory requirement for all management students. It includes work- integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,,(MGTA35H3) and (MGTA36H3),Management Communications,, +MGTB60H3,SOCIAL_SCI,,"This course provides an introductory overview to the business of sport as it has become one of the largest industries in the world. Drawing from relevant theories applied to sports management, the course will incorporate practical case studies, along with critical thinking assignments and guest speakers from the industry.",,,(HLTB05H3),Introduction to the Business of Sport,, +MGTC28H3,QUANT,,"This is an introductory coding course for Management students who have little programming experience. Beginning with the introduction to the fundamentals of computer scripting languages, students will then learn about the popular tools and libraries often used in various business areas. The case studies used in the course prepare students for some Management specializations that require a certain level of computer programming skills.",,MGEB12H3,"CSCA20H3, CSC120H1, MGT201H1",Computer Programming Applications for Business,,"Students are expected to know introductory algebra, calculus, and statistics to apply coding solutions to these business cases successfully." +MGTD80H3,,,These courses are intended for upper level students whose interests are not covered in one of the other Management courses normally offered. The courses will only be offered when a faculty member is available for supervision and to students whose Management performance has been well above average. Students interested in these courses should consult with the Management Academic Director well in advance.,,,,Supervised Reading In Management,,"Students must obtain consent from the Management, Academic Director, the supervising instructor and the Department of Management before registering for this course." +MGTD81H3,,,These courses are intended for upper level students whose interests are not covered in one of the other Management courses normally offered. The courses will only be offered when a faculty member is available for supervision and to students whose Management performance has been well above average. Students interested in these courses should consult with the Management Academic Director well in advance.,,,,Supervised Reading In Management,,"Students must obtain consent from the Management, Academic Director, the supervising instructor and the Department of Management before registering for this course." +MGTD82Y3,,,These courses are intended for upper level students whose interests are not covered in one of the other Management courses normally offered. The courses will only be offered when a faculty member is available for supervision and to students whose Management performance has been well above average. Students interested in these courses should consult with the Management Academic Director well in advance.,,,,Supervised Reading In Management,,"Students must obtain consent from the Management, Academic Director, the supervising instructor and the Department of Management before registering for this course." +MUZA60H3,ART_LIT_LANG,University-Based Experience,The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone but is not a course to learn an instrument for the first time.,,,(VPMA73H3),Concert Band Ia,, +MUZA61H3,ART_LIT_LANG,University-Based Experience,The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone but is not a course to learn an instrument for the first time.,,MUZA60H3/(VPMA73H3),(VPMA74H3),Concert Band Ib,, +MUZA62H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,,(VPMA70H3),Concert Choir Ia,, +MUZA63H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Place interview required. Concert Choir attempts to accommodate everyone.,,MUZA62H3/(VPMA70H3),(VPMA71H3),Concert Choir Ib,, +MUZA64H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,,(VPMA66H3),String Orchestra Ia,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZA65H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZA64H3/(VPMA66H3),(VPMA67H3),String Orchestra 1b,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZA66H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,,(VPMA68H3),Small Ensembles Ia,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02." +MUZA67H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZA66H3/(VPMA68H3),(VPMA69H3),Small Ensembles Ib,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02." +MUZA80H3,ART_LIT_LANG,,"A practical introduction to musicianship through music- making and creation, with an emphasis on aural skills, rhythmic fluency, notation, and basic vocal and instrumental techniques. This course is open to students with no musical training and background.",,,(VPMA95H3),Foundations in Musicianship,,"Priority will be given to first and second-year students in Major and Minor Music and Culture programs. Additional students will be admitted as space permits. A placement test will be held in Week 1 of the course. Students who pass this test do not have to take MUZA80H3, and can move on to B-levels directly. Contact acm- pa@utsc.utoronto.ca for more information" +MUZA81H3,ART_LIT_LANG,University-Based Experience,"This course will provide a broad overview of the music industry and fundamentals in audio theory and engineering. It will cover the physics of sound, psychoacoustics, the basics of electricity, and music business and audio engineering to tie into the Centennial College curriculum.",,Enrollment in the SPECIALIST (JOINT) PROGRAM IN MUSIC INDUSTRY AND TECHNOLOGY,,Introduction to Music Industry and Technology,, +MUZA99H3,HIS_PHIL_CUL,,"An introduction to music through active listening and the consideration of practical, cultural, historical and social contexts that shape our aural appreciation of music. No previous musical experience is necessary.",,,(VPMA93H3),Listening to Music,, +MUZB01H3,SOCIAL_SCI,,"Music within communities functions in ways that differ widely from formal models. Often the defining activity, it blurs boundaries between amateur, professional, audience and performer, and stresses shared involvement. Drawing upon their own experience, students will examine a variety of community practices and current research on this rapidly evolving area.",,MUZA80H3/(VPMA95H3),(VPMB01H3),Introduction to Community Music,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZB02H3,SOCIAL_SCI,,"An introduction to the theory and practice of music teaching, facilitation, and learning. Students will develop practical skills in music leadership, along with theoretical understandings that distinguish education, teaching, facilitation, and engagement as they occur in formal, informal, and non formal spaces and contexts.",,MUZA80H3/(VPMA95H3) or successful clearance of the MUZA80H3 exemption test,(VPMB02H3),"Introduction to Music Teaching, Facilitation, and Learning",,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZB20H3,HIS_PHIL_CUL,,"An examination of art and popular musics. This course will investigate the cultural, historical, political and social contexts of music-making and practices as experienced in the contemporary world.",,,(VPMB82H3),Music in the Contemporary World,, +MUZB21H3,HIS_PHIL_CUL,,"A critical investigation of a wide range of twentieth and twenty-first-century music. This interdisciplinary course will situate music in its historical, social, and cultural environments.",,MUZB20H3/(VPMB82H3),,Exploring Music in Social and Cultural Contexts,, +MUZB40H3,ART_LIT_LANG,,"A comprehensive study of the technologies in common use in music creation, performance and teaching. This course is lab and lecture based.",,,(VPMB91H3),Music and Technology,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZB41H3,HIS_PHIL_CUL,,"This course explores the aesthetic innovations of DJs from various musical genres, from disco to drum’n’bass to dub. We also spend time exploring the political, legal, and social aspects of DJs as their production, remixes, touring schedules, and community involvement reveal what is at stake when we understand DJs as more than entertainers. The course utilizes case studies and provides a hands-on opportunity to explore some of the basic elements of DJ-ing, while simultaneously providing a deep dive into critical scholarly literature.",,MUZA80H3/(VPMA95H3),(VPMC88H3) if taken in Winter 2020 session,DJ Cultures: Analogue Innovations and Digital Aesthetics,, +MUZB60H3,ART_LIT_LANG,University-Based Experience,The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone but is not a course to learn an instrument for the first time.,,MUZA61H3 /(VPMA74H3),(VPMB73H3),Concert Band IIa,, +MUZB61H3,ART_LIT_LANG,University-Based Experience,The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone but is not a course to learn an instrument for the first time.,,MUZB60H3/(VPMB73H3),(VPMB74H3),Concert Band IIb,, +MUZB62H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,MUZA63H3/(VPMA71H3),(VPMB70H3),Concert Choir IIa,, +MUZB63H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,MUZB62H3 /(VPMB70H3),(VPMB71H3),Concert Choir IIb,, +MUZB64H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZA65H3/(VPMA67H3),(VPMB66H3),String Orchestra IIa,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZB65H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZB64H3/(VPMB66H3),(VPMB67H3),String Orchestra IIb,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZB66H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone but is not a course to learn an instrument for the first time.",,MUZA67H3/(VPMA69H3),(VPMB68H3),Small Ensembles IIa,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02." +MUZB67H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone but is not a course to learn an instrument for the first time.",,MUZB66H3/(VPMB68H3),(VPMB69H3),Small Ensembles IIb,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02." +MUZB80H3,ART_LIT_LANG,,"The continuing development of musicianship through music- making and creation, including elementary harmony, musical forms, introductory analytical and compositional techniques, and aural training.",,MUZA80H3/(VPMA95H3) or successful clearance of the MUZA80H3 exemption test.,(VPMA90H3),Developing Musicianship,, +MUZB81H3,ART_LIT_LANG,,"Building upon Developing Musicianship, this course involves further study of musicianship through music-making and creation, with increased emphasis on composition. The course will provide theory and formal analysis, dictation, notation methods, and ear-training skills.",,MUZB80H3/(VPMB88H3),(VPMB90H3),The Independent Music-Maker,, +MUZC01H3,SOCIAL_SCI,Partnership-Based Experience,"Our local communities are rich with music-making engagement. Students will critically examine community music in the GTA through the lenses of intergenerational music-making, music and social change, music and wellbeing, and interdisciplinary musical engagement. Off- campus site visits are required.",,MUZB01H3/(VPMB01H3),(VPMC01H3),Exploring Community Music,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZC02H3,SOCIAL_SCI,,"This course introduces the histories, contexts, and theories of music in relation to health and wellness. Students will develop deeper understandings of how music can be used for therapeutic and non-therapeutic purposes.",Prior musical experience is recommended,Any 7.0 credits,(VPMC02H3),"Music, Health, and Wellness",,Priority will be given to students enrolled in the Minor and Major programs in Music and Culture. Additional students will be admitted as space permits. +MUZC20H3,ART_LIT_LANG,,"This course examines the synergistic relationship between the moving image and music and how these synergies result in processes of meaning-making and communication. Drawing on readings in cultural theory, cultural studies, musicology and film studies, the course considers examples from the feature film, the Hollywood musical, and the animated cartoon. Same as MDSC85H3",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in MUZ/(VPM) courses],"MDSC85H3, (VPMC85H3)","Movies, Music and Meaning",,No Specialist knowledge in Musicology or Film Studies required. +MUZC21H3,SOCIAL_SCI,,"This course examines the unique role of music and the arts in the construction and maintenance of transnational identity in the diaspora. The examples understudy will cover a wide range of communities (e.g. Asian, Caribbean and African) and places.",,MUZB80H3/(VPMB88H3) and [an additional 0.5 credit at the B-level in MUZ/(VPM) courses],(VPMC95H3),Musical Diasporas,, +MUZC22H3,HIS_PHIL_CUL,,"A history of jazz from its African and European roots to present-day experiments. Surveys history of jazz styles, representative performers and contexts of performance.",,MUZB20H3/(VPMB82H3) and [an additional 1.0 credit at the B-level in MUZ/(VPM) courses],(VPMC94H3),Jazz Roots and Routes,, +MUZC23H3,HIS_PHIL_CUL,,"An investigation into significant issues in music and society. Topics will vary but may encompass art, popular and world music. Issues may include music’s relationship to technology, commerce and industry, identity, visual culture, and performativity. Through readings and case studies we consider music's importance to and place in society and culture.",,MUZB20H3/(VPMB82H3) and 1.0 credit at the C-level in MUZ/(VPM) courses,(VPMC65H3),Critical Issues in Music and Society,, +MUZC40H3,ART_LIT_LANG,,Students will write original works for diverse styles and genres while exploring various compositional methods. The class provides opportunities for students to work with musicians and deliver public performances of their own work.,,MUZB81H3/(VPMB90H3) and an additional 1.0 credit at the B-level in MUZ/(VPM) courses,(VPMC90H3),The Composer's Studio,, +MUZC41H3,ART_LIT_LANG,,"This course will explore various techniques for digital audio production including recording, editing, mixing, sequencing, signal processing, and sound synthesis. Students will develop creative skills for electronic media through theoretical, aesthetic, and practical perspectives.",,MUZB40H3/(VPMB91H3) and MUZB80H3/(VPMB88H3),(VPMC91H3),Digital Music Creation,, +MUZC42H3,ART_LIT_LANG,,"This course will explore music production and sound design techniques while examining conceptual underpinnings for creating works that engage with space and live audiences. Students will develop creative skills for electronic media through theoretical, aesthetic, and practical perspectives.",,MUZB40H3/(VPMB91H3) and MUZB80H3/(VPMB88H3),,Creative Audio Design Workshop,, +MUZC43H3,HIS_PHIL_CUL,,This course examines critical issues of music technology and the ways in which digital technology and culture impact the ideologies and aesthetics of musical artists. Students will become familiar with contemporary strategies for audience building and career development of technology-based musicians.,,[2.0 credits at the B-level in MUZ/(VPM) courses] or [2.0 credits at the B-level in MDS courses],(VPMC97H3),"Music, Technologies, Media",, +MUZC60H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZB61H3/(VPMB74H3),(VPMC73H3),Concert Band IIIa,, +MUZC61H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZC60H3/(VPMC73H3),(VPMC74H3),Concert Band IIIb,, +MUZC62H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,MUZB63H3/(VPMB71H3),(VPMC70H3),Concert Choir IIIa,, +MUZC63H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,MUZC62H3/(VPMC70H3),(VPMC71H3),Concert Choir IIIb,, +MUZC64H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZB65H3/(VPMB67H3),(VPMC66H3),String Orchestra IIIa,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZC65H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZC64H3/(VPMC66H3),(VPMC67H3),String Orchestra IIIb,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZC66H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZB67H3/(VPMB69H3),(VPMC68H3),Small Ensembles IIIa,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02." +MUZC67H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZC66H3/(VPMC68H3),(VPMC69H3),Small Ensembles IIIb,,"Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02." +MUZC80H3,HIS_PHIL_CUL,,The investigation of an area of current interest and importance in musical scholarship. The topic to be examined will change from year to year and will be available in advance on the ACM department website.,,"1.0 credit at the B-level from the following: MUZB01H3, MUZB20H3, or MUZB80H3",(VPMC88H3),Topics in Music and Culture,, +MUZC81H3,HIS_PHIL_CUL,,"Popular music, especially local music, are cultural artifacts that shape local communities and the navigation of culturally hybrid identities. Music is also a significant technology of “remembering in everyday life,” a storehouse of our memories. In this course we examine acts of popular music preservation and consider questions such as: what happens when museums house popular music exhibitions? Who has the authority to narrate popular music, and how does popular music become a site of cultural heritage? Throughout this course, we will work with a notion of “heritage” as an act that brings the past into conversation with the present and can powerfully operate to bring people together while simultaneously excluding others or strategically forgetting. We will spend time with bottom-up heritage projects and community archives to better understand how memory is becoming democratized beyond large cultural institutions. As more and more cultural heritage becomes digitally born, new possibilities and new risks emerge for the preservation of popular music cultures.",,"1.0 credit at the B-level from the following: MUZB01H3, MUZB20H3, or MUZB80H3",,"Issues in Popular Music: Heritage, Preservation & Archives",, +MUZD01H3,SOCIAL_SCI,Partnership-Based Experience,"Through advanced studies in community music, students will combine theory and practice through intensive seminar-style discussions and an immersive service-learning placement with a community music partner. Off-campus site visits are required.",,MUZC01H3/(VPMC01H3),(VPMD01H3),Senior Seminar: Music in Our Communities,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. +MUZD80H3,ART_LIT_LANG,University-Based Experience,"This course will help students develop their self-directed projects that will further their research and interests. This project is intended to function as a capstone in the Major program in Music and Culture, reflecting rigorous applied and/or theoretical grounding in one or more areas of focus in the Music and Culture program.",,1.5 credits at the C-level in VPM/MUZ courses.,(VPMD02H3),Music and Culture Senior Project,, +MUZD81H3,,,"A directed research, composition or performance course for students who have demonstrated a high level of academic maturity and competence. Students in performance combine a directed research project with participation in one of the performance ensembles.",,"A minimum overall average of B+ in MUZ/VPM courses, and at least 1.0 full credit in music at the C-level. Students in the Composition option must also have completed MUZC40H3/(VPMC90H3). Students in the Performance/research option must complete at least one course in performance at the C-level.",(VPMD80H3),Independent Study in Music,,"Students must submit a proposed plan of study for approval in the term prior to the beginning of the course, and must obtain consent from the supervising instructor and the Music Program Director." +NMEA01H3,SOCIAL_SCI,,"This course introduces basic hardware and software for new media. Students will learn basics of HTML (tags, tables and frames) and JavaScript for creation of new media. Discusses hardware requirements including storage components, colour palettes and different types of graphics (bitmap vs. vector- based). Students will be introduced to a variety of software packages used in new media production. This course is taught at Centennial College.",,5.0 credits including MDSA01H3 and MDSA02H3,,Digital Fundamentals,"NMEA02H3, NMEA03H3, NMEA04H3",This course is only open to students registered in the Joint Major Program in New Media. +NMEA02H3,HIS_PHIL_CUL,,"This course enables students to develop strong written communications skills for effective project proposals and communications, as well as non-linear writing skills that can be applied to a wide range of interactive media projects. The course examines the difference between successful writing for print and for new media, and how to integrate text and visual material. This course is taught at Centennial College.",,5.0 credits including MDSA01H3 and MDSA02H3,,Introduction to New Media Communications,"NMEA01H3, NMEA03H3, NMEA04H3",This course is only open to students registered in the Joint Major Program in New Media. +NMEA03H3,ART_LIT_LANG,,"This course introduces the fundamentals of two-dimensional design, graphic design theory, graphic design history, colour principles, typographic principles and visual communication theories applied to New Media Design. Working from basic form generators, typography, two-dimensional design principles, colour and visual communication strategies, learners will be introduced to the exciting world of applied graphic design and multi-media. This course is taught at Centennial College.",,10 full credits,,The Language of Design,5.0 credits including MDSA01H3 and MDSA02H3,This course is only open to students registered in the Joint Major Program in New Media. +NMEA04H3,ART_LIT_LANG,,"This course introduces students to the discipline of user interface and software design, and in particular their impact and importance in the world of new media. The course uses theory and research in combination with practical application, to bring a user-centred design perspective to developing new media software. This course is taught at Centennial College.",,5.0 credits including MDSA01H3 and MDSA02H3,,"Interface Design, Navigation and Interaction I","NMEA01H3, NMEA02H3, NMEA03H3",This course is only open to students registered in the Joint Major Program in New Media. +NMEB05H3,ART_LIT_LANG,,"Extends work on interface design. Students have opportunities to gain real world experience in the techniques of user interface design. Participants learn to do a ""requirements document"" for projects, how to design an interface which meets the needs of the requirements of the document and how to test a design with real world users.",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,"Interface Design, Navigation and Interaction II",,This course is only open to students registered in the Joint Major Program in New Media. +NMEB06H3,SOCIAL_SCI,,"This course enables the participant to understand the new media production process. Learners will develop the skills to conduct benchmarking, scoping and testing exercises that lead to meaningful project planning documents. Learners will develop and manage production schedules for their group projects that support the development efforts using the project planning documents.",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,Project Development and Presentation,NMEB05H3 and NMEB08H3 and NMEB09H3 and NMEB10H3,This course is only open to students registered in the Joint Major Program in New Media. +NMEB08H3,SOCIAL_SCI,,"This course builds on NMEA01H3. It enables learners to extend their understanding of software requirements and of advanced software techniques. Software used may include Dreamweaver, Flash, Director, and animation (using Director).",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,Application Software for Interactive Media,,This course is only open to students registered in the Joint Major Program in New Media. +NMEB09H3,ART_LIT_LANG,,"This course introduces students to the scope of sound design - creative audio for new media applications. Students will work with audio applications software to sample, create and compress files, and in the planning and post-production of new media. Students will also learn to use audio in interactive ways such as soundscapes.",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,Sound Design,NMEB05H3 and NMEB06H3 and NMEB08H3 and NMEB10H3,This course is only open to students registered in the Joint Major Program in New Media. +NMEB10H3,ART_LIT_LANG,,"This course discusses the integration of multiple media with the art of good design. The course examines the conventions of typography and the dynamics between words and images, with the introduction of time, motion and sound. The course involves guest speakers, class exercises, assignments, field trips, group critiques and major projects.",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,New Media Design,NMEB05H3 and NMEB06H3 and NMEB08H3 and NMEB09H3,This course is only open to students registered in the Joint Major Program in New Media. +NMEC01H3,HIS_PHIL_CUL,,"This seminar examines the ideological, political, structural, and representational assumptions underlying new media production and consumption from both theoretical and practice-based perspectives. Students critically reflect on and analyze digital media applications and artefacts in contemporary life, including business, information, communication, entertainment, and creative practices.",,4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses,(NMED20H3),Theory and Practice of New Media,, +NMED10Y3,,University-Based Experience,"Students develop a new media project that furthers their research into theoretical issues around digital media practices and artefacts. Projects may focus on digital media ranging from the internet to gaming, to social networking and the Web, to CD-ROMS, DVDs, mobile apps, and Virtual and Augmented Reality technologies.",,Completion of 15.0 credits including 4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses,(NMED01H3),New Media Senior Project,, +NROB60H3,NAT_SCI,University-Based Experience,"This course focuses on functional neuroanatomy of the brain at both the human and animal level. Topics include gross anatomy of the brain, structure and function of neurons and glia, neurotransmitters and their receptors, and examples of major functional systems. Content is delivered through lecture and laboratories.",,BIOA01H3 and BIOA02H3 and CHMA10H3 and [CHMA11H3 or CHMA12H3] and PSYA01H3 and PSYA02H3,"CSB332H, HMB320H, PSY290H, PSY391H, (ZOO332H)",Neuroanatomy Laboratory,, +NROB61H3,NAT_SCI,University-Based Experience,"This course focuses on the electrical properties of neurons and the ways in which electrical signals are generated, received, and integrated to underlie neuronal communication. Topics include principles of bioelectricity, the ionic basis of the resting potential and action potential, neurotransmission, synaptic integration, and neural coding schemes. Content will be delivered through lectures, labs, and tutorials.",,BIOA01H3 and BIOA02H3 and CHMA10H3 and [CHMA11H3 or CHMA12H3] and PSYA01H3 and PSYA02H3,,Neurophysiology,NROB60H3, +NROC34H3,NAT_SCI,,"Neural basis of natural behaviour; integrative function of the nervous system; motor and sensory systems; mechanisms of decision-making, initiating action, co-ordination, learning and memory. Topics may vary from year to year.",,BIOB34H3 or NROB60H3 or NROB61H3,,Neuroethology,, +NROC36H3,NAT_SCI,,"This course will focus on the molecular mechanisms underlying neuronal communication in the central nervous system. The first module will look into synaptic transmission at the molecular level, spanning pre and postsynaptic mechanisms. The second module will focus on molecular mechanisms of synaptic plasticity and learning and memory. Additional topics will include an introduction to the molecular mechanisms of neurodegenerative diseases and channelopathies.",BIOC13H3,BIOB11H3 and NROB60H3 and NROB61H3 and [PSYB55H3 or (PSYB65H3) ] and [PSYB07H3 or STAB22H3] and [(PSYB01H3) or (PSYB04H3) or PSYB70H3 ],,Molecular Neuroscience,,Priority will be given to students enrolled in the Specialist/Specialist Co-op programs in Neuroscience Cellular/Molecular stream. Students enrolled in the Specialist/Specialist Co-op programs in Neuroscience Systems/Behavioural or Cognitive streams or the Major program in Neuroscience will be admitted as space permits. +NROC60H3,NAT_SCI,University-Based Experience,"This course involves a theoretical and a hands-on cellular neuroscience laboratory component. Advanced systems, cellular and molecular neuroscience techniques will be covered within the context of understanding how the brain processes complex behaviour. Practical experience on brain slicing, immunohistochemistry and cell counting will feature in the completion of a lab project examining the cellular mechanisms underlying schizophrenia-like behavioural deficits. These experiments do not involve contact with animals.",,BIOB10H3 and NROB60H3 and NROB61H3 and PSYB55H3 and PSYB70H3 and [PSYB07H3 or STAB22H3],,Cellular Neuroscience Laboratory,NROC69H3 and PSYC08H3,Priority will be given to students enrolled in the Cellular/Molecular stream Specialist and Specialist Co-op programs in Neuroscience. Students enrolled in the Systems/Behavioural stream Specialist and Specialist Co-op programs in Neuroscience and the Major program in Neuroscience will be admitted as space permits. +NROC61H3,NAT_SCI,,"This course will explore the neural and neurochemical bases of learning and motivation. Topics covered under the category of learning include: Pavlovian learning, instrumental learning, multiple memory systems, and topics covered under motivation include: regulation of eating, drinking, reward, stress and sleep.",,BIOB10H3 and NROB60H3 and NROB61H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3] and [PSYB55H3 or (PSYB65H3)],,Learning and Motivation,,"Priority will be given to students enrolled in the Specialist/Specialist Co-op program in Neuroscience (Stage 2, all streams) and the Major program in Neuroscience." +NROC63H3,NAT_SCI,University-Based Experience,"This is a lecture and hands-on laboratory course that provides instruction on various experimental approaches, design, data analysis and scientific communication of research outcomes in the field of systems/behavioural neuroscience, with a focus on the neural basis of normal and abnormal learning and cognition. Topics covered include advanced pharmacological and neurological manipulation techniques, behavioural techniques and animal models of psychological disease (e.g., anxiety, schizophrenia). The class involves the use of experimental animals.",,BIOB10H3 and NROB60H3 and NROB61H3 and PSYB55H3 and PSYB70H3 and [PSYB07H3 or STAB22H3],,Behavioural Neuroscience Laboratory,NROC61H3 and PSYC08H3,Priority will be given to students enrolled in the Systems/Behavioural stream Specialist and Specialist Co-op programs in Neuroscience. Students enrolled in the Cellular/Molecular stream Specialist and Specialist Co-op programs in Neuroscience and the Major program in Neuroscience will be admitted as space permits. +NROC64H3,NAT_SCI,,"A focus on the mechanisms by which the nervous system processes sensory information and controls movement. The topics include sensory transduction and the physiology for sensory systems (visual, somatosensory, auditory, vestibular). Both spinal and central mechanisms of motor control are also covered.",,BIOB10H3 and NROB60H3 and NROB61H3 and [ (PSYB01H3) or (PSYB04H3) or PSYB70H3 ] and [PSYB07H3 or STAB22H3] and [ PSYB55H3 or (PSYB65H3) ],,Sensorimotor Systems,,"Priority will be given to students enrolled in the Specialist/Specialist Co-op program in Neuroscience (Stage 2, all streams) and students enrolled in the Major program in Neuroscience." +NROC69H3,NAT_SCI,,"The course will provide an in-depth examination of neural circuits, synaptic connectivity and cellular mechanisms of synaptic function. Similarities and differences in circuit organization and intrinsic physiology of structures such as the thalamus, hippocampus, basal ganglia and neocortex will also be covered. The goal is to engender a deep and current understanding of cellular mechanisms of information processing in the CNS.",,BIOB10H3 and NROB60H3 and NROB61H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3] and [PSYB55H3 or (PSYB65H3)],,Synaptic Organization and Physiology of the Brain,,Priority will be given to students enrolled in the Specialist/Specialist Co-op program in Neuroscience Systems/Behavioural and Cellular/Molecular streams. Students enrolled in the Specialist/Specialist Co-op program in Neuroscience Cognitive Neuroscience stream or the Major program in Neuroscience will be admitted as space permits. +NROC90H3,,University-Based Experience,"An intensive research project intended to provide laboratory/field experience in data collection and analysis. The project must be completed over 2 consecutive terms. NROC90H and NROC93H3 provide an opportunity to engage in research in an area after completing basic coverage in regularly scheduled courses. The student must demonstrate a background adequate for the project proposed and should present a clear rationale to prospective supervisors. Regular consultation with the supervisor is necessary, and extensive data collection and analysis will be required. Such a project will culminate in a written research report. Students must first find a supervisor before the start of the academic term in which the project will be initiated. They must then obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and returned to the Psychology Office. Students seeking supervision off campus are further advised to check the appropriateness of the proposed advisor with the Program Supervisor. If the proposed supervisor is not appointed to the Neuroscience faculty at UTSC then a secondary supervisor who is a member of the Neuroscience group at UTSC will be required.",,BIOB10H3 and NROB60H3 and NROB61H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3] and [PSYB55H3 or (PSYB65H3)] and permission of the proposed supervisor.,PSYC90H3,Supervised Study in Neuroscience,, +NROC93H3,,University-Based Experience,"An intensive research project intended to provide laboratory/field experience in data collection and analysis. The project must be completed over 2 consecutive terms. NROC90H3 and NROC93H3 provide an opportunity to engage in research in an area after completing basic coverage in regularly scheduled courses. The student must demonstrate a background adequate for the project proposed and should present a clear rationale to prospective supervisors. Regular consultation with the supervisor is necessary, and extensive data collection and analysis will be required. Such a project will culminate in a written research report. Students must first find a supervisor before the start of the academic term in which the project will be initiated. They must then obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and returned to the Psychology Office. Students seeking supervision off campus are further advised to check the appropriateness of the proposed advisor with the Program Supervisor. If the proposed supervisor is not appointed to the Neuroscience faculty at UTSC then a secondary supervisor who is a member of the Neuroscience group at UTSC will be required.",,BIOB10H3 and NROB60H3 and NROB61H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3] and [PSYB55H3 or (PSYB65H3)] and permission of the proposed supervisor.,PSYC93H3,Supervised Study in Neuroscience,, +NROD08H3,NAT_SCI,,"A seminar covering topics in the theory of neural information processing, focused on perception, action, learning and memory. Through reading, discussion and working with computer models students will learn fundamental concepts underlying current mathematical theories of brain function including information theory, population codes, deep learning architectures, auto-associative memories, reinforcement learning and Bayesian optimality. Same as BIOD08H3",,[NROC34H3 or NROC64H3 or NROC69H3] and [MATA29H3 or MATA30H3 or MATA31H3] and [PSYB07H3 or STAB22H3],BIOD08H3,Theoretical Neuroscience,, +NROD60H3,NAT_SCI,,An intensive examination of selected issues and research problems in the Neurosciences.,,"1.0 credit from the following: [NROC34H3, or NROC36H3 or NROC61H3 or NROC64H3 or NROC69H3]",,Current Topics in Neuroscience,, +NROD61H3,NAT_SCI,,"A seminar based course covering topics on emotional learning based on animal models of fear and anxiety disorders in humans. Through readings, presentations and writing students will explore the synaptic, cellular, circuit and behavioural basis of fear memory processing, learning how the brain encodes fearful and traumatic memories, how these change with time and developmental stage, as well as how brain circuits involved in fear processing might play a role in depression and anxiety.",NROC60H3,NROC61H3 and NROC64H3 and NROC69H3,[NROD60H3 if taken in Fall 2018],Emotional Learning Circuits,, +NROD66H3,NAT_SCI,,"An examination of the major phases of the addiction cycle, including drug consumption, withdrawal, and relapse. Consideration will be given to what basic motivational and corresponding neurobiological processes influence behaviour during each phase of the cycle. Recent empirical findings will be examined within the context of major theoretical models guiding the field.",PSYC08H3,[NROC61H3 or NROC64H3] and PSYC62H3,,Drug Addiction,, +NROD67H3,NAT_SCI,,"This course will characterize various anatomical, biochemical, physiological, and psychological changes that occur in the nervous system with age. We will examine normal aging and age-related cognitive deterioration (including disease states) with a focus on evaluating the validity of current theories and experimental models of aging.",,NROC61H3 and NROC64H3,,Neuroscience of Aging,, +NROD98Y3,,University-Based Experience,"This course offers the opportunity to engage in a year long research project under the supervision of an interested member of the faculty in Neuroscience. The project will culminate in a written report in the form of a thesis and a poster presentation. During the course of the year, at appropriate times, students will meet to present their own research proposals, to appraise the proposals of others, and to discuss the results of their investigation. Students must first find a supervisor, which is usually confirmed before the start of the academic term in which the project will be initiated. Students will meet as a group with the coordinator as well as individually with their supervisor. Students planning to pursue graduate studies are especially encouraged to enrol in the course. Students must obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and submitted to the Psychology Office. Students seeking supervision off campus will need to arrange co supervision with a faculty member in Neuroscience at UTSC.",,"BIOB10H3 and NROB60H3 and NROB61H3 and [PSYB07H3 or STAB22H3] and PSYB55H3 and PSYB70H3 and [0.5 credits from the NRO C-level courses or PSY 50-series C-level courses] and [enrolment in the Specialist Co-op, Specialist, or Major Program in Neuroscience] and [GPA of 3.3 or higher over the last 5.0 credit equivalents completed] and permission of the proposed neuroscience faculty supervisor.","BIOD98Y3, BIOD99Y3, PSYD98Y3",Thesis in Neuroscience,[PSYC08H3 or PSYC09H3], +PHLA10H3,HIS_PHIL_CUL,University-Based Experience,"An introduction to philosophy focusing on issues of rationality, metaphysics and the theory of knowledge. Topics may include: the nature of mind, freedom, the existence of God, the nature and knowability of reality. These topics will generally be introduced through the study of key texts from the history of philosophy.",,,"PHL100Y1, PHL101Y1",Reason and Truth,, +PHLA11H3,HIS_PHIL_CUL,University-Based Experience,Ethics is concerned with concrete questions about how we ought to treat one another as well as more general questions about how to justify our ethical beliefs. This course is an introduction that both presents basic theories of ethics and considers their application to contemporary moral problems.,,,"PHL275H, PHL100Y1, PHL101Y1",Introduction to Ethics,, +PHLB02H3,HIS_PHIL_CUL,,"This course examines ethical issues raised by our actions and our policies for the environment. Do human beings stand in a moral relationship to the environment? Does the environment have moral value and do non-human animals have moral status? These fundamental questions underlie more specific contemporary issues such as sustainable development, alternative energy, and animal rights.",PHLA11H3,,PHL273H,Environmental Ethics,, +PHLB03H3,ART_LIT_LANG,,"An examination of challenges posed by the radical changes and developments in modern and contemporary art forms. For example, given the continuously exploding nature of art works, what do they have in common - what is it to be an artwork?",,,PHL285H,Philosophy of Aesthetics,, +PHLB04H3,ART_LIT_LANG,,"This course examines some of the classic problems concerning literary texts, such as the nature of interpretation, questions about the power of literary works and their relationship to ethical thought, and problems posed by fictional works - how can we learn from works that are fictional and how can we experience genuine emotions from works that we know are fictional?",,,,Philosophy and Literature,, +PHLB05H3,SOCIAL_SCI,,"An examination of contemporary or historical issues that force us to consider and articulate our values and commitments. The course will select issues from a range of possible topics, which may include globalization, medical ethics, war and terrorism, the role of government in a free society, equality and discrimination.",,,,Social Issues,, +PHLB06H3,HIS_PHIL_CUL,,"An examination of philosophical issues in ethics, social theory, and theories of human nature as they bear on business. What moral obligations do businesses have? Can social or environmental costs and benefits be calculated in a way relevant to business decisions? Do political ideas have a role within business?",,,"MGSC14H3/(MGTC59H3), PHL295H",Business Ethics,, +PHLB07H3,HIS_PHIL_CUL,,"What is the difference between right and wrong? What is 'the good life'? What is well-being? What is autonomy? These notions are central in ethical theory, law, bioethics, and in the popular imagination. In this course we will explore these concepts in greater depth, and then consider how our views about them shape our views about ethics.",,,,Ethics,, +PHLB09H3,HIS_PHIL_CUL,,"This course is an examination of moral and legal problems in medical practice, in biomedical research, and in the development of health policy. Topics may include: concepts of health and disease, patients' rights, informed consent, allocation of scarce resources, euthanasia, risks and benefits in research and others.",,,"PHL281H, (PHL281Y)",Biomedical Ethics,, +PHLB11H3,HIS_PHIL_CUL,,"A discussion of right and rights, justice, legality, and related concepts. Particular topics may include: justifications for the legal enforcement of morality, particular ethical issues arising out of the intersection of law and morality, such as punishment, freedom of expression and censorship, autonomy and paternalism, constitutional protection of human rights.",,,PHL271H,Philosophy of Law,, +PHLB12H3,HIS_PHIL_CUL,,"Philosophical issues about sex and sexual identity in the light of biological, psychological and ethical theories of sex and gender; the concept of gender; male and female sex roles; perverse sex; sexual liberation; love and sexuality.",,,PHL243H,Philosophy of Sexuality,, +PHLB13H3,HIS_PHIL_CUL,,"What is feminism? What is a woman? Or a man? Are gender relations natural or inevitable? Why do gender relations exist in virtually every society? How do gender relations intersect with other social relations, such as economic class, culture, race, sexual orientation, etc.?",,,PHL267H,Philosophy and Feminism,, +PHLB17H3,HIS_PHIL_CUL,,"This course will introduce some important concepts of and thinkers in political philosophy from the history of political philosophy to the present. These may include Plato, Aristotle, Augustine, Aquinas, Thomas Hobbes, John Locke, Jean- Jacques Rousseau, G.W.F. Hegel, John Stuart Mill, or Karl Marx. Topics discussed may include political and social justice, liberty and the criteria of good government.",,,"PHL265H, (POLB71H3); in addition, PHLB17H3 may not be taken after or concurrently with POLB72H3",Introduction to Political Philosophy,, +PHLB18H3,HIS_PHIL_CUL,University-Based Experience,"This course will provide an accessible understanding of AI systems, such as ChatGPT, focusing on the ethical issues raised by ongoing advances in AI. These issues include the collection and use of big data, the use of AI to manipulate human beliefs and behaviour, its application in the workplace and its impact on the future of employment, as well as the ethical standing of autonomous AI systems.","PHLA10H3 or PHLA11H3. These courses provide an introductory background of philosophical reasoning and core background concepts, which would assist students taking a B level course in Philosophy.",,,Ethics of Artificial Intelligence,, +PHLB20H3,HIS_PHIL_CUL,,"An examination of the nature of knowledge, and our ability to achieve it. Topics may include the question of whether any of our beliefs can be certain, the problem of scepticism, the scope and limits of human knowledge, the nature of perception, rationality, and theories of truth.",,,(PHL230H),"Belief, Knowledge, and Truth",, +PHLB30H3,HIS_PHIL_CUL,,"A study of the views and approaches pioneered by such writers as Kierkegaard, Husserl, Jaspers, Heidegger and Sartre. Existentialism has had influence beyond philosophy, impacting theology, literature and psychotherapy. Characteristic topics include the nature of the self and its relations to the world and society, self-deception, and freedom of choice.",,,PHL220H,Existentialism,, +PHLB31H3,HIS_PHIL_CUL,,"A survey of some main themes and figures of ancient philosophical thought, concentrating on Plato and Aristotle. Topics include the ultimate nature of reality, knowledge, and the relationship between happiness and virtue.",,,"PHL200Y, PHL202H",Introduction to Ancient Philosophy,, +PHLB33H3,HIS_PHIL_CUL,,"This course is a thematic introduction to the history of metaphysics, focusing on topics such as the nature of God, our own nature as human beings, and our relation to the rest of the world. We will read a variety of texts, from ancient to contemporary authors, that will introduce us to concepts such as substance, cause, essence and existence, mind and body, eternity and time, and the principle of sufficient reason. We will also look at the ethical implications of various metaphysical commitments.",,,,"God, Self, World",, +PHLB35H3,HIS_PHIL_CUL,,"This course is an introduction to the major themes and figures of seventeenth and eighteenth century philosophy, from Descartes to Kant, with emphasis on metaphysics, epistemology, and ethics.",,,PHL210Y,Introduction to Early Modern Philosophy,, +PHLB50H3,QUANT,,"An introduction to formal, symbolic techniques of reasoning. Sentential logic and quantification theory (or predicate logic), including identity will be covered. The emphasis is on appreciation of and practice in techniques, for example, the formal analysis of English statements and arguments, and for construction of clear and rigorous proofs.",,,PHL245H,Symbolic Logic I,, +PHLB55H3,QUANT,,"Time travel, free will, infinity, consciousness: puzzling and paradoxical issues like these, brought under control with logic, are the essence of philosophy. Through new approaches to logic, we will find new prospects for understanding philosophical paradoxes.",,,,Puzzles and Paradoxes,, +PHLB58H3,QUANT,,"Much thought and reasoning occur in a context of uncertainty. How do we know if a certain drug works against a particular illness? Who will win the next election? This course examines various strategies for dealing with uncertainty. Topics include induction and its problems, probabilistic reasoning and the nature of probability, the assignment of causes and the process of scientific confirmation and refutation. Students will gain an appreciation of decision making under uncertainty in life and science.",,,"PHL246H1, PHL246H5",Reasoning Under Uncertainty,, +PHLB60H3,HIS_PHIL_CUL,,"A consideration of problems in metaphysics: the attempt to understand 'how everything fits together' in the most general sense of this phrase. Some issues typically covered include: the existence of God, the nature of time and space, the nature of mind and the problem of the freedom of the will.",,,(PHL231H),Introduction to Metaphysics,, +PHLB81H3,HIS_PHIL_CUL,,"An examination of questions concerning the nature of mind. Philosophical questions considered may include: what is consciousness, what is the relation between the mind and the brain, how did the mind evolve and do animals have minds, what is thinking, what are feelings and emotions, and can machines have minds.",,,PHL240H,Theories of Mind,, +PHLB91H3,HIS_PHIL_CUL,,"An exploration of theories which provide answers to the question 'What is a human being?', answers that might be summarized with catchphrases such as: 'Man is a rational animal,' 'Man is a political animal,' 'Man is inherently individual,' 'Man is inherently social,' etc. Authors studied are: Aristotle, Hobbes, Rousseau, Darwin, Marx, Freud and Sartre.",,,"PHL244H, (PHLC91H3)",Theories of Human Nature,, +PHLB99H3,HIS_PHIL_CUL,,"In this writing-intensive course, students will become familiar with tools and techniques that will enable them to competently philosophize, on paper and in person. Students will learn how to write an introduction and how to appropriately structure philosophy papers, how to accurately present someone else's position or argumentation, how to critically assess someone else's view or argumentation, and how to present and defend their own positive proposal or argumentation concerning a given topic. Students will learn many more specific skills, such as, how to `signpost' what students are doing, how to identify and charitably interpret ambiguities in another discussion, and how to recognize and apply various argumentative strategies.",,"0.5 credit in PHL courses, excluding [PHLB50H3 and PHLB55H3]",,Philosophical Writing and Methodology,,This course is strongly recommended for students enrolled in the Specialist and Major program in Philosophy. It is open to students enrolled in the Minor program in Philosophy as well as all other students by permission of the instructor. +PHLC03H3,ART_LIT_LANG,,"An exploration of some current issues concerning the various forms of art such as: the role of the museum, the loss of beauty and the death of art.",,Any 4.5 credits and [PHLB03H3 and an additional 1.0 credit in PHL courses],,Topics in the Philosophy of Aesthetics,, +PHLC05H3,HIS_PHIL_CUL,,"Philosophers offer systematic theories of ethics: theories that simultaneously explain what ethics is, why it matters, and what it tells us to do. This course is a careful reading of classic philosophical texts by the major systematic thinkers in the Western tradition of ethics. Particular authors read may vary from instructor to instructor.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus – see Table 1.0 for reference]","(PHLC01H3), PHL375H",Ethical Theory,, +PHLC06H3,HIS_PHIL_CUL,,"Philosophical ethics simultaneously aims to explain what ethics is, why it matters, and what it tells us to do. This is what is meant by the phrase 'ethical theory.' In this class we will explore specific topics in ethical theory in some depth. Specific topics may vary with the instructor.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus – see Table 1.0 for reference]",(PHLC01H3),Topics in Ethical Theory,, +PHLC07H3,HIS_PHIL_CUL,,"An intermediate-level study of the ethical and legal issues raised by death and dying. Topics may vary each year, but could include the definition of death and the legal criteria for determining death, the puzzle of how death can be harmful, the ethics of euthanasia and assisted suicide, the relationship between death and having a meaningful life, and the possibility of surviving death.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus, see Table 1.0 for reference]",PHL382H1,Death and Dying,, +PHLC08H3,HIS_PHIL_CUL,,"This is an advanced, reading and discussion intensive course in the history of Arabic and Jewish thought, beginning with highly influential medieval thinkers such as Avicenna (Ibn Sīnā), al-Ghazālī, Al Fārābī, Averroes (Ibn Rushd), and Maimonides, and ending with 20th century philosophers (among them Arendt, Freud and Levinas).",,"Any 4.5 credits and [and additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus – see Table 1.0 for reference]",,Topics in Arabic and Jewish Philosophy,, +PHLC09H3,HIS_PHIL_CUL,,"This course is a reading and discussion intensive course in 20th century German and French European Philosophy. Among the movements we shall study will be phenomenology, existentialism, and structuralism. We will look at the writings of Martin Heidegger, Jean-Paul Sartre, Maurice Merleau-Ponty, Michel Foucault, and Gilles Deleuze, among others.",,Any 4.5 credits and [an additional 1.5 credits in PHL courses],,Topics in Continental Philosophy,, +PHLC10H3,HIS_PHIL_CUL,,"An intermediate-level study of bioethical issues. This course will address particular issues in bioethics in detail. Topics will vary from year to year, but may include such topics as reproductive ethics, healthcare and global justice, ethics and mental health, the patient-physician relationship, or research on human subjects.",PHLB09H3 is strongly recommended,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus, see Table 1.0 for reference]",,Topics in Bioethics,, +PHLC13H3,HIS_PHIL_CUL,,"Feminist philosophy includes both criticism of predominant approaches to philosophy that may be exclusionary for women and others, and the development of new approaches to various areas of philosophy. One or more topics in feminist philosophy will be discussed in some depth. Particular topics will vary with the instructor.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory sub-discipline area of focus – see Table 1.0 for reference]",,Topics in Philosophy and Feminism,, +PHLC14H3,HIS_PHIL_CUL,,"Contemporary Philosophy, as taught in North America, tends to focus on texts and problematics associated with certain modes of philosophical investigation originating in Greece and developed in Europe and North America. There are rich alternative modes of metaphysical investigation, however, associated with Arabic, Indian, East Asian, and African philosophers and philosophizing. In this course, we will explore one or more topics drawn from metaphysics, epistemology, or value theory, from the points of view of these alternative philosophical traditions.",PHLB99H3,Any 4.5 credits and an additional 1.5 credits in PHL courses,,Topics in Non-Western Philosophy,, +PHLC20H3,HIS_PHIL_CUL,,"A follow up to PHLB20H3. This course will consider one or two epistemological topics in depth, with an emphasis on class discussion.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",PHL332H,Theory of Knowledge,, +PHLC22H3,HIS_PHIL_CUL,,"This course addresses particular issues in the theory of knowledge in detail. Topics will vary from year to year but may typically include such topics as The Nature of Knowledge, Scepticism, Epistemic Justification, Rationality and Rational Belief Formation.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",PHL332H,Topics in Theory of Knowledge,, +PHLC31H3,HIS_PHIL_CUL,,"This course examines the foundational work of Plato in the major subject areas of philosophy: ethics, politics, metaphysics, theory of knowledge and aesthetics.",PHLB31H3 is strongly recommended,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus, see Table 1.0 for reference]",PHL303H1,Topics in Ancient Philosophy: Plato,, +PHLC32H3,HIS_PHIL_CUL,,"This course examines the foundational work of Aristotle in the major subject areas of philosophy: metaphysics, epistemology, ethics, politics, and aesthetics.",PHLB31H3 strongly recommended,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus, see Table 1.0 for reference]",PHL304H1,Topics in Ancient Philosophy: Aristotle,, +PHLC35H3,HIS_PHIL_CUL,,"In this course we study the major figures of early modern rationalism, Descartes, Spinoza, and Leibniz, with a particular emphasis on topics such as substance, knowledge and sense perception, the mind-body problem, and the existence and nature of God.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus – see Table 1.0 for reference]",PHL310H,Topics in Early Modern Philosophy: Rationalism,, +PHLC36H3,HIS_PHIL_CUL,,"In this course we study major figures of early modern empiricism, Locke, Berkeley, Hume, with a particular emphasis on topics such as substance, knowledge and sense perception, the mind-body problem, and the existence and nature of God.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus – see Table 1.0 for reference]",PHL311H,Topics in Early Modern Philosophy: Empiricism,, +PHLC37H3,HIS_PHIL_CUL,,"This course focuses on the thought of Immanuel Kant, making connections to some of Kant’s key predecessors such as Hume or Leibniz. The course will focus either on Kant’s metaphysics and epistemology, or his ethics, or his aesthetics.",,Any 4.5 credits and [[PHLB33H3 or PHLB35H3] and additional 1.0 credit in PHL courses],PHL314H,Kant,, +PHLC43H3,HIS_PHIL_CUL,,"This course explores the foundation of Analytic Philosophy in the late 19th and early 20th century, concentrating on Frege, Russell, and Moore. Special attention paid to the discovery of mathematical logic, its motivations from and consequences for metaphysics and the philosophy of mind.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, including PHLB50H3 and 0.5 credit from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",PHL325H,History of Analytic Philosophy,, +PHLC45H3,HIS_PHIL_CUL,University-Based Experience,This course critically examines advanced topics in philosophy.,,Any 4.5 credits and [an additional 1.0 credit in PHL courses],,Advanced Topics in Philosophy,, +PHLC51H3,QUANT,,"After consolidating the material from Symbolic Logic I, we will introduce necessary background for metalogic, the study of the properties of logical systems. We will introduce set theory, historically developed in parallel to logic. We conclude with some basic metatheory of the propositional logic learned in Symbolic Logic I.",,PHLB50H3 or CSCB36H3 or MATB24H3 or MATB43H3,"MATC09H3, PHL345H",Symbolic Logic II,, +PHLC60H3,HIS_PHIL_CUL,,"A follow up to PHLB60H3. This course will consider one or two metaphysical topics in depth, with an emphasis on class discussion.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]","PHL331H, PHL332H (UTM only)",Metaphysics,, +PHLC72H3,HIS_PHIL_CUL,,"This course will consider one or two topics in the Philosophy of Science in depth, with an emphasis on class discussion.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Philosophy of Science,, +PHLC80H3,HIS_PHIL_CUL,,"An examination of philosophical issues about language. Philosophical questions to be covered include: what is the relation between mind and language, what is involved in linguistic communication, is language an innate biological feature of human beings, how do words manage to refer to things, and what is meaning.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Philosophy of Language,, +PHLC86H3,HIS_PHIL_CUL,,"Advance Issues in the Philosophy of Mind. For example, an examination of arguments for and against the idea that machines can be conscious, can think, or can feel. Topics may include: Turing's test of machine intelligence, the argument based on Gödel's theorem that there is an unbridgeable gulf between human minds and machine capabilities, Searle's Chinese Room thought experiment.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Issues in the Philosophy of Mind,, +PHLC89H3,HIS_PHIL_CUL,,"Advanced topic(s) in Analytic Philosophy. Sample contemporary topics: realism/antirealism; truth; interrelations among metaphysics, epistemology, philosophy of mind and of science.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Topics in Analytic Philosophy,, +PHLC92H3,HIS_PHIL_CUL,,An examination of some central philosophical problems of contemporary political philosophy.,,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus – see Table 1.0 for reference]",,Political Philosophy,, +PHLC93H3,HIS_PHIL_CUL,,"This course will examine some contemporary debates in recent political philosophy. Topics discussed may include the nature of justice, liberty and the criteria of good government, and problems of social coordination.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus – see Table 1.0 for reference]",,Topics in Political Philosophy,, +PHLC95H3,HIS_PHIL_CUL,,"Advanced topics in the Philosophy of mind, such as an exploration of philosophical problems and theories of consciousness. Topics to be examined may include: the nature of consciousness and 'qualitative experience', the existence and nature of animal consciousness, the relation between consciousness and intentionality, as well as various philosophical theories of consciousness.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Topics in the Philosophy of Mind,, +PHLC99H3,HIS_PHIL_CUL,,"This course aims to foster a cohesive cohort among philosophy specialists and majors. The course is an intensive seminar that will develop advanced philosophical skills by focusing on textual analysis, argumentative techniques, writing and oral presentation. Students will work closely with the instructor and their peers to develop a conference-style, research-length paper. Each year, the course will focus on a different topic drawn from the core areas of philosophy for its subject matter. This course is strongly recommended for students in the Specialist and Major programs in Philosophy.",,Any 4.5 credits and [an additional 1.5 credits in PHL courses],,Philosophical Development Seminar,, +PHLD05H3,HIS_PHIL_CUL,,This course offers an in-depth investigation into selected topics in moral philosophy.,,"3.5 credits in PHL courses, including [[PHLC05H3 or PHLC06H3] and 0.5 credit at the C-level]","PHL407H, PHL475H",Advanced Seminar in Ethics,, +PHLD09H3,HIS_PHIL_CUL,,This advanced seminar will delve deeply into an important topic in bioethics. The topics will vary from year to year. Possible topics include: a detailed study of sperm and ovum donation; human medical research in developing nations; informed consent; classification of mental illness.,,"3.5 credits in PHL courses, including [PHLC10H3 and 0.5 credit at the C-level]",,Advanced Seminar in Bioethics,, +PHLD20H3,HIS_PHIL_CUL,,"This courses addresses core issues in the theory of knowledge at an advanced level. Topics to be discussed may include The Nature of Knowledge, Scepticism, Epistemic Justification, Rationality and Rational Belief Formation.",,"3.5 credits in PHL courses, including [[PHLC20H3 or PHLC22H3] and 0.5 credit at the C-level]",,Advanced Seminar in Theory of Knowledge,, +PHLD31H3,HIS_PHIL_CUL,,"This course offers in-depth examination of selected topics from the philosophy of Plato and Aristotle, as well as the Epicurean and Stoic schools of thought. Topics will range from the major areas of philosophy: metaphysics, epistemology, ethics, politics and aesthetics.",It is strongly recommended that students take both PHLC31H3 and PHLC32H3.,"3.5 credits in PHL courses, including [[PHLC31H3 or PHLC32H3] and [an additional 0.5 credit at the C-level]]",,Advanced Seminar in Ancient Philosophy,, +PHLD35H3,HIS_PHIL_CUL,,"This course offers in-depth examination of the philosophical approach offered by one of the three principal Rationalist philosophers, Descartes, Spinoza or Leibniz.",,"3.5 credits in PHL courses, including [PHLC35H3 and 0.5 credit at the C-level]",,Advanced Seminar in Rationalism,, +PHLD36H3,HIS_PHIL_CUL,,"In this course, we will explore in depth certain foundational topics in the philosophy of Berkeley and Hume, with an eye to elucidating both the broadly Empiricist motivations for their approaches and how their approaches to key topics differ. Topics may address the following questions: Is there a mind- independent world? What is causation? Is the ontological or metaphysical status of persons different from that of ordinary objects? Does God exist?",,"3.5 credits in PHL courses, including [PHLC36H3 and an additional 0.5 credit at the C-level]",,Advanced Seminar in Empiricism,, +PHLD43H3,HIS_PHIL_CUL,,"This course examines Analytic Philosophy in the mid-20th century, concentrating on Wittgenstein, Ramsey, Carnap, and Quine. Special attention paid to the metaphysical foundations of logic, and the nature of linguistic meaning, including the relations between ""truth-conditional"" and ""verificationist"" theories.",,"3.5 credits in PHL courses, including [PHLC43H3 and 0.5 credit at the C-level]","PHL325H, (PHLC44H3)",Advanced Seminar in History of Analytic Philosophy,, +PHLD51H3,QUANT,,"Symbolic Logic deals with formal languages: you work inside formal proof systems, and also consider the ""semantics"", dealing with truth, of formal languages. Instead of working inside formal systems, Metalogic treats systems themselves as objects of study, from the outside.",,PHLC51H3,"PHL348H, (PHLC54H3)",Metalogic,, +PHLD78H3,HIS_PHIL_CUL,,"This advanced seminar will delve more deeply into an issue in political philosophy. Topics will vary from year to year, but some examples include: distributive justice, human rights, and the political morality of freedom. Students will be required to present material to the class at least once during the semester.",,"3.5 credits in PHL courses, including 1.0 credit at the C-level",,Advanced Seminar in Political Philosophy,, +PHLD79H3,,,"This seminar addresses core issues in metaphysics. Topics to be discussed may include the nature of persons and personal identity, whether physicalism is true, what is the relation of mind to reality in general, the nature of animal minds and the question of whether machines can possess minds.",,"3.5 credits in PHL courses, including 1.0 credit at the C-level",,Advanced Seminar in Metaphysics,, +PHLD85H3,HIS_PHIL_CUL,University-Based Experience,"The Socrates Project Mentorship Seminar is a half-year seminar course that provides experiential learning in philosophy in conjunction with a teaching assignment to lead tutorials and mark assignments in PHLA10H3. This course is designed for a select number of returning Socrates Project participants chosen to mentor new Project participants. These students will solidify their teaching/grading skills and advise new participants in the Project. The seminar course will further enhance their philosophical abilities in an extension of PHLD88Y3. Roughly 75% of the seminar will be devoted to a more in-depth study of the topics taken up in the PHLA10H3 Reason and Truth. Students will write a seminar paper on one of these topics under the supervision of a UTSC Philosophy faculty member working in the relevant area, and they will give an oral presentation on their research topic each semester. The remaining 25% of the seminar will focus on the further exploration of the methods and challenges of teaching philosophy, benchmark grading, and grading generally and, most distinctively, issues of mentorship of new participants to the Socrates Project.",,PHLD88Y3,"PHL489Y1, PHL489Y5",Advanced Seminar in Philosophy: Socrates Project Mentorship,,"The teaching component of the Socrates Project will consist of the following components. Students will optionally attend two 1-hour PHLA10H3 lectures each week, and teach one tutorial of approximately 25 students, meeting with them for 1 hour every other week. Students will grade papers, hold office hours, and meet with the relevant professor as needed as well as provide mentorship to new participants in the Socrates Project." +PHLD86H3,HIS_PHIL_CUL,University-Based Experience,"The Socrates Project Mentorship Seminar is a half-year seminar course that provides experiential learning in philosophy in conjunction with a teaching assignment to lead tutorials and mark assignments in PHLA11H3. This course is designed for a select number of returning Socrates Project participants chosen to mentor new Project participants. These students will solidify their teaching/grading skills and advise new participants in the Project. The seminar course will further enhance their philosophical abilities in an extension of PHLD88Y3. Roughly 75% of the seminar will be devoted to a more in-depth study of the topics taken up in the PHLA11H3 Introduction to Ethics. Students will write a seminar paper on one of these topics under the supervision of a UTSC Philosophy faculty member working in the relevant area, and they will give an oral presentation on their research topic each semester. The remaining 25% of the seminar will focus on the further exploration of the methods and challenges of teaching philosophy, benchmark grading, and grading generally and, most distinctively, issues of mentorship of new participants to the Socrates Project.",,PHLD88Y3,"PHL489Y1, PHL489Y5",Advanced Seminar in Philosophy: Socrates Project Mentorship,,"The teaching component of the Socrates Project will consist of the following components. Students will optionally attend two 1-hour PHLA11H3 lectures each week, and teach one tutorial of approximately 25 students, meeting with them for 1 hour every other week. Students will grade papers, hold office hours, and meet with the relevant professor as needed as well as provide mentorship to new participants in the Socrates Project." +PHLD87H3,HIS_PHIL_CUL,,"This course offers in-depth examination of selected contemporary theories and issues in philosophy of mind, such as theories of perception or of consciousness, and contemporary research examining whether minds must be embodied or embedded in a larger environment.",PHLC95H3,"3.5 credits in PHL courses, including [[PHLC95H3 or PHLC86H3] and 0.5 credit at the C-level]",PHL405H,Advanced Seminar in Philosophy of Mind,, +PHLD88Y3,HIS_PHIL_CUL,University-Based Experience,"The Socrates Project Seminar is a full-year seminar course that provides experiential learning in philosophy in conjunction with a teaching assignment to lead tutorials and mark assignments in PHLA10H3 and PHLA11H3. Roughly 75% of the seminar will be devoted to more in-depth study of the topics taken up in PHLA10H3 and PHLA11H3. Students will write a seminar paper on one of these topics under the supervision of a UTSC Philosophy faculty member working in the relevant area, and they will give an oral presentation on their research topic each semester. The remaining 25% of the seminar will focus on the methods and challenges of teaching philosophy, benchmark grading, and grading generally.",,Permission of the instructor and Department.,"PHL489Y1, PHL489Y5",Advanced Seminar in Philosophy: Socrates Project,, +PHLD89Y3,HIS_PHIL_CUL,University-Based Experience,"The Socrates Project for Applied Ethics is a seminar course which occurs over two terms that provides experiential learning in philosophy in conjunction with a teaching assignment to lead tutorials and mark assignments in PHLB09H3. Roughly 75% of the seminar will be devoted to a more in-depth study of the topics taken up in PHLB09H3. Students will write a seminar paper on one of these topics under the supervision of a UTSC Philosophy faculty member working in the relevant area, and they will give an oral presentation on their research topic each semester. The remaining 25% of the seminar will focus on the methods and challenges of teaching philosophy, benchmark grading, and grading generally.",,Permission of the instructor and Department.,,Advanced Seminar in Philosophy: The Socrates Project for Applied Ethics,, +PHLD90H3,,,,,,,Independent Study,, +PHLD91H3,,,,,,,Independent Study,, +PHLD92H3,,,,,,,Independent Study,, +PHLD93H3,,,,,,,Independent Study,, +PHLD94H3,,,,,,,Independent Study,, +PHLD95H3,,,,,,,Independent Study,, +PHLD96H3,,,,,,,Independent Study,, +PHLD97H3,,,,,,,Independent Study,, +PHLD98H3,,,,,,,Independent Study,, +PHLD99H3,,,,,,,Independent Study,, +PHYA10H3,NAT_SCI,,"The course is intended for students in physical, environmental and mathematical sciences. The course introduces the basic concepts used to describe the physical world with mechanics as the working example. This includes mechanical systems (kinematics and dynamics), energy, momentum, conservation laws, waves, and oscillatory motion.",,Physics 12U - SPH4U (Grade 12 Physics) and Calculus and Vectors (MCV4U) and Advanced Functions (MHF4U),"PHYA11H3, PHY131H, PHY135Y, PHY151H, (PHY110Y), (PHY138Y)",Physics I for the Physical Sciences,MATA30H3 or MATA31H3, +PHYA11H3,NAT_SCI,,This first course in Physics at the university level is intended for students enrolled in the Life sciences. It covers fundamental concepts of classical physics and its applications to macroscopic systems. It deals with two main themes; which are Particle and Fluid Mechanics and Waves and Oscillations. The approach will be phenomenological with applications related to life and biological sciences.,Grade 12 Physics (SPH4U),Grade 12 Advanced Functions (MHF4U) and Grade 12 Calculus and Vectors (MCV4U),"PHYA10H3, PHY131H, PHY135Y, PHY151H, (PHY110Y), (PHY138Y)",Physics I for the Life Sciences,MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3 or (MATA20H3), +PHYA21H3,NAT_SCI,,This second physics course is intended for students in physical and mathematical sciences programs. Topics include electromagnetism and special relativity.,,PHYA10H3 and [MATA30H3 or MATA31H3],"PHYA22H3, (PHY110Y1), PHY132H1, PHY135Y1, (PHY138Y1), PHY152H1",Physics II for the Physical Sciences,[MATA36H3 or MATA37H3], +PHYA22H3,NAT_SCI,,"The course covers the main concepts of Electricity and Magnetism, Optics, and Atomic and Nuclear Physics. It provides basic knowledge of these topics with particular emphasis on its applications in the life sciences. It also covers some of the applications of modern physics such as atomic physics and nuclear radiation.",,[PHYA10H3 or PHYA11H3 or (PHYA01H3)] and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3],"PHYA21H3, (PHY110Y), PHY132H, PHY135Y, (PHY138Y), PHY152H",Physics II for the Life Sciences,MATA35H3 or MATA36H3 or MATA37H3 or MATA33H3 or (MATA21H3).,Students interested in completing programs in science are cautioned that (MATA21H3) and MATA35H3 do not fulfill the program completion requirements of most science programs. +PHYB01H3,NAT_SCI,,A conceptual overview of some of the most interesting advances in physics and the intellectual background in which they occurred. The interrelationship of the actual practice of physics and its cultural and intellectual context is emphasized. (Space time; Symmetries; Quantum Worlds; Chaos.),,4.0 credits,,Modern Physics for Non- Scientists,, +PHYB10H3,NAT_SCI,,Experimental and theoretical study of AC and DC circuits with applications to measurements using transducers and electronic instrumentation. Practical examples are used to illustrate several physical systems.,,PHYA21H3 and [MATA36H3 or MATA37H3],(PHYB23H3),Intermediate Physics Laboratory I,MATB41H3, +PHYB21H3,NAT_SCI,,"A first course at the intermediate level in electricity and magnetism. The course provides an in-depth study of electrostatics and magnetostatics. Topics examined include Coulomb's Law, Gauss's Law, electrostatic energy, conductors, Ampere's Law, magnetostatic energy, Lorentz Force, Faraday's Law and Maxwell's equations.",,PHYA21H3 and MATB41H3,"PHY241H, PHY251H",Electricity and Magnetism,MATB42H3, +PHYB52H3,NAT_SCI,,"The quantum statistical basis of macroscopic systems; definition of entropy in terms of the number of accessible states of a many particle system leading to simple expressions for absolute temperature, the canonical distribution, and the laws of thermodynamics. Specific effects of quantum statistics at high densities and low temperatures.",,PHYA21H3 and MATB41H3,PHY252H1,Thermal Physics,MATB42H3, +PHYB54H3,NAT_SCI,,"The linear, nonlinear and chaotic behaviour of classical mechanical systems such as oscillators, rotating bodies, and central field systems. The course will develop analytical and numerical tools to solve such systems and determine their basic properties. The course will include mathematical analysis, numerical exercises (Python), and demonstrations of mechanical systems.",,PHYA21H3 and MATB41H3 and MATB44H3,"PHY254H, (PHYB20H3)",Mechanics: From Oscillations to Chaos,MATB42H3, +PHYB56H3,NAT_SCI,,The course introduces the basic concepts of Quantum Physics and Quantum Mechanics starting with the experimental basis and the properties of the wave function. Schrödinger's equation will be introduced with some applications in one dimension. Topics include Stern-Gerlach effect; harmonic oscillator; uncertainty principle; interference packets; scattering and tunnelling in one-dimension.,,PHYA21H3 and [MATA36H3 or MATA37H3],"PHY256H1, (PHYB25H3)",Introduction to Quantum Physics,MATB41H3, +PHYB57H3,QUANT,,"Scientific computing is a rapidly growing field because computers can solve previously intractable problems and simulate natural processes governed by equations that do not have analytic solutions. During the first part of this course, students will learn numerical algorithms for various standard tasks such as root finding, integration, data fitting, interpolation and visualization. In the second part, students will learn how to model physical systems. At the end of the course, students will be expected to write small programs by themselves. Assignments will regularly include programming exercises.",,[MATA36H3 or MATA37H3] and [MATA22H3 or MATA23H3] and PHYA21H3,(PSCB57H3),Introduction to Scientific Computing,MATB44H3, +PHYC11H3,NAT_SCI,,"The main objective of this course is to help students develop skills in experimental physics by introducing them to a range of important measuring techniques and associated physical phenomena. Students will carry on several experiments in Physics and Astrophysics including electricity and magnetism, optics, solid state physics, atomic and nuclear physics.",,PHYB10H3 and PHYB21H3 and PHYB52H3,(PHYB11H3),Intermediate Physics Laboratory II,, +PHYC14H3,NAT_SCI,,"This course provides an introduction to atmospheric physics. Topics include atmospheric structure, atmospheric thermodynamics, convection, general circulation of the atmosphere, radiation transfer within atmospheres and global energy balance. Connections will be made to topics such as climate change and air pollution.",,PHYB21H3 and PHYB52H3 and MATB42H3 and MATB44H3,"PHY392H1, PHY315H1, PHY351H5",Introduction to Atmospheric Physics,, +PHYC50H3,NAT_SCI,,"Solving Poisson and Laplace equations via method of images and separation of variables, Multipole expansion for electrostatics, atomic dipoles and polarizability, polarization in dielectrics, Ampere and Biot-Savart laws, Multipole expansion in magnetostatics, magnetic dipoles, magnetization in matter, Maxwell’s equations in matter.",,PHYB54H3 and PHYB21H3 and [MATA22H3 or MATA23H3] and MATB42H3 and MATB44H3,PHY350H1,Electromagnetic Theory,, +PHYC54H3,NAT_SCI,,"A course that will concentrate in the study of symmetry and conservation laws, stability and instability, generalized co- ordinates, Hamilton’s principle, Hamilton’s equations, phase space, Liouville’s theorem, canonical transformations, Poisson brackets, Noether’s theorem.",,PHYB54H3 and MATB44H3,PHY354H,Classical Mechanics,, +PHYC56H3,NAT_SCI,,The course builds on the basic concepts of quantum theory students learned in PHYB56H3. Topics include the general structure of wave mechanics; eigenfunctions and eigenvalues; operators; orbital angular momentum; spherical harmonics; central potential; separation of variables; hydrogen atom; Dirac notation; operator methods; harmonic oscillator and spin.,,PHYB56H3 and PHYB21H3 and [MATA22H3 or MATA23H3] and MATB42H3 and MATB44H3,PHY356H1,Quantum Mechanics I,, +PHYC83H3,NAT_SCI,,"An introduction to the basic principles and mathematics of General Relativity. Tensors will be presented after a review of Special Relativity. The metric, spacetime, curvature, and Einstein's field equations will be studied and applied to the Schwarzschild solution. Further topics include the Newtonian limit, classical tests, and black holes.",,MATB42H3 and MATB44H3 and PHYB54H3,,Introduction to General Relativity,MATC46H3, +PHYD01H3,NAT_SCI,University-Based Experience,"Introduces students to current research in physics or astrophysics under the supervision of a professorial faculty member. Students undertake an independent project that can be of a theoretical, computational or experimental nature. Evaluation is by the supervising faculty member in consultation with the course supervisor. Students must obtain consent of the course supervisor to enroll in this course.",,14.0 credits and cGPA of at least 2.5 and permission from the coordinator.,"PHY478H, PHY479Y1",Research Project in Physics and Astrophysics,, +PHYD02Y3,NAT_SCI,University-Based Experience,"Introduces students to a current research topic in physics or astrophysics under the supervision of a faculty member. Students undertake an independent project that can be of a theoretical, computational, or experimental nature. Evaluation is by the supervising faculty member in consultation with the course supervisor. Students must obtain consent from the course supervisor to enroll in this course.",,14.0 credits and cGPA of at least 3.0 and permission from the coordinator.,"PHY478H, PHY479Y1, PHYD01H3",Extended Research Project in Physics and Astrophysics,,"This supervised research course should only be undertaken if the necessary background is satisfied, a willing supervisor has been found, and the department/course coordinator approves the project. This enrolment limit should align with other supervised research courses (i.e., PHYD01H3), which are: Enrolment Control A: Supervised Study/Research & Independent Study Courses In order to qualify for a Supervised Study course, students must locate a professor who will agree to supervise the course, and then follow the steps outlined below. Step 1: Request the course on ACORN. Your status will be INT. You will not be officially enrolled until you complete the remaining steps. Step 2: Fill the 'Student' section on a 'Supervised Study Form' available at: https://www.utsc.utoronto.ca/registrar/supervised-study- form. Step 3: Once you fill-in the 'Student' section, contact your Supervisor and provide them with the form. Your supervisor will complete their section and forward the form for departmental approval. Step 4: Once the project is approved at the departmental level, the form will be submitted to the Registrar's Office and your status on ACORN will be updated from interim (INT) to approved (APP)." +PHYD26H3,NAT_SCI,,"A course introducing some of the key physical processing governing the evolution of planets and moons. Topics covered will include: planetary heat sources and thermal evolution, effects of high temperature and pressure in planetary interiors, planetary structure and global shape; gravity, rotation, composition and elasticity.",,Completion of at least 1.0 credit at the C-level in PHY or AST courses,,Planetary Geophysics,,No previous knowledge of Earth Sciences or Astrophysics is assumed. +PHYD27H3,NAT_SCI,,"A course focusing on physical and numerical methods for modelling the climate systems of Earth and other planets. Topics covered will include: the primitive equations of meteorology, radiative transfer in atmospheres, processes involved in atmosphere-surface exchanges, and atmospheric chemistry (condensable species, atmospheric opacities).",,PHYB57H3 and MATC46H3 and PHYC14H3,,Physics of Climate Modeling,, +PHYD28H3,NAT_SCI,,"A course introducing the basic concepts of magnetohydrodynamics (broadly defined as the hydrodynamics of magnetized fluids). Topics covered will include: the essentials of hydrodynamics, the magnetohydrodynamics (MHD) approximation, ideal and non- ideal MHD regimes, MHD waves and shocks, astrophysical and geophysical applications of MHD.",,PHYB57H3 and PHYC50H3 and MATC46H3,,Introduction to Magnetohydrodynamics for Astrophysics and Geophysics,, +PHYD37H3,NAT_SCI,,"A course describing and analyzing the dynamics of fluids. Topics include: Continuum mechanics; conservation of mass, momentum and energy; constituitive equations; tensor calculus; dimensional analysis; Navier-Stokes fluid equations; Reynolds number; Inviscid and viscous flows; heat conduction and fluid convection; Bernoulli's equation; basic concepts on boundary layers, waves, turbulence.",,PHYB54H3 and MATC46H3,,Introduction to Fluid Mechanics,, +PHYD38H3,NAT_SCI,,"The theory of nonlinear dynamical systems with applications to many areas of physics and astronomy. Topics include stability, bifurcations, chaos, universality, maps, strange attractors and fractals. Geometric, analytical and computational methods will be developed.",,PHYC54H3,PHY460H,Nonlinear Systems and Chaos,, +PHYD57H3,NAT_SCI,,"Intermediate and advanced topics in numerical analysis with applications to physical sciences. Ordinary and partial differential equations with applications to potential theory, particle and fluid dynamics, multidimensional optimization and machine intelligence, are explained. The course includes programming in Python, and C or Fortran, allowing multi- threading and vectorization on multiple platforms.",,PHYB57H3,,Advanced Computational Methods in Physics,,Priority will be given to students enrolled in the Specialist in Physical and Mathematical Sciences and the Major in Physical Sciences. +PHYD72H3,NAT_SCI,University-Based Experience,"An individual study program chosen by the student with the advice of, and under the direction of a faculty member. A student may take advantage of this course either to specialize further in a field of interest or to explore interdisciplinary fields not available in the regular syllabus.",,14.0 credits and cGPA of at least 2.5 and permission from the coordinator.,PHY371H and PHY372H and PHY471H and PHY472H,Supervised Reading in Physics and Astrophysics,, +PLIC24H3,NAT_SCI,,"Descriptions of children's pronunciation, vocabulary and grammar at various stages of learning their first language. Theories of the linguistic knowledge and cognitive processes that underlie and develop along with language learning.",,LINB06H3 and LINB09H3,JLP315H,First Language Acquisition,, +PLIC25H3,NAT_SCI,,"The stages adults and children go through when learning a second language. The course examines linguistic, cognitive, neurological, social, and personality variables that influence second language acquisition.",,[LINB06H3 and LINB09H3] or [FREB44H3 and FREB45H3],"(LINB25H3), (PLIB25H3)",Second Language Acquisition,, +PLIC54H3,NAT_SCI,,"An introduction to the physics of sound and the physiology of speech perception and production for the purpose of assessing and treating speech disorders in children and adults. Topics will include acoustic, perceptual, kinematic, and aerodynamic methods of assessing speech disorders as well as current computer applications that facilitate assessment.",,LINB09H3,,Speech Physiology and Speech Disorders in Children and Adults,, +PLIC55H3,NAT_SCI,,"Experimental evidence for theories of how humans produce and understand language, and of how language is represented in the mind. Topics include speech perception, word retrieval, use of grammar in comprehension and production, discourse comprehension, and the role of memory systems in language processing.",,LINB06H3 or LINB09H3,JLP374H,Psycholinguistics,LINB29H3, +PLIC75H3,SOCIAL_SCI,,"An introduction to neurolinguistics, emphasizing aphasias and healthy individuals. We will introduce recent results understanding how the brain supports language comprehension and production. Students will be equipped with necessary tools to critically evaluate the primary literature. No prior knowledge of brain imaging is necessary.",,PLIC55H3,,Language and the Brain,, +PLID01H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Psycholinguistics for further information.,,At least 1.0 credit at the C-level in PLI courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Psycholinguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +PLID02H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Psycholinguistics for further information.,,At least 1.0 credit at the C-level in PLI courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Psycholinguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +PLID03H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Psycholinguistics for further information.,,At least 1.0 credit at the C-level in PLI courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Psycholinguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +PLID07Y3,,University-Based Experience,A reading and research independent study course on a topic of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Psycholinguistics for further information.,,At least 1.0 credit at the C-level in PLI courses; and a CGPA of 3.3; and permission of the supervising instructor.,LIN495Y,Independent Study in Psycholinguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar. +PLID34H3,NAT_SCI,,"An examination of linguistic and psycholinguistic issues pertinent to reading, as well as the role of a language's writing system and orthography in the learning process.",,[LINA01H3 or [FREB44H3 and FREB45H3]] and [PLIC24H3 or PLIC25H3 or PLIC55H3],"(LINC34H3), (PLIC34H3)",The Psycholinguistics of Reading,, +PLID44H3,NAT_SCI,,An examination of L1 (first language) and L2 (second language) lexical (vocabulary) acquisition. Topics include: the interaction between linguistic and cognitive development; the role of linguistic/non-linguistic input; the developing L2 lexicon and its links with the L1 lexicon; the interface between lexical and syntactic acquisition within psycholinguistic and linguistic frameworks.,,PLIC24H3 or PLIC55H3,,Acquisition of the Mental Lexicon,, +PLID50H3,SOCIAL_SCI,,"An examination of the acoustics and perception of human speech. We will explore how humans cope with the variation found in the auditory signal, how infants acquire their native language sound categories, the mechanisms underlying speech perception and how the brain encodes and represents speech sounds. An emphasis will be placed on hands-on experience with experimental data analysis.",,LINB29H3 and PLIC55H3,(PLIC15H3),Speech Perception,, +PLID53H3,SOCIAL_SCI,,"This course focuses on how humans process sentences in real-time. The course is intended for students interested in psycholinguistics above the level of speech perception and lexical processing. The goals of this course are to (i) familiarize students with classic and recent findings in sentence processing research and (ii) give students a hands- on opportunity to conduct an experiment. Topic areas will include, but are not limited to, incrementality, ambiguity resolution, long-distance dependencies, and memory.",LINC11H3: Syntax II or PLIC75H3 Language and the Brain,LINB06H3 and PLIC55H3,,Sentence Processing,, +PLID56H3,NAT_SCI,,"An in-depth investigation of a particular type of language or communication disorder, for example, impairment due to hearing loss, Down syndrome, or autism. Topics will include: linguistic and non-linguistic differences between children with the disorder and typically-developing children; diagnostic tools and treatments for the disorder; and its genetics and neurobiology.",,PLIC24H3 or (PLID55H3),,Special Topics in Language Disorders in Children,, +PLID74H3,NAT_SCI,,"A seminar-style course on language and communication in healthy and language-impaired older adults. The course covers normal age-related neurological, cognitive, and perceptual changes impacting language, as well as language impairments resulting from dementia, strokes, etc. Also discussed are the positive aspects of aging, bilingualism, ecologically valid experimentation, and clinical interventions.",,PLIC24H3 and PLIC55H3,,Language and Aging,, +PMDB22H3,SOCIAL_SCI,,"Allows students to develop the critical thinking skills and problem solving approaches needed to provide quality pre- hospital emergency care. Emphasizes the components of primary and second assessment, and the implementation of patient care based on interpretation of assessment findings. Discusses principles of physical and psycho-social development, and how these apply to the role of the paramedic. Students must pass each component (theory and lab) of the course to be successful. This course is taught at the Centennial HP Science and Technology Centre.",,BIOA01H3 and BIOA02H3,,Pre-hospital Care 1: Theory and Lab,PMDB25H3 and PMDB41H3 and PMDB33H3,Enrolment is restricted to students in the Specialist Program in Paramedicine. +PMDB25H3,HIS_PHIL_CUL,Partnership-Based Experience,"Focuses on the utilization of effective communication tools when dealing with persons facing health crisis. Students will learn about coping mechanisms utilized by patients and families, and the effects of death and dying on the individual and significant others. Students will have the opportunity to visit or examine community services and do class presentations. This course is taught at the Centennial HP Science and Technology Centre.",,BIOA01H3 and BIOA02H3,,Therapeutic Communications and Crisis Intervention,,Enrolment is restricted to students in the Specialist Program in Paramedicine. +PMDB30H3,NAT_SCI,,"Discusses how human body function is affected by a variety of patho-physiological circumstances. The theoretical framework includes the main concepts of crisis, the adaptation of the body by way of compensatory mechanisms, the failure of these compensatory mechanisms and the resulting physiological manifestations. Students will learn to identify such manifestations. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB22H3 and PMDB25H3 and PMDB41H3 and PMDB33H3,,Alterations of Human Body Function I,PMDB32Y3 and PMDB36H3,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDB32Y3,NAT_SCI,,"Provides the necessary knowledge, skill and value base that will enable the student to establish the priorities of assessment and management for persons who are in stress or crisis due to the effects of illness or trauma. The resulting patho-physiological or psychological manifestations are assessed to determine the degree of crisis and/or life threat. Students must pass each component (theory, lab and clinical) of the course to be successful. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB22H3 and PMDB25H3 and PMDB41H3 and PMDB33H3,,"Pre-hospital Care 2: Theory, Lab and Clinical",PMDB30H3 and PMDB36H3,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDB33H3,NAT_SCI,,"The basic anatomy of all the human body systems will be examined. The focus is on the normal functioning of the anatomy of all body systems and compensatory mechanisms, where applicable, to maintain homeostasis. Specific differences with respect to the pediatric/geriatric client will be highlighted. This course is taught at the Centennial HP Science and Technology Centre.",,BIOA01H3 and BIOA02H3,"ANA300Y, ANA301H, BIOB33H3",Anatomy,PMDB22H3,Restricted to students in the Specialist (Joint) Program in Paramedicine. +PMDB36H3,NAT_SCI,,"Introduces principles of Pharmacology, essential knowledge for paramedics who are expected to administer medications in Pre-hospital care. Classifications of drugs will be discussed in an organized manner according to their characteristics, purpose, physiologic action, adverse effects, precautions, interactions and Pre-hospital applications. Students will use a step-by-step process to calculate drug dosages. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB22H3 and PMDB25H3 and PMDB41H3 and PMDB33H3,,Pharmacology for Allied Health,,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDB41H3,SOCIAL_SCI,,"Discusses the changing role of the paramedic and introduces the student to the non-technical professional expectations of the profession. Introduces fundamental principles of medical research and professional principles. Topics covered include the role of professional organizations, the role of relevant legislation, the labour/management environment, the field of injury prevention, and basic concepts of medical research. This course is taught at the Centennial HP Science and Technology Centre.",,BIOA01H3 and BIOA02H3,,"Professional and Legal Issues, Research, Responsibilities and Leadership",,Enrolment is restricted to students in the Specialist Program in Paramedicine. +PMDC40H3,NAT_SCI,,"Strengthens students' decision-making skills and sound clinical practices. Students continue to develop an understanding of various complex alterations in human body function from a variety of patho-physiological topics. Physiologic alterations will be discussed in terms of their potential life threat, their effect on the body's compensatory and decompensatory mechanisms, their manifestations and complications and treatment. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB30H3 and PMDB32Y3 and PMDB36H3 and BIOB11H3,,Alterations of Human Body Function II,PMDC42Y3 and PMDC43H3,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDC42Y3,NAT_SCI,,"Provides students with the necessary theoretical concepts and applied knowledge and skills for managing a variety of pre-hospital medical and traumatic emergencies. Particular emphasis is placed on advanced patient assessment, ECG rhythm interpretation and cardiac emergencies, incorporation of symptom relief pharmacology into patient care and monitoring of intravenous fluid administration. Students must pass each component (theory, lab and field) of the course to be successful. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB30H3 and PMDB32Y3 and PMDB36H3 and BIOB11H3,,"Pre-hospital Care 3: Theory, Lab and Field",PMDC40H3 and PMDC43H3,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDC43H3,HIS_PHIL_CUL,,"Applies concepts and principles from pharmacology, patho- physiology and pre-hospital care to make decisions and implementation of controlled or delegated medical acts for increasingly difficult case scenarios in a class and lab setting. Ethics and legal implications/responsibilities of actions will be integrated throughout the content. Patient care and monitoring of intravenous fluid administration. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB30H3 and PMDB32Y3 and PMDB36H3 and BIOB11H3,,Medical Directed Therapeutics and Paramedic Responsibilities,PMDC40H3 and PMDC42Y3,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDC54Y3,NAT_SCI,,"Combines theory, lab and field application. New concepts of paediatric trauma and Basic Trauma Life Support will be added to the skill and knowledge base. Students will be guided to develop a final portfolio demonstrating experiences, reflection and leadership. Students must pass each component (theory, lab and field) of the course to be successful. This course is taught at the Centennial HP Science and Technology Centre.",,PMDC40H3 and PMDC42Y3 and PMDC43H3,,"Pre-hospital Care 4: Theory, Lab and Field",PMDC56H3,Enrolment is limited to students in the Specialist Program in Paramedicine +PMDC56H3,NAT_SCI,,"Challenges students with increasingly complex decisions involving life-threatening situations, ethical-legal dilemmas, and the application of sound foundational principles and knowledge of pharmacology, patho-physiology, communication, assessment and therapeutic interventions. Students will analyze and discuss real field experiences and case scenarios to further develop their assessment, care and decision-making. This course is taught at the Centennial HP Science and Technology Centre.",,PMDC40H3 and PMDC42Y3 and PMDC43H3,,Primary Care Paramedic Integration and Decision Making,PMDC54Y3,Enrolment is limited to students in the Specialist Program in Paramedicine +POLA01H3,SOCIAL_SCI,,"An introduction to crucial political issues of the day (e.g. globalization, migration, political violence, corruption, democracy, global justice, climate change, human rights, revolution, terrorism) and key concepts in Political Science. Students will be introduced to and practice techniques of critical reading and analytic essay writing. Topics will vary by semester and professor.",,,"POL101Y, POL115H, POL112H, POL113H, POL114H",Critical Issues in Politics I,,POLA01H3 and POLA02H3 are not sequential courses and can be taken out of order or concurrently. +POLA02H3,SOCIAL_SCI,,"An introduction to crucial political issues of the day (e.g. globalization, migration, political violence, corruption, democracy, global justice, climate change, human rights, revolution, terrorism) and key concepts in Political Science. Students will develop techniques of critical reading and analytic essay writing. Topics will vary by semester and professor.",,,"POL101Y, POL115H, POL112H, POL113H, POL114H",Critical Issues in Politics II,,POLA01H3and POLA02H3 are not sequential courses and can be taken out of order or concurrently. +POLB30H3,HIS_PHIL_CUL,,"This is a lecture course that helps students understand the theoretical justifications for the rule of law. We will study different arguments about the source and limitations of law: natural law, legal positivism, normative jurisprudence and critical theories. The course will also examine some key court cases in order to explore the connection between theory and practice. This is the foundation course for the Minor program in Public Law. Areas of Focus: Political Theory and Public Law",0.5 credit in Political Science,Any 4.0 credits,PHLB11H3 (students who have taken PHLB11H3 prior to POLB30H3 may count PHLB11H3 in place of POLB30H3 in the Minor in Public Law),"Law, Justice and Rights",,Priority will be given to students enrolled in the Minor program in Public Law. Additional students will be admitted as space permits. +POLB40H3,QUANT,,"This course introduces students to tools and foundational strategies for developing evidence-based understandings of politics and public policy. The course covers cognitive and other biases that distort interpretation. It then progresses to methodological approaches to evidence gathering and evaluation, including sampling techniques, statistical uncertainty, and deductive and inductive methods. The course concludes by introducing tools used in advanced political science and public policy courses. Areas of Focus: Public Policy, and Quantitative and Qualitative Analysis",,Any 4.0 credits,"POL222H1, SOCB35H3",Quantitative Reasoning for Political Science and Public Policy,, +POLB56H3,SOCIAL_SCI,,"The objective of this course is to introduce students to the fundamentals of the Canadian political system and the methods by which it is studied. Students will learn about the importance of Parliament, the role of the courts in Canada’s democracy, federalism, and the basics of the constitution and the Charter of Rights and Freedoms, and other concepts and institutions basic to the functioning of the Canadian state. Students will also learn about the major political cleavages in Canada such as those arising from French-English relations, multiculturalism, the urban-rural divide, as well as being introduced to settler-Indigenous relations. Students will be expected to think critically about the methods that are used to approach the study of Canada along with their strengths and limitations. Area of Focus: Canadian Government and Politics",,Any 4.0 credits,"(POLB50Y3), (POL214Y), POL214H",Canadian Politics and Government,, +POLB57H3,SOCIAL_SCI,,"This class will introduce students to the Canadian constitution and the Charter of Rights and Freedoms. Students will learn the history of and constitutional basis for parliamentary democracy, Canadian federalism, judicial independence, the role of the monarchy, and the origins and foundations of Indigenous rights. The course will also focus specifically on the role of the Charter of Rights and Freedoms, and students will learn about the constitutional rights to expression, equality, assembly, free practice of religion, the different official language guarantees, and the democratic rights to vote and run for office. Special attention will also be paid to how rights can be constitutionally limited through an examination of the notwithstanding clause and the Charter’s reasonable limits clause. Areas of Focus: Canadian Government and Politics and Public Law",,Any 4.0 credits,"(POLB50Y3), (POLC68H3), (POL214Y)",The Canadian Constitution and the Charter of Rights,, +POLB72H3,HIS_PHIL_CUL,,"This course presents a general introduction to political theory and investigates central concepts in political theory, such as liberty, equality, democracy, and the state. Course readings will include classic texts such as Plato, Aristotle, Hobbes, Rousseau, and Marx, as well as contemporary readings. Area of Focus: Political Theory",,Any 4.0 credits,PHLB17H3,Introduction to Political Theory,, +POLB80H3,SOCIAL_SCI,,"This course examines different approaches to international relations, the characteristics of the international system, and the factors that motivate foreign policies. Area of Focus: International Relations",,Any 4.0 credits,(POL208Y),Introduction to International Relations I,, +POLB81H3,SOCIAL_SCI,,"This course examines how the global system is organized and how issues of international concern like conflict, human rights, the environment, trade, and finance are governed. Area of Focus: International Relations",,POLB80H3,(POL208Y),Introduction to International Relations II,,It is strongly recommended that students take POLB80H3 and POLB81H3 in consecutive semesters. +POLB90H3,SOCIAL_SCI,,"This course examines the historical and current impact of the international order on the development prospects and politics of less developed countries. Topics include colonial conquest, multi-national investment, the debt crisis and globalization. The course focuses on the effects of these international factors on domestic power structures, the urban and rural poor, and the environment. Area of Focus: Comparative Politics",,Any 4.0 credits,POL201H or (POL201Y),Comparative Development in International Perspective,, +POLB91H3,SOCIAL_SCI,,"This course examines the role of politics and the state in the processes of development in less developed countries. Topics include the role of the military and bureaucracy, the relationship between the state and the economy, and the role of religion and ethnicity in politics. Area of Focus: Comparative Politics",,Any 4.0 credits,(POL201Y),Introduction to Comparative Politics,, +POLC09H3,SOCIAL_SCI,,"This course explores the causes and correlates of international crises, conflicts, and wars. Using International Relations theory, it examines why conflict occurs in some cases but not others. The course examines both historical and contemporary cases of inter-state conflict and covers conventional, nuclear, and non-traditional warfare. Area of Focus: International Relations",,POLB80H3 and POLB81H3,,"International Security: Conflict, Crisis and War",, +POLC11H3,QUANT,,"In this course, students learn to apply data analysis techniques to examples drawn from political science and public policy. Students will learn to complete original analyses using quantitative techniques commonly employed by political scientists to study public opinion and government policies. Rather than stressing mathematical concepts, the emphasis of the course will be on the application and interpretation of the data as students learn to communicate their results through papers and/or presentations. Area of Focus: Quantitative and Qualitative Analysis",,STAB23H3 or equivalent,(POLB11H3),Applied Statistics for Politics and Public Policy,, +POLC12H3,SOCIAL_SCI,Partnership-Based Experience,"This course will introduce students to the global policymaking process, with an emphasis on the Sustainable Development Goals (SDGs). Students will make practical contributions to the policy areas under the SDGs through partnerships with community not-for-profit organizations, international not-for- profit organizations, or international governmental organizations. Students will learn about problem definition and the emergence of global policy positions in the SDG policy areas. They will assess the roles of non-state actors in achieving the SDGs and analyze the mechanisms that drive the global partnership between developing countries and developed countries. Area of Focus: Public Policy",,"8.0 credits including [1.0 credit from POLB80H3, POLB81H3, POLB90H3 or POLB91H3]",,Global Public Policy and the Sustainable Development Goals (SDGs),, +POLC13H3,SOCIAL_SCI,Partnership-Based Experience,This course introduces students to the frameworks and practice of program evaluation. It focuses on the policy evaluation stage of the policy cycle. The course explains the process of assessing public programs to determine if they achieved the expected change. Students will learn about program evaluation methods and tools and will apply these in practical exercises. They will also learn about the use of indicators to examine if the intended outcomes have been met and to what extent. Students will engage in critical analysis of program evaluation studies and reports. Areas of Focus: Public Policy and Quantitative and Qualitative Analysis,,PPGB66H3 and a minimum CGPA of 2.5,,Program Evaluation,, +POLC16H3,SOCIAL_SCI,,This course covers a range of topics in contemporary Chinese politics and society post 1989. It exposes students to state of the art literature and probes beyond the news headlines. No prior knowledge of China required. Area of Focus: Comparative Politics,,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, or POLB91H3","JPA331Y, JMC031Y",Chinese Politics,, +POLC21H3,SOCIAL_SCI,,"Why do some citizens vote when others do not? What motivates voters? This course reviews theories of voting behaviour, the social and psychological bases of such behaviour, and how candidate and party campaigns influence the vote. By applying quantitative methods introduced in STAB23H3 or other courses on statistical methods, students will complete assignments examining voter behaviour in recent Canadian and/or foreign elections using survey data and election returns. Areas of Focus: Canadian Government and Politics; Comparative Politics",,[STAB23H3 or equivalent] or POL222H1 or (POL242Y),"(POL314H), (POL314Y)",Voting and Elections,, +POLC22H3,SOCIAL_SCI,,"This course explores post-Cold War politics in Europe through an examination of democratization and ethnic conflict since 1989 - focusing in particular on the role of the European Union in shaping events in Eastern Europe and the former Soviet Union. The first part of the course will cover theories of democratization, ethnic conflict as well as the rise of the European Union while the second part of the course focuses on specific cases, including democratization and conflict in the Balkans and Ukraine. Area of Focus: Comparative Politics",,Any 8.0 credits,(POLB93H3),Ethnic Conflict and Democratization in Europe After the Cold War,, +POLC30H3,SOCIAL_SCI,,"Today's legal and political problems require innovative solutions and heavily rely on the extensive use of technology. This course will examine the interaction between law, politics, and technology. It will explore how technological advancements shape and are shaped by legal and political systems. Students will examine the impact of technology on the legal and political landscape, and will closely look at topics such as cybersecurity, privacy, intellectual property, social media, artificial intelligence and the relationship of emerging technologies with democracy, human rights, ethics, employment, health and environment. The course will explore the challenges and opportunities that technology poses to politics and democratic governance. The topics and readings take a wider global perspective – they are not confined only on a Canadian context but look at various countries’ experiences with technology. Area of Focus: Public Law","POLC32H3, POLC36H3",POLB30H3 and POLB56H3,,"Law, Politics and Technology",, +POLC31H3,HIS_PHIL_CUL,,"This course investigates the relationship between three major schools of thought in contemporary Africana social and political philosophy: the African, Afro-Caribbean, and Afro- North American intellectual traditions. We will discuss a range of thinkers including Dionne Brand, Aimé Césaire, Angela Davis, Édouard Glissant, Kwame Gyekye, Cathy Cohen, Paget Henry, Katherine McKittrick, Charles Mills, Nkiru Nzegwu, Oyèrónke Oyewùmí, Ngũgĩ wa Thiong’o, Cornel West, and Sylvia Wynter. Area of Focus: Political Theory",,8.0 credits including 1.0 credit in Political Science [POL or PPG courses],,Contemporary Africana Social and Political Philosophy,, +POLC32H3,SOCIAL_SCI,,"This course explores the structure, role and key issues associated with the Canadian judicial system. The first section provides the key context and history associated with Canada’s court system. The second section discusses the role the courts have played in the evolution of the Canadian constitution and politics – with a particular focus on the Supreme Court of Canada. The final section analyzes some of the key debates and issues related to the courts in Canada, including their democratic nature, function in establishing public policy and protection of civil liberties. Areas of Focus: Canadian Government and Politics and Public Law",POLB30H3,[POLB56H3 and POLB57H3] or (POLB50Y3),,The Canadian Judicial System,, +POLC33H3,SOCIAL_SCI,,"This course aims to provide students with an overview of the way human rights laws, norms, and institutions have evolved. In the first half of the class, we will examine the legal institutions and human rights regimes around the world, both global and regional. In the second half, we will take a bottom- up view by exploring how human rights become part of contentious politics. Special attention will be given to how human rights law transform with mobilization from below and how it is used to contest, challenge and change hierarchical power relationships. The case studies from the Middle East, Latin America, Europe and the US aim at placing human rights concerns in a broader sociopolitical context. Areas of Focus: International Relations and Public Law",POLB90H3 and POLB91H3,POLB30H3,,Politics of International Human Rights,, +POLC34H3,SOCIAL_SCI,,"This course will explore how the world of criminal justice intersects with the world of politics. Beginning with a history of the “punitive turn” in the criminal justice policy of the late 1970s, this course will look at the major political issues in criminal justice today. Topics studied will include the constitutional context for legislating the criminal and quasi- criminal law, race and class in criminal justice, Canada’s Indigenous peoples and the criminal justice system, the growth of restorative justice, drug prohibition and reform, the value of incarceration, and white-collar crime and organizational liability. More broadly, the class aims to cover why crime continues to be a major political issue in Canada and the different approaches to addressing its control. Areas of Focus: Comparative Politics and Public Law",,POLB30H3 and [[POLB56H3 and POLB57H3] or (POLB50Y3)],,The Politics of Crime,, +POLC35H3,SOCIAL_SCI,,"This course examines different methods and approaches to the study of law and politics. Students will learn how the humanities-based study of law traditionally applied by legal scholars interacts or contradicts more empirically driven schools of thought common in social science, such as law and economics or critical race theory. Students will understand the substantive content of these different approaches and what can be gained from embracing multiple perspectives. Areas of Focus: Quantitative and Qualitative Analysis, Political Theory, and Public Law",,POLB30H3 and POLB56H3 and POLB57H3,,"Law and Politics: Contradictions, Approaches, and Controversies",,Enrolment is limited to students enrolled in the Major Program in Public Law. +POLC36H3,SOCIAL_SCI,,This course examines how different types of legal frameworks affect processes and outcomes of policy-making. It contrasts policy-making in Westminster parliamentary systems and separation of powers systems; unitary versus multi-level or federal systems; and systems with and without constitutional bills of rights. Areas of Focus: Public Policy and Public Law,PPGB66H3/(POLC66H3)/(PPGC66H3),[POLB56H3 and POLB57H3] or (POLB50Y3),,Law and Public Policy,, +POLC37H3,HIS_PHIL_CUL,,"This course examines theoretical debates about the extent of moral and political obligations to non-citizens. Topics include human rights, immigration, global poverty, development, terrorism, and just war. Area of Focus: Political Theory",,[(POLB70H3) and (POLB71H3)] or POLB72H3 or [1.0 credit at the B-level in IDS courses],(PHLB08H3),Global Justice,, +POLC38H3,SOCIAL_SCI,,"This course introduces students to the foundations of international law, its sources, its rationale, and challenges to its effectiveness and implementation. Areas of international law discussed include the conduct of war, trade, and diplomacy, as well as the protection of human rights and the environment. Areas of Focus: International Relations and Public Law",,POLB30H3 or POLB80H3,POL340Y,International Law,, +POLC39H3,SOCIAL_SCI,,"This course examines the interaction between law, courts, and politics in countries throughout the world. We begin by critically examining the (alleged) functions of courts: to provide for “order,” resolve disputes, and to enforce legal norms. We then turn to examine the conditions under which high courts have expand their powers by weighing into contentious policy areas and sometimes empower individuals with new rights. We analyze case studies from democracies, transitioning regimes, and authoritarian states. Areas of Focus: Comparative Politics and Public Law",,POLB30H3,,Comparative Law and Politics,, +POLC40H3,SOCIAL_SCI,,Topics and Area of Focus will vary depending on the instructor.,,One B-level full credit in Political Science,,Current Topics in Politics,, +POLC42H3,SOCIAL_SCI,,Topics will vary depending on the regional interests and expertise of the Instructor. Area of Focus: Comparative Politics,,One B-level full credit in Political Science,,Topics in Comparative Politics,, +POLC43H3,SOCIAL_SCI,,"To best understand contemporary political controversies, this course draws from a variety of disciplines and media to understand the politics of racial and ethnic identity. The class will explore historical sources of interethnic divisions, individual level foundations of prejudice and bias, and institutional policies that cause or exacerbate inequalities.",,Any 8.0 credits,,Prejudice and Racism,, +POLC52H3,SOCIAL_SCI,,"This course is an introduction to Indigenous/Canadian relations and will give students a chance to begin learning and understanding an important component of Canadian politics and Canadian political science. A vast majority of topics in Canadian politics and Canadian political science can, and do, have a caveat and component that reflects, or should reflect, Indigenous nations and peoples that share territory with the Canadian state. Both Indigenous and Settler contexts will be used to guide class discussion. The course readings will also delve into Canadian/Indigenous relationships, their development, histories, contemporary existence, and potential futures.",,[POLB56H3 and POLB57H3] or (POLB50Y3),POL308H1,Indigenous Nations and the Canadian State,, +POLC53H3,SOCIAL_SCI,,"This course examines the ideas and success of the environmental movement in Canada. The course focuses on how environmental policy in Canada is shaped by the ideas of environmentalists, economic and political interests, public opinion, and Canada's political-institutional framework. Combined lecture-seminar format. Areas of Focus: Canadian Government and Politics; Public Policy",,(POLB50Y3) or [POLB56H3 and POLB57H3] or ESTB01H3 or [1.5 credits at the B-level in CIT courses],,Canadian Environmental Policy,, +POLC54H3,SOCIAL_SCI,,"This course examines relations between provincial and federal governments in Canada, and how they have been shaped by the nature of Canada's society and economy, judicial review, constitutional amendment, and regionalisation and globalization. The legitimacy and performance of the federal system are appraised. Lecture-seminar format. Areas of Focus: Canadian Government and Politics; Public Policy",,[POLB56H3 and POLB57H3] or (POLB50Y3),POL316Y,Intergovernmental Relations in Canada,, +POLC56H3,SOCIAL_SCI,,"This course explores key historical and contemporary issues in indigenous politics. Focusing on the contemporary political and legal mobilization of Indigenous peoples, it will examine their pursuit of self-government, land claims and resource development, treaty negotiations indigenous rights, and reconciliation. A primary focus will be the role of Canada’s courts, its political institutions, and federal and provincial political leaders in affecting the capacity of indigenous communities to realize their goals. Areas of Focus: Canadian Government and Politics, and Public Law",,[POLB56H3 and POLB57H3] or (POLB50Y3),"POL308H, ABS353H, ABS354H",Indigenous Politics and Law,, +POLC57H3,SOCIAL_SCI,,"This course examines intergovernmental relations in various areas of public policy and their effects on policy outcomes. It evaluates how federalism affects the capacity of Canadians to secure desirable social, economic, environmental and trade policies. Lecture-seminar format. Areas of Focus: Canadian Government and Politics; Public Policy",,[[(POLB50Y3) or [POLB56H3 and POLB57H3]],POL316Y,Intergovernmental Relations and Public Policy,, +POLC58H3,SOCIAL_SCI,,"This course explores the foundational concepts of nation and nationalism in Canadian and comparative politics, and the related issues associated with diversity. The first section looks at the theories related to nationalism and national identity, while the second applies these to better understand such pressing issues as minorities, multiculturalism, conflict and globalization. Areas of Focus: Canadian Government and Politics; Comparative Politics",,(POLB92H3) or [POLB56H3 and POLB57H3] or (POLB50Y3),,The Politics of National Identity and Diversity,, +POLC59H3,SOCIAL_SCI,,"Who are we as a people today? What role have consecutive vice regals played in more than 400 years of shaping our nation and its institutions? This course examines how the vice regal position in general, and how selected representatives in particular, have shaped Canada’s political system. Areas of Focus: Canadian Government and Politics",,[POLB56H3 and POLB57H3] or (POLB50Y3),POLC40H3 (if taken in 2014-Winter or 2015- Winter sessions),"Sources of Power: The Crown, Parliament and the People",, +POLC65H3,SOCIAL_SCI,,"This course focuses on analyzing and influencing individual and collective choices of political actors to understand effective strategies for bringing about policy changes. We will draw on the psychology of persuasion and decision-making, as well as literature on political decision-making and institutions, emphasizing contemporary issues. During election years in North America, special attention will be paid to campaign strategy. There may be a service-learning requirement. Area of Focus: Public Policy",,Any 4.0 credits,,Political Strategy,, +POLC69H3,SOCIAL_SCI,,"This course provides an introduction to the field of political economy from an international and comparative perspective. The course explores the globalization of the economy, discusses traditional and contemporary theories of political economy, and examines issues such as trade, production, development, and environmental change. Areas of Focus: Comparative Politics; International Relations",,"[1.0 credit from: POLB80H3, POLB81H3, POLB90H3, POLB91H3, or (POLB92H3)]",POL361H1,Political Economy: International and Comparative Perspectives,, +POLC70H3,HIS_PHIL_CUL,,This course introduces students to central concepts in political theory. Readings will include classical and contemporary works that examine the meaning and justification of democracy as well as the different forms it can take. Students will also explore democracy in practice in the classroom and/or in the local community. Area of Focus: Political Theory,,POLB72H3 or PHLB17H3,"POL200Y, (POLB70H3)","Political Thought: Democracy, Justice and Power",, +POLC71H3,HIS_PHIL_CUL,,"This course introduces students to central concepts in political theory, such as sovereignty, liberty, and equality. Readings will include modern and contemporary texts, such as Hobbes' Leviathan and Locke's Second Treatise of Government. Area of Focus: Political Theory",,POLB72H3 or PHLB17H3,"POL200Y, (POLB71H3)","Political Thought: Rights, Revolution and Resistance",, +POLC72H3,HIS_PHIL_CUL,,"The course investigates the concept of political liberty in various traditions of political thought, especially liberalism, republicanism, and Marxism. The course will investigate key studies by such theorists as Berlin, Taylor, Skinner, Pettit, and Cohen, as well as historical texts by Cicero, Machiavelli, Hobbes, Hegel, Constant, Marx, and Mill. Area of Focus: Political Theory",,POLB72H3 or (POLB70H3) or (POLB71H3),,Liberty,, +POLC73H3,HIS_PHIL_CUL,,"This course is a study of the major political philosophers of the nineteenth century, including Hegel, Marx, J.S. Mill and Nietzsche. Area of Focus: Political Theory",,[(POLB70H3) and (POLB71H3)] or POLB72H3,POL320Y,Modern Political Theory,, +POLC74H3,HIS_PHIL_CUL,,This course is a study of the major political philosophers of the twentieth century. The theorists covered will vary from year to year. Area of Focus: Political Theory,,[(POLB70H3) and (POLB71H3)] or POLB72H3,POL320Y,Contemporary Political Thought,, +POLC78H3,SOCIAL_SCI,University-Based Experience,This course examines the principles of research design and methods of analysis employed by researchers in political science. Students will learn to distinguish between adequate and inadequate use of evidence and between warranted and unwarranted conclusions. Area of Focus: Quantitative and Qualitative Analysis,,"8.0 credits including 0.5 credit in POL, PPG, or IDS courses",,Political Analysis I,, +POLC79H3,HIS_PHIL_CUL,,"This course examines the challenges and contributions of feminist political thought to the core concepts of political theory, such as rights, citizenship, democracy, and social movements. It analyzes the history of feminist political thought, and the varieties of contemporary feminist thought, including: liberal, socialist, radical, intersectional, and postcolonial. Area of Focus: Political Theory",,POLB72H3 or [(POLB70H3) and (POLB71H3)] or PHLB13H3 or WSTA03H3,POL432H,Feminist Political Thought,, +POLC80H3,SOCIAL_SCI,,"This course introduces students to the International Relations of Africa. This course applies the big questions in IR theory to a highly understudied region. The first half of the course focuses on security and politics, while the latter half pays heed to poverty, economic development, and multilateral institutions. Area of Focus: International Relations",,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, or POLB91H3",,International Relations of Africa,, +POLC83H3,SOCIAL_SCI,University-Based Experience,"This course examines the foreign policy of the United States by analyzing its context and application to a specific region, regions or contemporary problems in the world. Areas of Focus: International Relations; Public Policy; Comparative Politics",,Any 4.0 credits,,Applications of American Foreign Policy,, +POLC87H3,SOCIAL_SCI,,This course explores the possibilities and limits for international cooperation in different areas and an examination of how institutions and the distribution of power shape bargained outcomes. Area of Focus: International Relations,,POLB80H3 and POLB81H3,,Great Power Politics,, +POLC88H3,SOCIAL_SCI,,"Traditional International Relations Theory has concentrated on relations between states, either failing to discuss, or missing the complexities of important issues such as terrorism, the role of women, proliferation, globalization of the world economy, and many others. This course serves as an introduction to these issues - and how international relations theory is adapting in order to cover them. Area of Focus: International Relations",,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, or POLB91H3",,The New International Agenda,, +POLC90H3,SOCIAL_SCI,,"This course provides students with a more advanced examination of issues in development studies, including some of the mainstream theoretical approaches to development studies and a critical examination of development practice in historical perspective. Seminar format. Area of Focus: Comparative Politics",,POLB90H3 and POLB91H3,,Development Studies: Political and Historical Perspectives,, +POLC91H3,SOCIAL_SCI,,This course explores the origins of Latin America's cycles of brutal dictatorship and democratic rule. It examines critically the assumption that Latin American countries have made the transition to democratic government. Area of Focus: Comparative Politics,,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, or POLB91H3",POL305Y,Latin America: Dictatorship and Democracy,, +POLC92H3,SOCIAL_SCI,,This course analyses the American federal system and the institutions and processes of government in the United States. Area of Focus: Comparative Politics,,Any 8.0 credits,(POL203Y) and POL386H1,U.S. Government and Politics,, +POLC93H3,SOCIAL_SCI,University-Based Experience,This course focuses on selected policy issues in the United States. Areas of Focus: Comparative Politics; Public Policy,,One full credit in Political Science at the B-level,POL203Y,Public Policies in the United States,, +POLC94H3,SOCIAL_SCI,,"This course explores the gendered impact of economic Globalization and the various forms of resistance and mobilization that women of the global south have engaged in their efforts to cope with that impact. The course pays particular attention to regional contextual differences (Latin America, Africa, Asia and the Middle East) and to the perspectives of global south women, both academic and activist, on major development issues. Area of Focus: Comparative Politics",,POLB90H3,,"Globalization, Gender and Development",, +POLC96H3,SOCIAL_SCI,,"This course examines the origins of, and political dynamics within, states in the contemporary Middle East. The first part of the course analyses states and state formation in historical perspective - examining the legacies of the late Ottoman and, in particular, the colonial period, the rise of monarchical states, the emergence of various forms of ""ethnic"" and/or ""quasi"" democracies, the onset of ""revolutions from above"", and the consolidation of populist authoritarian states. The second part of the course examines the resilience of the predominantly authoritarian state system in the wake of socio-economic and political reform processes. Area of Focus: Comparative Politics",,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, POLB91H3 or (POLB92H3)",,State Formation and Authoritarianism in the Middle East,, +POLC97H3,SOCIAL_SCI,,"This course examines various forms of protest politics in the contemporary Middle East. The course begins by introducing important theoretical debates concerning collective action in the region - focusing on such concepts as citizenship, the public sphere, civil society, and social movements. The second part of the course examines case studies of social action - examining the roles played by crucial actors such as labour, the rising Islamist middle classes/bourgeoisie, the region's various ethnic and religious minority groups, and women who are entering into the public sphere in unprecedented numbers. The course concludes by examining various forms of collective and non-collective action in the region from Islamist social movements to everyday forms of resistance. Area of Focus: Comparative Politics",,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, POLB91H3 or (POLB92H3)",,Protest Politics in the Middle East,, +POLC98H3,SOCIAL_SCI,,"The course explains why financial markets exist, and their evolution, by looking at the agents, actors and institutions which generate demand for them. We also consider the consequences of increasingly integrated markets, the causes of systemic financial crises, as well as the implications and feasibility of regulation. Area of Focus: International Relations",,[POLB80H3 and POLB81H3] and [MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],POL411H1,International Political Economy of Finance,, +POLD01H3,,University-Based Experience,"This course provides an opportunity to design and carry out individual or small-group research on a political topic. After class readings on the topic under study, research methods and design, and research ethics, students enter ""the field"" in Toronto. The seminar provides a series of opportunities to present and discuss their unfolding research.",,1.5 credits at the C-level in POL courses,,Research Seminar in Political Science,, +POLD02Y3,SOCIAL_SCI,University-Based Experience,"This course provides an opportunity for students to propose and carry out intensive research on a Political Science topic of the student’s choosing under the supervision of faculty with expertise in that area. In addition to research on the topic under study, class readings and seminar discussions focus on the practice of social science research, including methods, design, ethics, and communication.",,Open to 4th Year students with a CGPA of at least 3.3 in the Specialist and Major programs in Political Science or Public Policy or from other programs with permission of the instructor.,,Senior Research Seminar in Political Science,, +POLD09H3,SOCIAL_SCI,,"This seminar course investigates the most urgent topics in the field of International Security, including American hegemonic decline, rising Chinese power, Russian military actions in Eastern Europe, great power competition, proxy wars, and international interventions. The readings for this course are drawn from the leading journals in International Relations, which have been published within the past five years. The major assignment for this course is the production of an original research paper on any topic in international security, which would meet the standard of publication in a reputable student journal. Area of Focus: International Relations",,POLC09H3 and [an additional 1.0 credit at the C-level in POL or IDS courses],"POL466H1, POL468H1",Advanced Topics in International Security,, +POLD30H3,SOCIAL_SCI,University-Based Experience,"This course will introduce students to the ideas and methods that guide judges and lawyers in their work. How does the abstract world of the law get translated into predictable, concrete decisions? How do judges decide what is the “correct” decision in a given case? The class will begin with an overview of the legal system before delving into the ideas guiding statute drafting and interpretation, judicial review and administrative discretion, the meaning of “evidence” and “proof,” constitutionalism, and appellate review. Time will also be spent exploring the ways that foreign law can impact and be reconciled with Canadian law in a globalizing world. Areas of Focus: Public Law, and Quantitative and Qualitative Analysis",,POLB30H3 and an additional 1.5 credits at the C-level in POL courses,,Legal Reasoning,,Priority will be given to students enrolled in the Minor in Public Law. +POLD31H3,SOCIAL_SCI,Partnership-Based Experience,"This course will offer senior students the opportunity to engage in a mock court exercise based around a contemporary legal issue. Students will be expected to present a legal argument both orally and in writing, using modern templates for legal documents and argued under similar circumstances to those expected of legal practitioners. The class will offer students an opportunity to understand the different stages of a court proceeding and the theories that underpin oral advocacy and procedural justice. Experiential learning will represent a fundamental aspect of the course, and expertise will be sought from outside legal professionals in the community who can provide further insight into the Canadian legal system where available. Area of Focus: Public Law",,POLB30H3 and POLC32H3 and an additional 1.5 credits at the C-level in POL courses,,Mooting Seminar,,Enrolment is limited to students enrolled in the Major Program in Public Law. +POLD38H3,SOCIAL_SCI,University-Based Experience,"This course examines how law both constitutes and regulates global business. Focusing on Canada and the role of Canadian companies within a global economy, the course introduces foundational concepts of business law, considering how the state makes markets by bestowing legal personality on corporations and facilitating private exchange. The course then turns to examine multinational businesses and the laws that regulate these cross-border actors, including international law, extra-territorial national law, and private and hybrid governance tools. Using real-world examples from court decisions and business case studies, students will explore some of the “governance gaps” produced by the globalization of business and engage directly with the tensions that can emerge between legal, ethical, and strategic demands on multinational business. Areas of Focus: International Relations and Public Law",POLB80H3,POLC32H3 and 1.0 credit at the C-level in POL courses,,Law and Global Business,, +POLD41H3,,,Topics and Area of Focus will vary depending on the instructor.,,1.5 credits at the C-level in POL courses,(POLC41H3),Advanced Topics in Politics,, +POLD42H3,SOCIAL_SCI,University-Based Experience,"Topics and area of focus will vary depending on the instructor and may include global perspectives on social and economic rights, judicial and constitutional politics in diverse states and human rights law in Canada. Area of Focus: Public Law",,"1.0 credits from the following [POLC32H3, POLC36H3, POLC39H3]",,Advanced Topics in Public Law,, +POLD43H3,HIS_PHIL_CUL,,"Some of the most powerful political texts employ literary techniques such as narrative, character, and setting. This class will examine political themes in texts drawn from a range of literary genres (memoire, literary non-fiction, science fiction). Students will learn about the conventions of these genres, and they will also have the opportunity to write an original piece of political writing in one of the genres. This course combines the academic analysis of political writing with the workshop method employed in creative writing courses.",At least one course in creative writing at the high school or university level.,"[1.5 credits at the C-level in POL, CIT, PPG, GGR, ANT, SOC, IDS, HLT courses] or [JOUB39H3 or ENGB63H3]",,Writing about Politics,, +POLD44H3,SOCIAL_SCI,,This seminar examines how legal institutions and legal ideologies influence efforts to produce or prevent social change. The course will analyze court-initiated action as well as social actions “from below” (social movements) with comparative case studies. Areas of Focus: Comparative Politics and Public Law,,POLB30H3 and [POLC33H3 or POLC38H3 or POLC39H3] and [0.5 credit in Comparative Politics],POL492H1,Comparative Law and Social Change,,Priority will be given to students enrolled in the Minor Program in Public Law. +POLD45H3,HIS_PHIL_CUL,,"This course studies the theory of constitutionalism through a detailed study of its major idioms such as the rule of law, the separation of powers, sovereignty, rights, and limited government. Areas of Focus: Political Theory and Public Law",,[[(POLB70H3) and (POLB71H3)] or POLB72H3 or POLB30H3] and [1.5 credits at the C-level in POL courses],,Constitutionalism,, +POLD46H3,SOCIAL_SCI,University-Based Experience,"Immigration is one of the most debated and talked about political issues in the 21st century. Peoples’ movement across continents for a whole host of reasons is not new; however, with the emergence of the nation-state, the drawing of borders, and the attempts to define and shape of membership in a political and national community, migration became a topic for public debate and legal challenge. This course dives into Canada’s immigration system and looks at how it was designed, what values and objectives it tries to meet, and how global challenges affect its approach and attitude toward newcomers. The approach used in this course is that of a legal practitioner, tasked with weighing the personal narratives and aspirations of migrants as they navigate legal challenges and explore the available programs and pathways to complete their migration journey in Canada. Areas of Focus: Canadian Government and Politics, and Public Law",,"1.0 credits from the following: POLC32H3, POLC36H3, POLC39H3",,Public Law and the Canadian Immigration System,, +POLD50H3,SOCIAL_SCI,,"This course examines the interrelationship between organized interests, social movements and the state in the formulation and implementation of public policy in Canada and selected other countries. Areas of Focus: Canadian Government and Politics; Public Policy",,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL or PPG courses],,"Political Interests, Political Identity, and Public Policy",, +POLD51H3,SOCIAL_SCI,,This seminar course explores selected issues of Canadian politics from a comparative perspective. The topics in this course vary depending on the instructor. Areas of Focus: Canadian Government and Politics; Comparative Politics,,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL courses],,Topics in Canadian and Comparative Politics,, +POLD52H3,SOCIAL_SCI,,"Immigration has played a central role in Canada's development. This course explores how policies aimed at regulating migration have both reflected and helped construct conceptions of Canadian national identity. We will pay particular attention to the politics of immigration policy- making, focusing on the role of the state and social actors. Areas of Focus: Canadian Government and Politics; Public Policy",,[[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL or PPG courses]] or [15.0 credits including SOCB60H3],,Immigration and Canadian Political Development,, +POLD53H3,SOCIAL_SCI,,"Why do Canadians disagree in their opinions about abortion, same-sex marriage, crime and punishment, welfare, taxes, immigration, the environment, religion, and many other subjects? This course examines the major social scientific theories of political disagreement and applies these theories to an analysis of political disagreement in Canada. Area of Focus: Canadian Government and Politics",STAB23H3 or equivalent,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL courses],,Political Disagreement in Canada,, +POLD54H3,SOCIAL_SCI,University-Based Experience,"The campuses of the University of Toronto are situated on the territory of the Michi-Saagiig Nation (one of the nations that are a part of the Nishnaabeg). This course will introduce students to the legal, political, and socio-economic structures of the Michi-Saagiig Nishnaabeg Nation and discuss its relations with other Indigenous nations and confederacies, and with the Settler societies with whom the Michi-Saagiig Nishnaabeg have had contact since 1492. In an era of reconciliation, it is imperative for students to learn and understand the Indigenous nation upon whose territory we are meeting and learning. Therefore, course readings will address both Michi-Saagiig Nishnaabeg and Settler contexts. In addition to literature, there will be guest speakers from the current six (6) Michi-Saagiig Nishnaabeg communities that exist: Alderville, Mississaugas of the Credit, Mississaugi 8, Oshkigamig (Curve Lake), Pamitaashkodeyong (Burns/Hiawatha), and Scugog.",POLC52H3 or POL308H1,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in Political Science (POL and PPG courses)],,Michi-Saagiig Nishnaabeg Nation Governance and Politics,, +POLD55H3,SOCIAL_SCI,,"This seminar provides an in-depth examination of the politics of inequality in Canada, and the role of the Canadian political-institutional framework in contributing to political, social and economic (in)equality. The focus will be on diagnosing how Canada’s political institutions variously impede and promote equitable treatment of different groups of Canadians (such as First Nations, women, racial and minority groups) and the feasibility of possible institutional and policy reforms to promote goals of social and economic equity. Area of Focus: Canadian Government and Politics",,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL courses],,The Politics of Equality and Inequality in Canada,, +POLD56H3,QUANT,,"This course applies tools from computational social science to the collection and analysis of political data, with a particular focus on the computational analysis of text. Students are expected to propose, develop, carry out, and present a research project in the field of computational social science. Area of Focus: Quantitative and Qualitative Analysis",,[STAB23H3 or equivalent] and 1.5 credit at the C-level,,Politics and Computational Social Science,, +POLD58H3,SOCIAL_SCI,,"This course examines the recent rise of ethnic nationalism in western liberal democracies, with a particular focus on the US, Canada, UK and France. It discusses the different perspectives on what is behind the rise of nationalism and populism, including economic inequality, antipathy with government, immigration, the role of political culture and social media. Areas of Focus: Canadian Government and Politics",POLC58H3,1.0 credit at the C-level in POL or PPG courses,,The New Nationalism in Liberal Democracies,, +POLD59H3,SOCIAL_SCI,,"An in-depth analysis of the place and rights of disabled persons in contemporary society. Course topics include historic, contemporary, and religious perspectives on persons with disabilities; the political organization of persons with disabilities; media presentation of persons with disabilities; and the role of legislatures and courts in the provision of rights of labour force equality and social service accessibility for persons with disabilities. Area of Focus: Canadian Government and Politics",,"8.0 credits, of which at least 1.5 credits must be at the C- or D-level",,Politics of Disability,, +POLD67H3,SOCIAL_SCI,,"This course critically examines the relationship between politics, rationality, and public policy-making. The first half of the course surveys dominant rational actor models, critiques of these approaches, and alternative perspectives. The second half of the course explores pathological policy outcomes, arrived at through otherwise rational procedures. Areas of Focus: Comparative Politics; Political Theory; Public Policy",,PPGB66H3/(PPGC66H3/(POLC67H3) or [(POLB70H3) and (POLB71H3)] or POLB72H3] or [POLB90H3 and POLB91H3] and [1.0 additional credit at the C-level in POL or PPG courses],,The Limits of Rationality,, +POLD70H3,,,This seminar explores the ways in which political theory can deepen our understanding of contemporary political issues. Topics may include the following: cities and citizenship; multiculturalism and religious pluralism; the legacies of colonialism; global justice; democratic theory; the nature of power. Area of Focus: Political Theory,,[(POLB70H3) or (POLB71H3) or POLB72H3] and [1.5 credits at the C-level in POL courses],,Topics in Political Theory,, +POLD74H3,HIS_PHIL_CUL,,"The Black radical tradition is a modern tradition of thought and action which began after transatlantic slavery’s advent. Contemporary social science and the humanities overwhelmingly portray the Black radical tradition as a critique of Black politics in its liberal, libertarian, and conservative forms. This course unsettles that framing: first by situating the Black radical tradition within Black politics; second, through expanding the boundaries of Black politics to include, yet not be limited to, theories and practices emanating from Canada and the United States; and third, by exploring whether it is more appropriate to claim the study of *the* Black radical tradition or a broader network of intellectual traditions underlying political theories of Black radicalism. Area of Focus: Political Theory",,[POLB72H3 or POLC31H3] and [1.0 credit at the C-level in Political Science (POL and PPG courses)],,The Black Radical Tradition,, +POLD75H3,SOCIAL_SCI,,"This course examines the concept of property as an enduring theme and object of debate in the history of political thought and contemporary political theory. Defining property and justifying its distribution has a significant impact on how citizens experience authority, equality, freedom, and justice. The course will analyze different theoretical approaches to property in light of how they shape and/or challenge relations of class, race, gender, and other lines of difference and inequality.",,"0.5 credit from: [POLB72H3, POLC70H3, POLC71H3 or POLC73H3]",,Property and Power,, +POLD78H3,SOCIAL_SCI,,This seminar course is intended for students interested in deepening their understanding of methodological issues that arise in the study of politics or advanced research techniques.,,POLC78H3 and [1.0 credit at the C-level in POL courses],,Advanced Political Analysis,, +POLD82H3,SOCIAL_SCI,,"Examines political dynamics and challenges through exploration of fiction and other creative works with political science literature. Topics and focus will vary depending on the instructor but could include subjects like climate change, war, migration, gender, multiculturalism, colonialism, etc.",,1.5 credits at the C-level in POL courses,,Politics and Literature,, +POLD87H3,SOCIAL_SCI,,This course is an introduction to rational choice theories with applications to the international realm. A main goal is to introduce analytical constructs frequently used in the political science and political economy literature to understand strategic interaction among states. Area of Focus: International Relations,,POLB80H3 and POLB81H3 and [1.5 credits at the C-level in POL courses],,Rational Choice and International Cooperation,, +POLD89H3,SOCIAL_SCI,,"Examines the challenges faced by humanity in dealing with global environmental problems and the politics of addressing them. Focuses on both the underlying factors that shape the politics of global environmental problems - such as scientific uncertainty, North-South conflict, and globalization - and explores attempts at the governance of specific environmental issues. Area of Focus: International Relations; Public Policy",,[[POLB80H3 and POLB81H3] or ESTB01H3]] and [2.0 credits at the C-level in any courses],POL413H1,Global Environmental Politics,, +POLD90H3,SOCIAL_SCI,,"While domestic and international political factors have discouraged pro human development public policies in much of the global south, there have been some important success stories. This course examines the economic and social policies most successful in contributing to human development and explores the reasons behind these rare cases of relatively successful human development. Areas of Focus: Comparative Politics; Public Policy Same as IDSD90H3",,"[1.0 credit from: IDSB01H3, IDSB04H3, POLB90H3, POLB91H3] and [2.0 credits at the C-level in any courses]",IDSD90H3,Public Policy and Human Development in the Global South,, +POLD91H3,SOCIAL_SCI,,"This course examines contentious politics from a comparative perspective, beginning with the foundational theories of Charles Tilly, Sidney Tarrow, and Doug McAdam. It explores questions such as why people protest, how they organize, and the outcomes of contention. The second half of the course challenges students to examine popular contention across a range of states in Asia, the Middle East, Europe, and Latin America. It asks students to interrogate the applicability of the dynamics of contention framework to illiberal states in a comparative context. Area of Focus: Comparative Politics",,1.5 credits at the C-level in POL courses,POL451H1,Protests and Social Movements in Comparative Perspective,, +POLD92H3,SOCIAL_SCI,,"This course will provide an introduction to theories of why some dictatorships survive while others do not. We will explore theories rooted in regime type, resources, state capacity, parties, popular protest, and leadership. We will then examine the utility of these approaches through in-depth examinations of regime crises in Ethiopia, Iran, China, the USSR, and South Africa. Area of Focus: Comparative Politics",,[POLB90H3 or POLB91H3] and [an additional 2.0 credits at the C-level in any courses],,Survival and Demise of Dictatorships,, +POLD94H3,SOCIAL_SCI,,Area of Focus: Comparative Politics,,POLB90H3 and [POLB91H3 or 0.5 credit at the B-level in IDS courses] and [2.0 credits at the C-level in any courses],,Selected Topics on Developing Areas Topics vary according to instructor.,, +POLD95H3,,University-Based Experience,"A research project under the supervision of a member of faculty that will result in the completion of a substantial report or paper acceptable as an undergraduate senior thesis. Students wishing to undertake a supervised research project in the Winter Session must register in POLD95H3 during the Fall Session. It is the student's responsibility to find a faculty member who is willing to supervise the project, and the student must obtain consent from the supervising instructor before registering for this course. During the Fall Session the student must prepare a short research proposal, and both the supervising faculty member and the Supervisor of Studies must approve the research proposal prior to the first day of classes for the Winter Session.",,Permission of the instructor,,Supervised Research,, +POLD98H3,,,"Advanced reading in special topics. This course is meant only for those students who, having completed the available basic courses in a particular field of Political Science, wish to pursue further intensive study on a relevant topic of special interest. Students are advised that they must obtain consent from the supervising instructor before registering for this course.",,Permission of the instructor.,POL495Y,Supervised Reading,, +PPGB11H3,QUANT,,"Policy analysts frequently communicate quantitative findings to decision-makers and the public in the form of graphs and tables. Students will gain experience finding data, creating effective graphs and tables, and integrating those data displays in presentations and policy briefing notes. Students will complete assignments using Excel and/or statistical programs like Tableau, STATA, SPSS and/or R.",STAB23H3 or equivalent,,,Policy Communications with Data,, +PPGB66H3,SOCIAL_SCI,,"This course provides an introduction to the study of public policy. The course will address theories of how policy is made and the influence of key actors and institutions. Topics include the policy cycle (agenda setting, policy information, decision making, implementation, and evaluation), policy durability and change, and globalization and policy making. Areas of Focus: Public Policy, Comparative Politics, Canadian Government and Politics",,Any 4.0 credits,"(POLC66H3), (PPGC66H3)",Public Policy Making,, +PPGC67H3,SOCIAL_SCI,,"This course is a survey of contemporary patterns of public policy in Canada. Selected policy studies including managing the economy from post-war stabilization policies to the rise of global capitalism, developments in the Canadian welfare state and approaches to external relations and national security in the new international order. Areas of Focus: Canadian Government and Politics; Public Policy",,[(POLB50Y3) or [POLB56H3 and POLB57H3]] or 1.5 credits at the B-level in CIT courses,(POLC67H3),Public Policy in Canada,, +PPGD64H3,SOCIAL_SCI,,"This seminar course explores some of the major theoretical approaches to the comparative analysis of public policies across countries. The course explores factors that influence a country’s policy-making process and why countries’ policies diverge or converge. Empirically, the course examines several contemporary issue areas, such as economic, social or environmental policies. Areas of Focus: Comparative Politics; Public Policy",PPGC67H3,PPGB66H3/(PPGC66H3) and [[(POLB50Y3) or [POLB56H3 and POLB57H3]] or [(POLB92H3) and (POLB93H3)]] and [1.5 credits at the C-level in POL or PPG courses],(POLD64H3),Comparative Public Policy,, +PPGD68H3,SOCIAL_SCI,,"A review and application of theories of public policy. A case- based approach is used to illuminate the interplay of evidence (scientific data, etc.) and political considerations in the policy process, through stages of agenda-setting, formulation, decision-making, implementation and evaluation. Cases will be drawn from Canada, the United States and other industrialized democracies, and include contemporary and historical policies.",,PPGB66H3 and [(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL courses],,Capstone: The Policy Process in Theory and Practice,, +PSCB90H3,NAT_SCI,,"This course provides an opportunity for students to work with a faculty member, Students will provide assistance with one of the faculty member's research projects, while also earning credit. Students will gain first-hand exposure to current research methods, and share in the excitement of discovery of knowledge acquisition. Progress will be monitored by regular meetings with the faculty member and through a reflective journal. Final results will be presented in a written report and/or a poster presentation at the end of the term. Approximately 120 hours of work is expected for the course.",Completion of at least 4.0 credits in a relevant discipline.,Permission of the Course Coordinator,,Physical Sciences Research Experience,,"Students must send an application to the course Coordinator for admission into this course. Applications must be received by the end of August for Fall enrolment, December 15th for Winter enrolment, and end of April for Summer enrolment. Typically, students enrolled in a program offered by the Department of Physical and Environmental Sciences and students who have a CGPA of at least 2.5 or higher are granted admission. Approved students will receive a signed course enrolment form that will be submitted to the Office of the Registrar. Applications will include: 1) A letter of intent indicating the student's wish to enrol in the course; 2) A list of relevant courses successfully completed by the student, as well as any relevant courses to be taken during the upcoming semester; 3) Submission of the preferred project form, indicating the top four projects of interest to the student. This form is available from the Course Coordinator, along with the project descriptions." +PSCD01H3,SOCIAL_SCI,,"Current issues involving physical science in modern society. Topics include: complex nature of the scientific method; inter- connection between theory, concepts and experimental data; characteristics of premature, pathological and pseudo- science; organization and funding of scientific research in Canada; role of communication and publishing; public misunderstanding of scientific method. These will be discussed using issues arising in chemistry, computer science, earth sciences, mathematics and physics.",,Completion of at least one-half of the credits required in any one of the programs offered by the Department of Physical & Environmental Sciences.,PHY341H,The Physical Sciences in Contemporary Society,Continued participation in one of the Physical and Environmental Sciences programs.,"Where PSCD01H3 is a Program requirement, it may be replaced by PHY341H with the approval of the Program supervisor." +PSCD02H3,NAT_SCI,,"Topics of current prominence arising in chemistry, computer science, earth sciences, mathematics and physics will be discussed, usually by faculty or outside guests who are close to the areas of prominence. Topics will vary from year to year as the subject areas evolve.",,Completion of at least 3.5 credits of a Physical Sciences program,PHY342H,Current Questions in Mathematics and Science,Continued participation in one of the Physical Sciences programs or enrolment in the Minor Program in Natural Sciences and Environmental Management, +PSCD11H3,ART_LIT_LANG,,"Communicating complex science issues to a wider audience remains a major challenge. This course will use film, media, journalism and science experts to explore the role of science and scientists in society. Students will engage with media and academic experts to get an insight into the ‘behind the scenes’ world of filmmaking, media, journalism, and scientific reporting. The course will be of interest to all students of environmental science, media, education, journalism and political science.",,Any 14.5 credits,(PSCA01H3),"Communicating Science: Film, Media, Journalism, and Society",, +PSCD50H3,NAT_SCI,,"This course provides exposure to a variety of theoretical concepts and practical methods for treating various problems in quantum mechanics. Topics include perturbation theory, variational approach, adiabatic approximation, mean field approximation, Hamiltonian symmetry implementation, light- matter interaction, second quantization.",,Any one of the following courses [PHYC56H3 or CHMC20H3 or (CHMC25H3)],"PHY456H, CHM423H, CHM421H, JCP421H",Advanced Topics in Quantum Mechanics,, +PSYA01H3,NAT_SCI,Partnership-Based Experience,"This course provides a general overview of topics including research techniques in psychology, evolutionary psychology, the biology of behaviour, learning and behaviour, sensation, perception, memory and consciousness. The most influential findings from each of these areas will be highlighted.",,,"PSY100H, PSY100Y",Introduction to Biological and Cognitive Psychology,, +PSYA02H3,SOCIAL_SCI,Partnership-Based Experience,"This course provides a general overview of topics including language, intelligence, development, motivation and emotion, personality, social psychology, stress, mental disorders and treatments of mental disorders. The most influential findings from each of these areas will be highlighted.",,,"PSY100H, PSY100Y","Introduction to Clinical, Developmental, Personality and Social Psychology",, +PSYB03H3,QUANT,,"The course will provide introductory knowledge and hands-on training in computer-based implementations of experimental design, data processing and result interpretation in psychology. The course covers implementations of experimental testing paradigms, computational explorations of empirical data structure and result visualization with the aid of specific programming tools (e.g., Matlab).",,PSYA01H3 and PSYA02H3,,Introduction to Computers in Psychological Research,PSYB07H3 or STAB22H3 or STAB23H3,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, and Neuroscience (Cognitive stream). Students in the Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits." +PSYB07H3,QUANT,,"This course focuses on the fundamentals of the theory and the application of statistical procedures used in research in the field of psychology. Topics will range from descriptive statistics to simple tests of significance, such as Chi-Square, t-tests, and one-way Analysis-of-Variance. A working knowledge of algebra is assumed.",,,"ANTC35H3, LINB29H3, MGEB11H3/(ECMB11H3), MGEB12H3/(ECMB12H3), PSY201H, (SOCB06H3), STAB22H3, STAB23H3, STAB52H3, STA220H, STA221H, STA250H, STA257H",Data Analysis in Psychology,,"Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology, Mental Health Studies, Neuroscience, and Paramedicine. Students in the Minor program in Psychology and Mental Health Studies will be admitted as space permits." +PSYB10H3,SOCIAL_SCI,,"Surveys a wide range of phenomena relating to social behaviour. Social Psychology is the study of how feelings, thoughts, and behaviour are influenced by the presence of others. The course is designed to explore social behaviour and to present theory and research that foster its understanding.",,PSYA01H3 and PSYA02H3,PSY220H,Introduction to Social Psychology,, +PSYB20H3,SOCIAL_SCI,,"Developmental processes during infancy and childhood. This course presents students with a broad and integrative overview of child development. Major theories and research findings will be discussed in order to understand how the child changes physically, socially, emotionally, and cognitively with age. Topics are organized chronologically beginning with prenatal development and continuing through selected issues in adolescence and life-span development.",,PSYA01H3 and PSYA02H3,PSY210H,Introduction to Developmental Psychology,, +PSYB30H3,SOCIAL_SCI,,"This course is intended to introduce students to the scientific study of the whole person in biological, social, and cultural contexts. The ideas of classical personality theorists will be discussed in reference to findings from contemporary personality research.",,PSYA01H3 and PSYA02H3,PSY230H,Introduction to Personality,, +PSYB32H3,SOCIAL_SCI,University-Based Experience,"Clinical psychology examines why people behave, think, and feel in unexpected, sometimes bizarre, and typically self- defeating ways. This course will focus on the ways in which clinicians have been trying to learn the causes of various clinical disorders and what they know about preventing and alleviating it.",,PSYA01H3 and PSYA02H3,"PSY240H, PSY340H",Introduction to Clinical Psychology,, +PSYB38H3,SOCIAL_SCI,,"An introduction to behaviour modification, focusing on attempts to regulate human behaviour. Basic principles and procedures of behaviour change are examined, including their application across different domains and populations. Topics include operant and respondent conditioning; reinforcement; extinction; punishment; behavioural data; ethics; and using behaviourally-based approaches (e.g., CBT) to treat psychopathology.",,PSYA01H3 and PSYA02H3,"PSY260H1, (PSYB45H3)",Introduction to Behaviour Modification,, +PSYB51H3,NAT_SCI,,"Theory and research on perception and cognition, including visual, auditory and tactile perception, representation, and communication. Topics include cognition and perception in the handicapped and normal perceiver; perceptual illusion, noise, perspective, shadow patterns and motion, possible and impossible scenes, human and computer scene-analysis, ambiguity in perception, outline representation. The research is on adults and children, and different species. Demonstrations and exercises form part of the course work.",,PSYA01H3 and PSYA02H3,"NROC64H3, PSY280H1",Introduction to Perception,, +PSYB55H3,NAT_SCI,,"The course explores how the brain gives rise to the mind. It examines the role of neuroimaging tools and brain-injured patients in helping to uncover cognitive networks. Select topics include attention, memory, language, motor control, decision-making, emotion, and executive functions.",,PSYA01H3 and PSYA02H3,PSY493H1,Introduction to Cognitive Neuroscience,, +PSYB57H3,NAT_SCI,,"A discussion of theories and experiments examining human cognition. This includes the history of the study of human information processing and current thinking about mental computation. Topics covered include perception, attention, thinking, memory, visual imagery, language and problem solving.",,PSYA01H3 and PSYA02H3,PSY270H,Introduction to Cognitive Psychology,, +PSYB64H3,NAT_SCI,,"A survey of the biological mechanisms underlying fundamental psychological processes intended for students who are not in a Neuroscience program. Topics include the biological basis of motivated behaviour (e.g., emotional, ingestive, sexual, and reproductive behaviours; sleep and arousal), sensory processes and attention, learning and memory, and language.",,PSYA01H3 and PSYA02H3,"NROC61H3, PSY290H",Introduction to Behavioural Neuroscience,, +PSYB70H3,SOCIAL_SCI,,"This course focuses on scientific literacy skills central to effectively consuming and critiquing research in psychological science. Students will learn about commonly used research designs, how to assess whether a design has been applied correctly, and whether the conclusions drawn from the data are warranted. Students will also develop skills to effectively find and consume primary research in psychology.",,PSYA01H3 and PSYA02H3,"(PSYB01H3), (PSYB04H3)",Methods in Psychological Science,, +PSYB80H3,SOCIAL_SCI,,"This course builds upon foundational concepts from Introduction to Psychology and examines the field of psychological science from a critical perspective. Students will explore the contextual underpinnings of the field and learn about current debates and challenges facing various subfields of psychology. Specific topics will vary by term according to the interests and expertise of the course instructor and guest lecturers. Examination of these topics will include considerations such as bias in the sciences, demographic representation in participant pools, methodological diversity, replicability, and ecological validity.",PSYB70H3,"PSYA01H3, PSYA02H3",,Psychology in Context,,"Priority will be given to students in the Specialist/Specialist Co-op, Major/Major Co-op and Minor programs in Psychology, Mental Health Studies, and Neuroscience. This course uses a Credit/No Credit (CR/NCR) grading scheme." +PSYB90H3,SOCIAL_SCI,University-Based Experience,"This course provides an introduction to, and experience in, ongoing theoretical and empirical research in any field of psychology. Supervision of the work is arranged by mutual agreement between student and instructor. Students will typically engage in an existing research project within a supervisor’s laboratory. Regular consultation with the supervisor is necessary, which will enhance communication skills and enable students to develop proficiency in speaking about scientific knowledge with other experts in the domain. Students will also develop documentation and writing skills through a final report and research journal. This course requires students to complete a permission form obtained from the Department of Psychology. This form must outline agreed-upon work that will be performed, must be signed by the intended supervisor, and returned to the Department of Psychology.",B-level courses in Psychology or Psycholinguistics,"[PSYA01H3 and PSYA02H3 with at least an 80% average across both courses] and [a minimum of 4.0 credits [including PSYA01H3 and PSYA02H3] in any discipline, with an average cGPA of 3.0] and [a maximum of 9.5 credits completed] and [enrolment in a Psychology, Mental Health Studies, Neuroscience or Psycholinguistics program].",ROP299Y and LINB98H3,Supervised Introductory Research in Psychology,,"Students receive a half credit spread across two-terms; therefore, the research in this course must take place across two consecutive terms. Priority will be given to students in the Specialist and Major programs in Psychology and Mental Health Studies, followed by students in the Specialist and Major programs in Neuroscience and Psycholinguistics. Enrolment will depend each year on the research opportunities available with each individual faculty member and the interests of the students who apply." +PSYC02H3,SOCIAL_SCI,University-Based Experience,"How we communicate in psychology and why. The differences between scientific and non-scientific approaches to behaviour and their implications for communication are discussed. The focus is on improving the student's ability to obtain and organize information and to communicate it clearly and critically, using the conventions of the discipline.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Scientific Communication in Psychology,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, and Neuroscience (Cognitive stream), and the Specialist Co-op program in Neuroscience (Stage 1). Students in the Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits." +PSYC03H3,QUANT,,"The course will provide advanced knowledge and hands-on training in computer-based implementations of experimental design, data processing and result interpretation in psychology. The course covers implementations of experimental testing paradigms, computational explorations of empirical data structure, and result visualization with the aid of specific programming tools (e.g., Matlab).",,PSYB03H3,,Computers in Psychological Research: Advanced Topics,,Priority will be given to students in the Specialist/Specialist Co-op program in Neuroscience (Cognitive stream). Students in the Specialist/Specialist Co- op and Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits. +PSYC08H3,QUANT,,"The primary focus of this course is on the understanding of Analysis-of-Variance and its application to various research designs. Examples will include a priori and post hoc tests. Finally, there will be an introduction to multiple regression, including discussions of design issues and interpretation problems.",,[PSYB07H3 or STAB23H3 or STAB22H3] and PSYB70H3,"(STAC52H3), PSY202H",Advanced Data Analysis in Psychology,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, Neuroscience, and Paramedicine. Students in the Major/Major Co-op programs in Psychology, Mental Health Studies, and Neuroscience will be permitted if space permits." +PSYC09H3,QUANT,University-Based Experience,"An introduction to multiple regression and its applications in psychological research. The course covers the data analysis process from data collection to interpretation: how to deal with missing data, the testing of assumptions, addressing problem of multicolinearity, significance testing, and deciding on the most appropriate model. Several illustrative data sets will be explored in detail. The course contains a brief introduction to factor analysis. The goal is to provide the students with the skills and understanding to conduct and interpret data analysis in non-experimental areas of psychology.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"LINC29H3, MGEC11H3",Applied Multiple Regression in Psychology,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, and Neuroscience (Cognitive stream). Students in the Major/Major Co-op programs in Psychology, Mental Health Studies, and Neuroscience will be permitted if space permits." +PSYC10H3,SOCIAL_SCI,,"This course examines the psychology of judgment and decision making, incorporating perspectives from social psychology, cognitive psychology, and behavioral economics. Understanding these topics will allow students to identify errors and systematic biases in their own decisions and improve their ability to predict and influence the behavior of others.",,[PSYB10H3 or PSYB57H3 or PSYC57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Judgment and Decision Making,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC12H3,SOCIAL_SCI,,"A detailed examination of selected social psychological topics introduced in PSYB10H3. This course examines the nature of attitudes, stereotypes and prejudice, including their development, persistence, and automaticity. It also explores the impact of stereotypes on their targets, including how stereotypes are perceived and how they affect performance, attributions, and coping.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY322H,The Psychology of Prejudice,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC13H3,SOCIAL_SCI,University-Based Experience,"A comprehensive survey of how cognitive processes (e.g., perception, memory, judgment) influence social behaviour. Topics include the construction of knowledge about self and others, attitude formation and change, influences of automatic and controlled processing, biases in judgment and choice, interactions between thought and emotion, and neural specializations for social cognition.",,[PSYB10H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY326H, PSY473H, PSY417H",Social Cognition: Understanding Ourselves and Others,,"Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology, Mental Health Studies, and Neuroscience. Students in the Minor program in Psychology will be admitted as space permits." +PSYC14H3,SOCIAL_SCI,,"A survey of the role of culture in social thought and behaviour. The focus is on research and theory that illustrate ways in which culture influences behaviour and cognition about the self and others, emotion and motivation. Differences in individualism and collectivism, independence and interdependence as well as other important orientations that differ between cultures will be discussed. Social identity and its impact on acculturation in the context of immigration will also be explored.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY321H,Cross-Cultural Social Psychology,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC15H3,SOCIAL_SCI,,"Community psychology is an area of psychology that examines the social, cultural, and structural influences that promote positive change, health, and empowerment among communities and community members. This course will offer an overview of the foundational components of community psychology including its theories, research methods, and applications to topics such as community mental health, prevention programs, interventions, the community practitioner as social change agent, and applications of community psychology to other settings and situations.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Foundations in Community Psychology,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC16H3,SOCIAL_SCI,,"The course will examine different aspects of imagination in a historical context, including creativity, curiosity, future- mindedness, openness to experience, perseverance, perspective, purpose, and wisdom along with its neural foundations.",,PSYB10H3 and [PSYB20H3 or PSYB30H3 or PSYB51H3 or PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Psychology of Imagination,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC17H3,SOCIAL_SCI,,"What happens when two (or more) minds meet—how do they interact and interconnect? Specifically, how do people “get on the same page,” and what are barriers that might stand in the way? Guided by these questions, this course will provide a broad overview of the psychological phenomena and processes that enable interpersonal connection. We will examine the various ways that people’s inner states— thoughts, feelings, intentions, and identities—connect with one another. We will study perspectives from both perceivers (i.e., how to understand others) and targets (i.e., how to be understood), at levels of dyads (i.e., how two minds become interconnected) and groups (i.e., how minds coordinate and work collectively). Throughout the course, we will consider challenges to effective interpersonal interactions, and solutions and strategies that promote and strengthen interconnection. A range of perspectives, including those from social, cognitive, personality, developmental, and cultural psychology, as well as adjacent disciplines such as communication, will be considered.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Meeting Minds: The Psychology of Interpersonal Interactions,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC18H3,SOCIAL_SCI,University-Based Experience,"What is an emotion? How are emotions experienced and how are they shaped? What purpose do emotions serve to human beings? What happens when our emotional responses go awry? Philosophers have debated these questions for centuries. Fortunately, psychological science has equipped us with the tools to explore such questions on an empirical level. Building with these tools, this course will provide a comprehensive overview of the scientific study of emotion. Topics will include how emotions are expressed in our minds and bodies, how emotions influence (and are influenced by) our thoughts, relationships, and cultures, and how emotions can both help us thrive and make us sick. A range of perspectives, including social, cultural, developmental, clinical, personality, and cognitive psychology, will be considered.",,[PSYB10H3 or PSYB30H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY331H, PSY494H",The Psychology of Emotion,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC19H3,SOCIAL_SCI,,"A detailed examination of how organisms exercise control, bringing thoughts, emotions and behaviours into line with preferred standards. Topics include executive function, the neural bases for self control, individual differences in control, goal setting and goal pursuit, motivation, the interplay of emotion and control, controversies surrounding fatigue and control, and decision-making.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Psychology of Self Control,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC21H3,SOCIAL_SCI,University-Based Experience,"An examination of topics in adult development after age 18, including an examination of romantic relationships, parenting, work-related functioning, and cognitive, perceptual, and motor changes related to aging.",,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY313H, PSY311H",Adulthood and Aging,,"Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology, Mental Health Studies, Paramedicine, and Psycholinguistics. Students in the Minor program in Psychology will be admitted as space permits." +PSYC22H3,SOCIAL_SCI,University-Based Experience,"Infants must learn to navigate their complex social worlds as their bodies and brains undergo incredible changes. This course explores physical and neural maturation, and the development of perception, cognition, language, and social- emotional understanding in infants prenatally until preschool.",,PSYB20H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3 or STAB23H3],"PSY316H1, PSY316H5",Infancy,, +PSYC23H3,NAT_SCI,,"A review of the interplay of psychosocial and biological processes in the development of stress and emotion regulation. Theory and research on infant attachment, mutual regulation, gender differences in emotionality, neurobiology of the parent-infant relationship, and the impact of socialization and parenting on the development of infant stress and emotion.",,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Developmental Psychobiology,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC24H3,SOCIAL_SCI,,"This advanced course in developmental psychology explores selected topics in childhood and adolescent development during school age (age 4 through age 18). Topics covered include: cognitive, social, emotional, linguistic, moral, perceptual, identity, and motor development, as well as current issues in the field as identified by the instructor.",,PSYB20H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3 or STAB23H3],PSY310H5,Childhood and Adolescence,, +PSYC27H3,SOCIAL_SCI,,"This course will examine research and theory on the evolution and development of social behaviour and social cognition with a focus on social instincts, such as empathy, altruism, morality, emotion, friendship, and cooperation. This will include a discussion of some of the key controversies in the science of social development from the second half of the nineteenth century to today.",PSYB55H3 or PSYB64H3,PSYB10H3 and PSYB20H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3 or STAB23H3],PSY311H,Social Development,, +PSYC28H3,SOCIAL_SCI,,"This course will provide students with a comprehensive understanding of the biological, cognitive, and social factors that shape emotional development in infancy and childhood. Topics covered will include theories of emotional development, the acquisition of emotion concepts, the role of family and culture in emotional development, the development of emotion regulation, and atypical emotional development. Through learning influential theories, cutting- edge methods, and the latest research findings, students will gain an in-depth understanding of the fundamental aspects of emotional development.",,PSYB20H3 and PSYB70H3 and [PSYB07H3 or STAB22H3 or STAB23H3],,Emotional Development,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC30H3,SOCIAL_SCI,,"This course is intended to advance students' understanding of contemporary personality theory and research. Emerging challenges and controversies in the areas of personality structure, dynamics, and development will be discussed.",,PSYB30H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"(PSYC35H3), PSY337H",Advanced Personality Psychology,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC31H3,NAT_SCI,University-Based Experience,"The clinical practice of neuropsychological assessment is an applied science that is concerned with the behavioural expression of personality, emotional, somatic and, or brain dysfunction with an emphasis on how diversity (e.g., cultural, racial, gender, sexuality, class, religion, other aspects of identity and the intersections among these), can further mediate this relationship. The clinical neuropsychologist uses standardized tests to objectively describe the breadth, severity and veracity of emotional, cognitive, behavioral and intellectual functioning. Inferences are made on the basis of accumulated research. The clinical neuropsychologist interprets every aspect of the examination (both quantitative and qualitative components) to ascertain the relative emotional, cognitive, behavioural and intellectual strengths and weaknesses of a patient with suspected or known (neuro)psychopathology. Findings from a neuropsychological examination can be used to make diagnoses, inform rehabilitation strategies, and direct various aspects of patient care. In this course, we will comprehensively explore the science and applied practice of neuropsychological assessment.",,PSYB32H3 and PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"(PSYC32H3), (PSY393H)",Neuropsychological Assessment,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor Program in Psychology will be admitted as space permits. +PSYC34H3,SOCIAL_SCI,,"The philosopher Aristotle proposed long ago that a good life consists of two core elements: happiness (hedonia) and a sense of meaning (eudaimonia). What is happiness and meaning, and how do they relate to psychological wellbeing? How do these desired states or traits change across life, and can they be developed with specific interventions? What roles do self-perception and social relationships play in these phenomena? We will focus on the conceptual, methodological, and philosophical issues underlying these questions.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY336H1, PSY324H5",The Psychology of Happiness and Meaning,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC36H3,SOCIAL_SCI,,"This course will provide students with an introduction to prominent behavioural change theories (i.e. psychodynamic, cognitive/behavioural, humanist/existential) as well as empirical evidence on their efficacy. The role of the therapist, the patient and the processes involved in psychotherapy in producing positive outcomes will be explored.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY343H,Psychotherapy,,Restricted to students in the Mental Health Studies programs. +PSYC37H3,SOCIAL_SCI,University-Based Experience,"This course deals with conceptual issues and practical problems of identification, assessment, and treatment of mental disorders and their psychological symptomatology. Students have the opportunity to familiarize themselves with the psychological tests and the normative data used in mental health assessments. Lectures and demonstrations on test administration and interpretation will be provided.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY330H,Psychological Assessment,,Restricted to students in the Mental Health Studies programs. +PSYC38H3,SOCIAL_SCI,,"This course will provide an advanced understanding of the etiology, psychopathology, and treatment of common mental disorders in adults. Theory and research will be discussed emphasizing biological, psychological, and social domains of functioning. Cultural influences in the presentation of psychopathology will also be discussed.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY340H1, PSY342H1",Adult Psychopathology,,Restricted to students in the Mental Health Studies programs. +PSYC39H3,SOCIAL_SCI,,"This course focuses on the application of psychology to the law, particularly criminal law including cognitive, neuropsychological and personality applications to fitness to stand trial, criminal responsibility, risk for violent and sexual recidivism and civil forensic psychology.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY328H, PSY344H",Psychology and the Law,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC50H3,NAT_SCI,,"This course examines advanced cognitive functions through a cognitive psychology lens. Topics covered include: thinking, reasoning, decision-making, problem-solving, creativity, and consciousness.",,[PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Higher-Level Cognition,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC51H3,NAT_SCI,,"This course will provide an in-depth examination of research in the field of visual cognitive neuroscience. Topics will include the visual perception of object features (shape, colour, texture), the perception of high-level categories (objects, faces, bodies, scenes), visual attention, and comparisons between the human and monkey visual systems.",,[PSYB51H3 or PSYB55H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY380H,Cognitive Neuroscience of Vision,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Major program in Neuroscience and the Minor program in Psychology will be admitted as space permits." +PSYC52H3,NAT_SCI,,This course is about understanding how the human brain collects information from the environment so as to perceive it and to interact with it. The first section of the course will look into the neural and cognitive mechanisms that perceptual systems use to extract important information from the environment. Section two will focus on how attention prioritizes information for action. Additional topics concern daily life applications of attentional research.,,PSYB51H3 and [PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY475H,Cognitive Neuroscience of Attention,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Major program in Neuroscience and the Minor program in Psychology will be admitted as space permits." +PSYC53H3,NAT_SCI,,"An exploration of how the brain supports different forms of memory, drawing on evidence from electrophysiological, patient neuropsychological and neuroimaging research. Topics include short-term working memory, general knowledge of the world (semantic memory), implicit memory, and memory for personally experienced events (episodic memory).",PSYB57H3,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY372H,Cognitive Neuroscience of Memory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Major program in Neuroscience and the Minor program in Psychology will be admitted as space permits." +PSYC54H3,NAT_SCI,,"This course provides an overview of the cognitive and neural processes that underlie humans’ auditory abilities. Core topics include psychoacoustics, the auditory cortex and its interconnectedness to other brain structures, auditory scene analysis, as well as special topics such as auditory disorders. Insights into these different topics will be provided from research using behavioural, neuroimaging, computational, and neuropsychological techniques.",,[PSYB51H3 or PSYB55H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Auditory Cognitive Neuroscience,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Major program in Neuroscience and the Minor program in Psychology will be admitted as space permits." +PSYC56H3,NAT_SCI,,"Studies the perceptual and cognitive processing involved in musical perception and performance. This class acquaints students with the basic concepts and issues involved in the understanding of musical passages. Topics will include discussion of the physical and psychological dimensions of sound, elementary music theory, pitch perception and melodic organization, the perception of rhythm and time, musical memory, musical performance, and emotion and meaning in music.",,[PSYB51H3 or PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Music Cognition,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC57H3,NAT_SCI,,"This course will introduce students to current understanding, and ongoing debates, about how the brain makes both simple and complex decisions. Findings from single-cell neurophysiology, functional neuroimaging, and computational modeling will be used to illuminate fundamental aspects of choice, including reward prediction, value representation, action selection, and self-control.",PSYB03H3,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Cognitive Neuroscience of Decision Making,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology and Major program in Neuroscience will be admitted as space permits." +PSYC59H3,NAT_SCI,,"This course provides an overview of the cognitive and neural processes and representations that underlie language abilities. Core topics include first language acquisition, second language acquisition and bilingualism, speech comprehension, and reading. Insights into these different abilities will be provided from research using behavioural, neuroimaging, computational, and neuropsychological techniques.",,[PSYB51H3 or PSYB57H3] and PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Cognitive Neuroscience of Language,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Specialist/Specialist Co-op program in Psycholinguistics, the Major program in Neuroscience, and the Minor program in Psychology will be admitted as space permits." +PSYC62H3,NAT_SCI,,"An examination of behavioural and neurobiological mechanisms underlying the phenomenon of drug dependence. Topics will include principles of behavioural pharmacology and pharmacokinetics, neurobiological mechanisms of drug action, and psychotropic drug classification. In addition, concepts of physical and psychological dependence, tolerance, sensitization, and reinforcement and aversion will also be covered.",,[PSYB64H3 or PSYB55H3 or NROB60H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY396H, PCL475Y, PCL200H1",Drugs and the Brain,,"Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology, Mental Health Studies, and Neuroscience. Students in the Minor program in Psychology will be admitted as space permits." +PSYC70H3,SOCIAL_SCI,University-Based Experience,"The course focuses on methodological skills integral to becoming a producer of psychological research. Students will learn how to identify knowledge gaps in the literature, to use conceptual models to visualize hypothetical relationships, to select a research design most appropriate for their questions, and to interpret more complex patterns of data.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Advanced Research Methods Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, and Neuroscience (Cognitive stream), and the Specialist Co-op program in Neuroscience (Stage 1). Students in the Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits." +PSYC71H3,SOCIAL_SCI,University-Based Experience,"Introduces conceptual and practical issues concerning research in social psychology, and provides experience with several different types of research. This course is designed to consider in depth various research approaches used in social psychology (such as attitude questionnaires, observational methods for studying ongoing social interaction). Discussion and laboratory work.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYC02H3 and PSYC70H3,"PSY329H, (PSYC11H3)",Social Psychology Laboratory,,Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits. +PSYC72H3,SOCIAL_SCI,University-Based Experience,"This course introduces conceptual and practical issues concerning research in developmental psychology. Developmental psychology focuses on the process of change within and across different phases of the life-span. Reflecting the broad range of topics in this area, there are diverse research methods, including techniques for studying infant behaviour as well as procedures for studying development in children, adolescents, and adults. This course will cover a representative sample of some of these approaches.",,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYC02H3 and PSYC70H3,"PSY319H, (PSYC26H3)",Developmental Psychology Laboratory,,Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits. +PSYC73H3,SOCIAL_SCI,University-Based Experience,"A widespread survey on techniques derived from clinical psychology interventions and wellness and resilience research paired with the applied practice and implementation of those techniques designed specifically for students in the Specialist (Co-op) program in Mental Health Studies. Students will attend a lecture reviewing the research and details of each technique/topic. The laboratory component will consist of interactive, hands-on experience in close group settings with a number of techniques related to emotion, stress, wellness, and resilience. These are specifically tailored for university student populations.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Wellness and Resilience Laboratory,PSYC02H3,Restricted to students in the Specialist Co-op program in Mental Health Studies. +PSYC74H3,NAT_SCI,University-Based Experience,"In this course students will be introduced to the study of human movement across a range of topics (e.g., eye- movements, balance, and walking), and will have the opportunity to collect and analyze human movement data. Additional topics include basic aspects of experimental designs, data analysis and interpretation of such data.",PSYC02H3 and PSYC70H3,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Human Movement Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience (Systems/Behavioural stream), followed by students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits." +PSYC75H3,NAT_SCI,University-Based Experience,"This course introduces conceptual and practical issues concerning research in cognitive psychology. Students will be introduced to current research methods through a series of practical exercises conducted on computers. By the end of the course, students will be able to program experiments, manipulate data files, and conduct basic data analyses.",PSYC08H3,[PSYB07H3 or STAB22H3 or STAB23H3] and [PSYB51H3 or PSYB55H3 or PSYB57H3] and PSYC02H3 and PSYC70H3,PSY379H,Cognitive Psychology Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience (Cognitive stream), followed by students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits." +PSYC76H3,NAT_SCI,University-Based Experience,"The course introduces brain imaging techniques, focusing on techniques such as high-density electroencephalography (EEG) and transcranial magnetic stimulation (TMS), together with magnet-resonance-imaging-based neuronavigation. Furthermore, the course will introduce eye movement recordings as a behavioural measure often co-registered in imaging studies. Students will learn core principles of experimental designs, data analysis and interpretation in a hands-on manner.",,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYC02H3 and PSYC70H3,(PSYC04H3),Brain Imaging Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience (Cognitive stream), followed by students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits." +PSYC81H3,SOCIAL_SCI,,"This course will introduce students to a variety of topics in psychology as they relate to climate change and the psychological study of sustainable human behaviour. Topics covered will include the threats of a changing environment to mental health and wellbeing; the development of coping mechanisms and resilience for individuals and communities affected negatively by climate change and a changing environment; perceptions of risk, and how beliefs and attitudes are developed, maintained, and updated; effective principles for communicating about climate change and sustainable behaviour; how social identity affects experiences and perceptions of a changing environment; empirically validated methods for promoting pro-environmental behaviour; and how, when required, we can best motivate people to action.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 additional credits at the B-level in PSY courses],(PSYC58H3) if taken in Winter 2022 or Winter 2023,Psychology for Sustainability,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC85H3,HIS_PHIL_CUL,Partnership-Based Experience,"A survey of developments in Western philosophy and science which influenced the emergence of modern psychology in the second half of the Nineteenth Century. Three basic problems are considered: mind-body, epistemology (science of knowledge), and behaviour/motivation/ethics. We begin with the ancient Greek philosophers, and then consider the contributions of European scholars from the Fifteenth through Nineteenth Centuries. Twentieth Century schools are discussed including: psychoanalysis, functionalism, structuralism, gestalt, behaviourism, and phenomenology.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [1.0 additional credit at the B-level in PSY courses],PSY450H,History of Psychology,,Priority will be given to third- and fourth-year students in the Specialist/Specialist Co-op programs in Psychology and Mental Health Studies. Third- and fourth-year students in the Major programs in Psychology and Mental Health Studies will be admitted as space permits. +PSYC86H3,SOCIAL_SCI,,"The concept of the unconscious mind has been integral to our understanding of human behavior ever since Freud introduced the concept in 1915. In this course, we will survey the history of the concept of the unconscious and discuss contemporary theory and research into the nature of the unconscious. Topics such as implicit cognition, non-conscious learning, decision-making, and measurement of non- conscious processes will be discussed from social, cognitive, clinical, and neuroscience perspectives. We will explore the applications and implications of such current research on the unconscious mind for individuals, culture, and society.",,PSYB32H3 and [PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,The Unconscious Mind,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC87H3,SOCIAL_SCI,,"This course is designed for students interested in understanding the psychological influences on financial decision making, as well as the interplay between macroeconomic forces and psychological processes. Starting with a psychological and historical exploration of money's evolution, the course covers a wide range of topics. These include the impact of economic conditions like inflation and inequality on well-being, the psychology of household financial behaviours, including financial literacy and debt management, and the motivations affecting investment choices. The course also examines marketing psychology, the influence of money on interpersonal relationships, and the psychology of charitable giving. Finally, it investigates the psychological implications of emerging financial technologies.",,[PSYB10H3 or PSYB30H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Psychology and Money,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits. +PSYC90H3,,University-Based Experience,"An intensive research project intended to provide laboratory/field experience in data collection and analysis. The project must be completed over 2 consecutive terms. These courses provide an opportunity to engage in research in an area after completing basic coverage in regularly scheduled courses. The student must demonstrate a background adequate for the project proposed and should present a clear rationale to prospective supervisors. Regular consultation with the supervisor is necessary, and extensive data collection and analysis will be required. Such a project will culminate in a written research report. Students must first find a supervisor before the start of the academic term in which the project will be initiated. They must then obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and returned to the Psychology Office. Students seeking supervision off campus are further advised to check the appropriateness of the proposed advisor with the Program Supervisor. If the proposed supervisor is not appointed to the Psychology faculty at UTSC then a secondary advisor, that is appointed at UTSC, will be required.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [2.0 additional PSY credits] and permission of the proposed supervisor. Normally students need a cumulative GPA of at least 2.7 for permission to be granted.,"(COGC91H3), NROC90H3, PSY303H, PSY304H",Supervised Study in Psychology,, +PSYC93H3,,University-Based Experience,"An intensive research project intended to provide laboratory/field experience in data collection and analysis. The project must be completed over 2 consecutive terms. These courses provide an opportunity to engage in research in an area after completing basic coverage in regularly scheduled courses. The student must demonstrate a background adequate for the project proposed and should present a clear rationale to prospective supervisors. Regular consultation with the supervisor is necessary, and extensive data collection and analysis will be required. Such a project will culminate in a written research report. Students must first find a supervisor before the start of the academic term in which the project will be initiated. They must then obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and returned to the Psychology Office. Students seeking supervision off campus are further advised to check the appropriateness of the proposed advisor with the Program Supervisor. If the proposed supervisor is not appointed to the Psychology faculty at UTSC then a secondary advisor, that is appointed at UTSC, will be required.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [2.0 additional PSY credits] and permission of the proposed supervisor. Normally students need a cumulative GPA of at least 2.7 for permission to be granted.,"(COGC92H3), NROC93H3, PSY303H, PSY304H",Supervised Study in Psychology,, +PSYD10H3,SOCIAL_SCI,University-Based Experience,"This course examines the applications of social psychological theory and research to understand and address social issues that affect communities. In doing so the course bridges knowledge from the areas of social psychology and community psychology. In the process, students will have the opportunity to gain a deeper understanding of how theories and research in social psychology can be used to explain everyday life, community issues, and societal needs and how, reciprocally, real-life issues can serve to guide the direction of social psychological theories and research.",,PSYB10H3 and [0.5 credit at the C-level from PSY courses in the 10-series or 30-series] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSYD15H3 (if taken in Spring or Fall 2019),Community and Applied Social Psychology,, +PSYD13H3,SOCIAL_SCI,,"This seminar offers an in depth introduction to the recent scientific literature on how humans manage and control their emotions (emotion regulation). We will explore why, and how, people regulate emotions, how emotion regulation differs across individuals and cultures, and the influence that emotion regulation has upon mental, physical, and social well-being.",,PSYB10H3 and [PSYC13H3 or PSYC18H3 or PSYC19H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSYD15H3 if taken in Winter 2017,The Psychology of Emotion Regulation,,Priority enrolment will be given to students who have completed PSYC18H3 +PSYD14H3,SOCIAL_SCI,,"This course provides an in-depth introduction to the field of moral psychology. In recent years there has been a resurgence of interest in the science of human morality; the goal of this course is to offer an introduction to the research in this field. The course will incorporate perspectives from a variety of disciplines including philosophy, animal behaviour, neuroscience, economics, and almost every area of scientific psychology (social psychology, developmental psychology, evolutionary psychology, and cognitive psychology). By the end of the course students will be well versed in the primary issues and debates involved in the scientific study of morality.",PSYC08H3,PSYB10H3 and [PSYC12H3 or PSYC13H3 or PSYC14H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSYD15H3 if taken in Fall 2015,Psychology of Morality,, +PSYD15H3,SOCIAL_SCI,,An intensive examination of selected issues and research problems in social psychology.,,PSYB10H3 and [an additional 0.5 credit from the PSYC10-series of courses] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY326H, PSY420H",Current Topics in Social Psychology,, +PSYD16H3,SOCIAL_SCI,,"The development of social psychology is examined both as a discipline (its phenomena, theory, and methods) and as a profession. The Natural and Human Science approaches to phenomena are contrasted. Students are taught to observe the lived-world, choose a social phenomenon of interest to them, and then interview people who describe episodes from their lives in which these phenomena occurred. The students interpret these episodes and develop theories to account for their phenomena before searching for scholarly research on the topic.",PSYC12H3 or PSYC71H3,PSYB10H3 and [0.5 credit at the C-level in PSY courses] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY420H,Critical Analysis in Social Psychology,, +PSYD17H3,NAT_SCI,,"This course investigates how linking theory and evidence from psychology, neuroscience, and biology can aid in understanding important social behaviors. Students will learn to identify, critique, and apply cutting-edge research findings to current real-world social issues (e.g., prejudice, politics, moral and criminal behavior, stress and health).",[PSYC13H3 or PSYC57H3] and [(PSYB01H3) or (PSYB04H3) or PSYB70H3],[PSYB55H3 or PSYB64H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and [0.5 credit from the PSYC10- series or PSYC50-series courses],PSY473H,Social Neuroscience,, +PSYD18H3,SOCIAL_SCI,,"This course focuses on theory and research pertaining to gender and gender roles. The social psychological and social-developmental research literature concerning gender differences will be critically examined. Other topics also will be considered, such as gender-role socialization.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [1.0 credit at the C-level in PSY courses],PSY323H,Psychology of Gender,, +PSYD19H3,SOCIAL_SCI,,"How can we break bad habits? How can we start healthy habits? This course will explore the science of behaviour change, examining how to go from where you are to where you want to be. Students will learn core knowledge of the field of behaviour change from psychology and behavioural economics. Topics include goal setting and goal pursuit, self- regulation, motivation, dealing with temptations, nudges, and habits. Students will read primary sources and learn how to critically evaluate research and scientific claims. Critically, students will not only learn theory but will be instructed on how to apply what they learn in class to their everyday lives where students work on improving their own habits.",PSYC19H3,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit from the PSYC10-series or PSYC30H3 or PSYC50H3],,The Science of Behaviour Change,, +PSYD20H3,SOCIAL_SCI,,"An intensive examination of selected issues and research problems in developmental psychology. The specific content will vary from year to year with the interests of both instructor and students. Lectures, discussions, and oral presentations by students.",,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSY410H,Current Topics in Developmental Psychology,, +PSYD22H3,SOCIAL_SCI,,"The processes by which an individual becomes a member of a particular social system (or systems). The course examines both the content of socialization (e.g., development of specific social behaviours) and the context in which it occurs (e.g., family, peer group, etc.). Material will be drawn from both social and developmental psychology.",,PSYB10H3 and PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],"PSY311H, PSY410H",Socialization Processes,, +PSYD23H3,SOCIAL_SCI,,"Mutual recognition is one of the hallmarks of human consciousness and psychological development. This course explores mutual recognition as a dyadic and regulatory process in development, drawing on diverse theories from developmental science, social psychology, neuroscience, philosophy, literature, psychoanalysis, and gender studies.",,[PSYC13H3 or PSYC18H3 or PSYC23H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Dyadic Processes in Psychological Development,, +PSYD24H3,NAT_SCI,,"An in-depth examination of aspects related to perceptual and motor development in infancy and childhood. The topics to be covered will be drawn from basic components of visual and auditory perception, multisensory integration, and motor control, including reaching, posture, and walking. Each week, students will read a set of experimental reports, and will discuss these readings in class. The format of this course is seminar-discussion.",,[PSYB20H3 or PLIC24H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSY410H,"Seeing, Hearing, and Moving in Children",, +PSYD28H3,SOCIAL_SCI,,"Humans’ abilities to reason and think about emotion (i.e., affective cognition) is highly sophisticated. Even with limited information, humans can predict whether someone will feel amused, excited, or moved, or whether they will feel embarrassed, disappointed, or furious. How do humans acquire these abilities? This course will delve into the development of affective cognition in infancy and childhood. Topics include infants’ and children’s abilities to infer, predict, and explain emotions, the influence of family and culture in these developmental processes, and atypical development of affective cognition. Through reading classic and contemporary papers, presenting and discussing current topics, and proposing novel ideas in this research domain, students will gain an in-depth understanding of the fundamental aspects of affective cognition over the course of development.",PSYC18H3 or PSYC28H3,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],,The Development of Affective Cognition,,Priority will be given to fourth-year students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Third-year students in these programs will be admitted as space permits. +PSYD30H3,SOCIAL_SCI,,An intensive examination of selected issues and research problems in personality psychology. The specific content will vary from year to year.,PSYC30H3/(PSYC35H3),PSYB30H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY430H,Current Topics in Personality Psychology,, +PSYD31H3,SOCIAL_SCI,,"This course provides an in-depth introduction to the field of cultural-clinical psychology. We examine theoretical and empirical advances in understanding the complex interplay between culture and mental health, focusing on implications for the study and treatment of psychopathology. Topics include cultural variations in the experience and expression of mental illness.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSYD33H3 (if taken in Fall 2013/2014/2015 or Summer 2014/2015),Cultural-Clinical Psychology,, +PSYD32H3,SOCIAL_SCI,,"This course reviews the latest research on the causes, longitudinal development, assessment, and treatment of personality disorders. Students will learn the history of personality disorders and approaches to conceptualizing personality pathology. Topics covered include “schizophrenia- spectrum” personality disorders, biological approaches to psychopathy, and dialectical behaviour therapy for borderline personality disorder.",,PSYB30H3 and PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSY430H,Personality Disorders,, +PSYD33H3,SOCIAL_SCI,,An intensive examination of selected issues and research problems in abnormal psychology. The specific content will vary from year to year.,,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSY440H,Current Topics in Clinical Psychology,, +PSYD35H3,NAT_SCI,,"This course reviews the psychopharmacological strategies used for addressing a variety of mental health conditions including anxiety, depression, psychosis, impulsivity, and dementia. It will also address the effects of psychotropic drugs on patients or clients referred to mental health professionals for intellectual, neuropsychological and personality testing. Limitations of pharmacotherapy and its combinations with psychotherapy will be discussed.",,PSYB55H4 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and PSYC62H3,,Clinical Psychopharmacology,,Restricted to students in the Mental Health Studies programs. +PSYD37H3,SOCIAL_SCI,,"This course is an opportunity to explore how social practices and ideas contribute to the ways in which society, families and individuals are affected by mental health and mental illness.",,10.0 credits completed and enrolment in the Combined BSc in Mental Health Studies/Masters of Social Work or Specialist/Specialist-Co-op programs in Mental Health Studies,,Social Context of Mental Health and Illness,, +PSYD39H3,SOCIAL_SCI,,"This course provides an in-depth exploration of cognitive behavioural therapies (CBT) for psychological disorders. Topics covered include historical and theoretical foundations of CBT, its empirical evidence base and putative mechanisms of change, and a critical review of contemporary clinical applications and protocols.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and PSYC36H3,,Cognitive Behavioural Therapy,, +PSYD50H3,NAT_SCI,,An intensive examination of selected topics. The specific content will vary from year to year.,,[PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],"PSY470H, PSY471H",Current Topics in Memory and Cognition,,Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology and Neuroscience (Cognitive stream.) Students in the Specialist/Specialist Co-op programs in Mental Health Studies and the Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits. +PSYD51H3,NAT_SCI,,"This course provides an intensive examination of selected topics in recent research on perception. Topics may include research in vision, action, touch, hearing and multisensory integration. Selected readings will cover psychological and neuropsychological findings, neurophysiological results, synaesthesia and an introduction to the Bayesian mechanisms of multisensory integration.",,PSYB51H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [[0.5 credit from the PSYC50-series of courses] or NROC64H3],PSYD54H3,Current Topics in Perception,, +PSYD52H3,NAT_SCI,University-Based Experience,"This course provides an overview of neural-network models of perception, memory, language, knowledge representation, and higher-order cognition. The course consists of lectures and a lab component. Lectures will cover the theory behind the models and their application to specific empirical domains. Labs will provide hands-on experience running and analyzing simulation models.",[PSYB03H3 or CSCA08H3 or CSCA20H3] and [MATA23H3 and [MATA29H3 or MATA30H3]],[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY 50-series courses],,Neural Network Models of Cognition Laboratory,, +PSYD54H3,NAT_SCI,,"The course provides an intensive examination of selected topics in the research of visual recognition. Multiple components of recognition, as related to perception, memory and higher-level cognition, will be considered from an integrative psychological, neuroscientific and computational perspective. Specific topics include face recognition, visual word recognition and general object recognition.",,[PSYB51H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [[0.5 credit from the PSYC50-series of courses] or NROC64H3],"[PSYD50H3 if taken in Winter 2014, 2015 or 2016], PSYD51H3",Current Topics in Visual Recognition,, +PSYD55H3,NAT_SCI,University-Based Experience,"An in-depth study of functional magnetic resonance imaging (fMRI) as used in cognitive neuroscience, including an overview of MR physics, experimental design, and statistics, as well as hands-on experience of data processing and analysis.",PSYC76H3 or PSYC51H3 or PSYC52H3 or PSYC57H3 or PSYC59H3,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Functional Magnetic Resonance Imaging Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience (Cognitive stream), followed by students in the Specialist/Specialist Co-op programs in Psychology who have successfully completed PSYC76H3." +PSYD59H3,SOCIAL_SCI,,"This course takes a cognitive approach to understanding the initiation and perpetuation of gambling behaviours, with a particular interest in making links to relevant work in neuroscience, social psychology, and clinical psychology.",[PSYC10H3 or PSYC19H3 or PSYC50H3 or PSYC57H3],[PSYB32H3 or PSYB38H3] and [PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSYD50H3 if taken in any of the following sessions: Winter 2017, Summer 2017, Winter 2018, Summer 2018",Psychology of Gambling,, +PSYD62H3,NAT_SCI,,"This seminar course will focus on the brain bases of pleasure and reward and their role in human psychology. We will examine how different aspects of pleasure and reward are implemented in the human brain, and how they contribute to various psychological phenomena such as self-disclosure, attachment, altruism, humour, and specific forms of psychopathology.",,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credits from the NRO C-level courses or PSY 50-series C-level courses],NROD60H3 if taken in Fall 2021 or Fall 2022,Neuroscience of Pleasure and Reward,, +PSYD66H3,NAT_SCI,Partnership-Based Experience,"An extensive examination of selected topics in human brain and behaviour. The neural bases of mental functions such as language, learning, memory, emotion, motivation and addiction are examples of the topics that may be included.",,[PSYB55H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY or NRO courses],PSY490H,Current Topics in Human Brain and Behaviour,, +PSYD98Y3,,University-Based Experience,"This course offers the opportunity to engage in a year-long research project under the supervision of an interested member of the faculty in Psychology. The project will culminate in a written report in the form of a thesis and a poster presentation. During the course of the year, at appropriate times, students will meet to present their own research proposals, to appraise the proposals of others, and to discuss the results of their investigation. Students must first find a supervisor, which is usually confirmed before the start of the academic term in which the project will be initiated. Students will meet as a group with the coordinator as well as individually with their supervisor. This course is restricted to Majors and Specialists in Psychology and Mental Health Studies with a GPA of 3.3 or higher over the last 5.0 credit equivalents completed. Students planning to pursue graduate studies are especially encouraged to enroll in the course. Students must obtain a permission form from the Department of Psychology website that is to be completed and signed by the intended supervisor and submitted to the Psychology Office. Students seeking supervision off campus will need to arrange co-supervision with a faculty member in Psychology at this campus.",,"PSYC02H3 and [PSYC08H3 or PSYC09H3] and PSYC70H3 and [enrollment in the Specialist Co-op, Specialist, or Major Program in Psychology or Mental Health Studies] and [GPA of 3.3 or higher over the last 5.0 credit equivalents completed] and permission of the proposed supervisor.","NROD98Y3, (COGD10H3), PSY400Y",Thesis in Psychology,, +RLGA01H3,HIS_PHIL_CUL,,"An introduction to major religious traditions of the world. This course emphasizes the history, beliefs, practices and writings of Hinduism, Jainism, Sikhism, Buddhism, Confucianism, Taoism, and Shinto.",,,(HUMB04H3),World Religions I,, +RLGA02H3,HIS_PHIL_CUL,,"An introduction to major religious traditions of the world. This course emphasizes the history, beliefs, practices and writings of Judaism, Christianity and Islam.",,,(HUMB03H3),World Religions II,, +RLGB02H3,HIS_PHIL_CUL,,Critical comparative study of the major Indian religious traditions.,,,,Living Religions: Rituals and Experiences,, +RLGB10H3,HIS_PHIL_CUL,,"An introduction to the academic study of religion, with special attention to method and theory.",,,,Introduction to the Study of Religion,, +RLGC05H3,HIS_PHIL_CUL,,"An exploration of the origins, content, interpretation, and significance of the Qur'an, with a particular emphasis on its relationship to the scriptural tradition of the Abrahamic faiths. No knowledge of Arabic is required.",,RLGA02H3 or (RLGB01H3) or (HUMB03H3),"RLG351H, NMC285H, (HUMC17H3)",The Qur'an in Interpretive and Historical Context,, +RLGC06H3,HIS_PHIL_CUL,,"Comparative study of the Madhyamaka and Yogacara traditions, and doctrines such as emptiness (sunyata), Buddha-nature (tathagatagarbha), cognitive-representation only (vijnaptimatrata), the three natures (trisvabhava).",,RLGA01H3 or (HUMB04H3),EAS368Y,Saints and Mystics in Buddhism,, +RLGC07H3,HIS_PHIL_CUL,,"Buddhism is a response to what is fundamentally an ethical problem - the perennial problem of the best kind of life for us to lead. Gotama was driven to seek the solution to this problem and the associated ethical issues it raises. This course discusses the aspects of sila, ethics and psychology, nirvana; ethics in Mahayana; Buddhism, utilitarianism, and Aristotle.",,RLGA01H3 or (HUMB04H3) or (PHLB42H3),"NEW214Y, (PHLC40H3)",Topics in Buddhist Philosophy: Buddhist Ethics,, +RLGC09H3,HIS_PHIL_CUL,,"The course examines the development of Islam in the contexts of Asian religions and cultures, and the portrayal of the Muslim world in Asian popular culture.",RLGC05H3,RLGA01H3 or (HUMB04H3),,Islam in Asia,, +RLGC10H3,HIS_PHIL_CUL,,An examination of Hinduism in its contemporary diasporic and transnational modes in South Asia. Attention is also paid to the development of Hinduism in the context of colonialism.,RLGB02H3,RLGA01H3 or (HUMB04H3),,Hinduism in South Asia and the Diaspora,, +RLGC13H3,HIS_PHIL_CUL,,"Philosophical, anthropological, historical, and linguistic discussions about language use in a variety of religious contexts. The course examines the function of language through an analysis of its use in both oral and written form.",,"Any 5 full credits, including RLGA01H3 or RLGA02H3 or RLGB10H3",,Religious Diversity in Speech and Text,, +RLGC14H3,SOCIAL_SCI,,"The course cultivates an appreciation of the global perspective of religions in the contemporary world and how religious frameworks of interpretation interact with modern social and political realities. It provides a viewpoint of religion through ideas and issues related to globalization, syncretism, and modernity.",,"Any 5 full credits, including RLGA01H3 or RLGA02H3 or RLGB10H3",,Religion and Globalization: Continuities and Transformations,, +RLGC40H3,HIS_PHIL_CUL,,Intensive study of selected topics discussed in RLGA01H3 (World Religions I) that will vary with each offering of the course.,,2.0 full credits in RLG and permission of the instructor,(HUMC44H3),Selected Topics in the Study of Religion I,, +RLGC41H3,HIS_PHIL_CUL,,Intensive study of selected topics discussed in RLGA02H3 (World Religions II) that will vary with each offering of the course.,,2.0 full credits in RLG and permission of the instructor,(HUMC43H3),Selected Topics in the Study of Religion II,, +RLGD01H3,,,A student-initiated research project to be approved by the Department and supervised by one of the faculty members.,,2.0 full credits in RLG at the C-level and permission of the instructor,,Supervised Readings in the Study of Religion,, +RLGD02H3,,,"A seminar in which students have the opportunity, under the supervision of a member of the Religion faculty, to develop and present independent research projects focused around a set of texts, topics, and/or problems relevant to the study of religion.",,RLGB10H3 and 2 C-level courses in Religion,,Seminar in Religion,, +SOCA05H3,SOCIAL_SCI,,"Sociology focuses on explaining social patterns and how they impact individual lives. This course teaches students how to think sociologically, using empirical research methods and theories to make sense of society. Students will learn about the causes and consequences of inequalities, the ways in which our social worlds are constructed rather than natural, and the role of institutions in shaping our lives.",,,"(SOC101Y1), (SOCA01H3), (SOCA02H3), (SOCA03Y3)",The Sociological Imagination,, +SOCA06H3,SOCIAL_SCI,University-Based Experience,"This course explores real-world uses of Sociology, including the preparation Sociology provides for professional schools, and the advantages of Sociology training for serving communities, governments, and the voluntary and private sectors. This course focuses in particular on the unique skills Sociologists have, including data generation and interpretation, communication and analysis techniques, and the evaluation of social processes and outcomes.",,,,Sociology in the World: Careers and Applications,,Major and Specialist students will be given priority access to SOCA06H3. +SOCB05H3,QUANT,University-Based Experience,"This course introduces the logic of sociological research and surveys the major quantitative and qualitative methodologies. Students learn to evaluate the validity of research findings, develop research questions and select appropriate research designs.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and enrolment in a Sociology program] or [any 4.0 credits and enrolment in the Minor Critical Migration Studies] or [any 4.0 credits and enrolment in the Major Program in Public Law],"SOC150H1, (SOC200H5), (SOC200Y5), SOC221H5, (SOCB40H3), (SOCB41H3)",Logic of Social Inquiry,, +SOCB22H3,SOCIAL_SCI,,"This course examines gender as a sociological category that organizes and, at the same time, is organized by, micro and macro forces. By examining how gender intersects with race, ethnicity, class, sexuality, age, and other dimensions, we analyze the constitution and evolution of gendered ideology and practice.",,[SOCA5H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [WSTA01H3 and WSTA03H3],,Sociology of Gender,, +SOCB26H3,SOCIAL_SCI,,"This course offers a sociological perspective on a familiar experience: attending school. It examines the stated and hidden purposes of schooling; explores how learning in schools is organized; evaluates the drop-out problem; the determinants of educational success and failure; and, it looks at connections between school and work.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)],,Sociology of Education,, +SOCB28H3,SOCIAL_SCI,,This course will engage evidence-based sociological findings that are often related to how individuals make decisions in everyday life. Special attention will be paid to how empirical findings in sociology are used as evidence in different social contexts and decision making processes. The course should enable students to make direct connections between the insights of sociology and their own lives.,,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)],,Sociological Evidence for Everyday Life,, +SOCB30H3,SOCIAL_SCI,,"An examination of power in its social context. Specific attention is devoted to how and under what conditions power is exercised, reproduced and transformed, as well as the social relations of domination, oppression, resistance and solidarity. Selected topics may include: nations, states, parties, institutions, citizenship, and social movements.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)],"SOC260H1, SOC335H5",Political Sociology,, +SOCB35H3,QUANT,,"This course introduces the basic concepts and assumptions of quantitative reasoning, with a focus on using modern data science techniques and real-world data to answer key questions in sociology. It examines how numbers, counting, and statistics produce expertise, authority, and the social categories through which we define social reality. This course avoids advanced mathematical concepts and proofs.",,,,Numeracy and Society,[SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] or [any 4.0 credits and enrolment in the Major Program in Public Law] or enrolment in the Certificate in Computational Social Science., +SOCB37H3,SOCIAL_SCI,University-Based Experience,"This course offers a sociological account of economic phenomena. The central focus is to examine how economic activities are shaped, facilitated, or even impeded by cultural values and social relations, and show that economic life cannot be fully understood outside of its social context. The course will focus on economic activities of production, consumption, and exchange in a wide range of settings including labor and financial markets, corporations, household and intimate economies, informal and illegal economies, and markets of human goods.",,"[SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] or [any 4.0 credits and enrolment in the Minor in Culture, Creativity, and Cities]",,"Economy, Culture, and Society",, +SOCB40H3,,,"This course builds on SOCA05H3 through a deep engagement with 4-5 significant new publications in Sociology, typically books by department faculty and visiting scholars. By developing reading and writing skills through a variety of assignments, and participating in classroom visits with the researchers who produced the publications, students will learn to ""think like a sociologist."" Possible topics covered include culture, gender, health, immigration/race/ethnicity, political sociology, social networks, theory, sociology of crime and law, and work/stratification/markets.",,[SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]],SOC230H5,Thinking Like a Sociologist,, +SOCB42H3,HIS_PHIL_CUL,,"This course examines a group of theorists whose work provided key intellectual resources for articulating the basic concepts and tasks of sociology. Central topics include: the consequences of the division of labour, sources and dynamics of class conflict in commercial societies, the social effects of industrial production, the causes and directions of social progress, the foundations of feminism, linkages between belief systems and social structures, and the promises and pathologies of democratic societies.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and enrolment in a Sociology program,"SOC201H1, (SOC203Y1), SOC231H5",Theory I: Discovering the Social,, +SOCB43H3,HIS_PHIL_CUL,,This course studies a group of writers who in the early 20th century were pivotal in theoretically grounding sociology as a scientific discipline. Central topics include: the types and sources of social authority; the genesis and ethos of capitalism; the moral consequences of the division of labour; the nature of social facts; the origins of collective moral values; the relationship between social theory and social reform; the nature of social problems and the personal experience of being perceived as a social problem; the formal features of association; the social function of conflict; the social and personal consequences of urbanization.,,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and SOCB42H3 and enrolment in a Sociology program,(SOC203Y1),Theory II: Big Ideas in Sociology,, +SOCB44H3,SOCIAL_SCI,,"A theoretical and empirical examination of the processes of urbanization and suburbanization. Considers classic and contemporary approaches to the ecology and social organization of the pre-industrial, industrial, corporate and postmodern cities.",,"[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Minor in Culture, Creativity, and Cities, or the Major/Major Co-op in City Studies]","(SOC205Y1), SOC205H1",Sociology of Cities and Urban Life,, +SOCB47H3,SOCIAL_SCI,Partnership-Based Experience,"A sociological examination of the ways in which individuals and groups have been differentiated and ranked historically and cross-culturally. Systems of differentiation and devaluation examined may include gender, race, ethnicity, class, sexual orientation, citizenship/legal status, and ability/disability.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Major/Major Co-op in Public Policy],SOC301Y,Social Inequality,, +SOCB49H3,SOCIAL_SCI,University-Based Experience,"This course explores the family as a social institution, which shapes and at the same time is shaped by, the society in North America. Specific attention will be paid to family patterns in relation to class, gender, and racial/ethnic stratifications. Selected focuses include: socialization; courtship; heterosexual, gay and lesbian relations; gender division of labour; immigrant families; childbearing and childrearing; divorce; domestic violence; elderly care.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [WSTA01H3 and WSTA03H3],SOC214Y,Sociology of Family,, +SOCB50H3,SOCIAL_SCI,,"This course explores how deviance and normality is constructed and contested in everyday life. The course revolves around the themes of sexuality, gender, poverty, race and intoxication. Particular attention will be paid to the role of official knowledge in policing social norms.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Major Program in Public Law],SOC212Y,Deviance and Normality I,, +SOCB53H3,SOCIAL_SCI,,"The course draws on a geographically varied set of case studies to consider both the historical development and contemporary state of the sociological field of race, racialization and ethnic relations.",,[SOCA05H3 or [SOCA01H3 and SOCA02H3] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Minor in Critical Migration Studies],SOC210Y,Race and Ethnicity,, +SOCB54H3,SOCIAL_SCI,,"Economic activity drives human society. This course explores the nature of work, how it is changing, and the impact of changes on the transition from youth to adult life. It also examines racism in the workplace, female labour force participation, and why we call some jobs 'professions', but not others.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)],"SOC207H1, (SOC207Y), SOC227H5, GGRD16H3",Sociology of Work,, +SOCB58H3,HIS_PHIL_CUL,,"An introduction to various ways that sociologists think about and study culture. Topics will include the cultural aspects of a wide range of social phenomena - including inequality, gender, economics, religion, and organizations. We will also discuss sociological approaches to studying the production, content, and audiences of the arts and media.",,"[SOCA05H3 or [(SOCA01H3 )and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Minor in Culture, Creativity, and Cities] or [IDSA01H3 and enrolment in the Specialist/Specialist Co- op/Major/Minor in International Development Studies (Arts)]","SOC220H5, SOC280H1, (SOCC18H3),",Sociology of Culture,, +SOCB59H3,SOCIAL_SCI,,"This course examines the character, authority, and processes of law in contemporary liberal democracies.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Major Program in Public Law],,Sociology of Law,, +SOCB60H3,SOCIAL_SCI,,"What are the causes and consequences of migration in today's world? This course will explore this question in two parts. First, we will examine how although people decide to migrate, they make these decisions under circumstances which are not of their own making. Then, we will focus specifically on the experiences of racialized and immigrant groups in Canada, with a particular focus on the repercussions of Black enslavement and ongoing settler- colonialism. As we explore these questions, we will also critically interrogate the primary response of the Canadian government to questions around racial and class inequality: multiculturalism. What is multiculturalism? Is it enough? Does it make matters worse? Students will come away from this course having critically thought about what types of social change would bring about a freer and more humane society.",,"[Completion of 1.0 credit from the following courses: [SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)], ANTA02H3, GGRA02H3, GASA01H3/HISA06H3, GASA02H3, HISA04H3, or HISA05H3] or [any 4.0 credits and enrolment in the Minor in Critical Migration Studies]",,Issues in Critical Migration Studies,,Priority will be given to students enrolled in the Minor in Critical Migration Studies. Additional students will be admitted as space permits. +SOCB70H3,SOCIAL_SCI,,"This course provides an introductory overview of the nature and causes of social change in contemporary societies. Topics covered include: changes in political ideology, cultural values, ethnic and sexual identities, religious affiliation, family formation, health, crime, social structure, and economic inequality.",,[SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] or [IDSA01H3 and enrolment in the Specialist/Specialist Co-op/Major/Minor in International Development Studies (Arts)],,Social Change,, +SOCC03H3,SOCIAL_SCI,,"The study of uninstitutionalized group behaviour - crowds, panics, crazes, riots and the genesis of social movements. This course has been designated an Applied Writing Skills Course.",,"SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Collective Behaviour,, +SOCC04H3,SOCIAL_SCI,University-Based Experience,"The development of an approach to social movements which includes the following: the origin of social movements, mobilization processes, the career of the movement and its routinization. The course readings will be closely related to the lectures, and a major concern will be to link the theoretical discussion with the concrete readings of movements.",SOCB22H3 or SOCB49H3,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Social Movements,, +SOCC09H3,SOCIAL_SCI,,"Explores the interaction of gender and work, both paid and unpaid work. Critically assesses some cases for central theoretical debates and recent research. Considers gender differences in occupational and income attainment, housework, the relation of work and family, gender and class solidarity, and the construction of gender identity through occupational roles.",SOCB22H3 or SOCB49H3,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits, including WSTB05H3 and enrolment in the Major program in Women's and Gender Studies]",SOC362H5,Sociology of Gender and Work,, +SOCC11H3,SOCIAL_SCI,,"This course examines the character of policing and security programs in advanced liberal democracies. Attention will be paid to the nature and enforcement of modern law by both state and private agents of order, as well as the dynamics of the institutions of the criminal justice system. This course has been designated an Applied Writing Skills Course.",,"[[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major Program in Public Law]","(SOC306Y1), SOC326H5",Policing and Security,, +SOCC15H3,SOCIAL_SCI,,"An upper level course that examines a number of critical issues and important themes in the sociological study of work. Topics covered will include: the changing nature and organization of work, precarious employment, different forms of worker organizing and mobilization, the professions, the transition from school to work.",SOCB54H3,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,"Work, Employment and Society",, +SOCC23H3,SOCIAL_SCI,University-Based Experience,"How do people navigate their everyday lives? Why do they do what they do? And how, as sociologists, can we draw meaningful conclusions about these processes and the larger, social world we live in? Qualitative research methods adhere to the interpretative paradigm. Sociologists use them to gain a richer understanding of the relationship between the minutiae of everyday life and larger societal patterns. This course will introduce students to the qualitative methods that social scientists rely on, while also providing them with hands-on experience carrying out their own research. This course has been designated an Applied Writing Skills Course.",,10.0 credits including [[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and SOCB05H3] and a cumulative GPA of at least 2.3,(SOCD23H3),Practicum in Qualitative Research Methods,, +SOCC24H3,SOCIAL_SCI,,"A theoretical and empirical examination of different forms of family and gender relations. Of special interest is the way in which the institution of the family produces and reflects gendered inequalities in society. Themes covered include changes and continuities in family and gender relations, micro-level dynamics and macro-level trends in family and gender, as well as the interplay of structure and agency. This course has been designated an Applied Writing Skills Course.",SOCB22H3 or SOCB49H3,"[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits, including WSTB05H3 and enrolment in the Major program in Women's and Gender Studies]",,Special Topics in Gender and Family,, +SOCC25H3,SOCIAL_SCI,University-Based Experience,"Why do people migrate and how do they decide where to go? How does a society determine which border crossers are ‘illegal’ and which are ‘legal’? Why are some people deemed ‘refugees’ while others are not? What consequences do labels like ‘deportee’, ‘immigrant,’ ‘refugee,’ or ‘trafficking victim’ have on the people who get assigned them? This course will examine these and other similar questions. We will explore how the politics of race, class, gender, sexuality and citizenship shape the ways that states make sense of and regulate different groups of migrants as well as how these regulatory processes affect im/migrants’ life opportunities.",SOCB22H3 or SOCB49H3,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB60H3 and an additional 8.0 credits and enrolment in the Minor program in Critical Migration Studies] or [IDSB07H3 and an additional 8.0 credits, and enrolment in the Specialist/Specialist Co-op Program/Major/Minor Program in International Development Studies (Arts)]",,"Ethnicity, Race and Migration",, +SOCC26H3,SOCIAL_SCI,,"A popular civic strategy in transforming post-industrial cities has been the deployment of culture and the arts as tools for urban regeneration. In this course, we analyze culture-led development both as political economy and as policy discourse. Topics include the creative city; spectacular consumption spaces; the re-use of historic buildings; cultural clustering and gentrification; eventful cities; and urban 'scenes'.",SOCB44H3,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities] or [ CITA01H3/(CITB02H3) and enrolment in the Major/Major Co-op in City Studies]",,Sociology of Urban Cultural Policies,, +SOCC27H3,SOCIAL_SCI,,"This course examines the political economy of suburban development, the myth and reality of suburbanism as a way of life, the working class suburb, the increasing diversity of suburban communities, suburbia and social exclusion, and the growth of contemporary suburban forms such as gated communities and lifestyle shopping malls.",SOCB22H3 or SOCB49H3,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities] or [CITA01H3/(CITB02H3) and enrolment in the Major/Major Co-op in City Studies]",,Sociology of Suburbs and Suburbanization,, +SOCC29H3,SOCIAL_SCI,,"In this course, students read and evaluate recent research related to the sociology of families and gender in the modern Middle East. The course explores the diversity of family forms and processes across time and space in this region, where kinship structures have in the past been characterized as static and uniformly patriarchal. Topics covered include marriage, the life course, family nucleation, the work-family nexus, divorce, family violence, and masculinities.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits, including WSTB05H3, and enrolment in the Major Program in Women's and Gender Studies] or [8.0 credits, including ASFB01H3, and enrolment in the Minor Program in African Studies] or [IDSA01H3 and additional 8.0 credits, and enrolment in the Specialist/Specialist Co-op/Major/Minor Program in International Development Studies (Arts)]",,Family and Gender in the Middle East,, +SOCC30H3,SOCIAL_SCI,,"The young figure prominently in people's views about, and fears of, crime. This course examines definitions of crime, how crime problems are constructed and measured. It looks at schools and the street as sites of criminal behaviour, and considers how we often react to crime in the form of moral panics. This course has been designated an Applied Writing Skills Course.",,"[[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major Program in Public Law]",,Criminal Behaviour,, +SOCC31H3,QUANT,University-Based Experience,"This course provides students with hands-on experience conducting quantitative research. Each student will design and carry out a research project using secondary data. Students will select their own research questions, review the relevant sociological literature, develop a research design, conduct statistical analyses and write up and present their findings. This course has been designated an Applied Writing Skills Course.",,"[10.0 credits, including [SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and SOCB05H3 and [SOCB35H3 or (SOCB06H3)]] and a cumulative GPA of at least 2.3",,Practicum in Quantitative Research Methods,, +SOCC32H3,SOCIAL_SCI,,"After 9/11, terrorism was labeled a global threat, fueling the war on terror and the adoption of extensive counterterrorism actions. These measures, however, often compromised human rights in the pursuit of national security goals. This course grapples with questions pertaining to terrorism, counterterrorism, and human rights in the age of security.",,"[SOCB05H3 and 0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3] or [IDSA01 and an additional 8.0 credits, and enrolment in the Specialist/Major Program in IDS] or [POLB80 and an additional 8.0 credits, and enrolment in the Specialist/Major Program in Political Science]",,Human Rights and Counterterrorism,, +SOCC34H3,SOCIAL_SCI,University-Based Experience,"Examines the relationship between contemporary modes of international migration and the formation of transnational social relations and social formations. Considers the impact of trans-nationalisms on families, communities, nation-states, etc. This course has been designated an Applied Writing Skills Course.",,"[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, IDSB01H3]] or [SOCB60H3 and an additional 8.0 credits and enrolment in the Minor in Critical Migration Studies] or [IDSA01H3 and an additional 8.0 credits, and enrolment in the Specialist/Specialist Co-op/Major Program in International Development Studies (Arts)]",,Migrations & Transnationalisms,, +SOCC37H3,SOCIAL_SCI,,"This course links studies in the classical sociology of resources and territory (as in the works of Harold Innis, S.D. Clark, and the Chicago School), with modern topics in ecology and environmentalism. The course will use empirical research and theoretical issues to explore the relationship between various social systems and their natural environments.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major/Major Co-op in Public Policy] or [any 8.0 credits and enrolment in the Major Program in Environmental Studies or the Certificate in Sustainability]",,Environment and Society,, +SOCC38H3,SOCIAL_SCI,,"An examination of a number of key issues in the sociology of education, focusing particularly upon gender and higher education.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits, including WSTB05H3 and enrolment in the Major in Women's and Gender Studies]",,Gender and Education,, +SOCC40H3,SOCIAL_SCI,,"This course surveys key topics in contemporary sociological theory. The development of sociological theory from the end of World War II to the late 1960's. Special attention is devoted to the perspectives of Functionalism, Conflict Theory and Symbolic Interactionism. This course has been designated an Applied Writing Skills Course.",,"SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",(SOCC05Y3),Contemporary Sociological Theory,, +SOCC44H3,SOCIAL_SCI,,"Provides an introduction to the emergence, organization and regulation of various media forms; social determinants and effects of media content; responses of media audiences; and other contemporary media issues.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities] or [IDSA01H3 and an additional 8.0 credits, and enrolment in the Specialist/Specialist Co-op in International Development Studies (Arts)]","(SOCB56H3), (SOCB57H3)",Media and Society,, +SOCC45H3,SOCIAL_SCI,,"This course examines youth as a social category, and how young people experience and shape societies. Topics include: youth and social inequality; social change and social movements, and youth and education.",,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Youth and Society,, +SOCC46H3,SOCIAL_SCI,,"The course covers various approaches to the study of law in society. Topics covered may include the interaction between law, legal, non-legal institutions and social factors, the social development of legal institutions, forms of social control, legal regulation, the interaction between legal cultures, the social construction of legal issues, legal profession, and the relation between law and social change.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major Program in Public Law]",,Special Topics in Sociology of Law,, +SOCC47H3,SOCIAL_SCI,University-Based Experience,"An introduction to organizational and economic sociology through the lens of creative industries. Students will be introduced to different theoretical paradigms in the study of organizations, industries, and fields. The course is divided into four major modules on creative industries: inequality and occupational careers; organizational structure and decision making under conditions of uncertainty; market and field-level effects; and distribution and promotion. This course has been designated an Applied Writing Skills Course.",,"[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits including SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities]",,Creative Industries,,"Priority will be given to students in the Specialist and Major programs in Sociology and the Minor in Culture, Creativity, and Cities." +SOCC49H3,SOCIAL_SCI,,"This course will examine the health and well-being of Indigenous peoples, given historic and contemporary issues. A critical examination of the social determinants of health, including the cultural, socioeconomic and political landscape, as well as the legacy of colonialism, will be emphasized. An overview of methodologies and ethical issues working with Indigenous communities in health research and developing programs and policies will be provided. The focus will be on the Canadian context, but students will be exposed to the issues of Indigenous peoples worldwide. Same as HLTC49H3",,"HLTB41H3 or [[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3 , SOCB42H3, SOCB43H3, SOCB47H3]]",HLTC49H3,Indigenous Health,, +SOCC50H3,SOCIAL_SCI,,"This course explores the social meaning and influence of religion in social life. As a set of beliefs, symbols and motivations, as well as a structural system, religion is multifaceted and organizes many aspects of our daily life. This course surveys key theoretical paradigms on the meaning of religion and the social implications of religious transformations across time. It takes up basic questions about how religion is shaped by various political, social, and economic forces.",,"SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Sociology of Religion,,"Priority will be given to students enrolled in the Specialist, Major and Minor programs in Sociology. Additional students will be admitted as space permits." +SOCC51H3,SOCIAL_SCI,,An examination of a current topic relevant to the study of health and society. The specific topic will vary from year to year. Same as HLTC51H3,,"HLTB41H3 or [[SOCB05H3 or SOCB35H3] and [0.5 from SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]]",HLTC51H3,Special Topics in Health and Society,,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. +SOCC52H3,SOCIAL_SCI,,"The course examines the relationship between the displacement and dispossession of Indigenous peoples and immigration in settler-colonial states. The focus is on Canada as a traditional country of immigration. Topics considered include historical and contemporary immigration and settlement processes, precarious forms of citizenship and noncitizenship, racism and racial exclusion, and the politics of treaty citizenship. Discussion puts the Canadian case in comparative perspective.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB60H3 and an additional 8.0 credits and enrolment in the Minor Program in Critical Migration Studies]",(SOCB52H3) and SOC210Y,"Immigration, Citizenship and Settler Colonialism",, +SOCC54H3,SOCIAL_SCI,,"Sociological analysis of the role of culture in societies is offered under this course. Topics may include the study of material cultures such as works of art, religious symbols, or styles of clothing, or non-material cultures such as the values, norms, rituals, and beliefs that orient action and social life.",,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Special Topics in Sociology of Culture,,Please see the Sociology Department website at http://www.utsc.utoronto.ca/~socsci/ for a listing of the course topics for current and upcoming semesters. +SOCC55H3,SOCIAL_SCI,,"This course addresses key concepts and debates in the research on race and ethnicity. Topics covered may include historical and global approaches to: assimilation, ethnic relations, intersectionality, racialization, and scientific racism.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB60H3 and an additional 8.0 credits and enrolment in the Minor in Critical Migration Studies]",,Special Topics in Race and Ethnicity,,Please see the Sociology Department website at http://www.utsc.utoronto.ca/~socsci/ for a listing of the course topics for current and upcoming semesters. +SOCC57H3,SOCIAL_SCI,,"This course examines how the three-axis of social stratification and inequality – race, gender, and class – shape economic activity in different settings – from labour markets to financial markets to consumer markets to dating markets to household economies to intimate economies to informal and illegal economies to markets of human goods.",,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,"Gender, Race, and Class in Economic Life",, +SOCC58H3,SOCIAL_SCI,University-Based Experience,"A sociological examination of contemporary global transformations including changing social, economic, and political conditions. Topics examined may include the shifting nature of state-society relations in a global context; the emergence of globally-integrated production, trade and financial systems; and the dynamics of local and transnational movements for global social change. This course has been designated as a Writing Skills course.",,"[SOCB05H3 and [1.0 credit from the following: SOCB42H3, SOCB43H3, SOCB47H3]] or [IDSA01H3 and an additional 8.0 credits and enrolment in the Specialist/Specialist Co-op/Major/Minor Program in International Development Studies (Arts)]",SOC236H5,"Global Transformations: Politics, Economy and Society",, +SOCC59H3,SOCIAL_SCI,,"Sociological analyses of stratification processes and the production of social inequality with a focus on economy and politics. Topics covered may include work and labour markets, the state and political processes. Attention is given to grassroots mobilization, social movements, and contestatory politics.",,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Special Topics in Social Inequality,,See the Sociology Department website for a listing of the course topics for current and upcoming semesters. +SOCC61H3,SOCIAL_SCI,Partnership-Based Experience,"The Truth and Reconciliation Commission of Canada is an historic process that now directs a core area of Canadian politics and governance. This course examines the institutional and legal history, precedents, contradictions and consequences of the commission from a sociological perspective.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major Program in Public Law]",,The Sociology of the Truth and Reconciliation Commission,, +SOCC70H3,SOCIAL_SCI,,"This course examines how quantitative models can be used to understand the social world with a focus on social inequality and social change. Students will learn the fundamentals of modern computational techniques and data analysis, including how to effectively communicate findings using narratives and visualizations. Topics covered include data wrangling, graphic design, regression analysis, interactive modelling, and categorical data analysis. Methods will be taught using real-world examples in sociology with an emphasis on understanding key concepts rather than mathematical formulas.",,"SOCB35H3 or [completion of 8.0 credits, including component 1 of the course requirements for the Certificate in Computational Social Science]",,Models of the Social World,, +SOCD01H3,SOCIAL_SCI,University-Based Experience,This course offers an in-depth examination of selected topics in Culture and Cities. Check the department website for more details. This course has been designated a Research Skills Course,,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB44H3, SOCB47H3, SOCB58H3]] or [10.0 credits including SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities]",,Advanced Seminar in Culture and Cities,,"Priority will be given to students enrolled in the Specialist and Major programs in Sociology, and the Minor program in Culture, Creativity, and Cities." +SOCD02H3,SOCIAL_SCI,Partnership-Based Experience,"The intensive international field school course is an experiential and land-based learning trip to Indigenous territories in Costa Rica, in order to learn about settler colonialism, Indigenous communities, and UNDRIP (the United Nations Declaration on the Rights of Indigenous Peoples). Students will learn with Indigenous Costa Rican university students and community partners in order to draw links between policy frameworks (UNDRIP), ideologies (colonialism) and the impacts on Indigenous communities (e.g. education, health, food security, language retention, land rights). The course involves 14-16 days of in-country travel. This course has been designated as a Research Skills course.",,"[10.0 credits, including SOCC61H3] and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, or SOCB47H3]",,Global Field School: Indigenous Costa Rica,,"Priority will be given to students enrolled in the Major or Specialist Programs in Sociology. Additional students will be admitted as space permits. This course requires students to register and fill out an application form. To request a SOCD02H3 course application form, please contact sociologyadvisor.utsc@utoronto.ca. This form is due one week after students enroll in the course. Enrolment Control: A Restricted to students in the sociology programs. Step 1: Request the course on ACORN. Your status will be INT. You will not be officially enrolled until you complete the remaining steps (below). Step 2: Request an application form from the program advisor at sociologyadvisor.utsc@utoronto.ca Step 3: Submit the application form by email to the program advisor at sociologyadvisor.utsc@utoronto.ca If you are approved for enrolment the department will arrange to have your course status on ACORN changed from interim (INT) to approved (APP). P = Priority, R = Restricted, A = Approval , E = Enrolment on ACORN is disabled" +SOCD05H3,SOCIAL_SCI,University-Based Experience,This course offers an in-depth examination of selected topics in Criminology and Sociology of Law. Check the department website for more details. This course has been designated a Research Skills Course,,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: [SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, SOCB50H3, (SOCB51H3)]] or [any 14.0 credits and enrolment in the Major Program in Public Law]",,Advanced Seminar in Criminology and Sociology of Law,,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits. +SOCD08H3,SOCIAL_SCI,,"This course charts the legal norms and social relations that, from the 1700s to the present, have turned land into a place and an idea called Scarborough. Students work with a diversity of sources and artifacts such as crown patents, government reports and Indigenous legal challenges, historical and contemporary maps and land surveys, family letters, historical plaques, and Indigenous artists’ original works to trace the conflicts and dialogues between Indigenous and settler place-making in Scarborough. This course has been designated a Research Skills Course.",,"10.0 credits, including SOCB05H3 and 1.0 credit from the following: [SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3] or one from the following: [POLC56H3, POLC52H3, GGRB18H3, POLD54H3]",,Scarborough Place-Making: Indigenous Sovereignty and Settler Landholding,,"Priority will be given to students enrolled in the Specialist, Major and Minor programs in Sociology, including the Critical Migration Studies Minor. Additional students will be admitted as space permits." +SOCD10H3,SOCIAL_SCI,,This course offers an in-depth examination of selected topics in Gender and Family. Check the department website for details at: www.utsc.utoronto.ca/sociology/programs.,,[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3 or SOCB42H3 or SOCB43H3 or SOCB47H3 or (SOCC39H3)]] or [8.0 credits [including WSTB05H3] and enrolment in the Major in Women's and Gender Studies],,Advanced Seminar in Gender and Family,,"Priority will be given to students enrolled in the Specialist and Major programs in Sociology, and Major in Women's and Gender Studies. Additional students will be admitted as space permits." +SOCD11H3,SOCIAL_SCI,Partnership-Based Experience,"This course provides an introduction to the field of program and policy evaluation. Evaluation plays an important role in evidence based decision making in all aspects of society. Students will gain insight into the theoretical, methodological, practical, and ethical aspects of evaluation across different settings. The relative strengths and weaknesses of various designs used in applied social research to examine programs and policies will be covered. Same as HLTD11H3",,"[[STAB22H3 or STAB23H3] and [0.5 credit from HLTC42H3, HLTC43H3, HLTC44H3] and [an additional 1.0 credit at the C-Level from courses from the Major/Major Co-op in Health Policy]] or [10.0 credits and [SOCB05H3 and SOCB35H3] and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, or SOCB47H3]]",HLTD11H3,Program and Policy Evaluation,, +SOCD12H3,SOCIAL_SCI,,"An examination of sociological approaches to the study of visual art. Topics include the social arrangements and institutional processes involved in producing, consecrating, distributing, and marketing art as well as artistic consumption practices.",,"[10.0 credits including: SOCB05H3, and [0.5 credit from the following: SOCB58H3, SOCC44H3, or SOCC47H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, or SOCB44H3]] or [any 10.0 credits including: SOCB58H3 and enrolment in the Minor program in Culture, Creativity and Cities].",,Sociology of Art,, +SOCD13H3,,University-Based Experience,"This is an advanced course on the sub-filed of economic sociology that focuses on money and finance. This course examines how cultural values and social relations shape money and finance in a variety of substantive settings, including the historical emergence of money as currency, the expansion of the financial system since the 1980s, financial markets, growing household involvement in the stock and credit market, and implications for social life (e.g., how credit scores shape dating).",SOCB35H3 and SOCB37H3,"10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, SOCB50H3, or (SOCB51H3)]",,Sociology of Finance,,"Priority will be given to students enrolled in the Specialist, Major, and Minor programs in Sociology. Additional students will be admitted as space permits." +SOCD15H3,SOCIAL_SCI,University-Based Experience,This course offers an in-depth examination of selected topics in Migration Studies. Students will be required to conduct independent research based on primary and/or secondary data sources. Check the department website for details at: www.utsc.utoronto.ca/sociology/programs.,,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB60H3 and enrolment in the Minor in Critical Migration Studies] or [10.0 credits including IDSB11H3 and enrolment in the Certificate in Global Development, Environment and Health]",,Advanced Seminar in Critical Migration Studies,,"Priority will be given first to students enrolled in the Minor in Critical Migration Studies, then to students in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits." +SOCD18H3,SOCIAL_SCI,,"This course examines the largest class action settlement in Canadian history: the Indian Residential School Settlement Agreement enacted in Canada in 2006. This analysis is framed within a 50 year history of reconciliation in Canada. Areas of study include the recent history of residential schools, the Royal Commission on Aboriginal Peoples report and the government response, and the establishment of the Aboriginal Healing Foundation.",,"10.0 credits including SOCB05H3 and [0.5 from the following: SOCB47H3, SOCC61H3]",,The History and Evolution of Reconciliation: The Indian Residential School Settlement,, +SOCD20H3,,University-Based Experience,This seminar examines the transformation and perpetuation of gender relations in contemporary Chinese societies. It pays specific attention to gender politics at the micro level and structural changes at the macro level through in-depth readings and research. Same as GASD20H3,GASB20H3 and GASC20H3,"[SOCB05H3 and 0.5 credit in SOC course at the C-level] or [GASA01H3 and GASA02H3 and 0.5 credit at the C-level from the options in requirement #2 of the Specialist or Major programs in Global Asia Studies] or [10.0 credits including IDSB11H3 and enrolment in the Certificate in Global Development, Environment and Health]",GASD20H3,Advanced Seminar: Social Change and Gender Relations in Chinese Societies,, +SOCD21H3,SOCIAL_SCI,University-Based Experience,"This course will teach students how to conduct in-depth, community-based research on the social, political, cultural and economic lives of immigrants. Students will learn how to conduct qualitative research including participant observation, semi-structured interviews and focus groups. Students will also gain valuable experience linking hands-on research to theoretical debates about migration, transnationalism and multicultural communities. Check the Department of Sociology website for more details.",,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, (SOCC39H3)]] or [SOCB60H3 and enrolment in the Minor Program in Critical Migration Studies] or [11.0 credits, including ASFB01H3, and enrolment in the Minor Program in African Studies]",,Immigrant Scarborough,,For a listing of the course topics for current and upcoming semesters check the Department's website at http://www.utsc.utoronto.ca/sociology/ +SOCD25H3,SOCIAL_SCI,University-Based Experience,"This course offers an in-depth examination of selected topics in Economy, Politics and Society. Check the department website for more details. This course has been designated a Research Skills Course",,"10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,"Advanced Seminar in Economy, Politics and Society",,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits. +SOCD30Y3,SOCIAL_SCI,,"This course is taught over two full terms. It offers an in-depth exploration of significant topics in community-based research including ethics, research design, collaborative data analysis and research relevance and dissemination. Students conduct independent community-engaged research with important experiential knowledge components. Check the Department of Sociology website for more details.",,[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3 or SOCB42H3 or SOCB43H3 or SOCB47H3 or (SOCC39H3)]] or [SOCB60H3 and enrolment in the Minor Program in Critical Migration Studies],,Special Topics in Community- Engaged Research,,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits. +SOCD32Y3,SOCIAL_SCI,,"This course is taught over two full terms. It offers students an opportunity to conduct research on an original research topic or as part of an ongoing faculty research project. Students will develop a research proposal, conduct independent research, analyze data and present findings. Check the Department of Sociology website for more details.",,"[10.0 credits, including (SOCB05H3) and (SOCB35H3)] and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Special Topics in the Practice of Research,,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits. +SOCD40H3,,University-Based Experience,"Independent research using field methods, survey analysis, library or archival research; regular supervision of data collection and analysis; final written research report. Intended for upper level students with well above average performance in sociology and whose interests or needs are not met by other sociology courses being offered.",,"15.0 credits, including: [SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)] and [SOCB35H3 or (SOCB06H3)] and [SOCB05H3 or [(SOCB40H3) and (SOCB41H3)]] and SOCB42H3 and SOCB43H3 and permission of the instructor and the Sociology Supervisor of Studies.",SOC390Y and SOC391H and SOC392H,Supervised Independent Research,, +SOCD41H3,,University-Based Experience,"Independent research using field methods, survey analysis, library or archival research; regular supervision of data collection and analysis; final written research report. Intended for upper level students with well above average performance in sociology and whose interests or needs are not met by other sociology courses being offered.",,"15.0 credits, including [SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] and [SOCB35H3 or (SOCB06H3)] and [SOCB05H3 or [(SOCB40H3) and (SOCB41H3)]] and SOCB42H3 and SOCB43H3 and permission of the instructor and the Sociology Supervisor of Studies.","SOC390Y, SOC391H, SOC392H",Supervised Independent Research,, +SOCD42H3,,,This course offers an in depth exploration of significant topics in contemporary and/or sociological theory. Check the department website for details at: www.utsc.utoronto.ca/sociology/programs.,,"10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Advanced Seminar in Sociological Theory,,For a listing of the course topics for current and upcoming semesters check the Department's website at http://www.utsc.utoronto.ca/sociology/ +SOCD44H3,,,Exploration of current debates and controversies surrounding recent scholarly developments in Sociology. Check the department website for details at: https://www.utsc.utoronto.ca/sociology/special-topics- advanced-seminars,,"10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Advanced Seminar on Issues in Contemporary Sociology,,For a listing of the course topics for current and upcoming semesters check the Department's website at http://www.utsc.utoronto.ca/sociology/ +SOCD50H3,SOCIAL_SCI,University-Based Experience,"This course presents students with the opportunity to integrate and apply their sociological knowledge and skills through conducting independent research. In a step-by-step process, each student will design and conduct an original research study. The course is especially suited for those students interested in pursuing graduate studies or professional careers involving research skills.",,"12.0 credits, including [SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] and SOCB05H3 and [SOCB35H3 or (SOCB06H3)] and [SOCC23H3 or SOCC31H3] and a cumulative GPA of at least 2.7",,Research Seminar: Realizing the Sociological Imagination,, +SOCD51H3,SOCIAL_SCI,University-Based Experience,"This course provides a hands-on learning experience with data collection, analysis, and dissemination on topics discussed in the Minor in Culture, Creativity, and Cities. It involves substantial group and individual-based learning, and may cover topics as diverse as the role of cultural fairs and festivals in the city of Toronto, the efficacy of arts organizations, current trends in local cultural labour markets, artistic markets inside and outside of the downtown core, food culture, and analysis of governmental datasets on arts participation in the city.",,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB44H3, SOCB47H3, SOCB58H3]] or [10.0 credits including SOCB58H3 and enrolment in the Minor Program in Culture, Creativity and Cities]",,"Capstone Seminar in Culture, Creativity, and Cities",,"Priority will be given to students enrolled in the Minor in Culture, Creativity, and Cities followed by Specialist and Major programs in Sociology. Additional students will be admitted as space permits." +SOCD52H3,SOCIAL_SCI,University-Based Experience,"A sociological examination of the creation, production, dissemination, and reception of books.",,"10.0 credits including SOCB05H3, and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, SOCB44H3, SOCB58H3] or [10.0 credits including SOCB58H3 and enrolment in the Minor in Culture, Creativity and Cities]",[SOCD44H3 if taken in 2014-2015 or 2015-2016 or 2016-2017],Sociology of Books,,"Priority will be given to students enrolled in the Minor in Culture, Creativity, and Cities followed by Specialist and Major programs in Sociology. Additional students will be admitted as space permits." +STAA57H3,QUANT,Partnership-Based Experience,"Reasoning using data is an integral part of our increasingly data-driven world. This course introduces students to statistical thinking and equips them with practical tools for analyzing data. The course covers the basics of data management and visualization, sampling, statistical inference and prediction, using a computational approach and real data.",,CSCA08H3,"STAB22H3, STA130H, STA220H",Introduction to Data Science,, +STAB22H3,QUANT,,"This course is a basic introduction to statistical reasoning and methodology, with a minimal amount of mathematics and calculation. The course covers descriptive statistics, populations, sampling, confidence intervals, tests of significance, correlation, regression and experimental design. A computer package is used for calculations.",,,"ANTC35H3, MGEB11H3/(ECMB11H3), (POLB11H3), PSYB07H3, (SOCB06H3), STAB23H3, STAB52H3, STAB57H3, STA220H, (STA250H)",Statistics I,, +STAB23H3,QUANT,,"This course covers the basic concepts of statistics and the statistical methods most commonly used in the social sciences. The first half of the course introduces descriptive statistics, contingency tables, normal probability distribution, and sampling distributions. The second half of the course introduces inferential statistical methods. These topics include significance test for a mean (t-test), significance test for a proportion, comparing two groups (e.g., comparing two proportions, comparing two means), associations between categorical variables (e.g., Chi-square test of independence), and simple linear regression.",,,"ANTC35H3, MGEB11H3/(ECMB11H3), (POLB11H3), PSYB07H3, (SOCB06H3), STAB22H3, STAB52H3, STAB57H3, STA220H, STA250H",Introduction to Statistics for the Social Sciences,, +STAB27H3,QUANT,,"This course follows STAB22H3, and gives an introduction to regression and analysis of variance techniques as they are used in practice. The emphasis is on the use of software to perform the calculations and the interpretation of output from the software. The course reviews statistical inference, then treats simple and multiple regression and the analysis of some standard experimental designs.",,STAB22H3 or STAB23H3,"MGEB12H3/(ECMB12H3), STAB57H3, STA221H, (STA250H)",Statistics II,, +STAB41H3,QUANT,,"A study of the most important types of financial derivatives, including forwards, futures, swaps and options (European, American, exotic, etc). The course illustrates their properties and applications through examples, and introduces the theory of derivatives pricing with the use of the no-arbitrage principle and binomial tree models.",,ACTB40H3 or MGFB10H3,MGFC30H3/(MGTC71H3),Financial Derivatives,, +STAB52H3,QUANT,,"A mathematical treatment of probability. The topics covered include: the probability model, density and distribution functions, computer generation of random variables, conditional probability, expectation, sampling distributions, weak law of large numbers, central limit theorem, Monte Carlo methods, Markov chains, Poisson processes, simulation, applications. A computer package will be used.",,MATA22H3 and MATA37H3,"STAB53H3, PSYB07H3, STA107H, STA237H1, STA247H1, STA257H, STA246H5, STA256H5",An Introduction to Probability,, +STAB53H3,QUANT,University-Based Experience,"An introduction to probability theory with an emphasis on applications in statistics and the sciences. Topics covered include probability spaces, random variables, discrete and continuous probability distributions, expectation, conditional probability, limit theorems, and computer simulation.",,[MATA22H3 or MATA23H3] and [MATA35H3 or MATA36H3 or MATA37H3],"STAB52H3, PSYB07H3, STA107H, STA237H1, STA247H1, STA257H, STA246H5, STA256H5",Introduction to Applied Probability,, +STAB57H3,QUANT,,"A mathematical treatment of the theory of statistics. The topics covered include: the statistical model, data collection, descriptive statistics, estimation, confidence intervals and P- values, likelihood inference methods, distribution-free methods, bootstrapping, Bayesian methods, relationship among variables, contingency tables, regression, ANOVA, logistic regression, applications. A computer package will be used.",,[STAB52H3 or STAB53H3],"MGEB11H3, PSYB07H3, STAB22H3, STAB23H3, STA220H1, STA261H",An Introduction to Statistics,, +STAC32H3,QUANT,,"A case-study based course, aimed at developing students’ applied statistical skills beyond the basic techniques. Students will be required to write statistical reports. Statistical software, such as SAS and R, will be taught and used for all statistical analyses.",,STAB27H3 or MGEB12H3 or PSYC08H3 or STA221H1,STAC33H3,Applications of Statistical Methods,, +STAC33H3,QUANT,,"This course introduces students to statistical software, such as R and SAS, and its use in analyzing data. Emphasis will be placed on communication and explanation of findings. Students will be required to write a statistical report.",,STAB57H3 or STA248H3 or STA261H3,STAC32H3,Introduction to Applied Statistics,, +STAC50H3,QUANT,,"The principles of proper collection of data for statistical analysis, and techniques to adjust statistical analyses when these principles cannot be implemented. Topics include: relationships among variables, causal relationships, confounding, random sampling, experimental designs, observational studies, experiments, causal inference, meta- analysis. Statistical analyses using SAS or R. Students enrolled in the Minor program in Applied Statistics should take STAC53H3 instead.",,STAB57H3 or STA261H1. Students enrolled in the Minor program in Applied Statistics should take STAC53H3.,"STA304H, STAC53H3",Data Collection,, +STAC51H3,QUANT,,"Statistical models for categorical data. Contingency tables, generalized linear models, logistic regression, multinomial responses, logit models for nominal responses, log-linear models for two-way tables, three-way tables and higher dimensions, models for matched pairs, repeated categorical response data, correlated and clustered responses. Statistical analyses using SAS or R.",,STAC67H3,STA303H1,Categorical Data Analysis,, +STAC53H3,QUANT,,"This course introduces the principles, objectives and methodologies of data collection. The course focuses on understanding the rationale for the various approaches to collecting data and choosing appropriate statistical techniques for data analysis. Topics covered include elements of sampling problems, simple random sampling, stratified sampling, ratio, regression, and difference estimation, systematic sampling, cluster sampling, elements of designed experiments, completely randomized design, randomized block design, and factorial experiments. The R statistical software package is used to illustrate statistical examples in the course. Emphasis is placed on the effective communication of statistical results.",,STAB27H3 or MGEB12H3 or PSYC08H3 or STA221H1,"STAC50H3, STA304H1, STA304H5",Applied Data Collection,,Students enrolled in the Specialist or Major programs in Statistics should take STAC50H3. +STAC58H3,QUANT,,"Principles of statistical reasoning and theories of statistical analysis. Topics include: statistical models, likelihood theory, repeated sampling theories of inference, prior elicitation, Bayesian theories of inference, decision theory, asymptotic theory, model checking, and checking for prior-data conflict. Advantages and disadvantages of the different theories.",,STAB57H3 and STAC62H3,"STA352Y, STA422H",Statistical Inference,, +STAC62H3,QUANT,,"This course continues the development of probability theory begun in STAB52H3. Topics covered include finite dimensional distributions and the existence theorem, discrete time Markov chains, discrete time martingales, the multivariate normal distribution, Gaussian processes and Brownian motion.",,MATB41H3 and STAB52H3,STA347H1,Probability and Stochastic Processes I,, +STAC63H3,QUANT,,"This course continues the development of probability theory begun in STAC62H3. Probability models covered include branching processes, birth and death processes, renewal processes, Poisson processes, queuing theory, random walks and Brownian motion.",,STAC62H3,"STA447H1, STA348H5",Probability and Stochastic Processes II,, +STAC67H3,QUANT,,"A fundamental statistical technique widely used in various disciples. The topics include simple and multiple linear regression analysis, geometric representation of regression, inference on regression parameters, model assumptions and diagnostics, model selection, remedial measures including weighted least squares, instruction in the use of statistical software.",,STAB57H3,"STA302H; [Students who want to complete both STAC67H3 and MGEB12H3, and receive credit for both courses, must successfully complete MGEB12H3 prior to enrolling in STAC67H3; for students who complete MGEB12H3 after successfully completing STAC67H3, MGEB12H3 will be marked as Extra (EXT)]",Regression Analysis,, +STAC70H3,QUANT,,"A mathematical treatment of option pricing. Building on Brownian motion, the course introduces stochastic integrals and Itô calculus, which are used to develop the Black- Scholes framework for option pricing. The theory is extended to pricing general derivatives and is illustrated through applications to risk management.",,[STAB41H3 or MGFC30H3/(MGTC71H3)] and STAC62H3,"APM466H, ACT460H",Statistics and Finance I,MATC46H3, +STAD29H3,QUANT,,"The course discusses many advanced statistical methods used in the life and social sciences. Emphasis is on learning how to become a critical interpreter of these methodologies while keeping mathematical requirements low. Topics covered include multiple regression, logistic regression, discriminant and cluster analysis, principal components and factor analysis.",,STAC32H3,"All C-level/300-level and D-level/400-level STA courses or equivalents except STAC32H3, STAC53H3, STAC51H3 and STA322H.",Statistics for Life & Social Scientists,, +STAD37H3,QUANT,,"Linear algebra for statistics. Multivariate distributions, the multivariate normal and some associated distribution theory. Multivariate regression analysis. Canonical correlation analysis. Principal components analysis. Factor analysis. Cluster and discriminant analysis. Multidimensional scaling. Instruction in the use of SAS.",,STAC67H3,"STA437H, (STAC42H3)",Multivariate Analysis,, +STAD57H3,QUANT,,"An overview of methods and problems in the analysis of time series data. Topics covered include descriptive methods, filtering and smoothing time series, identification and estimation of times series models, forecasting, seasonal adjustment, spectral estimation and GARCH models for volatility.",,STAC62H3 and STAC67H3,"STA457H, (STAC57H3)",Time Series Analysis,, +STAD68H3,QUANT,,"Statistical aspects of supervised learning: regression, regularization methods, parametric and nonparametric classification methods, including Gaussian processes for regression and support vector machines for classification, model averaging, model selection, and mixture models for unsupervised learning. Some advanced methods will include Bayesian networks and graphical models.",,CSCC11H3 and STAC58H3 and STAC67H3,,Advanced Machine Learning and Data Mining,, +STAD70H3,QUANT,,"A survey of statistical techniques used in finance. Topics include mean-variance and multi-factor analysis, simulation methods for option pricing, Value-at-Risk and related risk- management methods, and statistical arbitrage. A computer package will be used to illustrate the techniques using real financial data.",,STAC70H3 and STAD37H3,,Statistics and Finance II,STAD57H3, +STAD78H3,QUANT,,"Presents theoretical foundations of machine learning. Risk, empirical risk minimization, PAC learnability and its generalizations, uniform convergence, VC dimension, structural risk minimization, regularization, linear models and their generalizations, ensemble methods, stochastic gradient descent, stability, online learning.",STAC58H3 and STAC67H3,STAB57H3 and STAC62H3,,Machine Learning Theory,, +STAD80H3,QUANT,,"Big data is transforming our world, revolutionizing operations and analytics everywhere, from financial engineering to biomedical sciences. Big data sets include data with high- dimensional features and massive sample size. This course introduces the statistical principles and computational tools for analyzing big data: the process of acquiring and processing large datasets to find hidden patterns and gain better understanding and prediction, and of communicating the obtained results for maximal impact. Topics include optimization algorithms, inferential analysis, predictive analysis, and exploratory analysis.",,STAC58H3 and STAC67H3 and CSCC11H3,,Analysis of Big Data,, +STAD81H3,QUANT,,"Correlation does not imply causation. Then, how can we make causal claims? To answer this question, this course introduces theoretical foundations and modern statistical and graphical tools for making causal inference. Topics include potential outcomes and counterfactuals, measures of treatment effects, causal graphical models, confounding adjustment, instrumental variables, principal stratification, mediation and interference.",,STAC50H3 and STAC58H3 and STAC67H3,,Causal Inference,, +STAD91H3,QUANT,University-Based Experience,"Topics of interest in Statistics, as selected by the instructor. The exact topics can vary from year to year. Enrolment is by permission of the instructor only.",,Permission from the instructor is required. This will typically require the completion of specific courses which can vary from year to year.,,Topics in Statistics,, +STAD92H3,QUANT,,This course is offered by arrangement with a statistics faculty member who must agree to supervise. This course may be taken in any session and must be completed by the last day of classes in the session in which it is taken.,,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Readings in Statistics,, +STAD93H3,QUANT,,This course is offered by arrangement with a statistics faculty member who must agree to supervise. This course may be taken in any session and must be completed by the last day of classes in the session in which it is taken.,,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Readings in Statistics,, +STAD94H3,QUANT,,A significant project in any area of statistics. The project may be undertaken individually or in small groups. This course is offered by arrangement with a statistics faculty member who must agree to supervise. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken.,,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Statistics Project,, +STAD95H3,QUANT,,A significant project in any area of statistics. The project may be undertaken individually or in small groups. This course is offered by arrangement with a statistics faculty member who must agree to supervise. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken.,,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Statistics Project,, +THRA10H3,ART_LIT_LANG,,"A general introduction to theatre as a social institution and collaborative performing art. Through a combination of lectures, discussions, class exercises, and excursions to see theatre together throughout Toronto, this course will investigate why and how people commit their lives to make theatre. It will also orient students to the four areas of focus in the Theatre and Performance program's curriculum, providing a background for further theatre studies.",,,(VPDA10H3),Introduction to Theatre,, +THRA11H3,ART_LIT_LANG,,"An introduction to the actor’s craft. This course provides an experiential study of the basic physical, vocal, psychological and analytical tools of the actor/performer, through a series of group and individual exercises.",,THRA10H3/(VPDA10H3),(VPDA11H3),Introduction to Performance,, +THRB20H3,ART_LIT_LANG,,"This course challenges students to ""wrestle"" with the Western canon that has dominated the practice of theatre-making in colonized North America. In wrestling with it, students will become more conversant in its forms and norms, and thus better able to enter into dialogue with other theatre practitioners and scholars. They also learn to probe and challenge dominant practices, locating them within the cultural spheres and power structures that led to their initial development.",,,(VPDB10H3),Wrestling with the Western Canon,, +THRB21H3,ART_LIT_LANG,,Intercultural & Global Theatre will be a study of theatre and performance as a forum for cultural representation past and present. Students will think together about some thorny issues of intercultural encounter and emerge with a fuller understanding of the importance of context and audience in interpreting performances that are more likely than ever to travel beyond the place they were created.,,,(VPDB11H3),Intercultural and Global Theatre,, +THRB22H3,ART_LIT_LANG,,"This course explores the history of performance on this part of Turtle Island as a way of reimagining its future. Through a series of case studies, students will grow their understanding of theatre a powerful arena for both shoring up and dismantling myths of the ""imagined nation"" of Canada. With a special focus on Indigenous-settler relations and the contributions of immigrant communities to diversifying the stories and aesthetics of the stage, the course will reveal theatre as an excellent forum for reckoning with the past and re-storying our shared future.",,,(VPDB13H3),Theatre in Canada,, +THRB30H3,ART_LIT_LANG,University-Based Experience,"By performing characters and staging scenes in scripted plays, students in this course develop and hone the physical, psychological, analytical, and vocal skills of actors.",,THRA11H3/(VPDA11H3),,Intermediate Performance: Scene Study,, +THRB31H3,ART_LIT_LANG,University-Based Experience,"This course engages students in an experiential study of devised theatre, a contemporary practice wherein a creative team (including actors, designers, writers, dramaturgs, and often a director) collaboratively create an original performance without a preexisting script. We will explore how an ensemble uses improvisation, self-scripted vignettes, movement/dance, and found materials to create an original piece of theatre.",,THRA11H3/(VPDA11H3),,Intermediate Performance: Devising Theatre,, +THRB32H3,ART_LIT_LANG,University-Based Experience,"This course introduces students to improvisation across a range of theatrical contexts. In a sequence of short units, the course will explore improv comedy, improvisation-based devising work, and the improvisation structures commonly used in the context of applied theatre work (including forum theatre and playback theatre). Simultaneously, students will read scholarly literature that addresses the ethical dilemmas, cultural collisions, and practical conundrums raised by these forms. Students will reflect on their own experiences as improvisers through the vocabulary that has been developed in this literature.",,THRA11H3/(VPDA11H3),,Intermediate Performance: Improvisation,, +THRB41H3,ART_LIT_LANG,University-Based Experience,"Students will study a wide range of ""applied theatre"" practice, which might include community-based theatre, prison theatre, Theatre for Development (TfD), Theatre of the Oppressed (TO), and Creative Drama in Classrooms. They will grow as both scholars and practitioners of this work, and will emerge as better able to think through the practical and ethical challenges of facilitating this work. Case studies will reflect the diversity of global practices and the importance of doing this work with marginalized groups.",,THRA10H3,,Theatre-Making with Communities: A Survey,, +THRB50H3,ART_LIT_LANG,,"An introduction to the elements of technical theatre production. Students in the course will get hands-on experience working in the theatre in some combination of the areas of stage management, lighting, sound, video projection, costumes, set building and carpentry.",,,"(VPDB03H3), (VPDC03H3)",Stagecraft,, +THRB55H3,,University-Based Experience,This course is an intensive study of theatrical production from the vantage point of the actor. It engages students in the experiential learning process inherent in rehearsing and performing in a major theatrical production.,,Permission of the Theatre and Performance Studies Instructor (includes an audition),,Creating a Production: Actors in Action I,,"1. This course will meet at non-traditional times, when the show rehearsals are scheduled – mostly weekday evenings, with some late night and evening rehearsals expected. 2. This course is intended for Year 1 and 2 students at UTSC, or advanced students who are new to performing on stage. More advanced actors in the show are encouraged to register for THRC55H3 or THRD55H3." +THRB56H3,ART_LIT_LANG,University-Based Experience,"This course is an intensive study of theatrical production from the vantage points of producers, directors (and assistant directors), designers (and assistant designers), stage managers (and assistant stage managers), and dramaturgs. It engages students in the experiential learning process inherent in conceiving of, planning for, rehearsing, and producing a major theatrical production. Students are required to submit an application. Applications are available in August and can be found on the Arts, Culture, and Media website and in the timetable.",,Permission of the Theatre and Performance Studies instructor.,,"Creating a Production: Conception, Design, and Execution I",,"1. This course will meet at non-traditional times when the show rehearsals and production meetings are scheduled. 2. THRB56H3 is intended for Year 1 and 2 students at UTSC, or advanced students who are new to producing, directing, designing, stage management, and dramaturgy. More advanced producers, directors, designers, stage managers, and dramaturgs are encouraged to register for THRC56H3 or THRD56H3." +THRC15H3,,,Selected advanced topics for intensive study of some specific aspects of performance. The topics explored in this course will change from session to session.,,Any 2.0 credits in THR courses,(VPDC20H3),Special Topics in Performance,,"Further information can be found on the ACM Theatre and Performance website. Depending on the topics covered in a given term, this course may be counted as a 0.5 credit towards an appropriate area of focus. Contact ACM Program Manager for more information." +THRC16H3,ART_LIT_LANG,,Selected advanced topics for intensive study of some specific aspects of performance. The topics explored in this course will change from session to session.,,Any 2.0 credits in THR courses,,Investigations in Performance,,"Further information can be found on the ACM Theatre and Performance website. Depending on the topics covered in the course, THRC16H3 may be counted as a 0.5 credit towards an appropriate area of focus. Contact the ACM Program Manager for more information." +THRC20H3,ART_LIT_LANG,,"This course invites students to consider how theatre can help to close the gap between the just world we envision and the inequitable world we inhabit. Case studies illuminate the challenges that theatre-makers face when confronting injustice, the strategies they pursue, and the impact of their work on their audiences and the larger society.",,,(VPDC13H3),Theatre and Social Justice,,Enrolment priority is given to students enrolled in either Major or Minor program in Theatre and Performance +THRC21H3,ART_LIT_LANG,Partnership-Based Experience,"This course immerses students in the local theatre scene, taking them to 4-5 productions over the term. We study the performances themselves and the art of responding to live performances as theatre critics. We position theatre criticism as evolving in the increasingly digital public sphere, and as a potential tool for advocates of antiracist, decolonial, feminist, and queer cultural work.",,"THRA10H3 and one of [THRB20H3, THRB21H3, or THRB22H3]",THRB40H3,Reimagining Theatre Criticism,, +THRC24H3,ART_LIT_LANG,Partnership-Based Experience,"A study abroad experiential education opportunity. Destinations and themes will vary, but the course will always include preparation, travel and critical reflection. Students must complete an application form made available on the UTSC Timetable and on the ACM website.",,[THRA10H3 and THRA11H3] Admission will also be by application. Criteria for selection will be shared on the application form.,,Theatre & Performance Abroad,, +THRC30H3,ART_LIT_LANG,,"This course introduces students to the principles of theatrical design, including set design, lighting design, costume design, and sound design. Students learn how to envision the aesthetic world of a play, in collaboration with other artists.",,THRA10H3/(VPDA10H3),,Theatrical Design,, +THRC40H3,,,"This course introduces students to the principles and creative processes associated with Theatre of the Oppressed – a movement blending activism and artistry to advance progressive causes. Students train as Theatre of the Oppressed performers and facilitators, and through a combination of lectures, readings, discussions, and field trips, they process the history, ideology, and debates associated with this movement.",,THRA10H3/(VPDA10H3),,Performance and Activism,, +THRC41H3,ART_LIT_LANG,,"This course introduces students to the principles and creative processes of integrating theatre into K-12 classrooms and other learning environments. Lectures, readings, discussions, and field trips complement active experimentation as students learn the pedagogical value of this active, creative, imaginative, kinesthetic approach to education.",,THRA10H3/(VPDA10H3),,Theatre in Education,, +THRC44H3,ART_LIT_LANG,Partnership-Based Experience,"A local experiential education opportunity in theatre practices. Specific nature and themes will vary, but the course will always include preparation, collaboration with local artists, educators, or community arts facilitators and critical reflection. Students must complete an application form made available on the UTSC Timetable and on the ACM website.",,[THRA10H3 and THRA11H3]. Admission will also be by application. Criteria for selection will be shared on the application form.,,Theatre and Performance in Local Community,, +THRC50H3,ART_LIT_LANG,University-Based Experience,"Students stretch themselves as theatrical performers and producers as they engage in structured, practical experimentation related to the departmental production.",,"0.5 credit from the following [THRB30H3 or THRB31H3 or THRB32H3], and permission from the Theatre and Performance instructor.",(VPDC01H3),Advanced Workshop: Performance,, +THRC55H3,ART_LIT_LANG,University-Based Experience,This course is an intensive study of theatrical production from the vantage point of the actor. It engages students in the experiential learning process inherent in rehearsing and performing in a major theatrical production.,,THRB55H3 and permission of the Theatre and Performance Studies Teaching instructor (includes an audition),,Creating a Production: Actors in Action II,,"1. This course will meet at non-traditional times, when the show rehearsals are scheduled – mostly weekday evenings, with some late night and evening rehearsals expected. 2 THRC55H3 is intended for Year 3 students at UTSC who have already had some experience on stage. Beginning students in the show are encouraged to register for THRB55H3; more advanced actors in the show are encouraged to register for THRD55H3." +THRC56H3,ART_LIT_LANG,University-Based Experience,"This course is an intensive study of theatrical production from the vantage points of producers, directors (and assistant directors), designers (and assistant designers), stage managers (and assistant stage managers), and dramaturgs. It engages students in the experiential learning process inherent in conceiving of, planning for, rehearsing, and producing a major theatrical production. Students are required to submit an application. Applications will be available in August and can be found on the Arts, Culture, and Media website and in the timetable.",,THRB56H3 and permission of the Theatre and Performance Studies Teaching instructor.,,"Creating a Production: Conception, Design, and Execution II",,"1. This course will meet at non-traditional times when the show rehearsals and production meetings are scheduled. 2. THRC56H3 is intended for Year 3 students at UTSC with some theatrical experience. Beginning students are encouraged to register for THRB56H3, while more advanced producers, directors, designers, stage managers, and dramaturgs are encouraged to register for THRD56H3." +THRD30H3,ART_LIT_LANG,University-Based Experience,"This course introduces students to the work of the director. A combination of lecture, discussion, reading, and practical work will challenge students to consider how to lead the creative teams that create performance. Students taking this course will need to devote a considerable amount of time outside of class to rehearsing class projects and will need to recruit collaborators for these projects.",,"THRA10H3/(VPDA10H3) and THRA11H3/(VPDA11H3), and an additional 1.0 credit in Theatre and Performance, and permission from the instructor",(VPDC02H3),Directing for the Theatre,, +THRD31H3,ART_LIT_LANG,,"Building on concepts introduced in THRB30H3, THRB31H3, and THRB32H3, this course offers advanced acting training.",,"1.0 credit from the following: [THRB30H3, THRB31H3, THRB32H3]",,Advanced Performance,, +THRD55H3,ART_LIT_LANG,University-Based Experience,This course is an intensive study of theatrical production from the vantage point of the actor. It engages students in the experiential learning process inherent in rehearsing and performing in a major theatrical production.,,THRC55H3 and permission of the Theatre and Performance Studies instructor (includes an audition),,Creating a Production: Actors in Action III,,"1. This course will meet at non-traditional times, when the show rehearsals are scheduled – mostly weekday evenings, with some late night and evening rehearsals expected. 2. THRD55H3 is intended for Year 4 students at UTSC, with extensive experience performing on stage. Less advanced actors in the show are encouraged to register for THRB55H3 or THRC55H3." +THRD56H3,ART_LIT_LANG,University-Based Experience,"This course is an intensive study of theatrical production from the vantage points of producers, directors (and assistant directors), designers (and assistant designers), stage managers (and assistant stage managers), and dramaturgs. It engages students in the experiential learning process inherent in conceiving of, planning for, rehearsing, and producing a major theatrical production. Students are required to submit an application. Applications will be available in August and can be found on the Arts, Culture, and Media website and in the timetable.",,THRC56H3 and permission of the Theatre and Performance Studies instructor.,,"Creating a Production: Conception, Design, and Execution III",,"1. This course will meet at non-traditional times, when the show rehearsals and production meetings are scheduled. 2. THRD56H3 is intended for Year 4 students at UTSC with extensive theatrical experience. Less experienced producers, directors, designers, stage managers, and dramaturgs are encouraged to register for THRB56H3 or THRC56H3." +THRD60H3,ART_LIT_LANG,,"A study of key ideas in theatre and performance theory with a focus on pertinent 20th/21st century critical paradigms such as postcolonialism, feminism, interculturalism, cognitive science, and others. Students will investigate theory in relation to selected dramatic texts, contemporary performances, and practical experiments.",,Any 3.0 credits in THR courses,(VPDD50H3),Advanced Seminar in Theatre and Performance,, +THRD90H3,,University-Based Experience,Advanced scholarly projects open to upper-level Theatre and Performance students. The emphasis in these courses will be on advanced individual projects exploring specific areas of theatre history and/or dramatic literature.,,"1.0 credit at the C-level in THR courses, and permission of the Program Director.",(VPDD23H3),"Supervised Studies in Drama, Theatre and Performance",, +THRD91H3,,,"Advanced practical projects open to upper-level Theatre and Performance students. These courses provide an opportunity for individual exploration in areas involving the practice of theatre: directing, producing, design, playwriting, dramaturgy, etc.",,"1.0 credit at the C-level in THR courses, and permission of the Program Director.",(VPDD28H3),Independent Projects in Theatre and Performance,, +VPAA10H3,ART_LIT_LANG,,"An introduction to the theories and practices of arts and media management within the not-for-profit, public, and social enterprise sectors. It is a general survey course that introduces the broad context of arts and media management in Canadian society and the kinds of original research skills needed for the creative and administrative issues currently faced by the arts and media community.",,,,Introduction to Arts and Media Management,, +VPAA12H3,ART_LIT_LANG,,"An introduction to the work involved in building and sustaining relationships with audiences, funders, and community, and the vital connections between marketing, development, and community engagement in arts and media organizations. Includes training in observational research during class for independent site visits outside class time.",,VPAA10H3,"(VPAB12H3), (VPAB14H3)","Developing Audience, Resources, and Community",, +VPAB10H3,,University-Based Experience,"An introduction to equity, inclusivity and diversity as it relates to organizational development and cultural policymaking in arts and media management. This course will take students through an overview of critical theories of systemic power and privilege, including those of race, gender, socio-economic status, sexual orientation or identity, age, ability/disability and religion and examine how these impact varied creative working environments and institutions.",,VPAA10H3 and VPAA12H3,,Equity and Inclusivity in Arts and Media Organizations,, +VPAB13H3,QUANT,,"An introduction to financial management basics and issues faced by arts and cultural managers, using examples and exercises to introduce basic accounting concepts, financial statement preparation and analysis, internal control and management information systems, budgeting and programming, cash and resource management, and various tax-related issues.",VPAA12H3 or [(VPAB12H3) and (VPAB14H3)],VPAA10H3,MGTB03H3,Financial Management for Arts Managers,, +VPAB16H3,ART_LIT_LANG,,"An introduction to the theories and practices of organizational development through arts and media governance, leadership, employee, and volunteer management, using examples from the field. Includes training in original research for professional report-writing through individual and group exercises.",,VPAA10H3 and VPAA12H3,,Managing and Leading in Cultural Organizations,,VPAA12H3 may be taken as a co-requisite with the express permission of the instructor. +VPAB17H3,ART_LIT_LANG,Partnership-Based Experience,"An introduction to the real-world application of knowledge and skills in arts and arts-related organizations . This course allows students to develop discipline-specific knowledge and skills through experiential methods, including original research online, class field visits, and independent site visits for observational research outside class time.",,VPAA12H3 and VPAB16H3,,From Principles to Practices in Arts Management,,Initially restricted to students in the Specialist Program in Arts Management. +VPAB18H3,ART_LIT_LANG,,"An introduction to the producing functions in the arts and in media management. The course will cover the genesis of creative and managing producers in arts and media, and what it is to be a producer today for internet, television, radio and some music industry and social media environments or for arts and media creative hubs, or for non-profit performing and multi-disciplinary theatres in Canada that feature touring artists. Includes individual and group skill-building in sector research to develop and present creative pitch packages and/or touring plans.",,VPAA10H3 and VPAA12H3,,Becoming a Producer,, +VPAC13H3,ART_LIT_LANG,,"This course is designed to provide a foundation for project management and strategic planning knowledge and skills. Topics such as project and event management as well as strategic and business planning include how to understand organizational resource-management and consultative processes, contexts, and impacts, will be discussed and practiced through group and individual assignments.",,8.0 credits including [VPAB13H3 and VPAB16H3],,Planning and Project Management in the Arts and Cultural Sector,, +VPAC15H3,ART_LIT_LANG,,"A survey of the principles, structures, and patterns of cultural policy and how these impact arts and media funding structures in Canada, nationally and internationally. Through original research including interviews in the sector, group and individual assignments will explore a wide range of cultural policy issues, processes, and theoretical commitments underpinning the subsidized arts, commercial and public media industries, and hybrid cultural enterprises, critically exploring the role of advocacy and the strengths and weaknesses of particular policy approaches.",,"[8.0 credits, including VPAA10H3 and VPAA12H3] or [8.0 credits, including: SOCB58H3 and registration in the Minor Program in Culture, Creativity, and Cities]",,Cultural Policy,, +VPAC16H3,ART_LIT_LANG,,"A study of essential legal and practical issues relevant to the arts and media workplace, with a particular focus on contracts, contract negotiation, and copyright.",,8.0 credits including VPAA10H3 and VPAA12H3 and VPAB16H3,,Contracts and Copyright,, +VPAC17H3,ART_LIT_LANG,,"An advanced study of marketing in the arts and media sectors. Through group and individual assignments including the development of a marketing and promotions plan, this course facilitates a sophisticated understanding of the knowledge and skills required for arts and media managers to be responsive to varied market groups and changing market environments and successfully bring creative and cultural production and audiences together.",,VPAA10H3 and VPAA12H3,,Marketing in the Arts and Media,, +VPAC18H3,ART_LIT_LANG,,"An advanced study of fundraising and resource development in the arts and media sector. This course facilitates a sophisticated understanding of knowledge and skills required for arts and media managers to develop varied revenue streams, including grantwriting, media funding, and contributed revenue strategies to support artistic missions. Through group and individual assignments, the course culminates in pitch packages or grant applications for real-life programs including creative briefs, budgets, financing plans, and timelines",,VPAA12H3 and VPAB13H3 and VPAB16H3,,Raising Funds in Arts and Media,, +VPAC21H3,ART_LIT_LANG,,"Special topics for intensive practical, theoretical and/or experiential study of some specific aspects of Arts Management. The topic(s) to be explored in this course will change from session to session.",,"10.0 credits, including [VPAA10H3 and VPAA12H3 and VPAB16H3]",(VPAD13H3),Special Topics in Arts Management I,, +VPAC22H3,ART_LIT_LANG,,"Special topics for intensive practical, theoretical and/or experiential study of some specific aspects of Arts Management. The topic(s) to be explored in this course will change from session to session.",,"10.0 credits, including [VPAA10H3 and VPAA12H3 and VPAB16H3]",,Special Topics in Arts Management II,, +VPAD10H3,ART_LIT_LANG,University-Based Experience,"This course will prepare students for the realities of working in and leading arts and media organizations by challenging them with real-world problems via case studies and simulations. Through individual and group assignments involving research in the field that culminates in an original case presentation and report, students will consider, compare, explain, and defend decisions and actions in real- life organizations to develop their ability to demonstrate effective and ethical approaches to arts and media management.",,"At least 14.0 credits, including 1.0 credit at the C-level in VPA courses.",,"Good, Better, Best: Case Study Senior Seminar",,Preference is given to students enrolled in the Major programs in Arts & Media Management. This course requires ancillary fees (case study fees) +VPAD11H3,,University-Based Experience,"Are you interested in researching hands-on professional practice to synthesize and apply the theory-based learning you have undertaken in arts and media management about how people and organizations work in the culture sector and media industries? In this course, you will propose your own research project to examine how a specific creative business (such as a creative hub, media company or performing or visual arts organization) and its related practices operate, exploring specific areas of arts or media management practice, theory, history or emergent issues. While the creative ecosystem is made up of a broad and sometimes baffling array of for-profit, non-profit and hybrid ways of doing things, this course will provide insights into an organization of your choice.",,"At least 14.0 full credits, including 1.0 full credit at the C level in VPA courses.",,Focus on the Field: Senior Research Seminar,, +VPAD12H3,,University-Based Experience,This course is an intensive synthesis and application of prior learning through collaborative project-based practice. Students will lead and actively contribute to one or more major initiative(s) that will allow them to apply the principles and employ the practices of effective arts and media management.,,At least 14.0 credits including VPAC13H3.,,Senior Collaborative Projects,,Restricted to students enrolled in the Specialist Program in Arts Management. +VPAD14H3,,University-Based Experience,A directed research and/or project-oriented course for students who have demonstrated a high level of academic maturity and competence. Qualified students will have the opportunity to investigate an area of interest to both student and the Director in traditional or emerging subjects related to the field of Arts Management.,,At least 1.0 credit at the C-level in Arts Management courses. Written consent and approval of a formal proposal in the approved format must be obtained from the supervising instructor and Program Director by the last date of classes in the previous academic session.,MGTD80H3,Independent Studies in Arts Management,, +VPHA46H3,ART_LIT_LANG,,How and why are objects defined as Art? How do these definitions vary across cultures and time periods? Studying different approaches to writing art history and considering a wide range of media from photography to printmaking and installation arts.,,,"(FAH100Y), FAH101H",Ways of Seeing: Introduction to Art Histories,, +VPHB39H3,ART_LIT_LANG,,"Key concepts in art history, including intention, meaning, style, materiality, identity, production, reception, gender, visuality, and history. Students will explore critical questions such as whether and how to read artist's biographies into their art. This course helps students understand the discipline and develops critical thinking and research skills required in advanced courses.",,VPHA46H3 or ACMA01H3,FAH102H,Ten Key Words in Art History: Unpacking Methodology,, +VPHB40H3,ART_LIT_LANG,University-Based Experience,"This course offers a critical look at ways of exhibiting art, including exploring the exhibitions and collection of the Doris McCarthy Gallery and the public sculptures located on campus. Through readings, discussions and site visits we will consider the nature of exhibitions, their audiences and current practices juxtaposed with investigations of the history and practice of display.",,VPHA46H3,"VPSB73H3, (VPHB71H3), FAH310H",Exhibiting Art,, +VPHB50H3,ART_LIT_LANG,,"The centrality of photographic practice to African cultures and histories from the period of European imperialism, the rise of modernist ""primitivism"" and the birth of ethnology and anthropology to contemporary African artists living on the continent and abroad.",,VPHA46H3 or ACMA01H3 or AFSA01H3,,Africa Through the Photographic Lens,, +VPHB53H3,ART_LIT_LANG,,"The origins of European artistic traditions in the early Christian, Mediterranean world; how these traditions were influenced by classical, Byzantine, Moslem and pagan forms; how they developed in an entirely new form of artistic expression in the high Middle Ages; and how they led on to the Renaissance.",,VPHA46H3,"FAH215H, FAH216H",Medieval Art,, +VPHB58H3,ART_LIT_LANG,,"A study of nineteenth and twentieth-century arts and visual media, across genres and cultures. What did modernity mean in different cultural contexts? How is 'modern' art or 'modernism' defined? How did the dynamic cultural, economic, and socio-political shifts of the globalizing and industrializing modern world affect the visual ars and their framing?",,VPHA46H3,"FAH245H, FAH246H",Modern Art and Culture,, +VPHB59H3,ART_LIT_LANG,,"Shifts in theory and practice in art of the past fifty years. Studying selected artists' works from around the world, we explore how notions of modern art gave way to new ideas about media, patterns of practice, and the relations of art and artists to the public, to their institutional contexts, and to globalized cultures.",,VPHA46H3 or VPHB39H3,"FAH245H, FAH246H",Current Art Practices,, +VPHB63H3,ART_LIT_LANG,,"This course is an introduction to art and visual culture produced in Italy ca. 1350-1550. Students will explore new artistic media and techniques, along with critical issues of social, cultural, intellectual, theoretical and religious contexts that shaped the form and function of art made during this era.",,VPHA46H3,FAH230H,"Fame, Spectacle and Glory: Objects of the Italian Renaissance",, +VPHB64H3,ART_LIT_LANG,,"This course introduces the art and culture of 17th century Europe and its colonies. Art of the Baroque era offers rich opportunities for investigations of human exploration in geographic, spiritual, intellectual and political realms. We will also consider the development of the artist and new specializations in subject and media.",VPHB63H3 or VPHB74H3,VPHA46H3,"FAH231H, FAH279H",Baroque Visions,, +VPHB68H3,ART_LIT_LANG,University-Based Experience,"This course explores the relationship between visuality and practices of everyday life. It looks at the interaction of the political, economic and aesthetic aspects of mass media with the realm of ""fine"" arts across history and cultures. We will explore notions of the public, the mass, and the simulacrum.",,VPHA46H3,,Art and the Everyday: Mass Culture and the Visual Arts,, +VPHB69H3,SOCIAL_SCI,,"In this course students will learn about sustainability thinking, its key concepts, historical development and applications to current environmental challenges. More specifically, students will gain a better understanding of the complexity of values, knowledge, and problem framings that sustainability practice engages with through a focused interdisciplinary study of land. This is a required course for the Certificate in Sustainability, a certificate available to any student at UTSC. Same as ESTB03H3",,,,Back to the Land: Restoring Embodied and Affective Ways of Knowing,, +VPHB73H3,ART_LIT_LANG,,"A survey of the art of China, Japan, Korean, India, and Southeast Asia. We will examine a wide range of artistic production, including ritual objects, painting, calligraphy, architectural monuments, textile, and prints. Special attention will be given to social contexts, belief systems, and interregional exchanges. Same as GASB73H3",,ACMA01H3 or VPHA46H3 or GASA01H3,"GASB73H3, FAH260H",Visualizing Asia,, +VPHB74H3,ART_LIT_LANG,University-Based Experience,"This course explores the rich visual culture produced in northern and central Europe 1400-1600. Topics such as the rise of print culture, religious conflict, artistic identity, contacts with other cultures and the development of the art market will be explored in conjunction with new artistic techniques, styles and materials.",,VPHA46H3,"FAH230H, FAH274H",Not the Italian Renaissance: Art in Early Modern Europe,, +VPHB77H3,ART_LIT_LANG,,"An introduction to modern Asian art through domestic, regional, and international exhibitions. Students will study the multilayered new developments of art and art institutions in China, Japan, Korea, India, Thailand, and Vietnam, as well as explore key issues such as colonial modernity, translingual practices, and multiple modernism. Same as GASB77H3",,ACMA01H3 or VPHA46H3 or GASA01H3,"GASB77H3, FAH262H",Modern Asian Art,, +VPHB78H3,ART_LIT_LANG,Partnership-Based Experience,"Local arts institutions are often taken for granted but understanding how and why collections are formed, why they are significant, and how they relate to larger art historical contexts provides important object-based learning opportunities. Students will explore these issues using a focused collection in the Royal Ontario Museum, the Aga Khan Museum or the Textile Museum.",,VPHA46H3,,"Our Town, Our Art: Local Collections I",, +VPHB79H3,ART_LIT_LANG,Partnership-Based Experience,"Local arts institutions are often taken for granted but understanding how and why collections are formed, why they are significant, and how they relate to larger art historical contexts provides important object-based learning opportunities. Students will explore these using a focused collection in the Art Gallery of Ontario.",,VPHA46H3,,"Our Town, Our Art: Local Collections II",,Some classes will be held at the museum; students should be prepared to travel. +VPHC41H3,ART_LIT_LANG,,"Major artistic and architectural monuments of Europe from the Carolingian renaissance to the renaissance of the twelfth century, considered in relation to geographical context, to monasticism and pilgrimage, to artistic developments of the contemporary Mediterranean world, and to the art and architecture of the later Roman Empire, Byzantium and Armenia, Islam and the art of the invasion period.",,VPHB53H3,"(VPHB42H3), FAH215H",Carolingian and Romanesque Art,, +VPHC42H3,ART_LIT_LANG,University-Based Experience,"Current scholarship is expanding and challenging how we decide ""what is Gothic?"" We will examine a variety of artworks, considering artistic culture, social, cultural, and physical contexts as well. Style, techniques, patronage, location in time and space, and importance of decoration (sculpture, stained glass, painting, tapestry) will be among topics discussed.",,VPHB53H3,"FAH328H, FAH351H5, (FAH369H)",Gothic Art and Architecture,, +VPHC45H3,ART_LIT_LANG,,"Special topics in twentieth-century painting and sculpture. The subject will change from time to time. After introductory sessions outlining the subject and ways of getting information about it, seminar members will research and present topics of their choice.",,1.0 credit at the VPHB-level,,Seminar in Modern and Contemporary Art,, +VPHC49H3,ART_LIT_LANG,,"The class will read selected recent cultural theory and art theory and consider its implications for a variety of works of art, and will investigate selected exhibition critiques and the critical discourse surrounding the oeuvres of individual artists.",,VPHA46H3 and VPHB39H3,,Advanced Studies in Art Theory,1.0 credit at the B-level in VPH and/or VPS courses, +VPHC52H3,HIS_PHIL_CUL,,"This course uses a focus on material history and visual culture to explore Ethiopia from the fourth through the nineteenth century, with particular emphasis on the Christian Church, the monarchy, links with both the Mediterranean world and the Indian subcontinent, and the relationship of individuals to their social, economic, artistic and geographic environments. Same as AFSC52H3 and HISC52H3",,[1.0 credit in History] or [VPHA46H3 and an additional 1.0 credit in VPH courses],"AFSC52H3, HISC52H3",Ethiopia: Seeing History,, +VPHC53H3,ART_LIT_LANG,University-Based Experience,"The Silk Routes were a lacing of highways connecting Central, South and East Asia and Europe. Utilizing the Royal Ontario Museum's collections, classes held at the Museum and U of T Scarborough will focus on the art produced along the Silk Routes in 7th to 9th century Afghanistan, India, China and the Taklamakhan regions. Same as GASC53H3",,1.0 credit in art history or in Asian or medieval European history.,GASC53H3,The Silk Routes,, +VPHC54H3,ART_LIT_LANG,,"Art criticism as a complex set of practices performed not only by critics, art historians, curators and the like, but also by artists (and collectors). The traditional role of art critics in the shaping of an art world, and the parallel roles played by other forms of writing about art and culture (from anthropology, sociology, film studies).",,"2.0 credits at the B-level in VPA, VPH, and/or VPS courses.",,Art Writing,, +VPHC63H3,ART_LIT_LANG,University-Based Experience,"This seminar-format course will offer students the opportunity to investigate critical theories and methodologies of the early modern period (roughly 1400-1700). Focusing on such topics as a single artist, artwork or theme, students will become immersed in an interdisciplinary study that draws on impressive local materials from public museum and library collections.",,VPHA46H3 and [one of VPHB63H3 or VPHB64H3 or VPHB74H3].,,Explorations in Early Modern Art,, +VPHC68H3,ART_LIT_LANG,,"This course looks at the global city as a hub for the creation of visual, performing arts and architecture. How have cyberspace and increased transnational flows of art and artists changed the dynamic surrounding urban arts? What are the differences between the arts within the modern and global contemporary city?",,VPHB58H3 or VPHB59H3,(VPHC52H3),Art in Global Cities,, +VPHC72H3,ART_LIT_LANG,Partnership-Based Experience,"Art and the settings in which it is seen in cities today. Some mandatory classes to be held in Toronto museums and galleries, giving direct insight into current exhibition practices and their effects on viewer's experiences of art; students must be prepared to attend these classes.",,"VPHA46H3, and VPHB39H3",(CRTC72H3),"Art and Visual Culture in Spaces, Places, and Institutions",, +VPHC73H3,SOCIAL_SCI,,"This course considers representations of diaspora, migration, displacement, and placemaking within visual culture. We will employ a comparative, cross-cultural approach and a historical perspective, to consider how artists, theorists, media, and social institutions think about and visualize these widely-held experiences that increasingly characterize our cosmopolitan, interconnected world.",,1.0 credits at VPHB-level,(VPAB09H3),"Home, Away, and In Between: Diaspora and Visual Culture",, +VPHC74H3,ART_LIT_LANG,,"Introduction to Contemporary Art in China An introduction to Chinese contemporary art focusing on three cities: Beijing, Shanghai, and Guangzhou. Increasing globalization and China's persistent self-renovation has brought radical changes to cities, a subject of fascination for contemporary artists. The art works will be analyzed in relation to critical issues such as globalization and urban change. Same as GASC74H3",,"2.0 credits at the B-level in Art History, Asian History, and/or Global Asia Studies courses, including at least 0.5 credit from the following: VPHB39H3, VPHB73H3, HISB58H3, (GASB31H3), GASB33H3, or (GASB35H3).",GASC74H3,A Tale of Three Cities:,, +VPHC75H3,ART_LIT_LANG,,"This course focuses on the ideas, career and œuvre of a single artist. Exploration and comparison of works across and within the context of the artist’s output provides substantial opportunities for deeper levels of interpretation, understanding and assessment. Students will utilize and develop research skills and critical methodologies appropriate to biographical investigation.",,"VPHB39H3 and [an additional 1.0 credit at the B-level in Art History, Studio Art or Arts Management courses]",,"The Artist, Maker, Creator",, +VPHD42Y3,,University-Based Experience,A course offering the opportunity for advanced investigation of an area of interest; for students who are nearing completion of art history programs and who have already acquired independent research skills. Students must locate a willing supervisor and topics must be identified and approved by the end of the previous term.,,1.0 credit at the C-level in art history. Students are advised that they must obtain consent from the supervising instructor before registering for these courses.,,Supervised Reading in Art History,, +VPHD48H3,ART_LIT_LANG,University-Based Experience,"What is art history and visual culture? What do we know, and need to know, about how we study the visual world? This capstone course for senior students will examine the ambiguities, challenges, methods and theories of the discipline. Students will practice methodological and theoretical tenets, and follow independent research agendas.",,1.5 credits at the C-level in VPH courses,FAH470H,Advanced Seminar in Art History and Visual Culture,,Priority will be given to students in the Major and Minor in Art History and Visual Culture. Additional students will be admitted as space permits. +VPSA62H3,ART_LIT_LANG,,An introduction to the importance of content and context in the making of contemporary art.,,,"VIS130H, JAV130H",Foundation Studies in Studio,VPSA63H3, +VPSA63H3,HIS_PHIL_CUL,,"This introductory seminar examines the key themes, concepts, and questions that affect the practice of contemporary art. We will look at specific cases in the development of art and culture since 1900 to understand why and how contemporary art can exist as such a wide-ranging set of forms, media and approaches.",,,"VIS120H, JAV120H, VST101H",But Why Is It Art?,, +VPSB01H3,ART_LIT_LANG,,"The figure of the artist is distorted in the popular imagination by stereotypes around individualism, heroism, genius, mastery, suffering, and poverty. This lecture course will examine these gendered, colonial mythologies and offer a more complex picture of the artist as a craftsperson, professional, entrepreneur, researcher, public intellectual and dissident. We will consider diverse artistic models such as artist collectives and anonymous practitioners that challenge the idea of the individual male genius and examine artists’ complex relationship with elitism, the art market, arts institutions, and gentrification. This course will be supplemented by visiting artist lectures that will offer students insight into the day-to-day reality of the practicing artist.",,[VPSA62H3 and VPSA63H3],,The Artist,, +VPSB02H3,ART_LIT_LANG,,"How should artists make pictures in a world inundated with a relentless flow of digital images? Can pictures shape our understanding of the social world and influence mainstream culture? Through the perspective of contemporary artmaking, this lecture course will explore ways that artists decentre and decolonize the image and concepts of authorship, representation, truth, and the gaze. The course will also examine the role of visual technologies (cameras, screens, microscopes), distribution formats (the photographic print, mobile devices, the Internet), and picture making (ubiquitous capture, synthetic media, artificial intelligence) to consider how artists respond to changing ideas about the visible world.",,[VPSA62H3 and VPSA63H3],,Image Culture,, +VPSB56H3,ART_LIT_LANG,,"This hands-on, project-based class will investigate fundamental digital concepts common to photography, animation, and digital publishing practices. Students will learn general image processing, composing, colour management, chromakey, and typograpic tools for both on-line and print- based projects. These will be taught through Adobe Creative Suite software on Apple computers.",,,"(VPSA74H3), VIS218H, FAS147H",Digital Studio I,VPSA62H3 and VPSA63H3, +VPSB58H3,ART_LIT_LANG,,An introduction to the basic principles of video shooting and editing as well as an investigation into different conceptual strategies of video art. The course will also provide an introduction to the history of video art.,,VPSA62H3 and VPSA63H3,"(VPSA73H3), VIS202H",Video I,, +VPSB59H3,ART_LIT_LANG,,This course introduces students to the use of three- dimensional materials and processes for creating sculptural objects. Traditional and non-traditional sculptural methodologies and concepts will be explored.,,VPA62H3 and VPSA63H3,(VPSA71H3) FAS248H,Sculpture I,, +VPSB61H3,ART_LIT_LANG,,An investigation of the basic elements and concepts of painting through experimentation in scale and content.,,VPSA62H3 and VPSA63H3,"(VPSA61H3), VIS201H, FAS145H",Painting I,, +VPSB62H3,ART_LIT_LANG,,A continuation of Painting I with an emphasis on images and concepts developed by individual students.,,VPSB61H3,"VIS220H, FAS245H",Painting II,, +VPSB67H3,ART_LIT_LANG,,"An introduction to fundamental photographic concepts including depth, focus, stopped time, lighting and photographic composition in contrast to similar fundamental concerns in drawing and painting. A practical and historical discourse on the primary conceptual streams in photography including various documentary traditions, staged photographs and aesthetic approaches from photographic modernism to postmodernism.",,VPSB56H3,"(VPSA72H3), VIS218H, FAS147H",Photo I,, +VPSB70H3,ART_LIT_LANG,,"An investigation of the various approaches to drawing, including working from the figure and working with ideas.",,VPSA62H3 and VPSA63H3,"(VPSA70H3), VIS205H, FAS143H",Drawing I,, +VPSB71H3,ART_LIT_LANG,University-Based Experience,"Artist multiples are small, limited edition artworks that include sculptures, artist books, mass-produced ephemera such as posters, postcards and small objects. Students will explore the production and history of 2D and 3D works using a variety of media and approaches. This course is about both making and concepts.",,VPSA62H3 and VPSA63H3,VIS321H,Artist Multiples,, +VPSB73H3,ART_LIT_LANG,,"This course is designed to offer students direct encounters with artists and curators through studio and gallery visits. Field encounters, written assignments, readings and research focus on contemporary art and curatorial practices. The course will provide skills in composing critical views, artist statements, and writing proposals for art projects.",,[[VPSA62H3 and VPSA63H3] and [0.5 credit at the B-level in VPS courses]] or [enrolment in the Minor in Curatorial Studies],VIS320H,Curatorial Perspectives I,, +VPSB74H3,ART_LIT_LANG,,A continuation of VPSB70H3 with an increased emphasis on the student's ability to expand her/his personal understanding of the meaning of drawing.,,VPSA62H3 and VPSA63H3 and VPSB70H3,VIS211H and FAS243H,Drawing II,, +VPSB75H3,ART_LIT_LANG,,A Studio Art course in digital photography as it relates to the critical investigation of contemporary photo-based art.,,VPSB67H3,"FAS247H, VIS318H",Photo II,, +VPSB76H3,ART_LIT_LANG,,"This course explores advanced camera and editing techniques as well as presentation strategies using installation, projection, and multiple screens. Students will make projects using both linear and non-linear narratives while exploring moving image influences from online culture, popular media, surveillance culture, cinema, photography, performance, and sculpture.",,VPSB58H3,VIS302H,Video II,, +VPSB77H3,ART_LIT_LANG,,"This course covers the history and practice of performance art. Students will employ contemporary performance strategies such as duration, ritual, repetition, intervention, tableau vivant, endurance and excess of materials in their projects. We will also study the relationship of performance to other art disciplines and practices such as theatre and sculpture.",,VPSA62H3 and VPSA63H3,VIS208H,Performance Art,, +VPSB80H3,ART_LIT_LANG,,"An in-depth investigation of digital imaging technologies for serious studio artists and new media designers. Emphasis is placed on advanced image manipulation, seamless collage, invisible retouching and quality control techniques for fine art production. Project themes will be drawn from a critical analysis of contemporary painting and photo-based art.",VPSB67H3,VPSB56H3,"FAS247H, VIS318H",Digital Studio II,, +VPSB85H3,ART_LIT_LANG,,This course looks at how visual artists employ words in their art. Students will be introduced to the experimental use of text in contemporary art: how typography has influenced artists and the role of language in conceptual art by completing projects in various media.,,VPSA62H3 and VPSA63H3,,Text as Image/Language as Art,, +VPSB86H3,ART_LIT_LANG,,This course introduces students to the time-based use of three-dimensional materials and processes for creating sculptural objects. Students will use both traditional and non- traditional materials in combination with simple technologies.,,[VPSA62H3 and VPSA63H3] and VPSB59H3,,Sculpture II,, +VPSB88H3,ART_LIT_LANG,,"Students will be introduced to sound as a medium for art making. Listening, recording, mapping, editing, and contextualizing sounds will be the focus of this course. Sound investigations will be explored within both contemporary art and experimental sound/music contexts.",,VPSA62H3 and VPSA63H3,,Sound Art,, +VPSB89H3,ART_LIT_LANG,,"A non-traditional course in the digital production of non- analog, two-dimensional animation through the use of computer-based drawing, painting, photography and collage. Students will learn design strategies, experimental story lines, sound mixing, and video transitions to add pace, rhythm, and movement to time based, digital art projects.",VPSB70H3,VPSA62H3 and VPSA63H3 and VPSB56H3,,Digital Animation I,, +VPSB90H3,ART_LIT_LANG,,"A project based course, building upon concepts developed in VPSB89H3 Introduction to Digital Animation. Students will refine their control of sound, movement, and image quality. This course will also introduce three-dimensional wire frame and ray-tracing techniques for constructing convincing 3-D animated objects and scenes as they apply to contemporary artistic practices.",,VPSB89H3,(VPSC89H3),Digital Animation II,, +VPSC04H3,ART_LIT_LANG,University-Based Experience,"""Live!"" investigates interdisciplinary modes of contemporary performance. Within a studio context, this course serves as an advanced exploration of 21st century Live Art. This interactive course reviews the dynamics of time, space and existence, and asks fundamental questions about the body and performance.",,VPHA46H3 and [VPSB77H3 or THRA11H3/VPDA11H3 or (VPDA15H3)] and [1.5 additional credits at the B- or C-level in VPS or THR courses],"(VPDC06H3), (VPSC57H3), (VPAC04H3)","""Live!""",, +VPSC51H3,ART_LIT_LANG,University-Based Experience,"This course focuses on the finer details of curating and/or collecting contemporary art. Students will delve into the work of selected artists and curators with an emphasis on the conceptual and philosophical underpinnings of their projects. Term work will lead to a professionally curated exhibition, or the acquisition of an artwork.",,VPHA46H3 and VPSB73H3,,Curatorial Perspectives II,, +VPSC53H3,ART_LIT_LANG,,"Students will produce time-based three-dimensional artworks. Students will be encouraged to use altered machines, simple electronic components and a wide range of materials.",,[VPHA46H3 and VPSB59H3 and VPSB86H3] and [an additional 1.0 credit at the B- or C-level in VPS courses],(VPSB64H3),Kinetic Sculpture,, +VPSC54H3,ART_LIT_LANG,,"An advanced course for students who are able to pursue individual projects in painting, with a focus on contemporary practice and theory.",,[VPHA46H3 and VPSB62H3] and [an additional 1.0 credit at the B- or C-level in VPS courses],"VIS301H, FAS345Y",Painting III,, +VPSC56H3,ART_LIT_LANG,University-Based Experience,A supervised course focused specifically on the development of the student's work from initial concept through to the final presentation. Students may work in their choice of media with the prior written permission of the instructor.,,2.5 credits at the B- or C-level in VPS courses; students enrolled in the Specialist and Major programs in Studio Art must also complete VPHA46H3,"VIS311H, VIS326",Studio and Exhibition Practice,, +VPSC70H3,ART_LIT_LANG,,"This course will extend digital art practice into a range of other Studio Art media, allowing students to explore the creation of hybrid works that fuse traditional mediums with new technologies. Students will have the opportunity to work on projects that utilize networking, kinetics, GPS, data mining, sound installation, the Internet of Things (IoT), and interactivity.",,"2.5 credits at the B- or C-level in VPS courses including 0.5 credit taken from: VPSB56H3, VPSB58H3, VPSB76H3, VPSB80H3, VPSB86H3, VPSB88H3, VPSB89H3, VPSB90H3, NMEB05H3, NMEB08H3, or NMEB09H3; students enrolled in the Specialist and Major programs in Studio Art must also complete VPHA46H3",,Interdisciplinary Digital Art,, +VPSC71H3,ART_LIT_LANG,,"This course investigates the relationship of the body to the camera. Using both still and video cameras and live performance students will create works that unite the performative and the mediated image. The course will cover how the body is framed and represented in contemporary art, advertising and the media.",,"VPHA46H3 and [2.0 credits at the B- or C-level in VPS courses including 0.5 credit taken from: VPSB58H3, VPSB67H3, VPSB75H3, VPSB76H3, or VPSB77H3]",,Performing with Cameras,, +VPSC73H3,ART_LIT_LANG,,"Interdisciplinary Drawing Concepts will extend drawing into a range of other media, allowing students to explore the sculptural, temporal and performative potential of mark- making.",,VPHA46H3 and VPSB70H3 and VPSB74H3 and [an additional 1.0 credit at the B- or C-level in VPS courses],VIS308H3,Interdisciplinary Drawing,, +VPSC75H3,ART_LIT_LANG,,Advanced Sculpture will provide students with an opportunity for a deeper investigation into various materials and fabrication techniques. This course will focus on the theory and practice of object making through studio assignments that develop a critical and technical literacy towards both traditional and non-traditional sculpture materials.,,VPHA46H3 and [VPSB59H3 or VPSB71H3 or VPSB86H3] and [an additional 1.5 credits at the B- or C-level in VPS courses],,Advanced Sculpture,, +VPSC76H3,ART_LIT_LANG,,"Lens-based art forms such as photography and video have a rich tradition as a documentary practice. These media have engendered their own techniques, aesthetic, and cultural context. This course is designed to introduce students to the role of the documentary image in contemporary art practice, through personal, conceptual, and photo-journalistic projects accomplished outside of the studio.",,VPHA46H3 and VPSB56H3 and [VPSB58H3 or VPSB67H3] and [1.0 additional credit at the B- or C-level in VPS courses],,The Documentary Image,, +VPSC77H3,ART_LIT_LANG,,"This course will expand photographic practice into a range of other media. Students will explore the sculptural, temporal, performative, and painterly potential of the photograph and photographic technologies.",,VPHA46H3 and VPSB56H3 and VPSB67H3 and [1.0 credit at the B- or C-level in VPS courses],"VIS318H, FAS347Y",Interdisciplinary Photography,, +VPSC80H3,ART_LIT_LANG,,"A course for students interested in designing and publishing artworks using digital tools. The emphasis will be on short-run printed catalogues, along with some exploration of e-books and blogs. Lessons will identify common editorial and image preparation concerns while introducing software for assembling images, videos, sounds, graphics, and texts into coherent and intelligently-designed digital publications. Creative solutions are expected.",,VPHA46H3 and VPSB56H3 and [an additional 1.5 credits at the B- or C-level in VPS courses],"(VPSB72H3), VIS328H",Digital Publishing,, +VPSC85H3,ART_LIT_LANG,,"The studio-seminar course will provide students with discipline-specific historical, theoretical, professional, and practical knowledge for maintaining a sustainable art practice. Students will gain an understanding of how to navigate the cultural, social, political, and financial demands of the professional art world. Topics will include professional ethics, equity and diversity in the art world, understanding career paths, developing writing and presentation skills relevant to the artist, familiarity with grants, contracts and copyright, and acquiring hands-on skills related to the physical handling and maintenance of art objects.",,2.0 FCE at the B-level in VPS,,Essential Skills for Emerging Artists,, +VPSC90H3,HIS_PHIL_CUL,,"This open-media studio-seminar will examine the relationship between contemporary art and globalizing and decolonizing forces, focusing on key topics such as migration, diaspora, colonialism, indigeneity, nationalism, borders, language, translation, and global systems of trade, media, and cultural production. Students will explore current art practices shaped by globalization and will conceive, research, and develop art projects that draw from their experiences of a globalizing world.",,2.5 credits at VPSB-level,VIS325H,Theory and Practice: Art and Globalization,, +VPSC91H3,ART_LIT_LANG,,"This open-media studio seminar will examine the relationship between art and the body, focusing on key topics such as identity (gender, race, ethnicity, sexual orientation), intersectionality, subjectivity, representation, and the gaze. Students will explore artistic methods that are performative, experiential, sensory, and interactive. This course will also examine approaches to the body that consider accessibility, aging, healing, and care. Students will conceive, research, and develop art projects that address contemporary issues related to the body.",,2.5 credits at VPSB-level,,Theory and Practice: Art and the Body,, +VPSC92H3,ART_LIT_LANG,,"This open-media studio-seminar will focus on material-based art practices and critical approaches to the material world. This course will explore topics such as sustainability and Indigenous reciprocity, feminist understanding of materials, the politics of labour, and the role of technology. This course will also examine key concepts such as craft, form, process, time, and dematerialization and consider the role that technique, touch, and participation play in the transformation of material. Students will conceive, research, and develop art projects that address contemporary approaches to material- based art making.",,2.5 credits at VPSB-level,,Theory and Practice: Art and Materials,, +VPSC93H3,ART_LIT_LANG,,"This open-media studio-seminar will examine contemporary artists’ fascination with the everyday, focusing on art practices invested in observation, time, the ephemeral, the domestic, labour, humour, boredom, and failure. This course will also explore critical approaches to found materials and artistic strategies that intervene into everyday environments. Students will conceive, research, and develop art projects that explore the critical and poetic potential of everyday subject matter.",,2.5 credits at the VPSB-level,,Theory and Practice: Art and the Everyday,, +VPSC94H3,ART_LIT_LANG,,"This open-media studio-seminar will focus on contemporary art practices that are invested in the relationship of art to place, exploring topics such as Indigenous land-based knowledges; feminist and anti-racist approaches to geography; ecology and sustainability; accessibility, community, and placemaking; public and site-specific art, and the gallery and museum as context. This course will also take a critical look at systems that organize space including mapping, navigation, land use, public and private property, and institution spaces. Students will conceive, research, and develop art projects that address place and land-based subject matter.",,2.5 credits at VPSB-level,,Theory and Practice: Art and Place,, +VPSC95H3,SOCIAL_SCI,University-Based Experience,"This open-media studio-seminar will explore contemporary art practices that are invested in the relationship between art, activism, and social change. Students will examine how artists address social, economic, environmental, and political issues and the techniques they use to engage different types of collaborators and audiences. Students will conceive, research and develop collaborative art projects that address current social issues on a local or global scale. This course will place a strong emphasis collaborative work and community engagement.",,VPHA46H3 and [2.0 credits at the B- or C-level in VPS courses],"VPSC79H3, VIS307H, VIS310H",Theory and Practice: Art and Social Justice,, +VPSD55H3,,,This advanced Master Class will be taught by a newly invited instructor each time it is offered to provide students with an opportunity to study with an established or emerging artist from the GTA who is engaged in research that is of significance to current art practice.,,1.5 credits at the C-level in VPS courses,"VIS401H, VIS402H, VIS403H, VIS404H, VIS410H, FAS450Y, FAS451H, FAS452H",Advanced Special Topics in Studio Art,, +VPSD56H3,,University-Based Experience,"This advanced, open-media studio art course provides students with an opportunity to conceive, propose, research, develop, and complete a major artwork. This course will culminate in an end-of-term public exhibition in a professional gallery setting.",,"VPSC56H3, and 1.0 credits at VPSC-level","VIS401H, VIS402H, VIS403H, VIS404H, FAS450Y, FAS451H, FAS452H",Advanced Exhibition Practice,, +VPSD61H3,ART_LIT_LANG,,"This advanced, open-media studio art course provides students with an opportunity to conceive, research, develop, and complete a major artwork. Final projects for this course can culminate in a range of presentation formats.",,1.5 credits at VPSC-level,,Advanced Studio Art Project,, +VPSD63H3,,University-Based Experience,For Specialist students only. Students enrolled in this advanced course will work with faculty advisors to develop a major artwork supported by research and project-related writing. This course will involve weekly meetings and an end- of-term group critique. Students enrolled in this course will be offered a dedicated communal studio space.,,"VPSC56H3, VPSC85H3, and 1.0 credits at the C-level in VPS","VIS401H, VIS402H, VIS403H, VIS404H",Independent Study in Studio Art: Thesis,, +WSTA01H3,SOCIAL_SCI,,"This course explores the intersection of social relations of power including gender, race, class, sexuality and disability, and provides an interdisciplinary and integrated approach to the study of women’s lives in Canadian and global contexts. There is a strong focus on the development of critical reading and analytic skills.",,,"(NEW160Y), WGS160Y, WGS101H",Introduction to Women's and Gender Studies,, +WSTA03H3,HIS_PHIL_CUL,,"An introduction to feminist theories and thoughts with a focus on diverse, interdisciplinary and cross-cultural perspectives. An overview of the major themes, concepts and terminologies in feminist thinking and an exploration of their meanings.",,,"(NEW160Y), WGS160Y, WGS200Y, WGS260H",Introduction to Feminist Theories and Thought,, +WSTB05H3,SOCIAL_SCI,,"This course explores the power dynamics embedded in “how we know what we know”. Using a feminist and intersectional lens, we will critically analyze dominant and alternative paradigms of knowledge production, and will examine how knowledge is created and reproduced. Concepts such as bias, objectivity, and research ethics will be explored. There is an experiential learning component.",,WSTA01H3 or WSTA03H3 or (WSTA02H3),"WGS202H, WGS360H",Power in Knowledge Production,, +WSTB06H3,HIS_PHIL_CUL,,"Because of gendered responsibilities for creating homes, migrant women create and experience diasporic relations (to family and friends elsewhere) in distinctive ways. This course uses methods and materials from literature, history and the social sciences to understand the meaning of home for migrant women from many different cultural origins.",,"1.0 credit at the A-level in CLA, GAS, HIS or WST courses",,Women in Diaspora,, +WSTB09H3,HIS_PHIL_CUL,,"This course is an introduction to how the history of colonialism and the power relations of the colonial world have shaped the historical and social constructions of race and gender. The course considers political, legal, economic, and cultural realms through which colonialism produced new gendered and racial social relationships across different societies and communities. The ways in which colonial power was challenged and resisted will also be explored.",,1.0 credit at the A-level in any Humanities or Social Science courses,,"Gender, Race, and Colonialism",, +WSTB10H3,HIS_PHIL_CUL,,"An examination of local and global movements for change, past and current, which address issues concerning women. This course will survey initiatives from the individual and community to the national and international levels to bring about change for women in a variety of spheres.",WSTA01H3 or WSTA03H3,"1.0 credit at the A-level in GAS, HIS, WST, or other Humanities and Social Sciences courses",(WSTA02H3),"Women, Power and Protest: Transnational Perspectives",, +WSTB11H3,SOCIAL_SCI,,"An overview of the complex interactions among race, class, gender and sexuality in traditional and modern societies. Drawing on both historical and contemporary patterns in diverse societies, the course offers feminist perspectives on the ways in which race, class, gender, and sexual orientation have shaped the lives of women and men.",,WSTA01H3 or [WSTA03H3 or (WSTA02H3)],,Intersections of Inequality,, +WSTB12H3,SOCIAL_SCI,,"This course offers an analysis of violence against women and gender-based violence, including acts of resistance against violence. Applying a historical, cultural, and structural approach, family, state, economic and ideological aspects will be addressed. Initiatives toward making communities safer, including strategies for violence prevention and education will be explored.",,WSTA01H3 and [WSTA03H3 or (WSTA02H3) or WSTB05H3 or WSTB11H3 or one half credit from the list provided in requirement #6 in the Major in Women's and Gender Studies],"(NEW373H), WGS373H",Gender-based Violence and Resistance,, +WSTB13H3,HIS_PHIL_CUL,,"An interdisciplinary approach to feminist critiques of the media. Gendered representation will be examined in media such as film, television, video, newspapers, magazines and on-line technologies. Students will also develop a perspective on women's participation in, and contributions toward, the various media industries.",,WSTA01H3 or [WSTA03H3 or (WSTA02H3)],"(NEW271Y), WGS271Y, WGS205H",Feminist Critiques of Media and Culture,, +WSTB20H3,SOCIAL_SCI,,"This course will take a feminist approach to exploring the links between women, gender and the environment. We will examine how racism, sexism, heterosexism and other forms of oppression have shaped environmental discourses. Topics include: social, historical and cultural roots of the environmental crisis, women’s roles in sustainable development, ecofeminism, planning for safer spaces, and activism for change.",,Any 4.0 credits,(WSTC20H3),Feminism and The Environment,, +WSTB22H3,HIS_PHIL_CUL,University-Based Experience,"This introductory survey course connects the rich histories of Black radical women’s acts, deeds, and words in Canada. It traces the lives and political thought of Black women and gender-non-conforming people who refused and fled enslavement, took part in individual and collective struggles against segregated labour, education, and immigration practices; providing a historical context for the emergence of the contemporary queer-led #BlackLivesMatter movement. Students will be introduced, through histories of activism, resistance, and refusal, to multiple concepts and currents in Black feminist studies. This includes, for example, theories of power, race, and gender, transnational/diasporic Black feminisms, Black-Indigenous solidarities, abolition and decolonization. Students will participate in experiential learning and engage an interdisciplinary array of key texts and readings including primary and secondary sources, oral histories, and online archives. Same as HISB22H3",WSTA01H3 or WSTA03H3,1.0 credit at the A-level in any Humanities or Social Science courses,"HISB22H3, WGS340H5",From Freedom Runners to #BlackLivesMatter: Histories of Black Feminism in Canada,, +WSTB25H3,HIS_PHIL_CUL,,"This course introduces students to current discussions, debates and theories in LGBT and queer studies and activism. It will critically examine terms such as gay, lesbian, bisexual, transgender, queer, heterosexual, and ally, and explore how class, race, culture, ability, and history of colonization impact the experience of LGBTQ-identified people.",,"4.0 credits, including 1.0 credit in Humanities or Social Sciences",,"LGBTQ History, Theory and Activism",,Priority will be given to students enrolled in a Women's and Gender Studies program. +WSTC02H3,SOCIAL_SCI,Partnership-Based Experience,"Students will design and conduct a qualitative research project in the community on an issue related to women and/or gender. The course will also include an overview of the various phases of carrying out research: planning the research project, choosing appropriate methods for data collection, analyzing the data and reporting the results. Students should expect to spend approximately 10 hours conducting their research in the community over the course of the semester.",,WSTB05H3 and WSTB11H3 and 0.5 credit taken from the courses listed in requirement 6 of the Major Program in Women's and Gender Studies,(WSTD02H3),Feminist Qualitative Research in Action,, +WSTC10H3,SOCIAL_SCI,,"How development affects, and is affected by, women around the world. Topics may include labour and economic issues, food production, the effects of technological change, women organizing for change, and feminist critiques of traditional development models. Same as AFSC53H3",,[AFSA03H3/IDSA02H3 or IDSB01H3 or IDSB02H3] or [[WSTA01H3 or WSTA03H3] and [an additional 0.5 credit in WST courses]],AFSC53H3,Gender and Critical Development,, +WSTC12H3,ART_LIT_LANG,,"An exploration of the ways in which women from different countries construct the gendered subject in their representations of childhood, sexuality, work, maternity and illness. Texts will be read in English and an emphasis will be placed on the cultural contexts of gender, ethnicity, sexuality and class.",WSTB13H3,[WSTA01H3 and [WSTA03H3 or (WSTA02H3)] and [1.0 additional credit in WST courses],,Writing the Self: Global Women's Autobiographies,, +WSTC13H3,HIS_PHIL_CUL,,"Explores historical and contemporary debates regarding the construction of gender in Islam. Topics include the historical representations of Muslim woman, veiling, sexuality, Islamic law and Islamic feminism. This course situates Muslim women as multidimensional actors as opposed to the static, Orientalist images that have gained currency in the post 9/11 era.",,1.5 credits in WST courses including 0.5 credit at the B- or C-level,"WSTC30H3 (if taken in the 2008 Winter Session), WGS301H","Women, Gender and Islam",, +WSTC14H3,HIS_PHIL_CUL,,"An examination of the impact of social policy on women's lives, from a historical perspective. The course will survey discriminatory practices in social policy as they affect women and immigration, health care, welfare, and the workplace. Topics may include maternity leave, sexual harassment, family benefits, divorce, and human rights policies.",,WSTA01H3 and [WSTA03H3 or (WSTA02H3)],,The Gender Politics of Policy Change,, +WSTC16H3,HIS_PHIL_CUL,,"Examining popular media and history students will investigate themes of criminality, gender and violence in relation to the social construction of justice. Some criminal cases involving female defendants will also be analyzed to examine historical issues and social contexts. Debates in feminist theory, criminology and the law will be discussed.",WSTB13H3,[WSTA01H3 and [WSTA03H3 or (WSTA02H3)]] or [1.0 credit in SOC courses],,"Gender, Justice and the Law",, +WSTC22H3,HIS_PHIL_CUL,,"This course examines the representations of gender in narrative, documentary and experimental films by a selection of global directors from a social, critical and historical perspective. We will analyse and engage with the filmic representations of race, class and sexual orientation, and explore how traditional and non-traditional cinema can challenge or perpetuate normative notions of gender.",WSTB13H3,"Any 5.0 credits, including: [WSTA01H3 and [WSTA02H3 or WSTA03H3]] or [0.5 credit in ENG, FRE or GAS cinema/film focused courses]",,Gender and Film,, +WSTC23H3,SOCIAL_SCI,Partnership-Based Experience,"An opportunity for students in the Major and Minor programs in Women’s and Gender Studies to apply theoretical knowledge related to women and gender to practical community experience through experiential learning within a community, educational or social setting.",,WSTA01H3 and [WSTA03H3 or (WSTA02H3)] and WSTB05H3 and WSTB11H3 and WSTC02H3,HCSC01H3,Community Engagement Practicum,, +WSTC24H3,HIS_PHIL_CUL,,"Across cultures, women are the main preparers and servers of food in domestic settings; in commercial food production and in restaurants, and especially in elite dining establishments, males dominate. Using agricultural histories, recipes, cookbooks, memoirs, and restaurant reviews and through the exploration of students’ own domestic culinary knowledge, students will analyze the origins, practices, and consequences of such deeply gendered patterns of food labour and consumption. Same as FSTC24H3",,"8.0 credits, including [0.5 credit at the A- or B- level in WST courses] and [0.5 credit at the A or B-level in FST courses]",FSTC24H3,Gender in the Kitchen,, +WSTC25H3,HIS_PHIL_CUL,,"This course examines how sexuality and gender are shaped and redefined by cultural, economic, and political globalization. We will examine concepts of identity, sexual practices and queerness, as well as sexuality/gender inequality in relation to formulations of the local-global, nations, the transnational, family, homeland, diaspora, community, borders, margins, and urban-rural.",,"[1.0 credit at the A-level] and [1.0 credit at the B-level in WST courses, or other Humanities and Social Sciences courses]",,Transnational Queer Sexualities,,Priority will be given to students enrolled in the Major and Minor programs in Women’s and Gender Studies. Additional students will be admitted as space permits. +WSTC26H3,HIS_PHIL_CUL,,"This course focuses on the theoretical approaches of critical race theory and black feminist thought this course examines how race and racism are represented and enacted across dominant cultural modes of expression and the ideas, actions, and resistances produced by Black women. The course will analyze intersections of gender subordination, homophobia, systems and institutions of colonialism, slavery and capitalism historically and in the contemporary period.",,WSTA03H3 and WSTB11H3 and an additional 1.0 credit in WST courses,WGS340H5,Critical Race and Black Feminist Theories,, +WSTC28H3,SOCIAL_SCI,,"An introduction to the research on differences between women and men in how they use language and how they behave in conversational interaction, together with an examination of the role of language in reflecting and perpetuating cultural attitudes towards gender. Same as LINC28H3",,"[WSTA01H3 or WSTA03H3] and one full credit at the B-level in ANT, LIN, SOC or WST",JAL355H and LINC28H3,Language and Gender,, +WSTC30H3,,,An examination of a current topic relevant to women and gender studies. Students will have the opportunity to explore recent scholarship in a specific content area which will vary from year to year. Participation in a related project/practicum in the community may be incorporated into the course.,,WSTA01H3 and [WSTA03H3 or (WSTA02H3)],,Special Topics in Women's and Gender Studies,, +WSTC31H3,,,An examination of a current topic relevant to women's and gender studies. Students will have the opportunity to explore recent scholarship in a specific content area which will vary from year to year. Participation in a related project/practicum in the community may be incorporated into the course.,,WSTA01H3 and [WSTA03H3 or (WSTA02H3)],,Special Topics in Women's and Gender Studies,, +WSTC40H3,HIS_PHIL_CUL,,"This course introduces debates and approaches to the intersection of disability with social determinants of gender, sexuality, class, race and ethnicity. Students will examine international human rights for persons with disabilities, images and representations of gender and the body, research questions for political activism, and social injustice.",,"1.5 credits, including [WSTA01H3 or WSTA03H3] and [0.5 credit at the B- or C-level in WST courses]",WGS366H,Gender and Disability,, +WSTC66H3,HIS_PHIL_CUL,,"This course tracks the evolving histories of gender and sexuality in diverse Muslim societies. We will examine how gendered norms and sexual mores were negotiated through law, ethics, and custom. We will compare and contrast these themes in diverse societies, from the Prophet Muhammad’s community in 7th century Arabia to North American and West African Muslim communities in the 21st century. Same as HISC66H3",,"[Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses] or [1.5 credits in WST courses, including 0.5 credit at the B- or C-level]","HISC66H3, RLG312H1","Histories of Gender and Sexuality in Muslim Societies: Between Law, Ethics and Culture",, +WSTD01H3,,University-Based Experience,"An opportunity to undertake an in-depth research topic under the supervision of a Women's and Gender Studies faculty member. Students will work with their supervisor to finalize the course content and methods of approach; assessment will be based on an advanced essay/project on the approved topic, which will be evaluated by the supervising faculty member and program coordinator. The material studied will differ significantly in content and/or concentration from topics offered in regular courses.",,"At least 15.0 credits including: WSTA01H3 and WSTB05H3 and [WSTA03H3 or (WSTA02H3)] and [1.5 credits taken from the courses in requirement 5 and 6 in the Major program in Women's and Gender Studies]. Only students in the Major program in Women's and Gender Studies that have a CGPA of at least 3.3 can enrol in this course. When applying to a faculty supervisor, students need to present a brief written statement of the topic they wish to explore in the term prior to the start of the course.",,Independent Project in Women's and Gender Studies,, +WSTD03H3,,University-Based Experience,"An advanced and in-depth examination of selected topics related to health, sexualities, the gendered body, and the representations and constructions of women and gender. The course will be in a seminar format with student participation expected. It is writing intensive and involves a major research project.",,WSTA01H3 and [WSTA03H3 or (WSTA02H3)] and WSTB11H3 and [1.0 credit at the C-level from requirement 5 or 6 of the Major program in Women's and Gender Studies],,"Feminist Perspectives on Sex, Gender and the Body",, +WSTD04H3,,University-Based Experience,"An in-depth examination of selected topics related to women, gender, equality, and human rights in the context of local and global communities, and diaspora. Student participation and engagement is expected. There will be a major research project.",,8.0 credits including 2.0 credits in WST courses,,Critical Perspectives on Gender and Human Rights,, +WSTD08H3,HIS_PHIL_CUL,,"During the historic protests of 2020, “Abolition Now” was a central demand forwarded by Black and queer-led social movements. But what is abolition? What is its significance as a theory of change, a body of scholarship, and as a practice? This course explores how leading abolitionist and feminist thinkers theorize the state, punishment, criminalization, the root causes of violence, and the meaning of safety. It explores the historical genealogies of abolitionist thought and practice in relation to shifting forms of racial, gendered and economic violence. Students will analyze the works of formerly enslaved and free Black abolitionists, prison writings during the Black Power Era as well as canonical scholarly texts in the field. A central focus of the course is contemporary abolitionist feminist thought. The course is conceptually grounded in Black and queer feminisms, and features works by Indigenous, South Asian women and other women of colour.","HISB22H3/WSTB22H3, WSTC26H3",[[WSTA03H3 and WSTB11H3] and [WSTB22H3 or WSTC26H3] and [1.0 additional credit in WST]] or [1.0 credit in WST and 6.0 credits in any other Humanities or Social Sciences discipline],,Abolition Feminisms,, +WSTD09H3,HIS_PHIL_CUL,,"An in-depth examination of Islamophobic discourses, practices and institutionalized discriminatory policies, and their impact on Muslims and those perceived to be Muslim. Themes include the relationship between Islamophobia, gender orientalism and empire; Islamophobic violence; Islamophobia in the media; the Islamophobia industry; the mobilization of feminism and human rights in the mainstreaming of Islamophobia. Equal attention will be paid to resisting Islamophobia through art, advocacy, and education.","ANTC80H3, RLG204H1 or NMC475H1",WSTB11H3 and 1.0 credit at the C-level from courses listed in requirements 5 and 6 of the Major program in Women's and Gender Studies,,"Race, Gender, and Islamophobia",,Priority will be given to students in the Major program in Women’s and Gender Studies +WSTD10H3,HIS_PHIL_CUL,Partnership-Based Experience,"This course will explore oral history - a method that collects and retells the stories of people whose pasts have often been invisible. Students will be introduced to the theory and practice of feminist oral history and will conduct oral histories of social activists in the community. The final project will include a digital component, such as a podcast.",,"3.5 credits in WST courses, including: [WSTB05H3 and 0.5 credit at the C-level]","HISC28H3, HISD25H3, WSTC02H3 (Fall 2013), HISD44H3 (Fall 2013), CITC10H3 (Fall 2013)",Creating Stories for Social Change,, +WSTD11H3,HIS_PHIL_CUL,,"An advanced and in-depth seminar dedicated to a topic relevant to Women’s and Gender Studies. Students will have the opportunity to explore recent scholarship in a specific content area, which will vary from year to year. Participation in a related project/practicum in the community may be incorporated into the course.",,WSTB11H3 and 1.0 credit at the C-level from the courses in requirement 5 or 6 of the Major program in Women's and Gender Studies,,Special Topics in Women's and Gender Studies,, +WSTD16H3,HIS_PHIL_CUL,,"A comparative exploration of socialist feminism, encompassing its diverse histories in different locations, particularly China, Russia, Germany and Canada. Primary documents, including literary texts, magazines, political pamphlets and group manifestos that constitute socialist feminist ideas, practices and imaginaries in different times and places will be central. We will also seek to understand socialist feminism and its legacies in relation to other contemporary stands of feminism. Same as HISD16H3 Transnational Area",,"[1.0 credit at the B-level] and [1.0 credit at the C-level in HIS, WST, or other Humanities and Social Sciences courses]",HISD16H3,Socialist Feminism in Global Context,, +WSTD30H3,HIS_PHIL_CUL,,"This course examines how popular culture projects its fantasies and fears about the future onto Asia through sexualized and racialized technology. Through the lens of techno-Orientalism this course explores questions of colonialism, imperialism and globalization in relation to cyborgs, digital industry, high-tech labor, and internet/media economics. Topics include the hyper-sexuality of Asian women, racialized and sexualized trauma and disability. This course requires student engagement and participation. Students are required to watch films in class and creative assignments such as filmmaking and digital projects are encouraged. Same as GASD30H3",,[1.0 credit at the B-level] and [1.0 credit at the C-level in WST courses or other Humanities and Social Sciences courses],GASD30H3,Gender and Techno- Orientalism,,"Priority will be given to students enrolled in the Major/Major Co-op and Minor programs Women’s and Gender Studies, and the Specialist, Major and Minor programs in Global Asia Studies. Additional students will be admitted as space permits." +WSTD46H3,HIS_PHIL_CUL,,"Weekly discussions of assigned readings. The course covers a broad chronological sweep but also highlights certain themes, including race and gender relations, working women and family economies, sexuality, and women and the courts. We will also explore topics in gender history, including masculinity studies and gay history. Same as HISD46H3",HISB02H3 or HISB03H3 or HISB14H3 or WSTB06H3 or HISB50H3 or GASB57H3/HISB57H3 or HISC09H3 or HISC29H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in CLA, FST, GAS, HIS or WST courses] and [0.5 credit at the C-level in CLA, FST, GAS, HIS or WST courses]",HISD46H3,Selected Topics in Canadian Women's History,, diff --git a/course-matrix/data/tables/courses_test.csv b/course-matrix/data/tables/courses_test.csv new file mode 100644 index 00000000..a0aaf4ec --- /dev/null +++ b/course-matrix/data/tables/courses_test.csv @@ -0,0 +1,7 @@ +code,breadth_requirement,course_experience,description,recommended_preperation,prerequisite_description,exclusion_description,name,corequisite_description,note +BIOB11H3,NAT_SCI,,"A course focusing on the central dogma of genetics and how molecular techniques are used to investigate cellular processes. Topics include structure and function of the nucleus, DNA replication and cell cycle control, transcription and translation, gene regulation and signal transduction.",,BIOA01H3 and BIOA02H3 and CHMA10H3 and CHMA11H3,BIO230H,Molecular Aspects of Cellular and Genetic Processes,, +BIOB12H3,NAT_SCI,University-Based Experience,"A practical introduction to experimentation in cell and molecular biology. Lab modules will introduce students to concepts and techniques in the general preparation of solutions and buffers, microbiology, molecular biology, biochemistry, microscopy, data analysis, and science communication. This core laboratory course is the gateway for Molecular Biology & Biotechnology Specialists to upper level laboratory offerings.",,CHMA10H3 and CHMA11H3,,Cell and Molecular Biology Laboratory,BIOB10H3 and BIOB11H3,"Priority will be given to students enrolled in the Specialist programs in Molecular Biology and Biotechnology (Co-op and non-Co-op), Medicinal and Biological Chemistry, Neuroscience (Stage 1, Co-op only), Neuroscience (Cellular/Molecular Stream), and the Major program in Biochemistry. Additional students will be admitted as space permits." +BIOB20H3,QUANT,,"This course explains the fundamental methods of quantitative reasoning, with applications in medicine, natural sciences, ecology and evolutionary biology. It covers the major aspects of statistics by working through concrete biological problems. The course will help students develop an understanding of key concepts through computer simulations, problem solving and interactive data visualisation using the R programming language (no prior skills with R or specialized math concepts are required).",,BIOA01H3 and BIOA02H3,BIO259H5,Introduction to Computational Biology,, +BIOB32H3,NAT_SCI,University-Based Experience,"This course examines physiological mechanisms that control and co-ordinate the function of various systems within the body. The laboratory exercises examine properties of digestive enzymes, characteristics of blood, kidney function, metabolic rate and energetics, nerve function and action potentials, synaptic transmission, skeletal muscle function and mechanoreception.",,,"BIO252Y, BIO270H, BIO271H, (ZOO252Y)",Animal Physiology Laboratory,(BIOB30H3) or BIOB34H3, +BIOB33H3,NAT_SCI,,A lecture based course with online learning modules which deals with the functional morphology of the human organism. The subject matter extends from early embryo-genesis through puberty to late adult life.,,[BIOA01H3 and BIOA02H3] or [HLTA03H3 and HLTA20H3],"ANA300Y, ANA301H, HLTB33H3, PMDB33H3",Human Development and Anatomy,,Priority will be given to students in the Human Biology programs. Additional students will be admitted as space permits. +BIOB34H3,NAT_SCI,,"An introduction to the principles of animal physiology rooted in energy usage and cellular physiology. A comparative approach is taken, which identifies both the universal and unique mechanisms present across the animal kingdom. Metabolism, thermoregulation, digestion, respiration, water regulation, nitrogen excretion, and neural circuits are the areas of principal focus.",,BIOA01H3 and BIOA02H3 and CHMA11H3,BIO270H,Animal Physiology,, diff --git a/course-matrix/data/tables/courses_with_year.csv b/course-matrix/data/tables/courses_with_year.csv new file mode 100644 index 00000000..f0f2f45e --- /dev/null +++ b/course-matrix/data/tables/courses_with_year.csv @@ -0,0 +1,2144 @@ +code,breadth_requirement,course_experience,description,recommended_preperation,prerequisite_description,exclusion_description,name,corequisite_description,note,year_level +ACMA01H3,ART_LIT_LANG,,"ACMA01H3 surveys the cultural achievements of the humanities in visual art, language, music, theatre, and film within their historical, material, and philosophical contexts. Students gain understanding of the meanings of cultural works and an appreciation of their importance in helping define what it means to be human.",,,(HUMA01H3),"Exploring Key Questions in the Arts, Culture and Media",,,1st year +ACMB10H3,SOCIAL_SCI,,"Equity and diversity in the arts promotes diversity of all kinds, including those of race, gender, socio-economic status, sexual orientation or identity, age, ability or disability, religion, and aesthetics, tradition or practice. This course examines issues of equity and diversity and how they apply across all disciplines of arts, culture and media through critical readings and analysis of cultural policy.",,Any 4.0 credits,(VPAB07H3),Equity and Diversity in the Arts,,"Priority will be given to students enroled in Specialist and Major Programs offered by the Department of Arts, Culture & Media. Other students will be admitted as space permits.",2nd year +ACMC01H3,ART_LIT_LANG,University-Based Experience,"A study of the arts, culture and/or media sector through reflective practice. Students will synthesize their classroom and work place / learning laboratory experiences in a highly focused, collaborative, and facilitated way through a series of assignments and discussions.",,9.0 credits including VPAB16H3 and VPAB17H3 (or its equivalent with instructor permission) and successful completion of required Field Placement Preparation Activities,,ACMEE Applied Practice I,Field Placement I (may be taken as a prerequisite with Program Director's permission),This course will be graded as a CR if a student successfully completes their internship; and as NCR is the placement was unsuccessful. The NCR will impact the CGPA and count as a 0.0 CGPA value on a transcript.,3rd year +ACMD01H3,ART_LIT_LANG,University-Based Experience,"An advanced study of the arts, culture and/or media sector through reflective practice. Students will further engage with work places as “learning laboratories”, and play a mentorship role for students in earlier stages of the experiential education process.",,ACMC01H3,,ACMEE Applied Practice II,Field Placement II (may be taken as a prerequisite with Program Director's permission),This course will be graded as a CR if a student successfully completes their internship; and as NCR is the placement was unsuccessful. The NCR will impact the CGPA and count as a 0.0 CGPA value on a transcript.,4th year +ACMD02H3,ART_LIT_LANG,University-Based Experience,"An advanced study of the arts, culture and/or media sector through reflective practice. Students will further synthesize their classroom and work place / learning laboratory experiences, and play a mentorship role for students in earlier stages of the experiential education process.",,ACMD01H3,,ACMEE Applied Practice III,Field Placement III (may be taken as a prerequisite with Program Director's permission),This course will be graded as a CR if a student successfully completes their internship; and as NCR is the placement was unsuccessful. The NCR will impact the CGPA and count as a 0.0 CGPA value on a transcript.,4th year +ACMD91H3,,,"Independent study of an advanced and intensive kind, under the direction of a faculty member. The material studied should bear some significant relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in other courses. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. The student should submit to the instructor a statement of objectives and proposed content for the course; this should be done by 15 April for 'F' courses and by 1 December for 'S' courses. If the proposal is approved, two faculty members from relevant disciplines will supervise and evaluate the work.",,"3.0 credits at the B-level in the Department of Arts, Culture and Media.",(HUMD91H3),Supervised Readings,,,4th year +ACMD92H3,,,"Independent study of an advanced and intensive kind, under the direction of a faculty member. The material studied should bear some significant relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in other courses. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. The student should submit to the instructor a statement of objectives and proposed content for the course; this should be done by 15 April for 'F' courses and by 1 December for 'S' courses. If the proposal is approved, two faculty members from relevant disciplines will supervise and evaluate the work.",,"3.0 credits at the B-level in the Department of Arts, Culture and Media.",(HUMD92H3),Supervised Readings,,,4th year +ACMD93Y3,,,"Independent study of an advanced and intensive kind, under the direction of a faculty member. The material studied should bear some significant relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in other courses. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. The student should submit a statement of objectives and proposed content for the course to the instructor by 15 April for 'F' and 'Y' courses and by 1 December for 'S' courses. If the proposal is approved, two faculty members from relevant disciplines will supervise and evaluate the work.",,"3.0 credits at the B-level in the Department of Arts, Culture and Media.",(HUMD93Y3),Supervised Readings,,,4th year +ACMD94H3,HIS_PHIL_CUL,University-Based Experience,"This course is an advanced-level collaborative project for senior students in Arts, Culture and Media under the direction of one or more faculty members. While the course nature and focus will vary year to year, the project will likely be rooted in Arts, Culture and Media faculty research or an ongoing community partnership, and will likely involve experiential elements.",,15.0 credits and enrolment in any ACM program,,"Senior Collaboration Project in Arts, Culture and Media",,"Students should contact the ACM Program Manager: acm-pa@utsc.utoronto.ca, to verify if this course could be counted towards their ACM program requirements.",4th year +ACMD98H3,HIS_PHIL_CUL,Partnership-Based Experience,"This course offers students the opportunity to integrate experiential learning appropriate to students’ fields of study within the Department of Arts, Culture and Media. It provides student experiences that develop work and life-related skills and knowledge through a spectrum of interactive approaches with focused reflection. The course allows students to apply ACM-specific program knowledge and/or essential employability skills. Students must complete an application form made available on the UTSC Timetable and on the ACM website.",,"[9.0 credits in courses offered by the Department of Arts, and Culture and Media], and cGPA of at least 2.5; selection will be based on the application form",,"Experiential Learning for Arts, Culture and Media Programs",,"This is a 0.5 credit course. However, depending on the course content, it may be offered in a single-term or over two- terms. Priority will be given to students enrolled in programs offered by the Department of Arts, Culture and Media.",4th year +ACMD99H3,HIS_PHIL_CUL,Partnership-Based Experience,"This course offers students the opportunity to integrate academic learning with an internship placement appropriate to students’ field of study within the Department of Arts, Culture and Media. The 0.5 credit, two-term course provides students an understanding of workplace dynamics while allowing them to refine and clarify professional and career goals through critical analysis of their work-integrated learning experience.",,"[8.0 credits in courses offered by the Department of Arts, Culture and Media] and [CGPA of at least 3.0]; permission of the Arts Culture and Media Internship Coordinator",,Work Integrated Learning for Arts Culture and Media Programs,,,4th year +ACTB40H3,QUANT,,"This course is concerned with the concept of financial interest. Topics covered include: interest, discount and present values, as applied to determine prices and values of annuities, mortgages, bonds, equities, loan repayment schedules and consumer finance payments in general, yield rates on investments given the costs on investments.",,MATA30H3 or MATA31H3 or MATA34H3,"ACT240H, MGFB10H3/(MGTB09H3), (MGTC03H3)",Fundamentals of Investment and Credit,,"Students enrolled in or planning to enrol in any of the B.B.A. programs are strongly urged not to take ACTB40H3 because ACTB40H3 is an exclusion for MGFB10H3/(MGTB09H3)/(MGTC03H3), a required course in the B.B.A. degree. Students in any of the B.B.A programs will thus be forced to complete MGFB10H3/(MGTB09H3)/(MGTC03H3), even if they have credit for ACTB40H3, but will only be permitted to count one of ACTB40H3 and MGFB10H3/(MGTB09H3)/(MGTC03H3) towards the 20 credits required to graduate.",2nd year +AFSA01H3,HIS_PHIL_CUL,,"An interdisciplinary introduction to the history and development of Africa with Africa's place in the wider world a key theme. Students critically engage with African and diasporic histories, cultures, social structures, economies, and belief systems. Course material is drawn from Archaeology, History, Geography, Literature, Film Studies, and Women's Studies. Same as HISA08H3",,,"HISA08H3, NEW150Y",Africa in the World: An Introduction,,,1st year +AFSA03H3,SOCIAL_SCI,Partnership-Based Experience,"This experiential learning course allows students to experience first hand the realities, challenges, and opportunities of working with development organizations in Africa. The goal is to allow students to actively engage in research, decision-making, problem solving, partnership building, and fundraising, processes that are the key elements of development work. Same as IDSA02H3",,,IDSA02H3,Experiencing Development in Africa,,,1st year +AFSB01H3,HIS_PHIL_CUL,,"An interdisciplinary introduction to African and African diasporic religions in historic context, including traditional African cosmologies, Judaism, Christianity, Islam, as well as millenarian and synchretic religious movements. Same as HISB52H3",AFSA01H3/HISA08H3,,"HISB52H3, (AFSA02H3)",African Religious Traditions Through History,,,2nd year +AFSB05H3,SOCIAL_SCI,,"An overview of the range and diversity of African social institutions, religious beliefs and ritual, kinship, political and economic organization, pre-colonial, colonial and post- colonial experience. Same as ANTB05H3",,AFSA01H3 or ANTA02H3,ANTB05H3,Culture and Society in Africa,,,2nd year +AFSB50H3,HIS_PHIL_CUL,,"An introduction to the history of Sub-Saharan Africa, from the era of the slave trade to the colonial conquests. Throughout, the capacity of Africans to overcome major problems will be stressed. Themes include slavery and the slave trade; pre- colonial states and societies; economic and labour systems; and religious change. Same as HISB50H3",,"Any modern history course, or AFSA01H3","HISB50H3, (HISC50H3), HIS295H, HIS396H, (HIS396Y)",Africa in the Era of the Slave Trade,,,2nd year +AFSB51H3,HIS_PHIL_CUL,,"Modern Sub-Saharan Africa, from the colonial conquests to the end of the colonial era. The emphasis is on both structure and agency in a hostile world. Themes include conquest and resistance; colonial economies; peasants and labour; gender and ethnicity; religious and political movements; development and underdevelopment; Pan-Africanism, nationalism and independence. Same as HISB51H3",AFSA01H3/HISA08H3 or AFSB50H3 or HISB50H3 strongly recommended.,,HISB51H3 and (HISC51H3) and HIS396H and (HIS396Y),Africa from the Colonial Conquests to Independence,,,2nd year +AFSB54H3,HIS_PHIL_CUL,,"Africa from the 1960s to the present. After independence, Africans experienced great optimism and then the disappointments of unmet expectations, development crises, conflict and AIDS. Yet the continent’s strength is its youth. Topics include African socialism and capitalism; structural adjustment and resource economies; dictatorship and democratization; migration and urbanization; social movements. Same as HISB54H3",,AFSA01H3 or AFSB51H3 or 0.5 credit in Modern History,"HISB54H3, NEW250Y1",Africa in the Postcolonial Era,,,2nd year +AFSC03H3,SOCIAL_SCI,,"This course is intended as an advanced critical introduction to contemporary African politics. It seeks to examine the nature of power and politics, state and society, war and violence, epistemology and ethics, identity and subjectivities, history and the present from a comparative and historical perspective. It asks what the main drivers of African politics are, and how we account for political organization and change on the continent from a comparative and historical perspective. Same as IDSC03H3.",,[IDSA01H3 or AFSA01H3] or by instructor’s permission,IDSC03H3,"Contemporary Africa: State, Society, and Politics",,,3rd year +AFSC19H3,SOCIAL_SCI,University-Based Experience,"This course introduces students to alternative business institutions (including cooperatives, credit unions, worker- owned firms, mutual aid, and social enterprises) to challenge development. It investigates the history and theories of the solidarity economy as well as its potential contributions to local, regional and international socio-economic development. There will be strong experiential education aspects in the course to debate issues. Students analyze case studies with attention paid to Africa and its diaspora to combat exclusion through cooperative structures. Same as IDSC19H3",,AFSA01H3 or IDSA01H3 or POLB90H3 or permission of the instructor,IDSC19H3,"Community-Driven Development: Cooperatives, Social Enterprises and the Black Social Economy",,,3rd year +AFSC52H3,HIS_PHIL_CUL,,"This course uses a focus on material history and visual culture to explore Ethiopia from the fourth through the nineteenth century, with particular emphasis on the Christian Church, the monarchy, links with both the Mediterranean world and the Indian subcontinent, and the relationship of individuals to their social, economic, artistic and geographic environments. Same as HISC52H3 and VPHC52H3",,[1.0 credit in History] or [VPHA46H3 and an additional 1.0 credit in VPH courses],"HISC52H3, VPHC52H3",Ethiopia: Seeing History,,,3rd year +AFSC53H3,SOCIAL_SCI,,"How development affects, and is affected by, women around the world. Topics may include labour and economic issues, food production, the effects of technological change, women organizing for change, and feminist critiques of traditional development models. Same as WSTC10H3",,[AFSA03H3/IDSA02H3 or IDSB01H3 or IDSB02H3] or [[WSTA01H3 or WSTA03H3] and [an additional 0.5 credit in WST courses]],WSTC10H3,Gender and Critical Development,,,3rd year +AFSC55H3,HIS_PHIL_CUL,,"Conflict and social change in Africa from the slave trade to contemporary times. Topics include the politics of resistance, women and war, repressive and weak states, the Cold War, guerrilla movements, resource predation. Case studies of anti-colonial rebellions, liberation wars, and civil conflicts will be chosen from various regions. Same as HISC55H3",,"Any 4.0 credits, including: AFSB50H3/HISB50H3 or AFSB51H3/HISB51H3 or (HISC50H3) or (HISC51H3)",HISC55H3,War and Society in Modern Africa,,,3rd year +AFSC70H3,HIS_PHIL_CUL,,"The migration of Caribbean peoples to the United States, Canada, and Europe from the late 19th century to the present. The course considers how shifting economic circumstances and labour demands, the World Wards, evolving imperial relationships, pan-Africanism and international unionism, decolonization, natural disasters, and globalization shaped this migration. Same as HISC70H3",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses","NEW428H,HISC70H3",The Caribbean Diaspora,,,3rd year +AFSC97H3,HIS_PHIL_CUL,,"This course examines women in Sub-Saharan Africa in the pre-colonial, colonial and postcolonial periods. It covers a range of topics including slavery, colonialism, prostitution, nationalism and anti-colonial resistance, citizenship, processes of production and reproduction, market and household relations, and development. Same as HISC97H3",,"Any 4.0 credits, including: AFSA01H3/HISA08H3 or AFSB50H3/HISB50H3 or AFSB51H3/HISB51H3",HISC97H3,Women and Power in Africa,,,3rd year +AFSD07H3,HIS_PHIL_CUL,,"This course examines resource extraction in African history. We examine global trade networks in precolonial Africa, and the transformations brought by colonial extractive economies. Case studies, from diamonds to uranium, demonstrate how the resource curse has affected states and economies, especially in the postcolonial period. Same as IDSD07H3",,[10.0 credits including [AFSA01H3 or IDSA01H3 or POLB90H3]] or permission of instructor,IDSD07H3,Extractive Industries in Africa,,,4th year +AFSD16H3,SOCIAL_SCI,University-Based Experience,"This course analyzes racial capitalism among persons of African descent in the Global South and Global North with a focus on diaspora communities. Students learn about models for self-determination, solidarity economies and cooperativism as well as Black political economy theory. Same as IDSD16H3",,[10.0 credits including [AFSA01H3 or IDSA01H3 or POLB90H3]] or permission of instructor,IDSD16H3,Africana Political Economy in Comparative Perspective,,,4th year +AFSD20H3,SOCIAL_SCI,,"This course offers an advanced critical introduction to the security-development nexus and the political economy of conflict, security, and development. It explores the major issues in contemporary conflicts, the securitization of development, the transformation of the security and development landscapes, and the broader implications they have for peace and development in the Global South. Same as IDSD20H3.",,[12.0 including (IDSA01H3 or AFSA01H3 or POLC09H3)] or by instructor’s permission,IDSD20H3,"Thinking Conflict, Security, and Development",,,4th year +AFSD51H3,HIS_PHIL_CUL,,"A seminar study of southern African history from 1900 to the present. Students will consider industrialization in South Africa, segregation, apartheid, colonial rule, liberation movements, and the impact of the Cold War. Historiography and questions of race, class and gender will be important. Extensive reading and student presentations are required. Same as HISD51H3 Africa and Asia Area",,8.0 credits including AFSB51H3/HISB51H3 or HISD50H3,HISD51H3,"Southern Africa: Colonial Rule, Apartheid and Liberation",,,4th year +AFSD52H3,HIS_PHIL_CUL,,"A seminar study of East African peoples from late pre-colonial times to the 1990's, emphasizing their rapid although uneven adaptation to integration of the region into the wider world. Transitions associated with migrations, commercialization, religious change, colonial conquest, nationalism, economic development and conflict, will be investigated. Student presentations are required. Same as HISD52H3",,8.0 credits including AFSB50H3/HISB50H3 or AFSB51H3/HISB51H3 or HISC55H3,HISD52H3,East African Societies in Transition,,,4th year +AFSD53H3,HIS_PHIL_CUL,,"This seminar course examines the First World War in its imperial and colonial context in Africa and Asia. Topics include forgotten fronts in Africa, the Middle East, Asia and the Pacific, colonial armies and civilians, imperial economies and resources, the collapse of empires and the remaking of the colonial world. Same as GASD53H3 and HISD53H3",,"8.0 credits, including: [1.0 credit in AFS, GAS, or Africa and Asia area HIS courses]","GASD53H3, HISD53H3",Africa and Asia in the First World War,,,4th year +ANTA01H3,NAT_SCI,,"An introduction to Biological Anthropology and Archaeology. Concentrates on the origins and evolution of human life, including both biological and archaeological aspects, from the ancient past to the present. Science credit",,,"ANT100Y, ANT101H",Introduction to Anthropology: Becoming Human,,,1st year +ANTA02H3,SOCIAL_SCI,,"How does an anthropological perspective enable us to understand cultural difference in an interconnected world? In this course, students will learn about the key concepts of culture, society, and language. Drawing upon illustrations of family, economic, political, and religious systems from a variety of the world's cultures, this course will introduce students to the anthropological approach to studying and understanding human ways of life.",,,"ANT100Y, ANT102H","Introduction to Anthropology: Society, Culture and Language",,,1st year +ANTB01H3,SOCIAL_SCI,,"This course examines human-environmental relations from an anthropological perspective. Throughout the semester, we explore how peoples from different parts of the globe situate themselves within culturally constructed landscapes. Topics covered include ethnoecology, conservation, green consumerism, the concept of 'wilderness', and what happens when competing and differentially empowered views of the non-human world collide.",,ANTA02H3,,Political Ecology,,,2nd year +ANTB02H3,SOCIAL_SCI,,"An ethnographic inquiry into the culturally configured human body as a reservoir of experiential knowledge, focus of symbolism, and site of social, moral, and political control.",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC, ENG or HCS courses] or [permission of the instructor.]",(ANTD01H3),The Body in Culture and Society,,,2nd year +ANTB05H3,SOCIAL_SCI,,"An overview of the range and diversity of African social institutions, religious beliefs and ritual, kinship, political and economic organization, pre-colonial, colonial and post- colonial experience. Same as AFSB05H3 Area course",,ANTA02H3 or AFSA01H3,AFSB05H3,Culture and Society in Africa,,,2nd year +ANTB09H3,SOCIAL_SCI,,"How is culture represented through visual media, from ethnographic and documentary film, to feature films, television, and new media? How do various communities re- vision themselves through mass, independent, or new media? This course investigates media and its role in the contemporary world from a socio-cultural anthropological perspective.",,ANTA02H3,,Culture through Film and Media,,,2nd year +ANTB11H3,SOCIAL_SCI,,"This introduction to archaeology focuses on how societies around the world have changed through time from the earliest humans to the emergence of state-level societies. This course uses a global perspective to address key issues such as evidence of the earliest art, development of agriculture, and the origins of social inequality and warfare.",,,,World Prehistory,,,2nd year +ANTB12H3,SOCIAL_SCI,,"This course is about science fiction as a form of cultural and political critique. The course will explore themes that are central to both ethnography and science fiction, including topics such as colonialism, gender, and the climate crisis, while reflecting on the power of writing and myth-making to produce meaning and the future.",,"ANTA02H3, or any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC, ENG or HCS courses, or permission of the instructor",,Anthropology of Science Fiction,,,2nd year +ANTB14H3,NAT_SCI,,"This course explores the synthetic theory of evolution, its principles, processes, evidence and application as it relates to the evolution of human and nonhuman primates. Lecture topics and laboratory projects include: evolutionary theory, human variation, human adaptability, primate biology, and behaviour, taxonomy and classification, paleontological principles and human origins and evolution. Science credit",,ANTA01H3,ANT203Y,Evolutionary Anthropology,,,2nd year +ANTB15H3,NAT_SCI,,"Basic to the course is an understanding of the synthetic theory of evolution and the principles, processes, evidence and application of the theory. Laboratory projects acquaint the student with the methods and materials utilized Biological Anthropology. Specific topics include: the development of evolutionary theory, the biological basis for human variation, the evolutionary forces, human adaptability and health and disease. Science credit Same as HLTB20H3",,ANTA01H3 or [HLTA02H3 and HLTA03H3],"ANT203Y, HLTB20H3",Contemporary Human Evolution and Variation,,,2nd year +ANTB16H3,SOCIAL_SCI,,"This course explores the creation or invention of a Canadian national identity in literature, myth and symbolism, mass media, and political culture. Ethnographic accounts that consider First Nations, regional, and immigrant identities are used to complicate the dominant story of national unity. Area course",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]",,Canadian Cultural Identities,,,2nd year +ANTB18H3,SOCIAL_SCI,,"This course addresses Latin American systems of inequality in relation to national and transnational political economy, from colonialism to neoliberalism; how ideas of race, culture, and nation intersect with development thinking and modernization agendas; and how the poor and marginalized have accommodated, resisted, and transformed cultural and political domination. Area course",,ANTA02H3,(ANTC08H3),"Development, Inequality and Social Change in Latin America",,,2nd year +ANTB19H3,SOCIAL_SCI,,"This course introduces students to the theory and practice of ethnography, the intensive study of people's lives as shaped by social relations, cultural beliefs, and historical forces. Various topics, including religion, economics, politics, and kinship introduce students to key anthropological concepts and theoretical developments in the field.",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]","ANT204Y, ANT207H1",Ethnography and the Comparative Study of Human Societies,,,2nd year +ANTB20H3,SOCIAL_SCI,,"How has the global flow of goods, persons, technologies, and capital reproduced forms of inequality? Using ethnography and other media, students examine globalization through topics like migration, race and citizenship, environmental degradation, and increasing violence while also discussing older anthropological concerns (e.g., kinship, religious practices, and authority). This course enhances students’ understanding of ethnography, as a method for studying how actors engage and rework the global forces shaping their lives.",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]","ANT204Y, ANT204H",Ethnography and the Global Contemporary,,,2nd year +ANTB22H3,SOCIAL_SCI,University-Based Experience,"This course will provide students with a general introduction to the behaviour and ecology of non-human primates (prosimians, Old and New World monkeys, and apes), with a particular emphasis on social behaviour. The course will consist of lectures reinforced by course readings; topics covered will include dominance, affiliation, social and mating systems, communication, and reproduction. Science credit",,,,Primate Behaviour,,,2nd year +ANTB26H3,SOCIAL_SCI,,"What makes the Middle East and North Africa unique as a world region? This course considers the enduring impact of the past colonial encounter with the North Atlantic, as well as religious movements, nationalist histories, the impact of new communication technologies, and regional conflicts. Examples are drawn from a variety of contexts.",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]",(ANTC89H3),The Middle East and North Africa: Past and Present,,,2nd year +ANTB33H3,SOCIAL_SCI,,"This course explores a pressing issue facing contemporary life: “the future of work.” It examines how work has been and continues to be transformed by automation, digital technologies, climate change, pandemics, the retrenchment of the welfare state, deindustrialization, global supply chains, and imperial and colonial rule. All kinds of media (e.g., academic texts, corporate publications, policy reports, activist literature, cinema) will be utilized to demonstrate how these transformations are not limited to work or labour but reverberate across social, political, and economic life.",A general interest and knowledge of economic and political anthropology.,"ANTA02H3 and [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses] or permission of the instructor",,The Future of Work,,,2nd year +ANTB35H3,ART_LIT_LANG,,"Around the world, youth is understood as the liminal phase in our lives. This course examines how language and new media technologies mark the lives of youth today. We consider social media, smartphones, images, romance, youth activism and the question of technological determinism. Examples are drawn from a variety of contexts. Same as MDSB09H3",,"ANTA02H3 or MDSA01H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]",MDSB09H3,"Kids These Days: Youth, Language and Media",,,2nd year +ANTB36H3,SOCIAL_SCI,,"A cultural and comparative study of apocalyptic thought, practice, and representation around the world. It explores the conditions that inspire end times thinking and the uses it serves. Cases may include: millenarian movements, Revelation, colonialism, epidemics, infertility, deindustrialization, dystopian science fiction, nuclear war, climate change, and zombies.",,ANTA02H3,,Anthropology of the End of the World,,,2nd year +ANTB42H3,SOCIAL_SCI,,"This course surveys central issues in the ethnographic study of contemporary South Asia (Afghanistan, Bangladesh, Bhutan, India, the Maldives, Nepal, Pakistan and Sri Lanka). Students will engage with classical and recent ethnographies to critically examine key thematic fault lines within national imaginations, especially along the lines of religion, caste, gender, ethnicity, and language. Not only does the course demonstrate how these fault lines continually shape the nature of nationalism, state institutions, development, social movements, violence, and militarism across the colonial and post-colonial periods but also, demonstrates how anthropological knowledge and ethnography provide us with a critical lens for exploring the most pressing issues facing South Asia in the world today. Same as GASB42H3",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC, GAS, HCS or Africa and Asia Area HIS courses]","(ANTC12H3), GASB42H3, (GASC12H3)",Culture and Society in Contemporary South Asia,,,2nd year +ANTB64H3,SOCIAL_SCI,University-Based Experience,"This course examines the social significance of food and foodways from the perspective of cultural anthropology. We explore how the global production, distribution, and consumption of food, shapes or reveals, social identities, political processes, and cultural relations. Lectures are supplemented by hands-on tutorials in the Culinaria Kitchen Laboratory.",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]","(ANTC64H3), ANT346H1",Are You What You Eat?: The Anthropology of Food,,,2nd year +ANTB65H3,SOCIAL_SCI,,"Introduces the cultures and peoples of the Pacific. Examines the ethnography of the region, and the unique contributions that Pacific scholarship has made to the development of anthropological theory. Explores how practices of exchange, ritual, notions of gender, death and images of the body serve as the basis of social organization. Area course",,"ANTA02H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]",(ANTC65H3),An Introduction to Pacific Island Societies,,,2nd year +ANTB66H3,SOCIAL_SCI,University-Based Experience,"A comparison of pilgrimage in different religious traditions, including Christian, Buddhist, Muslim, Hindu and those of indigenous communities (such as the Huichol of Mexico) will introduce students to the anthropology of religion. We will consider the aspirations and experiences of various pilgrims, while being mindful of cultural similarities and differences.",,ANTA02H3 or [any 4.0 credits],RLG215H,Spiritual Paths: A Comparative Anthropology of Pilgrimage,,,2nd year +ANTB80H3,NAT_SCI,University-Based Experience,"This course introduces students to the methods, theories, and practices used in Archaeology. Building on the course material presented in ANTA01H3, there will be a focus on important themes in Archaeology as a subfield of Anthropology, including: artefact analysis, dating methods, theories of the origins of social development/complexity, and careers in archaeology today. This course will include lectures and complimentary readings that will expose students to the important ideas within the field. There will also be an experiential component in the form of four hands-on workshops where students will get to interact with artefacts and gain experience using some of the methods discussed in class. There will be an extra workshop for students to get help with their essay outline.",,ANTA01H3,"ANT200Y1, ANT200Y5, ANT200H5","Introduction to Archaeology: Methods, Theories, and Practices",,,2nd year +ANTC03H3,,,"A directed exploration of specific topics in Anthropology, based on extensive investigation of the literature. These courses are available in exceptional circumstances and do not duplicate regular course offerings. Students are advised that they must obtain consent from the supervising instructor before registering. Individual tutorials, as arranged. A minimum B plus average is normally required to be considered for these courses. May be science credit or area course depending on topic.",,Permission of the instructor and ANTA01H3 and ANTA02H3 and [one B-level full credit in Anthropology in the appropriate sub-field (biological or cultural)].,,Directed Reading in Anthropology,,,3rd year +ANTC04H3,,,"A directed exploration of specific topics in Anthropology, based on extensive investigation of the literature. These courses are available in exceptional circumstances and do not duplicate regular course offerings. Students are advised that they must obtain consent from the supervising instructor before registering. Individual tutorials, as arranged. A minimum B plus average is normally required to be considered for these courses. May be science credit or area course depending on topic.",,Permission of the instructor and ANTA01H3 and ANTA02H3 and [one B-level full credit in Anthropology in the appropriate sub-field (biological or cultural)].,,Directed Reading in Anthropology,,,3rd year +ANTC07H3,SOCIAL_SCI,,"This course explores the intersection of the social and the material by examining the role of objects in making worlds. We examine the relationship between people, culture, and 'things' through topics such as commodification and consumption, collecting and representation, technology and innovation, art and artifact, and the social life of things.",,ANTB19H3 and ANTB20H3,,Material Worlds,,,3rd year +ANTC09H3,SOCIAL_SCI,,"This course explores Anthropological approaches to kinship and family arrangements. In addition to examining the range of forms that family arrangements can take cross-culturally, we also examine how kinship configurations have changed within our own society in recent years. Topics to be covered include trans-national adoption, ""mail-order-brides"", new reproductive technologies and internet dating.",,ANTA02H3 and ANTB19H3 and ANTB20H3,,"Sex, Love, and Intimacy: Anthropological Approaches to Kinship and Marriage",,,3rd year +ANTC10H3,SOCIAL_SCI,,"A critical probe of the origins, concepts, and practices of regional and international development in cultural perspective. Attention is paid to how forces of global capitalism intersect with local systems of knowledge and practice.",,ANTB19H3 and ANTB20H3,,Anthropological Perspectives on Development,,,3rd year +ANTC14H3,SOCIAL_SCI,,"Examines why, when, and how gender inequality became an anthropological concern by tracing the development of feminist thought in a comparative ethnographic framework.",,[ANTB19H3 and ANTB20H3] or [1.0 credit at the B-level in WST courses],,Feminism and Anthropology,,,3rd year +ANTC15H3,SOCIAL_SCI,,Explores cultural constructions of male and female in a range of societies and institutions. Also examines non-binary gender configurations.,ANTC14H3,[ANTB19H3 and ANTB20H3] or [1.0 credit at the B-level in WST courses],,Genders and Sexualities,,,3rd year +ANTC16H3,NAT_SCI,,"The study of human origins in light of recent approaches surrounding human evolution. This course will examine some of these, particularly the process of speciation, with specific reference to the emergence of Homo. Fossils will be examined, but the emphasis will be on the interpretations of the process of hominisation through the thoughts and writings of major workers in the field. Science credit",,ANTA01H3 or ANTB14H3 or ANTC17H3,(ANT332Y),The Foundation and Theory of Human Origins,,,3rd year +ANTC17H3,NAT_SCI,,"The study of human origins in light of recent approaches surrounding human evolution. New fossil finds present new approaches and theory. This course will examine some of these, particularly the process of speciation and hominisation with specific reference to the emergence of Homo. Labs permit contact with fossils in casts. Science credit",,ANTA01H3 and ANTA02H3,(ANT332Y),Human Origins: New Discoveries,,,3rd year +ANTC18H3,SOCIAL_SCI,,"The planet today is more urbanized than at any other moment in its history. What are the tools we need to examine urbanization in this contemporary moment? This course explores how urbanization has altered everyday life for individuals and communities across the globe. Students will trace urbanization as transformative of environmental conditions, economic activities, social relations, and political life. Students will thus engage with work on urbanization to examine how urban spaces and environments come to be differentiated along the lines of race, class, and gender. Not only does this course demonstrate how such fault lines play themselves out across contexts, but also provides the critical lenses necessary to tackle the most pressing issues related to urbanization today.",,[ANTB19H3 and ANTB20H3] or [1.5 credits at the B-level in CIT courses],,Urban Worlds,,,3rd year +ANTC19H3,SOCIAL_SCI,,"This course examines economic arrangements from an anthropological perspective. A key insight to be examined concerns the idea that by engaging in specific acts of production, people produce themselves as particular kinds of human beings. Topics covered include gifts and commodities, consumption, global capitalism and the importance of objects as cultural mediators in colonial and post-colonial encounters.",,ANTB19H3 and ANTB20H3,,Producing People and Things: Economics and Social Life,,,3rd year +ANTC20H3,SOCIAL_SCI,,"What limits exist or can be set to commoditized relations? To what extent can money be transformed into virtue, private goods into the public ""Good""? We examine the anthropological literature on gift-giving, systems of exchange and value, and sacrifice. Students may conduct a short ethnographic project on money in our own society, an object at once obvious and mysterious.",,ANTB19H3 and ANTB20H3,,"Gifts, Money and Morality",,,3rd year +ANTC22H3,SOCIAL_SCI,,"What does it mean to get an education? What are the consequences of getting (or not getting) a “good education”? For whom? Who decides? Why does it matter? How are different kinds of education oriented toward different visions of the future? What might we learn about a particular cultural context if we explore education and learning as social processes and cultural products linked to specific cultural values, beliefs, and power dynamics? These are just some of the questions we will explore in this course. Overall, students will gain a familiarity with the anthropology of education through an exploration of ethnographic case studies from a variety of historical and cultural contexts.",,[ANTB19H3 and ANTB20H3],ANTC88H3 if taken in Fall 2021,"Education, Power, and Potential: Anthropological Perspectives and Ethnographic Insights",,"Priority will be given to students enrolled in any of the following Combined Degree Programs: Evolutionary Anthropology (Specialist), Honours Bachelor of Science/ Master of Teaching Evolutionary Anthropology (Major), Honours Bachelor of Science/ Master of Teaching Socio- Cultural Anthropology (Specialist), Honours Bachelor of Arts/ Master of Teaching Socio-Cultural Anthropology (Major), Honours Bachelor of Arts/ Master of Teaching",3rd year +ANTC24H3,SOCIAL_SCI,,"Does schizophrenia exist all over the world? Does depression look different in China than it does in Canada? By examining how local understandings of mental illness come into contact with Western psychiatric models, this course considers the role of culture in the experience, expression, definition, and treatment of mental illness and questions the universality of Western psychiatric categories.",ANTC61H3,[ANTB19H3 and ANTB20H3] or HLTB42H3,,"Culture, Mental Illness, and Psychiatry",,,3rd year +ANTC25H3,SOCIAL_SCI,,"How are we to understand the relationship between psychological universals and diverse cultural and social forms in the constitution of human experience? Anthropology's dialogue with Freud; cultural construction and expression of emotions, personhood, and self.",,ANTB19H3 and ANTB20H3,,Anthropology and Psychology,,,3rd year +ANTC27H3,NAT_SCI,,"Primates are an intensely social order of animals showing wide variation in group size, organization and structure. Using an evolutionary perspective, this course will focus on why primates form groups and how their relationships with different individuals are maintained, with reference to other orders of animals. The form and function of different social systems, mating systems, and behaviours will be examined.",,ANTB22H3,,Primate Sociality,,,3rd year +ANTC29H3,SOCIAL_SCI,University-Based Experience,"This course engages with the diverse histories of First Nations societies in North America, from time immemorial, through over 14 thousand years of archaeology, to the period approaching European arrivals. We tack across the Arctic, Plains, Northwest Coast, Woodlands, and East Coast to chart the major cultural periods and societal advancements told by First Nations histories and the archaeological record. Along with foundational discussions of ancestral peoples, societal development, and human paleoecology, we also engage with core topical debates in North American archaeology, such as the ethics of ancient DNA, peopling processes, environmental change, response, and conservation, inequalities, decolonization, and progress in Indigenous archaeologies.",,ANTA01H3,,Archaeologies of North America,,,3rd year +ANTC30H3,SOCIAL_SCI,,Intensive survey of a particular world region or current theme in archaeological research. Topic will change year to year.,,ANTA01H3 and [ANTB11H3 or ANTB80H3],,Themes in Global Archaeology,,,3rd year +ANTC31H3,SOCIAL_SCI,,"The nature and logic of ritual. Religious practices and projects; the interface of religion, power, morality, and history in the contemporary world.",,ANTB19H3 and ANTB20H3,,Ritual and Religious Action,,,3rd year +ANTC32H3,SOCIAL_SCI,,"Can ethnographic research help us make sense of various political situations and conflicts around the world? In this course we will review different approaches to power and politics in classical and current anthropology. We will consider notions of the state, political agency and power, civil society, authoritarianism and democracy.",,ANTB19H3 and ANTB20H3,,Political Anthropology,,,3rd year +ANTC33H3,SOCIAL_SCI,,"Anthropological approaches to the origin and function of religion, and the nature of symbolism, myth, ritual, sorcery, spirit possession, and cosmology, with primary reference to the religious worlds of small-scale societies.",,ANTB19H3 and ANTB20H3,(ANTB30H3),Of Gods and Humans: Anthropological Approaches to Religion,,,3rd year +ANTC34H3,SOCIAL_SCI,,"This course considers dimensions of transnationalism as a mode of human sociality and site for cultural production. Topics covered include transnational labour migration and labour circuits, return migration, the transnational dissemination of electronic imagery, the emergence of transnational consumer publics, and the transnational movements of refugees, kinship networks, informal traders and religions.",,"[ANTB19H3 and ANTB20H3] or [any 8.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]",,The Anthropology of Transnationalism,,,3rd year +ANTC35H3,QUANT,,"A consideration of quantitative data and analytical goals, especially in archaeology and biological anthropology. Some elementary computer programming, and a review of program packages suitable for anthropological analyses will be included. Science credit",ANTB15H3,ANTA01H3 and ANTA02H3,"MGEB11H3/(ECMB11H3), PSYB07H3, (SOCB06H3), STAB22H3",Quantitative Methods in Anthropology,,,3rd year +ANTC40H3,QUANT,,"An examination of the biological, demographic, ecological and socio-cultural determinants of human and non-human population structure and the interrelationships among them. Emphasis is given to constructing various demographic measures of mortality, fertility and immigration and their interpretation. Science credit",,ANTB14H3 and ANTB15H3 and [any statistics course],,Methods and Analysis in Anthropological Demography,,,3rd year +ANTC41H3,NAT_SCI,,"Human adaptability refers to the human capacity to cope with a wide range of environmental conditions, including aspects of the physical environment like climate (extreme cold and heat), high altitude, geology, as well as aspects of the socio- cultural milieu, such as pathogens (disease), nutrition and malnutrition, migration, technology, and social change. Science credit",,[ANTB14H3 and ANTB15H3] or [BIOA01H3 and BIOA02H3],,"Environmental Stress, Culture and Human Adaptability",,,3rd year +ANTC42H3,NAT_SCI,,Human adaptability refers to the human capacity to cope with a wide range of environmental conditions. Emphasis is placed on human growth and development in stressed and non-stressed environments. Case studies are used extensively. Science credit,,ANTC41H3,,"Human Growth, Development and Adaptability",,,3rd year +ANTC44H3,SOCIAL_SCI,,"This seminar explores anthropological insights and historical/archeological debates emerging from Amazonia, a hotspot of social and biodiversity currently under grave threat. We will look at current trends in the region, the cultural logic behind deforestation and land-grabbing, and the cultural and intellectual production of indigenous, ribeirinho, and quilombola inhabitants of the region.",,ANTB19H3 and [ANTB20H3 or ANTB01H3 or ESTB01H3],,Amazonian Anthropology,,,3rd year +ANTC47H3,NAT_SCI,,"A ""hands-on"" Laboratory course which introduces students to analyzing human and nonhuman primate skeletal remains using a comparative framework. The course will cover the gross anatomy of the skeleton and dentition, as well as the composition and microstructure of bone and teeth. The evolutionary history and processes associated with observed differences in human and primate anatomy will be discussed. Science credit",,ANTA01H3 or BIOB33H3 or HLTB33H3 or PMDB33H3,"ANT334H, ANT334Y",Human and Primate Comparative Osteology,,,3rd year +ANTC48H3,NAT_SCI,,"A ""hands-on"" laboratory course which introduces students to the methods of analyzing human skeletal remains. Topics and analytic methods include: (1) the recovery and treatment of skeletal remains from archaeological sites; (2) odontological description, including dental pathology; (3) osteometric description; (4) nonmetric trait description; (5) methods of estimating age at death and sex; (6) quantitative analysis of metric and nonmetric data; and (7) paleopathology. Science credit",,ANTC47H3,"ANT334H, ANT334Y",Advanced Topics In Human Osteology,,,3rd year +ANTC52H3,ART_LIT_LANG,,"Language and ways of speaking are foundational to political cultures. This course covers the politics of language in the age of globalization, including multiculturalism and immigration, citizenship, race and ethnicity, post-colonialism, and indigeneity. Ethnographic examples are drawn from a variety of contexts, including Canadian official bilingualism and First Nations.",,ANTB19H3 and ANTB20H3,,Global Politics of Language,,,3rd year +ANTC53H3,ART_LIT_LANG,,"How do media work to circulate texts, images, and stories? Do media create unified publics? How is the communicative process of media culturally-distinct? This course examines how anthropologists have studied communication that occurs through traditional and new media. Ethnographic examples drawn from several contexts. Same as MDSC53H3",,[ANTB19H3 and ANTB20H3] or [MDSA01H3 and MDSB05H3],MDSC53H3,Anthropology of Media and Publics,,,3rd year +ANTC58H3,HIS_PHIL_CUL,,"This course reflects on the concept of Orientalism and how it informs the fields of Classical Studies and Anthropology. Topics to be discussed include the Orientalization of the past and the origin, role, and significance of ancient representations of the ""Other"" in contemporary discourses. Same as CLAC68H3 and HISC68H3",,"1.0 credit from the following: [CLAA04H3/HISA07H3, CLAB05H3/HISB10H3, CLAB06H3/HISB11H3, ANTA02H3, ANTB19H3, ANTB20H3, HISB02H3, AFSB50H3/HISB50H3, AFSB51H3/HISB51H3, HISB53H3, HISB57H3, HISB58H3, HISB60H3, HISB61H3, HISB62H3, HISB93H3, HISB94H3]","CLAC68H3, HISC68H3",Constructing the Other: Orientalism through Time and Place,,,3rd year +ANTC59H3,ART_LIT_LANG,,"Anthropology studies language and media in ways that show the impact of cultural context. This course introduces this approach and also considers the role of language and media with respect to intersecting themes: ritual, religion, gender, race/ethnicity, power, nationalism, and globalization. Class assignments deal with lecturers, readings, and students' examples. Same as MDSC21H3",,[ANTB19H3 and ANTB20H3] or [MDSA01H3 and MDSB05H3],"(ANTB21H3), (MDSB02H3), MDSC21H3",Anthropology of Language and Media,,,3rd year +ANTC61H3,SOCIAL_SCI,,"Social and symbolic aspects of the body, the life-cycle, the representation and popular explanation of illness, the logic of traditional healing systems, the culture of North American illness and biomedicine, mental illness, social roots of disease, innovations in health care delivery systems.",,[ANTB19H3 and ANTB20H3] or HLTB42H3,,Medical Anthropology: Illness and Healing in Cultural Perspective,,,3rd year +ANTC62H3,NAT_SCI,,"The examination of health and disease in ecological and socio-cultural perspective. Emphasis is placed on variability of populations in disease susceptibility and resistance in an evolutionary context. With its sister course, ANTC61H3, this course is designed to introduce students to the basic concepts and principles of medical anthropology. Principles of epidemiology, patterns of inheritance and biological evolution are considered. Science credit",,ANTB14H3 and ANTB15H3,,Medical Anthropology: Biological and Demographic Perspectives,,,3rd year +ANTC65H3,SOCIAL_SCI,,"This course is an enquiry into the social construction of science and scientific expertise, with a particular focus on medicine and health. The interdisciplinary field of Science and Technology Studies (STS) opens up a very different perspective from what gets taught in biology classes about how medical knowledge is created, disseminated, becomes authoritative (or not), and is taken up by different groups of people. In our current era of increasing anti-science attitudes and “alternative facts,” this course will offer students an important new awareness of the politics of knowledge production.",,ANTB19H3 and ANTB20H3,Students who enrolled in ANTC69H3 in Fall 2023 may not take this course for credit.,"Anthropology of Science, Medicine, and Technology",,,3rd year +ANTC66H3,SOCIAL_SCI,University-Based Experience,"This course explores the global cultural phenomenon of tourism. Using case studies and historical perspectives, we investigate the complex motivations and consequences of travel, the dimensions of tourism as development, the ways tourism commodifies daily life, the politics of tourism representation, and the intersection of travel, authenticity and modernity.",,ANTB19H3 and ANTB20H3,,Anthropology of Tourism,,,3rd year +ANTC67H3,QUANT,,"Epidemiology is the study of disease and its determinants in populations. It is grounded in the biomedical paradigm, statistical reasoning, and that risk is context specific. This course will examine such issues as: methods of sampling, types of controls, analysis of data, and the investigation of epidemics. Science credit",,[Any B-level course in Anthropology or Biology] and [any statistics course].,,Foundations in Epidemiology,,,3rd year +ANTC68H3,NAT_SCI,,"Colonization, globalization and socio-ecological factors play an important role in origin, maintenance and emergence of old and new infectious diseases in human populations such as yellow fever, cholera, influenza, SARS. Issues of co- morbidity, the epidemiological transition, syndemics and the impact of global warming on the emergence of new diseases are discussed. Science credit",,[Any B-level course in Anthropology or Biology] and [any statistics course].,,Deconstructing Epidemics,,,3rd year +ANTC69H3,SOCIAL_SCI,,"This course explores key themes, theories, and thinkers that have shaped anthropological thought, past and present. In any given year we will focus on the work of a particular important thinker or a school of thought. As we examine trends and approaches that have been influential to the field, we consider the debates these have generated, the ethnographic innovations they have inspired, and their relevance for core debates in anthropology. Topics and readings will be chosen annually by the instructor.",,ANTB19H3 and ANTB20H3,,Ideas That Matter: Key Themes and Thinkers in Anthropology,,Priority will be given to students enrolled in the specialist program in Anthropology. Additional students will be admitted as space permits.,3rd year +ANTC70H3,SOCIAL_SCI,University-Based Experience,"This course is an exploration of the ongoing significance of the ethnographic method to the practice of research in socio- cultural anthropology. How and why have ethnographic methods become so central to anthropology, and what can we continue to learn with them? Students complement readings and lectures on theories and practices of ethnographic methods, both historical and contemporary, with exercises and assignments designed to provide first-hand experience in carrying out various techniques of ethnographic research. We also consider the unique ethical challenges of ethnographic methods and what it means to conduct ethically sound research.",,ANTB19H3 and ANTB20H3 and [at least 0.5 credit at the C-level in socio-cultural anthropology courses].,(ANTC60H3),"Ethnographic Methods in Anthropology: Past, Present, and Future",,"Priority will be given to students in the Specialist in Anthropology, followed by students in the Major in Anthropology, followed by students in the Specialist programs in International Development Studies.",3rd year +ANTC71H3,NAT_SCI,,"This course examines the evolution of human-environment systems over deep time as well as the present implications of these relationships. We will examine the archaeological methods used in reconstructing human palaeoecology and engage with evolutionary and ecological theory as it has been applied to the archaeological record in order to understand how humans have altered ecosystems and adapted to changing climates through time and space. Building upon the perspective of humans as a long-term part of ecological systems, each student will choose a current environmental policy issue and progressively build a proposal for a remediation strategy or research program to address gaps in knowledge.","A knowledge of evolutionary anthropology, archaeology, or relevant courses in ecology.","[0.5 credit from the following: ANTA01H3, ANTB80H3, EESA01H3 or BIOB50H3] and [1.0 credit of additional B- or C- level courses in ANT, BIO, or EES]",,"Climate, Palaeoecology, and Policy: Archaeology of Humans in the Environment",,,3rd year +ANTC80H3,SOCIAL_SCI,,"This course explores ideas of race and racist practice, both past and present. Socio-cultural perspectives on race and racism must address a central contradiction: although biological evidence suggests that racial categories are not scientifically valid, race and racism are real social phenomena with real consequences. In order to address this contradiction, the course will examine the myriad ways that race is produced and reproduced, as well as how racism is perpetuated and sustained.",,ANTB19H3 and ANTB20H3,,Race and Racism: Anthropological Insights,,,3rd year +ANTC88H3,SOCIAL_SCI,,The topics presented in this course will represent a range of contemporary issues in Anthropology. Topics will vary by instructor and term.,,ANTB19H3 and ANTB20H3,,Special Topics,,,3rd year +ANTC99H3,NAT_SCI,,"This course examines 65 million years of evolutionary history for non-human primates. The primary emphasis will be on the fossil record. Topics covered may include the reconstruction of behaviour from fossil remains, the evolution of modern primate groups, and the origins of the Order.",,ANTA01H3 or ANTB14H3,,Primate Evolution,,,3rd year +ANTD04H3,SOCIAL_SCI,,"This course examines the social life of violence, its cultural production and political effects in a global perspective. It asks how social worlds are made and unmade through, against, and after violent events, how violence is remembered and narrated, and how ethnography might respond to experiences of suffering, trauma, and victimhood.",,ANTB19H3 and ANTB20H3 and [at least 0.5 credit at the C-level in Socio-Cultural Anthropology].,,The Anthropology of Violence and Suffering,,,4th year +ANTD05H3,SOCIAL_SCI,University-Based Experience,"This course provides students with experience in carrying out ethnographic research in the Greater Toronto Area. Working with the Center for Ethnography, students define and execute individual research projects of their own design. The course provides students with the opportunity to present and discuss their unfolding research, as well as to present the findings of their research. This course is completed over two terms, and culminates in an original research paper.",,"[ANTB19H3 and ANTB20H3 and [(ANTC60H3) or ANTC70H3]] and [an additional 1.0 credit at the C-level in socio-cultural anthropology] and [a cumulative GPA of 2.7, or permission of the instructor].",(ANTD05Y3),Advanced Fieldwork Methods in Social and Cultural Anthropology,,"Preference will be given to Specialists and Majors in Anthropology, in that order.",4th year +ANTD06H3,SOCIAL_SCI,,"This course considers the reading and writing of ethnography - the classic genre of socio-cultural anthropology. We examine what differentiates ethnography from other forms of research and how to distinguish ethnographic works of high quality. Also considered are the politics of representation, including how ethnographic writing may reflect unequal relationships of power.",,ANTB19H3 and ANTB20H3 and [at least 1.0 credit at the C-level in Socio-Cultural Anthropology.,,Reading Ethnography,,,4th year +ANTD07H3,,,"This course allows students to examine particular culture areas at an advanced level. Regions to be covered may include South Asia, East Asia, the Muslim World, Latin America, The Pacific, Europe, Africa, or North America. Specific case studies from the region will be used to highlight theoretical and ethnographic issues.",,ANTB19H3 and ANTB20H3 and [at least 0.5 credit from previous area course] and [at least 0.5 credit at the C-level in Socio-Cultural Anthropology].,,Advanced Regional Seminar,,,4th year +ANTD10H3,SOCIAL_SCI,,This course will examine cultural understandings of ‘life’ – What is life? What is a life? How do humans value (or alternatively not value) life in different social and cultural settings? What constitutes a ‘good life’? To what degree are cultural understandings of ‘life’ entangled with those of ‘death’.,,ANTB19H3 and ANTB20H3 and [at least 1.0 credit at the C-level in socio-cultural anthropology courses],(ANTC11H3),The Anthropology of 'Life' Itself,,,4th year +ANTD13H3,,,An advanced seminar course primarily for majors and specialists in biological anthropology. Topic to be announced annually.,,ANTB14H3 and ANTB15H3 and [at least 0.5 credit at the C-level in Biological Anthropology].,,Frontiers of Anthropology: A Biological Perspective,,,4th year +ANTD15H3,,University-Based Experience,"An advanced seminar course primarily for specialists and majors in Anthropology. Topic changes annually and is linked to the theme of our seminar series for the year. Students will attend talks by 2-3 guest speakers in addition to the regular seminar. In previous years, the theme has been Masculinities, Pilgrimage, History and Historicities.",,ANTB19H3 and ANTB20H3 and [at least 1.0 credit at the C-level in Socio-Cultural Anthropology].,,Frontiers of Socio-Cultural Anthropology,,,4th year +ANTD16H3,NAT_SCI,,"This course is designed for advanced students seeking an intensive examination of specific problems in medical Anthropology. Problems to be discussed include: genetic disorders in families and populations, the interaction of malnutrition and infectious diseases in human populations, chronic non-infectious diseases in populations today, and epidemiology and medical anthropology as complementary disciplines. Science credit",,ANTC62H3 and [1.0 credit at the C-level in Biological Anthropology].,,Biomedical Anthropology,,,4th year +ANTD17H3,NAT_SCI,,"This seminar course will examine the clinical, epidemiological and public health literature on osteoporosis and other conditions impacting skeletal health. The course will also explore the potential economic impacts of osteoporosis on Canada's health care system given emerging demographic changes. Science credit",,ANTC47H3 and ANTC48H3,,Medical Osteology: Public Health Perspectives on Human Skeletal Health,,,4th year +ANTD18H3,NAT_SCI,University-Based Experience,"This seminar style course provides a foundation in the anthropology and archaeology of small-scale societies, particularly hunter-gatherers. The seminar’s temporal remit is broad, spanning ~2.5 million years of human evolution from the earliest tool-making hominins to living human societies. A selection of critical topics will therefore be covered. These include theoretical aspects of and evolutionary trends in forager subsistence strategies; technologies; mobility and use of space; sociopolitical organization; cognition; symbolism, ritual and religion; and transitions to food production. Topics will be illustrated using diverse case studies drawn from throughout the Paleolithic.",,ANTA01H3,,Palaeolithic Archaeology,,,4th year +ANTD19H3,NAT_SCI,University-Based Experience,"A large percentage of nonhuman primate species are at risk of extinction due mostly to human-induced processes. Relying on theory from Conservation Biology, this course will consider the intrinsic and extrinsic factors that lead to some primate species being threatened, while others are able to deal with anthropogenic influences. Students will critically examine conservation tactics and the uniqueness of each situation will be highlighted.",,ANTB22H3,,Primate Conservation,,,4th year +ANTD20H3,SOCIAL_SCI,Partnership-Based Experience,"A field-based research seminar exploring the cultural dimensions of community and sense of place. Partnering with community-based organizations in Scarborough and the GTA, students will investigate topical issues in the immediate urban environment from an anthropological perspective. Yearly foci may include food, heritage, diaspora, and family.",(ANTC60H3) or ANTC70H3,ANTB19H3 and ANTB20H3 and [at least 1.0 credit at the C-level in Socio-Cultural Anthropology courses],,Culture and Community,,,4th year +ANTD22H3,,,This seminar course will examine contemporary theory and questions in primatology and carefully examine the types of data that researchers collect to answer their research questions. Science credit,,ANTB22H3,,Theory and Methodology in Primatology,,,4th year +ANTD25H3,NAT_SCI,,"This course will examine the social and cultural contexts of animal-to-human disease transmission globally, and the public risks associated zoonoses present here in Canada. The course will incorporate both anthropological and epidemiological perspectives. Science credit",,ANTB14H3,,Medical Primatology: Public Health Perspectives on Zoonotic Diseases,,,4th year +ANTD26H3,NAT_SCI,,"Beginning with archaic Homo sapiens and ending with a discussion of how diet exists in a modern globalized cash economy, this course engages an archaeological perspective on changes in human diet and corresponding societal shifts. We will explore paradigmatic discourse around topics such as big game hunting, diet breadth, niche construction, and the Agricultural Revolution, while examining the archaeological record to clarify what ""cavemen"" really ate, inquire whether agriculture was as ""revolutionary"" as it has been presented, and delve into evidence of how colonialism, capitalism, and globalization have shaped our modern diet. Discussions will aim to interrogate current theories and contextualize why scientists (and the public) think the way they do about diet in the past and present.","Some courses in human evolution and archaeology are highly recommended, knowledge of and interest in food system and the human past are acceptable.",[ANTA01H3 and ANTB80H3 and 1.0 credit from any course at the C-level] or [FSTA01H3 and 1.0 credit from any course at the C-level and permission of the instructor],,"Caveman, Farmer, Herder, Trader: Evolution of Diet in Society",,,4th year +ANTD31H3,,University-Based Experience,"Directed critical examination of specific problems in Anthropology, based on library and/or field research. These courses are available in exceptional circumstances and do not duplicate regular course offerings. Students are advised that they must obtain consent from the supervising instructor before registering. Individual tutorials, as arranged. A minimum B plus average is normally required to be considered for these courses. May be science credit or area course depending on topic.",,"ANTA01H3 and ANTA02H3 and [2.0 credits in Anthropology, of which 1.0 credit must be at the the C-level] and permission of the instructor.",,Advanced Research in Anthropology,,,4th year +ANTD32H3,,University-Based Experience,"Directed critical examination of specific problems in Anthropology, based on library and/or field research. These courses are available in exceptional circumstances and do not duplicate regular course offerings. Students are advised that they must obtain consent from the supervising instructor before registering. Individual tutorials, as arranged. A minimum B plus average is normally required to be considered for these courses. May be science credit or area course depending on topic.",,"ANTA01H3 and ANTA02H3 and [2.0 full credits in Anthropology, one of which must be at the C-level] and permission of the instructor.",,Advanced Research in Anthropology,,,4th year +ANTD33H3,NAT_SCI,University-Based Experience,"This course investigates global diversity in human- environment dialogues from a geoarchaeological perspective. We will emphasize the place of geoarchaeology in evolutionary anthropology, specifically addressing topics such as the role of fire in human evolution, human-ecosystem coevolution, societal resilience and collapse, and the developing Anthropocene. Through “hands-on” authentic research, the class will engage with the collection and interpretation of chronological, geochemical, biomolecular, micromorphological, and micro-sedimentary data for site formation processes, paleoenvironments, and human behaviors. We will collaborate on developing new geoarchaeological perspectives of the human-environment interactions unfolding along the eastern branch of Yat-qui-i- be-no-nick (Highland Creek) coursing through UTSC. How did Highland Creek shape cultures and societies through time? How did people shape the Creek’s environs?",Physical Geography and/or Earth Sciences at Secondary or Post-Secondary level (beneficial but not required).,"One of ANTA01H3, or EESA01H3, or ESTB01H3",,Geoarchaeological Perspectives of Human-Environment Interactions,,,4th year +ANTD35H3,NAT_SCI,,"This course will focus on a new direction in anthropology, exploring the potential of skeletal remains in reconstructing past lifeways. This seminar style class will build upon concepts introduced in Human Osteology courses. Additionally, more advanced methods of reconstructing patterns of subsistence, diet, disease, demography and physical activity.",,ANTC47H3 and ANTC48H3,"ANT434H, ANT441H",Bioarchaeology,,,4th year +ANTD40H3,NAT_SCI,,"Taught by an advanced PhD student or postdoctoral fellow, and based on his or her doctoral research and area of expertise, this course presents a unique opportunity to explore intensively a particular Evolutionary or Archaeological Anthropology topic in-depth. Topics vary from year to year.",,ANTB14H3 and ANTB15H3 and [at least 2.0 credits at the C-level in Evolutionary Anthropology],,Topics in Emerging Scholarship in Evolutionary Anthropology,,Priority will be given to students enrolled in the Specialist in Anthropology. Additional students will be admitted as space permits.,4th year +ANTD41H3,SOCIAL_SCI,,"Taught by an advanced PhD student or postdoctoral fellow, and based on his or her doctoral research and area of expertise, this course presents a unique opportunity to explore intensively a particular Socio-Cultural or Linguistic Anthropology topic in-depth. Topics vary from year to year.",,ANTB19H3 and ANTB20H3 and [at least 2.0 credits at the C-level in Sociocultural Anthropology],,Topics in Emerging Scholarship in Socio-Cultural Anthropology,,Priority will be given to students enrolled in the Specialist program in Anthropology. Additional students will be admitted as space permits.,4th year +ANTD60H3,NAT_SCI,University-Based Experience,"This course provides specialized hands-on training in archaeological laboratory methods. Students will develop their own research project, undertaking analysis of archaeological materials, analyzing the resulting data, and writing a report on their findings. The methodological focus may vary from year to year.",,ANTA01H3 and ANTB80H3 and [1.0 credits at the C-level in any field] and permission of the instructor,,Advanced Archaeological Laboratory Methods,,,4th year +ANTD70H3,NAT_SCI,University-Based Experience,"This course provides specialized hands-on experience with field-based archaeology, including planning, survey, testing, and/or excavation, as well as an overview of various archaeological excavation methods and practices. Students may enroll in this course to gain credit for participation in approved off-campus field work. In this case, they will coordinate with the instructor to develop a series of appropriate assignments relevant to their coursework and learning goals.",,ANTA01H3 and ANTB80H3 and [1.0 credits of additional C-level courses in any field] and permission of instructor,,Archaeological Field Methods,,,4th year +ANTD71H3,SOCIAL_SCI,Partnership-Based Experience,"This research seminar uses our immediate community of Scarborough to explore continuity and change within diasporic foodways. Students will develop and practise ethnographic and other qualitative research skills to better understand the many intersections of food, culture, and community. This course culminates with a major project based on original research. Same as HISD71H3","ANTB64H3, ANTC70H3",HISB14H3/(HISC14H3) or HISC04H3 or [2.0 credits in ANT courses of which 1.0 credit must be at the C- level] or permission of the instructor,HISD71H3,Community Engaged Fieldwork with Food,,,4th year +ANTD98H3,SOCIAL_SCI,,This advanced seminar course will examine a range of contemporary issues and current debates in Socio-Cultural Anthropology. Topics will vary by instructor and term.,,ANTB19H3 and ANTB20H3 and [1.0 credit at the C-level in Socio-Cultural Anthropology].,,Advanced Topics in Socio- Cultural Anthropology,,,4th year +ANTD99H3,NAT_SCI,,"This course will examine questions of particular controversy in the study of Primate Evolution. Topics to be covered may include the ecological context of primate origins, species recognition in the fossil record, the identification of the first anthropoids, and the causes of extinction of the subfossil lemurs. Science credit",ANTC99H3,ANTB14H3 and [at least 1.0 credit at the C- level in Biological Anthropology].,ANTD13H3 if completed in the 2010/2011 academic year,Advanced Topics in Primate Evolution,,,4th year +ASTA01H3,NAT_SCI,,"The solar neighbourhood provides examples of astronomical bodies that can be studied by both ground-based and space vehicle based-observational instruments. The astronomical bodies studied range from cold and rocky planets and asteroids to extremely hot and massive bodies, as represented by the sun. This course considers astronomical bodies and their evolution, as well as basic parts of physics, chemistry, etc., required to observe them and understand their structure. The course is suitable for both science and non-science students.",,,AST101H,Introduction to Astronomy and Astrophysics I: The Sun and Planets,,,1st year +ASTA02H3,NAT_SCI,,"The structure and evolution of stars and galaxies is considered, with our own galaxy, the Milky Way, providing the opportunity for detailed study of a well-observed system. Even this system challenges us with many unanswered questions, and the number of questions increases with further study of the universe and its large-scale character. Current models and methods of study of the universe will be considered. The course is suitable for both science and non- science students.",,,"AST121H, AST201H",Introduction to Astronomy and Astrophysics II: Beyond the Sun and Planets,,,1st year +ASTB03H3,NAT_SCI,,"An examination of the people, the background and the events associated with some major advances in astronomy. Emphasis is given to the role of a few key individuals and to how their ideas have revolutionized our understanding of nature and the Universe. The perspective gained is used to assess current astronomical research and its impact on society.",,4.0 full credits,AST210H,Great Moments in Astronomy,,,2nd year +ASTB23H3,NAT_SCI,,"Overview of astrophysics (except planetary astrophysics). Appropriate level for science students. Structure and evolution of stars, white dwarfs, neutron stars. Structure of Milky Way. Classification of galaxies. Potential theory, rotation curves, orbits, dark matter. Spiral patterns. Galaxy clusters. Mergers. Black holes in active galactic nuclei. Expansion of universe, dark energy.",,MATA30H3 and [MATA36H3 or MATA37H3] and PHYA21H3,"(ASTB21H3), (ASTC22H3), [AST221H and AST222H]","Astrophysics of Stars, Galaxies and the Universe",MATB41H3,,2nd year +ASTC02H3,NAT_SCI,,"A hands-on introduction to astronomical observing using the UTSC telescope. Lectures cover topics of astronomical instrumentation and data reduction. Observations of Solar System planets, moons, planetary nebula, globular clusters and galaxies will be made. Students will present their results in the style of a scientific paper and a talk.",,ASTB23H3,"AST325H, AST326Y",Practical Astronomy: Instrumentation and Data Analysis,,,3rd year +ASTC25H3,NAT_SCI,,"Overview of planetary astrophysics at a level appropriate for science students. Planets as a by-product of star formation: theory and observations. Protostellar/protoplanetary disks. Planetesimal and planet formation. Solar system versus extrasolar planetary systems. Giant planets, terrestrial planets, dwarf planets and minor bodies in the Solar System: interiors and environments.",,MATB41H3 and PHYA21H3,"(ASTB21H3), (ASTC22H3), [AST221H and AST222H]",Astrophysics of Planetary Systems,MATB42H3,,3rd year +BIOA01H3,NAT_SCI,University-Based Experience,"A lecture and laboratory course providing an overview of the origins and cellular basis of life, genetics and molecular biology, evolution and the diversity of microorganisms.",,[Grade 12 Biology or BIOA11H3] and [Grade 12 Advanced Functions or Grade 12 Calculus and Vectors or Grade 12 Data Management or the Online Mathematics Preparedness Course],"BIO120H, BIO130H, (BIO150Y)",Life on Earth: Unifying Principles,,that both BIOA01H3 and BIOA02H3 must be completed prior to taking any other Biology course.,1st year +BIOA02H3,NAT_SCI,University-Based Experience,"A lecture and laboratory course providing an overview of the anatomy and physiology of plants and animals, population biology, ecology and biodiversity.",,[Grade 12 Biology or BIOA11H3] and [Grade 12 Advanced Functions or Grade 12 Calculus and Vectors or Grade 12 Data Management or the Online Mathematics Preparedness Course],"BIO120H, BIO130H, (BIO150Y)","Life on Earth: Form, Function and Interactions",,that both BIOA01H3 and BIOA02H3 must be completed prior to taking any other Biology course.,1st year +BIOA11H3,NAT_SCI,,"An exploration of how molecules and cells come together to build and regulate human organ systems. The course provides a foundation for understanding genetic principles and human disease, and applications of biology to societal needs. This course is intended for non-biology students.",,,"BIOA01H3, BIOA02H3, CSB201H1",Introduction to the Biology of Humans,,(1) Priority will be given to students in the Major/Major Co-op in Health Studies - Population Health. Students across all disciplines will be admitted if space permits. (2) Students who have passed BIOA11H3 will be permitted to take BIOA01H3 and BIOA02H3.,1st year +BIOB10H3,NAT_SCI,,"This course is designed to introduce theory and experimental techniques in cell biology. The course examines the structure and function of major animal and plant organelles and integrates this into a discussion of protein biosynthesis, signal-based sorting and intracellular trafficking using the cytoskeleton. Cell motility and cell interactions with the environment will also be examined to provide a solid foundation on the basic unit of life.",,BIOA01H3 and BIOA02H3 and CHMA10H3 and CHMA11H3,,Cell Biology,,,2nd year +BIOB11H3,NAT_SCI,,"A course focusing on the central dogma of genetics and how molecular techniques are used to investigate cellular processes. Topics include structure and function of the nucleus, DNA replication and cell cycle control, transcription and translation, gene regulation and signal transduction.",,BIOA01H3 and BIOA02H3 and CHMA10H3 and CHMA11H3,BIO230H,Molecular Aspects of Cellular and Genetic Processes,,,2nd year +BIOB12H3,NAT_SCI,University-Based Experience,"A practical introduction to experimentation in cell and molecular biology. Lab modules will introduce students to concepts and techniques in the general preparation of solutions and buffers, microbiology, molecular biology, biochemistry, microscopy, data analysis, and science communication. This core laboratory course is the gateway for Molecular Biology & Biotechnology Specialists to upper level laboratory offerings.",,CHMA10H3 and CHMA11H3,,Cell and Molecular Biology Laboratory,BIOB10H3 and BIOB11H3,"Priority will be given to students enrolled in the Specialist programs in Molecular Biology and Biotechnology (Co-op and non-Co-op), Medicinal and Biological Chemistry, Neuroscience (Stage 1, Co-op only), Neuroscience (Cellular/Molecular Stream), and the Major program in Biochemistry. Additional students will be admitted as space permits.",2nd year +BIOB20H3,QUANT,,"This course explains the fundamental methods of quantitative reasoning, with applications in medicine, natural sciences, ecology and evolutionary biology. It covers the major aspects of statistics by working through concrete biological problems. The course will help students develop an understanding of key concepts through computer simulations, problem solving and interactive data visualisation using the R programming language (no prior skills with R or specialized math concepts are required).",,BIOA01H3 and BIOA02H3,BIO259H5,Introduction to Computational Biology,,,2nd year +BIOB32H3,NAT_SCI,University-Based Experience,"This course examines physiological mechanisms that control and co-ordinate the function of various systems within the body. The laboratory exercises examine properties of digestive enzymes, characteristics of blood, kidney function, metabolic rate and energetics, nerve function and action potentials, synaptic transmission, skeletal muscle function and mechanoreception.",,,"BIO252Y, BIO270H, BIO271H, (ZOO252Y)",Animal Physiology Laboratory,(BIOB30H3) or BIOB34H3,,2nd year +BIOB33H3,NAT_SCI,,A lecture based course with online learning modules which deals with the functional morphology of the human organism. The subject matter extends from early embryo-genesis through puberty to late adult life.,,[BIOA01H3 and BIOA02H3] or [HLTA03H3 and HLTA20H3],"ANA300Y, ANA301H, HLTB33H3, PMDB33H3",Human Development and Anatomy,,Priority will be given to students in the Human Biology programs. Additional students will be admitted as space permits.,2nd year +BIOB34H3,NAT_SCI,,"An introduction to the principles of animal physiology rooted in energy usage and cellular physiology. A comparative approach is taken, which identifies both the universal and unique mechanisms present across the animal kingdom. Metabolism, thermoregulation, digestion, respiration, water regulation, nitrogen excretion, and neural circuits are the areas of principal focus.",,BIOA01H3 and BIOA02H3 and CHMA11H3,BIO270H,Animal Physiology,,,2nd year +BIOB35H3,NAT_SCI,,"An exploration of the normal physiology of the human body. Emphasis will be placed on organ systems associated with head and neck, especially nervous, respiratory, muscular, digestive, cardiovascular, and endocrine. Particular emphasis will be placed on speech, audition, and swallowing. The interrelationship among organ systems and how they serve to maintain homeostasis and human health will also be discussed.",,BIOA01H3 or BIOA11H3,"BIOC32H3, BIOC34H3, BIO210Y5, PSL201Y1",Essentials of Human Physiology,,Priority will be given to students in the Specialist Program in Psycholinguistics (Co-op and Non co-op). Additional students will be admitted if space permits.,2nd year +BIOB38H3,NAT_SCI,,How do plants feed the world and which plants have the highest impact on human lives? What is the origin of agriculture and how did it change over time? The human population will climb to 10 billion in 2050 and this will tax our planet’s ability to sustain life. Environmentally sustainable food production will become even more integral.,,BIOA01H3 and BIOA02H3,"(BIOC38H3), EEB202H",Plants and Society,,,2nd year +BIOB50H3,NAT_SCI,,"An introduction to the main principles of ecology; the science of the interactions of organisms with each other and with their environment. Topics include physiological, behavioural, population, community, and applied aspects of ecology (e.g. disease ecology, climate change impacts, and approaches to conservation). Emphasis is given to understanding the connections between ecology and other biological subdisciplines.",,BIOA01H3 and BIOA02H3,,Ecology,,,2nd year +BIOB51H3,NAT_SCI,University-Based Experience,"This course is an introduction to the main principles of evolution; the study of the diversity, relationships, and change over time in organisms at all scales of organization (from individuals to populations to higher taxonomic groups). The theory and principles of evolutionary biology give critical insight into a wide range of fields, including conservation, genetics, medicine, pathogenesis, community ecology, and development.",,BIOA01H3 and BIOA02H3,,Evolutionary Biology,,,2nd year +BIOB52H3,NAT_SCI,University-Based Experience,"An introduction to field, lab and computational approaches to ecology and evolution. Laboratories will explore a variety of topics, ranging from population genetics to community ecology and biodiversity. Some lab exercises will involve outdoor field work.",,BIOA01H3 and BIOA02H3,,Ecology and Evolutionary Biology Laboratory,BIOB50H3 or BIOB51H3,,2nd year +BIOB90H3,NAT_SCI,,"In this course, students will develop scientific communication skills by working collaboratively with peers to create an informative scientific poster that will be presented in a poster session modelled on those held at most major scientific conferences. Successful posters will engage the interest of the audience in the topic, clearly and concisely outline understanding gained from the primary literature, and discuss how understanding is enhanced by integrating knowledge. Notes: 1. Students in all Specialist/Specialist Co-op and Major programs in Biological Sciences are required to complete BIOB90H3 prior to graduation. In order to enroll in BIOB90H3, students must be concurrently enroled in at least one of the corequisites listed. 2. No specific grade will be assigned to BIOB90H3 on transcripts; instead, the grade assigned to work in BIOB90H3 will constitute 10% of the final grade in each of the corequisite courses that the students are concurrently enrolled in. 3. Students must receive a grade of 50% or higher for work in BIOB90H3 in order to fulfill this graduation requirement.",,Restricted to students in the Specialist/Specialist Co-op programs and Major Programs in Biological Sciences.,,Integrative Research Poster Project,"Concurrently enrolled in at least one of the following: BIOB10H3, BIOB11H3, BIOB34H3, BIOB38H3, BIOB50H3 or BIOB51H3",,2nd year +BIOB97H3,NAT_SCI,University-Based Experience,"This course-based undergraduate research experience (CURE) in biological sciences will introduce students to the process of scientific inquiry as they engage in a hypothesis- driven research project with an emphasis on student-driven discovery, critical thinking, and collaboration. Students will learn to effectively access, interpret, and reference scientific literature as they formulate their research question and create an experimental design. Students will gain hands-on experience in research techniques and apply concepts in research ethics, reproducibility, and quantitative analyses to collect and interpret data.",,,,Bio-CURE: Course-based Undergraduate Research in Biological Sciences,"BIOB11H3 and at least one of BIOB10H3, BIOB34H3, BIOB38H3,BIOB50H3, BIOB51H3",Have completed no more than 11 credits towards a degree program at the time of enrolment.,2nd year +BIOB98H3,,University-Based Experience,"A course designed to facilitate the introduction to, and experience in, ongoing laboratory or field research in biology. Supervision of the work is arranged by mutual agreement between student and instructor. Students must obtain a permission form (and outline of the planned work) from the Biological Sciences website. This is to be completed and signed by the student and supervisor and then returned to the Biological Sciences departmental office (SW421E). Notes: 1. Completion of this course can be used to fulfill a course requirement for the Certificate in Biological Sciences Research Excellence. Details can be found in the Biological Sciences Overview section of the Calendar. 2. This course does not satisfy any Biological Sciences program requirements. 3. This course is a credit/no credit course.",,At least 4.0 credits including BIOA01H3 and BIOA02H3.,"BIOB98H3 may not be taken after or concurrently with: BIOB99H3, BIOD95H3, BIOD98Y3 or BIOD99Y3",Supervised Introductory Research in Biology,,,2nd year +BIOB99H3,,University-Based Experience,"A course designed to facilitate the introduction to, and experience in, ongoing laboratory or field research in biology. Supervision of the work is arranged by mutual agreement between student and instructor. Students must obtain a permission form (and outline of the planned work) from the Biological Sciences website. This is to be completed and signed by the student and supervisor and then returned to the Biological Sciences departmental office (SW421E). Notes: 1. BIOB99H3 is identical to BIOB98H3 but is intended as a second research experience. In order to be eligible for BIOB99H3, with the same instructor, the student and the instructor will have to provide a plan of study, the scope of which goes beyond the work of BIOB98H3. 2. Completion of this course can be used to fulfill a course requirement for the Certificate in Biological Sciences Research Excellence. Details can be found in the Biological Sciences Overview section of the Calendar. 3. This course does not satisfy any Biological Sciences program requirements.",,BIOB98H3,"BIOB99H3 may not be taken after or concurrently with BIOD95H3, BIOD98Y3 or BIOD99Y3.",Supervised Introductory Research in Biology,,,2nd year +BIOC10H3,NAT_SCI,University-Based Experience,"This seminar course builds on fundamental cell biology concepts using primary literature. This course will examine specific organelles and their functions in protein biogenesis, modification, trafficking, and quality control within eukaryotic cells. The experimental basis of knowledge will be emphasized and students will be introduced to hypothesis- driven research in cell biology.",BIOC12H3,BIOB10H3 and BIOB11H3,"BIO315H, CSB428H",Cell Biology: Proteins from Life to Death,,,3rd year +BIOC12H3,NAT_SCI,,"A lecture course describing factors involved in determining protein structures and the relationship between protein structure and function. Topics include: amino acids; the primary, secondary, tertiary and quaternary structures of proteins; protein motifs and protein domains; glycoproteins; membrane proteins; classical enzyme kinetics and allosteric enzymes; mechanisms of enzyme action.",CHMB42H3,BIOB10H3 and BIOB11H3 and CHMB41H3,"CHMB62H3, BCH210H, BCH242Y",Biochemistry I: Proteins and Enzymes,,,3rd year +BIOC13H3,NAT_SCI,,"A lecture course that introduces how cells or organisms extract energy from their environment. The major metabolic pathways to extract energy from carbohydrates, fats and proteins will be discussed, as well as the regulation and integration of different pathways. An emphasis will be placed on real-world applications of biochemistry to metabolism.",,BIOB10H3 and BIOB11H3 and CHMB41H3,"CHMB62H3, BCH210H, BCH242Y",Biochemistry II: Bioenergetics and Metabolism,,,3rd year +BIOC14H3,NAT_SCI,,"This class will provide a survey of the role of genes in behaviour, either indirectly as structural elements or as direct participants in behaviour. Topics to be covered are methods to investigate complex behaviours in humans and animal models of human disease, specific examples of genetic effects on behaviour in animals and humans, and studies of gene-environment interactions.",,BIOB10H3 and BIOB11H3,,"Genes, Environment and Behaviour",,,3rd year +BIOC15H3,NAT_SCI,University-Based Experience,Topics for this lecture and laboratory (or project) course include: inheritance and its chromosomal basis; gene interactions; sources and types of mutations and the relationship of mutation to genetic disease and evolution; genetic dissection of biological processes; genetic technologies and genomic approaches.,,BIOB10H3 and BIOB11H3 and [PSYB07H3 or STAB22H3],"BIO260H, HMB265H",Genetics,,,3rd year +BIOC16H3,NAT_SCI,University-Based Experience,"Understanding the process of evolution is greatly enhanced by investigations of the underlying genes. This course introduces modern genetic and genomic techniques used to understand and assess microevolutionary changes at the population level. Topics include DNA sequence evolution, population genetics, quantitative genetics/genomics, positive Darwinian selection, the evolution of new genes, and comparative genomics.",BIOC15H3,BIOB51H3,,Evolutionary Genetics and Genomics,,,3rd year +BIOC17H3,NAT_SCI,University-Based Experience,"This course presents an overview of the microbial world and introduces the students, in more detail, to the physiological, cellular and molecular aspects of bacteria. The laboratories illustrate principles and provide training in basic microbiological techniques essential to microbiology and to any field where recombinant DNA technology is used.",,BIOB10H3 and BIOB11H3,MGY377H,Microbiology,,,3rd year +BIOC19H3,NAT_SCI,,"Following a discussion of cellular and molecular events in early embryonic life, the development of several model systems will be analyzed such as erythropoiesis, lens development in the eye, spermatogenesis and myogenesis. Particular reference will be given to the concept that regulation of gene expression is fundamental to development.",,BIOB10H3 and BIOB11H3,CSB328H,Animal Developmental Biology,,,3rd year +BIOC20H3,NAT_SCI,,"This course introduces viruses as infectious agents. Topics include: virus structure and classification among all kingdoms, viral replication strategies, the interactions of viruses with host cells, and how viruses cause disease. Particular emphasis will be on human host-pathogen interactions, with select lectures on antiviral agents, resistance mechanisms, and vaccines.",,BIOB10H3 and BIOB11H3,"BIO475H5, CSB351Y1, MGY378H1",Principles of Virology,,,3rd year +BIOC21H3,NAT_SCI,University-Based Experience,"A study of the structure of cells and the various tissue types which make up the vertebrate body; epithelial, connective, muscle, nervous, blood, and lymphatic. Emphasis is placed on how form is influenced by function of the cells and tissues.",,BIOB10H3 and BIOB34H3,ANA300Y,Vertebrate Histology: Cells and Tissues,,,3rd year +BIOC23H3,NAT_SCI,University-Based Experience,"A lecture and laboratory course that introduces students to experimental approaches used in biochemical research. Topics include practical and theoretical aspects of: spectrophotometry; chromatography; electrophoresis; enzyme assays, protein purification and approaches to identify protein-protein interactions. Students are expected to solve numerical problems involving these and related procedures.",,BIOB12H3 and BIOC12H3,"BCH370H, (BCH371H), BCH377H, BCH378H",Practical Approaches to Biochemistry,,,3rd year +BIOC29H3,NAT_SCI,University-Based Experience,"This course will lead students through an exploration of the Kingdom of Fungi, covering topics in biodiversity, ecology, and evolution. Lectures will also discuss the broad application of fungi in agriculture, industry, medicine, and visual arts. In the laboratory sessions, students will learn to observe, isolate, and identify fungi using microscopy and modern biological techniques. Field trips will be opportunities to observe fungi in their native habitats and to discuss the real-world applications of diverse fungal organisms.",,BIOB50H3 and BIOB51H3,,Introductory Mycology,,,3rd year +BIOC31H3,NAT_SCI,,"A central question of developmental biology is how a single cell becomes a complex organism. This lecture course focuses on molecular and cellular mechanisms that control developmental processes in plants, including: embryonic, vegetative and reproductive development; hormone signal transduction pathways; plant-environment interaction and plant biotechnology.",,BIOB10H3 and BIOB11H3,CSB340H,Plant Development and Biotechnology,,,3rd year +BIOC32H3,NAT_SCI,University-Based Experience,"An introduction to human physiology covering the nervous system, skeletal muscles, hormones, and the immune systems in both healthy and diseased states.",,BIOB34H3 or NROB60H3,PSL300H,Human Physiology I,,,3rd year +BIOC34H3,NAT_SCI,,"This course will cover the physiology of the human respiratory, cardiovascular, renal and digestive systems. Topics include cardiac function, ECG, blood flow/pressure regulation, pulmonary mechanics, gas transfer and transport, the control of breathing, sleep-related breathing disorders, kidney function, ion regulation, water balance, acid-base balance and digestive function/regulation. Students will complete a series of computer-simulated laboratory exercises on their own time.",,BIOB34H3 or NROB60H3 or BIO271H,"(BIOC33H3), (PSL302Y), PSL301H",Human Physiology II,,,3rd year +BIOC35H3,NAT_SCI,,"This course introduces principles in parasitic lifestyles. Topics that will be covered include common parasite life strategies, host-parasite interactions and co-evolution, parasite immune evasion strategies, impacts on public health, and treatment and prevention strategies.",,BIOB10H3 and BIOB11H3,,Principles in Parasitology,,,3rd year +BIOC37H3,NAT_SCI,,"Plants have evolved adaptations to maximize growth, survival and reproduction under various taxing environmental conditions. This course covers the great diversity of plant structures and function in relation to ecology, focusing mainly on flowering plants.",,BIOB38H3 or BIOB50H3 or BIOB51H3,EEB340H,Plants: Life on the Edge,,,3rd year +BIOC39H3,NAT_SCI,,"This course introduces the molecular and cellular basis of the immune system. Topics include self versus non-self recognition, humoral and cell-mediated immune responses, and the structure and function of antibodies. The importance of the immune system in health and disease will be emphasized and topics include vaccination, autoimmunity, and tumour immunology.",,BIOB10H3 and BIOB11H3,"IMM340H, IMM341H, IMM350H, IMM351H",Immunology,,,3rd year +BIOC40H3,NAT_SCI,,"An introduction to plant biology. Topics include plant and cell structure, water balance, nutrition, transport processes at the cell and whole plant level, physiological and biochemical aspects of photosynthesis, and growth and development in response to hormonal and environmental cues.",,BIOB10H3 and BIOB11H3,BIO251H,Plant Physiology,,,3rd year +BIOC50H3,NAT_SCI,University-Based Experience,"An overview of recent developments in evolutionary biology that focus on large-scale patterns and processes of evolution. Areas of emphasis may include the evolutionary history of life on earth, phylogenetic reconstruction, patterns of diversification and extinction in the fossil record, the geography of evolution, the evolution of biodiversity, and the process of speciation.",,BIOB50H3 and BIOB51H3,EEB362H,Macroevolution,,,3rd year +BIOC51H3,NAT_SCI,Partnership-Based Experience,"A course with preparatory lectures on the UTSC campus and a field experience in natural settings where ecological, evolutionary, and practical aspects of biodiversity will be explored. Field work will involve outdoor activities in challenging conditions.",,BIOB50H3 and BIOB51H3 and BIOB52H3 and permission of instructor.,,Biodiversity Field Course,,"Students should contact the instructor 4 months before the start of the course. Additional course fees are applied, and students will need to place a deposit towards the cost of travel.",3rd year +BIOC52H3,NAT_SCI,University-Based Experience,"This course provides students with the opportunity to experience hands-on learning through informal natural history walks, and group and individual research projects, in a small- class setting. The course covers basic principles and selected techniques of field ecology and ecological questions related to organisms in their natural settings. Most of the field work takes place in the Highland Creek ravine.",,,(EEB305H),Ecology Field Course,BIOB50H3 and BIOB51H3,,3rd year +BIOC54H3,NAT_SCI,,"Survey of the study of animal behaviour with emphasis on understanding behavioural patterns in the context of evolutionary theory. Topics include sexual selection and conflict, parental care, social behaviour, and hypothesis testing in behavioural research.",,BIOB50H3 and BIOB51H3,"EEB322H,",Animal Behaviour,,,3rd year +BIOC58H3,NAT_SCI,University-Based Experience,"A lecture and tutorial course that addresses the key environmental factor that will dominate the 21st Century and life on the planet: Global Climate Change. The course will examine the factors that influence climate, from the formation of the earth to the present time, how human activities are driving current and future change, and how organisms, populations, and ecosystems are and will respond to this change. Finally, it will cover human responses and policies that can permit an adaptive response to this change.",,BIOB50H3 and BIOB51H3,"EEB428H, GGR314H, (BIO428H)",Biological Consequences of Global Change,,,3rd year +BIOC59H3,NAT_SCI,,"The study of the interactions that determine the distribution and abundance of organisms on the earth. The topics will include an understanding of organism abundance and the factors that act here: population parameters, demographic techniques, population growth, species interactions (competition, predation, herbivory, disease), and population regulation. It will include an understanding of organism distribution and the factors that act here: dispersal, habitat selection, species interactions, and physical factors.",,BIOB50H3,"EEB319H, (BIO319H)",Advanced Population Ecology,,,3rd year +BIOC60H3,NAT_SCI,University-Based Experience,"Canada is characterized by its long and harsh winters. Any Canadian plant or animal has evolved one of three basic survival strategies: (1) migration (avoidance), (2) hibernation, and (3) resistance. These evolutionary adaptations are investigated by the example of common organisms from mainly southern Ontario.",,BIOB50H3 or BIOB51H3,,Winter Ecology,,,3rd year +BIOC61H3,NAT_SCI,University-Based Experience,"An examination of the theory and methodology of community analysis, with an emphasis on the factors regulating the development of communities and ecosystems. The application of ecological theory to environmental problems is emphasized. We will examine the impacts of various factors, such as primary productivity, species interactions, disturbance, variable environments, on community and metacommunity structure, and on ecosystem function. We will also examine the impacts of climate change on the world's ecosystems.",,BIOB50H3,"EEB321H, (BIO321H)",Community Ecology and Environmental Biology,,,3rd year +BIOC62H3,NAT_SCI,University-Based Experience,"This lecture and tutorial course explores the strategic and operational aspects of zoos and aquariums in conservation. Emphasis is on contemporary issues, including the balance between animal welfare and species conservation; nutrition, health and behavioural enrichment for captive animals; in situ conservation by zoos and aquariums; captive breeding and species reintroductions; and public outreach/education.",,BIOB50H3 and BIOB51H3,,Role of Zoos and Aquariums in Conservation,,,3rd year +BIOC63H3,NAT_SCI,University-Based Experience,"A lecture and tutorial course offering an introduction to the scientific foundation and practice of conservation biology. It reviews ecological and genetic concepts constituting the basis for conservation including patterns and causes of global biodiversity, the intrinsic and extrinsic value of biodiversity, the main causes of the worldwide decline of biodiversity and the approaches to save it, as well as the impacts of global climate change.",,BIOB50H3 and BIOB51H3,"EEB365H, (BIO365H)",Conservation Biology,,,3rd year +BIOC65H3,NAT_SCI,,"An introduction to the scientific study of the effects of toxic chemicals on biological organisms. Standard methods of assessing toxicant effects on individuals, populations, and communities are discussed. Special emphasis is placed on the chemistry of major toxicant classes, and on how toxicants are processed by the human body.",,BIOB50H3 and CHMA10H3 and CHMA11H3,,Environmental Toxicology,,,3rd year +BIOC70H3,NAT_SCI,,"Research and practice in the sciences often rests on the unquestioned assertion of impartial analyses of facts. This course will take a data-informed approach to understanding how human biases can, and have, affected progress in the sciences in general, and in biology in particular. Case studies may include reviews of how science has been used to justify or sustain racism, colonialism, slavery, and the exploitation of marginalized groups. Links will be drawn to contemporary societal challenges and practices. Topics will include how biases can shape science in terms of those doing the research, the questions under study, and the types of knowledge that inform practice and teaching. Data on bias and societal costs of bias will be reviewed, as well as evidence-informed practices, structures, and individual actions which could ensure that science disrupts, rather than enables, social inequities.",,"[Any of the following A-level courses: ANTA01H3, [BIOA01H3 and BIOA02H3], BIOA11H3, [HLTA02H3 and HLTA03H3] or [PSYA01H3 and PSYA02H3]] and [Any of the following B-level courses: any B-level BIO course, any B-level PSY course, ANTB14H3, ANTB15H3, HLTB20H3 or HLTB22H3]",,An Introduction to Bias in the Sciences,,,3rd year +BIOC90H3,NAT_SCI,,"In this course, students will produce engaging, documentary- style multimedia narratives that relay scientific evidence on a topic of interest to a lay audience. In order to create their documentaries, students will distill research findings reported in the primary literature and integrate knowledge from multiple fields of biology. Notes: 1. Students in all Specialists/Specialist Co-op and Major programs in Biological Sciences are required to complete BIOC90H3 prior to graduation. In order to enroll in BIOC90H3, students must be enrolled in at least one of the following corequisite courses listed. 2. No specific grade will be assigned to BIOC90H3 on transcripts; instead, the grade assigned to work in BIOC90H3 will constitute 10% of the final grade in one of the corequisite courses that the students are concurrently enrolled in. 3. Students must receive a grade of 50% or higher for work in BIOC90H3 in order to fulfill this graduation requirement.",,BIOB90H3. Restricted to students in the Specialist/Specialist Co-op programs and Major Programs in Biological Sciences.,,Integrative Multimedia Documentary Project,"Concurrently enrolled in at least one of the following: BIOC12H3, BIOC14H3, BIOC20H3, BIOC32H3, BIOC34H3, BIOC39H3, BIOC40H3, BIOC54H3, or BIOC61H3.",,3rd year +BIOC99H3,NAT_SCI,University-Based Experience,"In this introduction to academic research, a group of 3-5 students work with a faculty supervisor and TA to develop a research proposal or implement a research project. Prior to registering, students must find a faculty supervisor, form a group, then submit a permission form to the department. The permission form may be downloaded from the Biological Sciences website.",,(1) Enrolment in a UTSC Major or Specialist Subject POSt offered by Biological Sciences and (2) completion of all second year core program requirements and (3) have at least 8.0 credits and (4) a commitment from a Biology faculty member to serve as supervisor and (5) formation of a group that includes at least 2 other students,,Biology Team Research,,Completion of this course can be used to fulfill a course requirement for the Certificate in Biological Sciences Research Excellence. Details can be found in the Biological Sciences Overview section of the Calendar.,3rd year +BIOD06H3,NAT_SCI,,Lecture/seminar-based course addressing advanced topics in the neural basis of motor control in vertebrates. The emphasis will be placed on cellular-level understanding of how motor circuits operate.,,BIOC32H3 or NROC34H3 or NROC64H3 or NROC69H3,,Advanced Topics in Neural Basis of Motor Control,,,4th year +BIOD07H3,NAT_SCI,,"This course will survey different fields in neural circuit research ranging from sensory systems to motor control. Emphasis will be placed on new methodologies used to deconstruct circuit function, including advanced functional imaging, optogenetics, anatomical reconstruction and the latest behavioural approaches.",,BIOC32H3 or NROC34H3 or NROC64H3 or NROC69H3,,Advanced Topics and Methods in Neural Circuit Analysis,,,4th year +BIOD08H3,NAT_SCI,,"A seminar covering topics in the theory of neural information processing, focused on perception, action, learning and memory. Through reading, discussion and working with computer models students will learn fundamental concepts underlying current mathematical theories of brain function including information theory, population codes, deep learning architectures, auto-associative memories, reinforcement learning and Bayesian optimality. Same as NROD08H3",,[NROC34H3 or NROC64H3 or NROC69H3] and [MATA29H3 or MATA30H3 or MATA31H3] and [PSYB07H3 or STAB22H3],NROD08H3,Theoretical Neuroscience,,,4th year +BIOD12H3,NAT_SCI,,A lecture/seminar course on the cellular mechanisms of protein quality control. Animal and plant models will be used to highlight the mechanisms of action of selected protein folding and degradation machineries critical to cell functions. Primary literature in protein homeostasis and possible consequence of malfunction in eukaryotic cells will also be discussed.,,BIOC10H3 or BIOC12H3,,Protein Homeostasis,,,4th year +BIOD13H3,NAT_SCI,University-Based Experience,"The use of plants in medicine has been documented for over 2,000 years. Their use is immersed in major ancient civilizations from around the World. This lecture/seminar/lab course will take the knowledge from indigenous medicine as a starting point and expand it with more recent advances in plant biochemistry, genetics and biotechnology.",,BIOC13H3,,Herbology: The Science Behind Medicinal Plants,,,4th year +BIOD15H3,NAT_SCI,University-Based Experience,"Complex mechanisms of gene regulation (e.g., epigenetics, epitranscriptomics, regulatory RNAs) govern life-trajectories in health and disease. This advanced lecture, problem-based learning and seminar course equips students with critical thinking tools to dissect advanced concepts in genetics, including biological embedding, transgenerational inheritance, genetic determinism, gene therapy, and ethics in 21st century transgenics.",,BIOC15H3,,Mechanism of Gene Regulation in Health and Disease,,,4th year +BIOD17H3,NAT_SCI,,"An overview of the most significant advances in cellular microbiology. The curriculum will include cellular mechanisms of microbial pathogenesis, as well as recognition and elimination of pathogens by cells. Students will be required to participate in class discussions, and give oral presentations of scientific papers.",,BIOC17H3 or BIOC39H3,,Seminars in Cellular Microbiology,,,4th year +BIOD19H3,NAT_SCI,,"A lecture/seminar/discussion class on the emerging field of environmental epigenetics. Course will cover basic epigenetic mechanisms, methods in epigenetic research, epigenetic control of gene function, and the role of epigenetics in normal development and human disease.",,BIOC14H3,,Epigenetics in Health and Disease,,,4th year +BIOD20H3,NAT_SCI,,"This is a lecture/seminar course that will discuss advanced topics in human virology. The course focus will be on human viruses, pathogenicity in human hosts, and current literature on emerging pathogens.",,BIOC20H3,MGY440H1,Special Topics in Virology,,,4th year +BIOD21H3,NAT_SCI,University-Based Experience,"Applications of molecular technology continue to revolutionize our understanding of all areas of life sciences from biotechnology to human disease. This intensive laboratory, lecture / tutorial course provides students with essential information and practical experience in recombinant DNA technology, molecular biology and bio-informatics.",,BIOB12H3 and BIOC15H3 and BIOC17H3,,Advanced Molecular Biology Laboratory,BIOC12H3 (,Priority will be given to students enrolled in the Specialist programs in Molecular Biology and Biotechnology (Co-op and non-Co-op). Additional students will be admitted only if space permits.,4th year +BIOD22H3,NAT_SCI,,"This course is organized around a central theme, namely the expression of heat shock (stress) genes encoding proteins is important in cellular repair/protective mechanisms. Topics include heat shock transcription factors, heat shock proteins as 'protein repair agents' that correct protein misfolding, and diseases triggered by protein misfolding such as neurodegenerative disorders.",,BIOC10H3 or BIOC12H3 or BIOC15H3,,Molecular Biology of the Stress Response,,,4th year +BIOD23H3,NAT_SCI,,A lecture/seminar/discussion class on contemporary topics in Cell Biology. Students will explore the primary literature becoming familiar with experimental design and methodologies used to decipher cell biology phenomena. Student seminars will follow a series of lectures and journal club discussions.,,BIOC12H3,,Special Topics in Cell Biology,,,4th year +BIOD24H3,NAT_SCI,,"In this lecture seminar course, we will explore how human stem cells generate the diverse cell types of the human body, and how they can be harnessed to understand and treat diseases that arise during embryonic development or during aging. We will also discuss current ethical issues that guide research practices and policies, including the destruction of human embryos for research, gene editing, and the premature clinical translation of stem cell interventions.",,BIOC19H3,CSB329H1,Human Stem Cell Biology and Regenerative Medicine,,,4th year +BIOD25H3,NAT_SCI,,"A course considering the principles of genome organization and the utilization of genomic approaches to studying a wide range of problems in biology. Topics to be presented will include innovations in instrumentation and automation, a survey of genome projects, genomic variation, functional genomics, transcription profiling (microarrays), database mining and extensions to human and animal health and biotechnology.",,BIOC15H3,,Genomics,,,4th year +BIOD26H3,NAT_SCI,,A lecture and tutorial based course designed to provide an overview of the fungal kingdom and the properties of major fungal pathogens that contribute to disease in animals (including humans) and plants. This course will address the mechanisms and clinical implications of fungal infections and host defence mechanisms. Topics include virulence factors and the treatment and diagnosis of infection.,,BIOC17H3 or BIOC39H3,,Fungal Biology and Pathogenesis,,,4th year +BIOD27H3,NAT_SCI,,"A lecture/discussion class on the structure and function of the major endocrine organs of vertebrates. The course provides knowledge of endocrine systems encompassing hormone biosynthesis, secretion, metabolism, feedback, physiological actions, and pathophysiology. Recent advances in hormone research as well as contemporary issues in endocrinology will be examined.",,BIOB34H3 and [BIOC32H3 or BIOC34H3],,Vertebrate Endocrinology,,,4th year +BIOD29H3,NAT_SCI,Partnership-Based Experience,"This lecture/seminar format course will critically examine selected topics in human disease pathogenesis. Infectious and inherited diseases including those caused by human retroviruses, genetic defects and bioterrorism agents will be explored. Discussions of primary literature will encompass pathogen characteristics, genetic mutations, disease progression and therapeutic strategies.",,BIOC10H3 or BIOC20H3 or BIOC39H3,,Pathobiology of Human Disease,,,4th year +BIOD30H3,NAT_SCI,Partnership-Based Experience,Plant scientists working to address pressing global challenges will give presentations. In advance students will identify terminologies and methodologies needed to engage with the speaker and think critically about the research. Student teams will identify and develop background knowledge and go beyond speaker’s presentations with new questions and/or applications.,,BIOC15H3 or BIOC31H3 or BIOC40H3,,Plant Research and Biotechnology: Addressing Global Problems,,Priority will be given to students enrolled in the Major Program in Plant Biology. Additional students will be admitted if space permits.,4th year +BIOD32H3,NAT_SCI,,"This course will examine how lung disease and other respiratory insults affect pulmonary physiology and lung function. Topics will include methods used to diagnose respiratory disease, pulmonary function in patients with various lung diseases as well as treatment options for both lung disease and lung failure.",,[BIOC34H3 or CSB346H1 or PSL301H1],,Human Respiratory Pathophysiology,,Priority will be given the students in the Human Biology Specialist and Human Biology Major programs.,4th year +BIOD33H3,NAT_SCI,,"This course will examine how various physiological systems and anatomical features are specialised to meet the environmental challenges encountered by terrestrial and aquatic animals. Topics include respiratory systems and breathing, hearts and cardiovascular systems, cardiorespiratory control, animal energetics, metabolic rate, thermoregulation, defenses against extreme temperatures, hibernation and osmotic/ionic/volume regulation.",,(BIOC33H3) or BIOC34H3,,Comparative Animal Physiology,,,4th year +BIOD34H3,NAT_SCI,,"This is a combined lecture and seminar course that will discuss topics such as climate change and plastics/microplastics effects on the physiology of animals, and physiological tools and techniques used in conservation efforts. The course will focus on how physiological approaches have led to beneficial changes in human behaviour, management or policy.",,BIOB34H3 and [Completion of at least 0.5 credit at the C level in Biological Sciences],,Conservation Physiology,,,4th year +BIOD37H3,NAT_SCI,,"This course examines resistance mechanisms (anatomical, cellular, biochemical, molecular) allowing plants to avoid or tolerate diverse abiotic and biotic stresses. Topics include: pathogen defence; responses to temperature, light, water and nutrient availability, salinity, and oxygen deficit; stress perception and signal transduction; methods to study stress responses; and strategies to improve stress resistance.",,BIOC31H3 or BIOC40H3,,Biology of Plant Stress,,,4th year +BIOD43H3,NAT_SCI,,"A lecture and seminar/discussion course covering integrative, comparative animal locomotion and exercise physiology. Topics will include muscle physiology, neurophysiology, metabolism, energetics, thermoregulation and biomechanics. These topics will be considered within evolutionary and ecological contexts.",Completion of an A-level Physics course.,(BIOC33H3) or BIOC34H3,HMB472H,Animal Movement and Exercise,,,4th year +BIOD45H3,NAT_SCI,,"This course will examine how animals send and receive signals in different sensory modalities, and the factors that govern the evolution and structure of communication signals. Using diverse examples (from bird songs to electric fish) the course will demonstrate the importance of communication in the organization of animal behaviour, and introduce some theoretical and empirical tools used in studying the origins and structure of animal communication.",,BIOC54H3 or NROC34H3,,Animal Communication,,,4th year +BIOD48H3,NAT_SCI,University-Based Experience,"An overview of the evolution, ecology, behaviour, and conservation of birds. Field projects and laboratories will emphasize identification of species in Ontario.",,BIOB50H3 and BIOB51H3 and [one of the following: BIOC50H3 or BIOC54H3 or BIOC61H3],EEB386H and EEB384H,Ornithology,,,4th year +BIOD52H3,NAT_SCI,,"A seminar exploration of current topics in biodiversity and conservation, including genetic, organismal, and community levels. Examples include DNA barcoding, adaptive radiations, phylogenetic trees, and biodiversity hotspots. Skills development in critical thinking and interpretation of the primary literature is emphasized, with coursework involving group presentations, discussions, and written analyses.",,BIOC50H3 or BIOC63H3,,Biodiversity and Conservation,,,4th year +BIOD53H3,NAT_SCI,,"An exploration into current topics in the study of the evolutionary and ecological influences on animal behaviour. Topics may include sexual selection and conflict, social behaviour, communication, and behavioural mechanisms. Emphasis will be on current research and the quantitative and qualitative reasoning underlying our ability to understand and predict animal behaviour.",,BIOC54H3,"EEB496Y, (BIO496Y)",Special Topics in Animal Behaviour,,,4th year +BIOD54H3,NAT_SCI,,"Canada has a complex conservation landscape. Through lectures and interactive discussions with leading Canadian conservation practitioners, this course will examine how conservation theory is put into practice in Canada from our international obligations to federal, provincial, and municipal legislation and policies.",,BIOC62H3 or BIOC63H3,,Applied Conservation Biology,,,4th year +BIOD55H3,NAT_SCI,,"A hands-on course emphasizing the logic, creative thinking, and careful methodology required to conduct rigorous research on animal behaviour from an evolutionary perspective. Students will devise and run behavioural experiments, primarily using invertebrate models.",,BIOC54H3,,Experimental Animal Behaviour,,,4th year +BIOD59H3,NAT_SCI,,"Modelling is a critical tool for describing the complex dynamics of ecosystems and for addressing urgent management questions in ecology, epidemiology and conservation. In this practical introduction, students learn how to formulate ecological and epidemiological models, link them to data, and implement/analyze them using computer simulations. The course includes approaches for modelling individuals, populations, and communities, with applications in population viability assessments, natural resource management and food security, invasive species and pest control, disease eradication, and climate change mitigation. While not a requirement, some experience with computer programming will be beneficial for this course.",,BIOB50H3 and [MATA29H3 or MATA30H3 or MATA31H3],,"Models in Ecology, Epidemiology and Conservation",,,4th year +BIOD60H3,NAT_SCI,,"The study of how space and scale influence ecological patterns and species coexistence. The course will cover three main topics: 1) spatial dynamics, such as spatial spread and dispersal models; 2) species coexistence with metapopulation/metacommunity, neutral and lottery models; and 3) spatial analysis of ecological communities. Basic concepts will be applied to ecological problems such as: species invasions, reserve design and understanding threats to island biodiversity. Priority will be given to students enrolled in the specialist program in Biodiversity, Ecology and Evolution.",,BIOB50H3 and STAB22H3 and [BIOC59H3 or BIOC61H3],,Spatial Ecology,,,4th year +BIOD62H3,NAT_SCI,,"A species is the basic unit of evolution and symbiotic interactions are integral to the rise of global biodiversity. Using a multidisciplinary approach, this course will study symbiotic systems such as plant-animal, microbe-plant, and microbe-animal interactions. This course thus provides the student with a deeper understanding of how Earth's biodiversity is maintained through natural selection.",,BIOC16H3 or BIOC50H3,EEB340H,Symbiosis: Interactions Between Species,,,4th year +BIOD63H3,NAT_SCI,University-Based Experience,"This lecture/seminar course will discuss advanced topics in behavioural ecology, ecosystem and landscape ecology, and evolutionary ecology, with an emphasis on the impacts of past and present species interactions. Topics will vary based on current scientific literature and student interests. This course will strengthen the research, writing, and presentation skills of students while deepening their understanding of ecology.",,"BIOB50H3 and BIOB51H3 and [0.5 credit from the following: BIOC51H3, BIOC52H3, BIOC54H3, BIOC58H3, BIOC59H3, BIOC60H3, BIOC61H3]",,From Individuals to Ecosystems: Advanced Topics in Ecology,,,4th year +BIOD65H3,NAT_SCI,,"An intensive examination of selected pathologies affecting the nervous system such as Alzheimer's and Parkinson's disease, multiple sclerosis, and stroke. These pathologies will be examined from an integrative perspective encompassing the pathogeneses, resulting symptoms, and current therapeutic approaches. This course requires critical examination of research articles.",,"BIOB10H3 and BIOB11H3 and [0.5 credits from the following: BIOC32H3, NROC61H3, NROC64H3 or NROC69H3]",,Pathologies of the Nervous System,,,4th year +BIOD66H3,NAT_SCI,,"This course will combine lecture and student paper projects and presentations to explore the evolutionary and ecological processes that generate patterns of biological diversity as well as how species interactions and ecosystem function are affected by diversity. Of key interest will be how invasions, climate change, and habitat destruction affects diversity and function.",,BIOB51H3 and [BIOC59H3 or BIOC61H3],,Causes and Consequences of Biodiversity,,,4th year +BIOD67H3,NAT_SCI,,"Field courses offered by the Ontario Universities Program in Field Biology (OUPFB) in a variety of habitats and countries, usually during the summer. OUPFB modules (courses) are posted online in January, and students must apply by the indicated deadline.",,Varies by module (Permission of course co- ordinator required),(BIOC67H3),Inter-University Biology Field Course,,Additional information is provided on the Department of Biological Sciences website http://www.utsc.utoronto.ca/biosci/resources-current-students and on the OUPFB website http://www.oupfb.ca/index.html,4th year +BIOD95H3,,University-Based Experience,"This course is designed to permit an intensive examination of the primary literature of a select topic. Frequent consultation with the supervisor is necessary and extensive library research is required. The project will culminate in a written report. Students must obtain a permission form and Supervised Study form from the Biological Sciences website that is to be completed and signed by the intended supervisor, and returned to SW421E. Five sessions of group instruction will form part of the coursework.",,"Satisfactory completion of 12.5 credits, of which at least 4.0 credits must be at the B- or C-level in BIO courses. Students must have permission of the instructor. In order to be eligible for BIOD95H3, with the same instructor as BIOD98Y3 or BIOD99Y3, the student and instructor must provide a plan that goes beyond the work of those courses.",,Supervised Study in Biology,,,4th year +BIOD98Y3,,,"A course designed to permit laboratory or field research or intensive examination of a selected topic in biology. Supervision of the work is arranged by mutual agreement between student and instructor. Students must obtain a permission form from https:///www.utsc.utoronto.ca/biosci/undergraduate-research- opportunities that is to be completed and signed by the intended supervisor, and returned to SW421E. At that time, the student will be provided with an outline of the schedule and general requirements for the course. 10 sessions of group instruction will form part of the coursework.",,"Satisfactory completion of 13.5 credits, of which at least 4.0 credits must be at the B- or C-level in BIO courses; and permission of the instructor.","CSB498Y, EEB498Y",Directed Research in Biology,,Completion of this course can be used to fulfill a course requirement for the Certificate in Biological Sciences Research Excellence. Details can be found in the Biological Sciences Overview section of the Calendar.,4th year +BIOD99Y3,,,"Identical to BIOD98Y3 but intended as a second research experience. In order to be eligible for BIOD99Y3, with the same instructor, the student and the instructor will have to provide a plan of study that goes beyond the work of BIOD98Y3.",,"Satisfactory completion of 13.5 credits, of which at least 4.0 credits must be at the B- or C-level in BIO courses; and permission of the instructor.","CSB498Y, EEB498Y",Directed Research in Biology,,Completion of this course can be used to fulfill a course requirement for the Certificate in Biological Sciences Research Excellence. Details can be found in the Biological Sciences Overview section of the Calendar.,4th year +CHMA10H3,NAT_SCI,,"This course will introduce the study of chemical properties and transformations of matter. The course starts with the quantum mechanical model of the atom and the principles of how the periodic table is organized. Key reaction types are explored including acid/base, redox, and precipitation as well as a quantitative description of gases. Bonding and structure in chemical compounds is examined followed by a close look at solutions, solids and intermolecular forces. The course concludes with nuclear chemistry. This course includes a three-hour laboratory every other week.",Grade 12 Chemistry and [Grade 12 Advanced Functions or Grade 12 Calculus] are highly recommended,,"CHM120H5, CHM151Y1",Introductory Chemistry I: Structure and Bonding,,[MATA29H3 or MATA30H3] and [MATA35H3 or MATA36H3] are required for some higher level Physical and Environmental Sciences courses.,1st year +CHMA11H3,NAT_SCI,,"This course quantitatively examines reactions and equilibria in chemical systems with an emphasis on their thermodynamic properties and chemical kinetics. The course begins with a close examination of solutions followed by dynamic chemical equilibrium. This leads directly to acid/base and solubility equilibria and thermochemistry, including calorimetry. The course concludes with thermodynamics, kinetics and electrochemistry with a strong emphasis on the how these are connected to Gibbs Free Energy. This course includes a three hour laboratory every other week.",[MATA29H3 or MATA30H3],CHMA10H3,"CHMA12H3, CHM110H5, CHM135H1, CHM139H1, CHM151Y1",Introductory Chemistry II: Reactions and Mechanisms,,[MATA29H3 or MATA30H3] and [MATA35H3 or MATA36H3] are required for some higher level Physical and Environmental Sciences courses.,1st year +CHMA12H3,,,"This course will build on the topics from CHMA10H3, including a close examination of solutions, dynamic chemical equilibrium, acid/base and solubility equilibria and thermochemistry, including calorimetry and thermodynamics, kinetics and electrochemistry as they relate to Gibbs Free Energy. In this course, students will explore these ideas in more detail both from a theoretical and practical point of view, in comparison to CHMA11H3. The lecture portion will focus on how chemical concepts are applied in cutting edge research. The weekly laboratory period will provide students with access to the most current equipment used in both industrial and research settings as well as workshops that will explore how to analyze and extract data from published, peer-reviewed journal articles.",,CHMA10H3 with a grade of 70% or higher and [MATA29H3 or MATA30H3],"CHMA11H3, CHM151Y1, CHM135H1, CHM110H5",Advanced General Chemistry,,,1st year +CHMB16H3,NAT_SCI,,"An introduction to the principles and methods of classical analysis and the provision of practical experience in analytical laboratory techniques. The course deals primarily with quantitative chemical analysis. Classical methods of volumetric analysis, sampling techniques, statistical handling of data are studied, as well as a brief introduction to spectro- chemical methods. This course includes a four hour laboratory every week.",STAB22H3,CHMA10H3 and [CHMA11H3 or CHMA12H3] and [MATA29H3 or MATA30H3] and [MATA35H3 or MATA36H3],"CHM211H5, CHM217H1",Techniques in Analytical Chemistry,,,2nd year +CHMB20H3,NAT_SCI,,The concept of chemical potential; phase equilibria; solutions; chemical equilibria (including electrochemical applications); elementary reactions; multi-step and coupled reactions (with biochemical applications); elementary collision theory and transition state theory. This course includes a weekly tutorial.,,[CHMA11H3 or CHMA12H3] and [ MATA35H3 or MATA36H3 or MATA37H3] and [PHYA10H3 or PHYA11H3],"CHMB23H3, CHM220H1, CHM222H1, CHM225Y1, JCP221H5",Chemical Thermodynamics and Elementary Kinetics,,"Students interested in taking C-level Physical Chemistry courses should take PHYA10H3 instead of PHYA11H3. Some C-level Physical Chemistry courses have PHYA21H3 and MATB41H3 as prerequisites, and PHYA21H3 requires PHYA10H3 as a prerequisite.",2nd year +CHMB21H3,NAT_SCI,,"This course uses quantum mechanics to describe atomic and molecular structure and bonding. The theory of these systems is treated first and their spectroscopy afterwards. The following topics are covered: motivation for quantum mechanics, Schrödinger’s equations, quantum postulates and formalisms, solutions of the time-independent Schrödinger equation for model systems (particle in a box, harmonic oscillator, rigid rotor, hydrogen-like atoms), angular momentum operator, electron spin, many electron atoms, theories of chemical bonding (valence bond theory and molecular orbital theory), quantum mechanics of the internal motion of molecules, spectroscopy of atomic and molecular systems.",MATA23H3,CHMB20H3 or CHMB23H3,"CHM223H1, CHM225Y1",Chemical Structure and Spectroscopy,,Students in the Specialist and Specialist Co-op programs in Medicinal and Biological Chemistry are advised to complete CHMB23H3 rather than CHMB20H3 prior to enrolling in CHMB21H3.,2nd year +CHMB23H3,NAT_SCI,,"This course explores the concepts of chemical potential, phase equilibria, solutions, chemical equilibria (including electrochemical applications), elementary reactions, multi- step and coupled reactions (with biochemical applications), elementary collision theory and transition state theory.",,[CHMA11H3 or CHMA12H3] and [ MATA35H3 or MATA36H3 or MATA37H3] and [PHYA10H3 or PHYA11H3],"CHMB20H3, CHM220H1, CHM222H1, CHM225Y1, JCP221H5",Introduction to Chemical Thermodynamics and Kinetics: Theory and Practice,,"1. Restricted to students in the following programs: Specialist in Biological Chemistry, Specialist in Chemistry, Major in Biochemistry, Major in Chemistry 2. Lectures are shared with CHMB20H3. 3. Students interested in taking C- level Physical Chemistry courses should take PHYA10H3 instead of PHYA11H3. Some C-level Physical Chemistry courses have PHYA21H3 and MATB41H3 as prerequisites, and PHYA21H3 requires PHYA10H3 as a prerequisite.",2nd year +CHMB31H3,NAT_SCI,,"Fundamental periodic trends and descriptive chemistry of the main group elements are covered. The topics include structures, bonding and reactivity; solid state structures and energetics; and selected chemistry of Group 1, 2, and 13-18. The course has an accompanying practical (laboratory) component taking place every second week.",,CHMA10H3 and [CHMA11H3 or CHMA12H3],"CHM238Y, CHM231H",Introduction to Inorganic Chemistry,,,2nd year +CHMB41H3,NAT_SCI,,"This course begins with a review of chemical bonding in organic structures, followed by an in depth look at conformational analysis and stereochemistry. It explores the reactivity of organic molecules, starting with acid-base reactions, simple additions to carbonyl compounds, reactions of alkenes and alkynes, and substitution reactions. The course includes weekly tutorials and a four hour laboratory every other week.",,[CHMA11H3 or CHMA12H3],"CHM136H1, CHM138H1, CHM151Y1, CHM242H5",Organic Chemistry I,,,2nd year +CHMB42H3,NAT_SCI,,"This course builds on the topics seen in Organic Chemistry I. Major reactions include electrophilic and nucleophilic aromatic substitutions, and the chemistry of carbonyl compounds. Spectroscopic methods for structure determination are explored (NMR, MS, IR), along with the chemistry of biologically important molecules such as heterocycles and carbohydrates. This course includes a four- hour laboratory every other week, as well as weekly one-hour tutorials.",,[CHMA11H3 or CHMA12H3] and CHMB41H3,"CHM243H5, CHM247H1, CHM249H1",Organic Chemistry II,,,2nd year +CHMB43Y3,NAT_SCI,,"This course provides a comprehensive introduction to the field of organic chemistry. Major topics include organic acids/bases, stereochemistry, substitution/elimination mechanisms, reactions of alkenes/alkynes, radicals, aromatic compounds, carbonyl compounds, oxidation/reduction, radicals, spectroscopy, heterocycles and carbohydrates. Includes a 4 hour lab and 6 hours of lecture each week.",,"Completion of at least 4.0 credits, including CHMA10H3 and [CHMA11H3 or CHMA12H3]. Minimum cumulative GPA of 2.7. Permission of instructor.","CHMB41H3, CHMB42H3, CHM138H, CHM151Y, CHM247H, CHM249H, CHM242H, CHM245H",Organic Chemistry I and II,,,2nd year +CHMB55H3,NAT_SCI,,"An investigation of aspects of chemical substances and processes as they occur in the environment, including both naturally occurring and synthetic chemicals. This course will include an introduction to atmospheric chemistry, aqueous chemistry, some agricultural and industrial chemistry, and chemical analysis of contaminants and pollutants.",,CHMA10H3 and [CHMA11H3 or CHMA12H3],CHM310H,Environmental Chemistry,,,2nd year +CHMB62H3,NAT_SCI,,"This course is designed as an introduction to the molecular structure of living systems. Topics will include the physical and chemical properties of proteins, enzymes, fatty acids, lipids, carbohydrates, metabolism and biosynthesis. Emphasis will be placed on the relationships between the chemical structure and biological function.",,CHMA10H3 and [CHMA11H3 or CHMA12H3] and CHMB41H3,BIOC12H3 and BIOC13H3 and BCH210H and BCH242Y and BCH311H and CHM361H and CHM362H,Introduction to Biochemistry,,This course cannot be taken by students enrolled in the Specialist Program in Medicinal and Biological Chemistry and Major Program in Biochemistry.,2nd year +CHMC11H3,NAT_SCI,,"An introduction to the workings and application of modern analytical instrumentation. A range of modern instrumentation including NMR spectroscopy, Mass Spectrometry, Microscopy. Light Spectroscopy (visible, Ultra Violet, Infrared, Fluorescence, Phosphorescence), X-ray, Chromatography and electrochemical separations will be addressed. Principles of measurement; detection of photons, electrons and ions; instrument and experiment design and application; noise reduction techniques and signal-to-noise optimization will be covered.",CHMB20H3 and CHMB21H3,CHMB16H3,"CHM317H1, CHM311H5",Principles of Analytical Instrumentation,,,3rd year +CHMC16H3,NAT_SCI,,"A laboratory course to complement CHMC11H3, Principles of Analytical Instrumentation. This course provides a practical introduction and experience in the use of modern analytical instrumentation with a focus on the sampling, sample preparation (extraction, clean-up, concentration, derivatization), instrumental trace analysis and data interpretation of various pharmaceutical, biological and environmental samples. This course includes a four hour laboratory every week.",,CHMC11H3,"CHM317H1, CHM396H5",Analytical Instrumentation,,,3rd year +CHMC20H3,NAT_SCI,,Basic statistical mechanics and applications to thermochemistry and kinetics; intermolecular interactions; concepts in reaction dynamics.,,CHMB23H3 and CHMB21H3 and MATB41H3 and PHYA21H3,"CHM328H1, JCP322H5",Intermediate Physical Chemistry,,,3rd year +CHMC21H3,NAT_SCI,,"Advanced topics in Physical Chemistry with emphasis on biochemical systems. Spectroscopic methods for (bio) molecular structure determination, including IR, NMR, UV/VIS; colloid chemistry; polymers and bio-polymers, bonding structure and statistical mechanics; physical chemistry of membranes, active transport and diffusion; oscillatory (bio)chemical reactions.",,CHMB21H3,,Topics in Biophysical Chemistry,,,3rd year +CHMC31Y3,NAT_SCI,,"A detailed discussion of the structure, bonding, spectroscopy and reactivity of transition metal compounds. After an overview of descriptive chemistry, the focus is on coordination and organometallic chemistry, with an introduction to catalysis and biocoordination chemistry. The laboratory focuses on intermediate and advanced inorganic syntheses, and classical and instrumental characterization methods. This laboratory is six hours in duration and occurs every week.",,CHMB16H3 and [CHMB20H3 or CHMB23H3] and CHMB31H3 and CHMB42H3,CHM338H and CHM331H,Intermediate Inorganic Chemistry,,Priority will be given to students in the Specialist programs in Medicinal and Biological Chemistry and Chemistry.,3rd year +CHMC42H3,NAT_SCI,,"Principles of synthesis organic and functional group transformations; compound stereochemistry, spectroscopy and structure elucidation. This course includes a four hour laboratory every week.",,CHMB41H3 and CHMB42H3,"CHM342H1, CHM343H1, CHM345H5",Organic Synthesis,,,3rd year +CHMC47H3,NAT_SCI,,"The chemistry of heterocycles, nucleic acids, terpenes, steroids and other natural products; amino acids, proteins and carbohydrates; introduction to enzyme structure and catalysis. This course includes a four hour laboratory every week.",,CHMB41H3 and CHMB42H3,"CHM347H1, CHM347H5",Bio-Organic Chemistry,,,3rd year +CHMC71H3,NAT_SCI,,"The course focuses on the important concepts in the design and synthesis of drugs. The course may include the principles of pharmacology, drug metabolism and toxicology. Strategies for generating valuable active compounds and structure/activity relationships involved in selective transformations of available building blocks into diversely functionalized derivatives will be discussed. The course provides an overview of reactions used at different stages of the drug development process, using representative examples from the literature and case studies of drugs where applicable.",BIOC12H3 or CHMB62H3,CHMC47H3,"(CHMD71H3), CHM440H1, CHM444H5",Medicinal Chemistry,,,3rd year +CHMD11H3,NAT_SCI,University-Based Experience,"In this course students will learn about the following analytical techniques used in organic structure determination: mass spectrometry, IR spectroscopy, NMR spectroscopy, and ultraviolet-visible spectroscopy. There will be focus on a systematic approach in structure determination through various spectroscopy. Students will receive hands-on training in spectral interpretation, processing and analysis as well as training on the use of different computer software for the purpose of analysis.",,CHMB16H3 and CHMC11H3,CHM442H5,Application of Spectroscopy in Chemical Structure Determination,,Priority will be given to students enrolled in the Specialist/Specialist Co-op programs in Environmental Chemistry. Additional students will be admitted as space permits.,4th year +CHMD16H3,NAT_SCI,University-Based Experience,"Students will learn about analytical techniques used in environmental chemistry, including: gas and liquid chromatography, mass spectrometry, atomic absorption, and ultraviolet-visible spectroscopy. Environmental sampling and ecotoxicology will also be covered. Students will carry out laboratory analyses and receive hands-on training with analytical instrumentation commonly used in environmental chemistry.",,CHMB55H3 and CHMC11H3,"CHM317H, CHM410H",Environmental and Analytical Chemistry,,Priority will be given to students enrolled in the Specialist/Specialist Co-op in Environmental Chemistry. Additional students will be admitted as space permits.,4th year +CHMD39H3,,,Advanced topics in inorganic chemistry will be covered at a modern research level. The exact topic will be announced in the Winter Session prior to the course being offered.,,"Permission of the instructor. Normally only for individuals who have completed fifteen full credits, including at least two C-level Chemistry courses, and who are pursuing one of the Chemistry Programs.",,Topics in Inorganic Chemistry,,,4th year +CHMD41H3,NAT_SCI,,"This course offers an in-depth understanding of organic chemistry by systematically exploring the factors and principles that govern organic reactions. The first half of the course covers fundamentals including boding theories, kinetics, thermodynamics, transition state theory, isotope effects, and Hammett equations. In the second half, these topics are applied to the study of different types of organic reactions, such as nucleophilic substitutions, polar additions/eliminations, pericyclic reactions and radical reactions.",,CHMB41H3 and CHMB42H3,"(CHMC41H3), CHM341H5, CHM348H1, CHM443H1",Physical Organic Chemistry,,,4th year +CHMD47H3,,,"This course will teach biochemical reactions in the context of Organic Chemistry. This course will build on topics from CHMC47H3. Application of enzymes in organic synthesis, chemical synthesis of complex carbohydrates and proteins, enzyme catalyzed proton transfer reactions and co-enzymes will be discussed in depth with recent literature examples. Experiential learning is an integral part of this course. Students will explore the applications of Bio-Organic Chemistry in healthcare and industrial settings as part of an experiential learning project",CHMB20H3,BIOC12H3 and BIOC13H3 and CHMC47H3,CHM447H,Advanced Bio-Organic Chemistry,,,4th year +CHMD59H3,,,"This course introduces quantitative approaches to describe the behaviour of organic chemicals in the environment. Building upon a quantitative treatment of equilibrium partitioning and kinetically controlled transfer processes of organic compounds between gaseous, liquid and solid phases of environmental significance, students will learn how to build, use and evaluate simulation models of organic chemical fate in the environment. The course will provide hands-on experience with a variety of such models.",,"Permission of the instructor. Normally recommended for individuals who have completed 15.0 credits, including at least 1.0 credit at the C-level in CHM courses, and who are enrolled in one of the Chemistry programs.","JNC2503H, CHE460H1",Modelling the Fate of Organic Chemicals in the Environment,,,4th year +CHMD69H3,NAT_SCI,,"This course will explore the role of the chemical elements other than “the big six” (C, H, O, N, P, S) in living systems, with a focus on metal cations. The topic includes geochemistry and early life, regulation and uptake of metallic elements, structure-function relationships in metalloproteins.",CHMC31Y3,[[ BIOC12H3 and BIOC13H3] or CHMB62H3] and CHMB31H3,"CHM333H, CHM437H",Bioinorganic Chemistry,,,4th year +CHMD79H3,,,Advanced topics in biological chemistry will be covered at a modern research level. The exact topic will be announced in the Winter Session prior to the course being offered.,,"Permission of the instructor. Normally recommended for individuals who have completed fifteen full credits, including at least two C-level Chemistry courses, and who are pursuing one of the Chemistry Programs.",,Topics in Biological Chemistry,,,4th year +CHMD89H3,NAT_SCI,,The 'twelve principles' of green chemistry will be discussed in the context of developing new processes and reactions (or modifying old ones) to benefit society while minimizing their environmental impact. Examples will be taken from the recent literature as well as from industrial case studies.,CHMB31H3,[CHMC42H3 or CHMC47H3],,Introduction to Green Chemistry,,,4th year +CHMD90Y3,,University-Based Experience,You can find the names and contact information for the current course coordinators by visiting the Chemistry website. This course involves participation in an original research project under the direction of a faculty supervisor. Approximately 260 hours of work are expected in CHMD90Y3. The topic will be selected in conference with the course coordinator who will provide project descriptions from potential faculty supervisors. Progress will be monitored during periodic consultations with the faculty supervisor as well as the submission of written reports. The final results of the project will be presented in a written thesis as well as an oral and/or poster presentation at the end of the term. Please see the note below on registration in CHMD90Y3.,,Permission of the course coordinator.,"CHMD91H3, CHMD92H3",Directed Research,,"Students must apply to the course coordinator for admission into this course. Applications must be received by the end of August for enrolment in the fall/spring semester; for enrolment in the summer semester, applications must be received by the end of April. Applications will consist of: 1) A letter of intent indicating the student's wish to enrol in CHMD90Y3; 2) A list of relevant courses successfully completed as well as any relevant courses to be taken during the current session; 3) Submission of the preferred project form indicating the top four projects of interest to the student. This form is available from the course coordinator, along with the project descriptions. Generally, only students meeting the requirements below will be admitted to CHMD90Y3: 1) A Cumulative Grade Point Average of 2.5. Students who do not meet this requirement should consider enrolling in CHMD92H3 instead; 2) Completion of at least 15.0 credits; 3) Completion of at least 1.0 credits of C-level chemistry or biochemistry courses containing a lab component (i.e. CHMC16H3, CHMC31Y3, CHMC42H3, CHMC47H3, BIOC23H3). Once the course coordinator (or designate)* has approved enrolment to CHMD90Y3, they will sign the course enrolment form for submission to the registrar. *Note that the course coordinator (or designate) is the only one permitted to give ""permission of instructor"" on this form.",4th year +CHMD91H3,,University-Based Experience,You can find the names and contact information for the current course coordinators by visiting the Chemistry website. This course involves participation in an original research project under the direction of a faculty supervisor. Approximately 130 hours of work are expected in CHMD91H3. The topic will be selected in conference with the course coordinator who will provide project descriptions from potential faculty supervisors. Progress will be monitored during periodic consultations with the faculty supervisor as well as the submission of written reports. The final results of the project will be presented in a written thesis as well as an oral and/or poster presentation at the end of the term. Please see the note below on registration in CHMD91H3.,,Permission of the course coordinator.,"CHMD90Y3, CHMD92H3",Directed Research,,"Students must apply to the course coordinator for admission into this course. Applications must be received by the end of August for enrolment in the fall/spring semester; for enrolment in the summer semester, applications must be received by the end of April. Applications will consist of: 1) A letter of intent indicating the student's wish to enroll in either CHMD90Y3 or CHMD91H3; 2) A list of relevant courses successfully completed as well as any relevant courses to be taken during the current session; 3) Submission of the preferred project form indicating the top four projects of interest to the student. This form is available from the course coordinator, along with the project descriptions. Generally, only students meeting the following requirements will be admitted to CHMD91H3: 1) A Cumulative Grade Point Average of 2.5. Students who do not meet this requirement should consider enrolling in CHMD92H3 instead; 2) Completion of at least 15.0 credits; 3) Completion of at least 1.0 credits of C-level chemistry or biochemistry courses containing a lab component (i.e. CHMC16H3, CHMC31Y3, CHMC42H3, CHMC47H3, BIOC23H3). Once the course coordinator (or designate)* has approved enrolment to CHMD91H3, s/he will sign the course enrolment form for submission to the registrar. *Note that the course coordinator (or designate) is the only one permitted to give ""permission of instructor"" on this form.",4th year +CHMD92H3,NAT_SCI,University-Based Experience,"A lab course designed to introduce students to modern synthetic methods while performing multi-step syntheses. The course will consist of two, six hour lab days every week. Students will develop advanced practical synthetic and analytic skills by working with important reactions taken from different chemistry disciplines.",,CHMC42H3 or CHMC31Y3,CHMD90Y3 and CHMD91H3,Advanced Chemistry Laboratory Course,,,4th year +CITA01H3,SOCIAL_SCI,,"A review of the major characteristics and interpretations of cities, urban processes and urban change as a foundation for the Program in City Studies. Ideas from disciplines including Anthropology, Economics, Geography, Planning, Political Science and Sociology, are examined as ways of understanding cities.",,,CITB02H3,Foundations of City Studies,,,1st year +CITA02H3,SOCIAL_SCI,,"An introduction to the philosophical foundations of research, major paradigms, and methodological approaches relevant to Programs in City Studies. This course is designed to increase awareness and understanding of academic work and culture, enhance general and discipline-specific academic literacy, and create practical opportunities for skills development to equip students for academic success in City Studies.",,,,Studying Cities,,,1st year +CITB01H3,SOCIAL_SCI,,"After critically examining the history of urban planning in Canada, this course explores contemporary planning challenges and engages with planning’s ‘progressive potential’ to address social justice issues and spatialized inequality through an examination of possible planning solutions.",,[CITA01H3 and CITA02H3] or [CITA01H3 and CITA02H3 as co-requisites with permission],(GGRB06H3),Canadian Cities and Planning,,,2nd year +CITB03H3,SOCIAL_SCI,,"This course provides an overview of the history, theory, and politics of community development and social planning as an important dimension of contemporary urban development and change.",,[CITA01H3 and CITA02H3] or [CITA01H3 and CITA02H3 as co-requisites with permission],,Social Planning and Community Development,,,2nd year +CITB04H3,SOCIAL_SCI,,"This course is the foundations course for the city governance concentration in the City Studies program, and provides an introduction to the study of urban politics with particular emphasis on different theoretical and methodological approaches to understanding urban decision-making, power, and conflict.",,[CITA01H3 and CITA02H3] or [CITA01H3 and CITA02H3 as co-requisites with permission],,City Politics,,,2nd year +CITB05H3,SOCIAL_SCI,,This course introduces quantitative and qualitative methods in city studies. Students will engage in observation and interviews; descriptive data analysis and visualization; surveys and sampling; and document analysis.,,CITA01H3 and CITA02H3,,Researching the City: An Introduction to Methods,,"Priority will be given to students enrolled in Specialist, Major, Major (Co-op) and Minor Programs in City Studies.",2nd year +CITB07H3,SOCIAL_SCI,,"This introductory course will encourage students to exercise their relational and comparative imagination to understand how the urban issues and challenges they experience in Scarborough and Toronto are interconnected with people, ideas and resources in other parts of the world. Students will examine the complexities of urbanization processes across different regions in the world, including themes such as globalization, urban governance, sustainability, climate change, equity and inclusion. Through interactive lectures, collaborative work and reflective assignments, students will learn to apply comparative and place-based interventions for fostering inclusive, equitable, and sustainable urban futures.",,CITA01H3 and CITA02H3,,Introduction to Global Urbanisms,,,2nd year +CITB08H3,SOCIAL_SCI,,"An introduction to economic analysis of cities, topics include: theories of urban economic growth; the economics of land use, urban structure, and zoning; the economics of environments, transportation, and sustainability; public finance, cost-benefit analysis, the provision of municipal goods and services, and the new institutional economics.",,[CITA01H3 and CITA02H3] or [CITA01H3 and CITA02H3 as co-requisites with permission],,Economy of Cities,,,2nd year +CITC01H3,SOCIAL_SCI,Partnership-Based Experience,"This course engages students in a case study of some of the issues facing urban communities and neighbourhoods today. Students will develop both community-based and academic research skills by conducting research projects in co- operation with local residents and businesses, non-profit organizations, and government actors and agencies.",CITC08H3,"8.0 credits, including at least 1.5 credits at the B-level from City Studies, Geography, Political Science or Sociology.",,Urban Communities and Neighbourhoods Case Study: East Scarborough,,Priority enrolment is given students registered in the City Studies programs. Students from other programs may request admission through the Program Advisor at cit- advisor@utsc.utoronto.ca,3rd year +CITC02H3,,Partnership-Based Experience,"With a focus on building knowledge and skills in community development, civic engagement, and community action, students will ‘learn by doing’ through weekly community- based placements with community organizations in East Scarborough and participatory discussion and written reflections during class time. The course will explore topics such as community-engaged learning, social justice, equity and inclusion in communities, praxis epistemology, community development theory and practice, and community- based planning and organizing. Students will be expected to dedicate 3-4 hours per week to their placement time in addition to the weekly class time. Community-based placements will be organized and allocated by the course instructor.",CITC01H3 and CITC08H3,At least 1.5 credits at the B-level in CIT courses,,Placements in Community Development,,"Priority enrolment is given students registered in the City Studies programs, students from other programs may request admission through the Program Advisor at cit- advisor@utsc.utoronto.ca",3rd year +CITC03H3,SOCIAL_SCI,,"This course examines how planning and housing policies help shape the housing affordability landscape in North American cities. The course will introduce students to housing concepts, housing issues, and the role planning has played in (re)producing racialized geographies and housing inequality (e.g., historical and contemporary forms of racial and exclusionary zoning). We will also explore planning’s potential to address housing affordability issues.",,"8.0 credits including at least 1.5 credits at the B-level from Anthropology, City Studies, Health Studies, Human Geography, Political Science, or Sociology",,Housing Policy and Planning,,"Priority will be given to students enrolled in Specialist, Major and Minor Programs in City Studies and Human Geography; and Minor in Urban Public Policy and Governance. Additional students will be admitted as space permits.",3rd year +CITC04H3,SOCIAL_SCI,,"Constitutional authority, municipal corporations, official plans, zoning bylaws, land subdivision and consents, development control, deed restrictions and common interest developments, Ontario Municipal Board.",,"8.0 credits including at least 1.5 credits at the B-level from City Studies, Human Geography, Political Science, or Sociology.",,Current Municipal and Planning Policy and Practice in Toronto,,,3rd year +CITC07H3,SOCIAL_SCI,,"In recent years social policy has been rediscovered as a key component of urban governance. This course examines the last half-century of evolving approaches to social policy and urban inequality, with particular emphasis on the Canadian urban experience. Major issues examined are poverty, social exclusion, labour market changes, housing, immigration and settlement.",,"8.0 credits including at least 1.5 credits at the B-level from City Studies, Human Geography, Political Science, or Sociology",CITC10H3 if taken in the 2011 Winter session,Urban Social Policy,,,3rd year +CITC08H3,SOCIAL_SCI,Partnership-Based Experience,An examination of community development as the practice of citizens and community organizations to empower individuals and groups to improve the social and economic wellbeing of their communities and neighbourhoods. The course will consider different approaches to community development and critically discuss their potential for positive urban social change.,,"8.0 credits including at least 1.5 credits at the B-level from City Studies, Human Geography, Political Science, or Sociology.",,Cities and Community Development,,Priority enrolment is given students registered in the City Studies programs. Students from other programs may request admission through the Program Advisor at cit- advisor@utsc.utoronto.ca,3rd year +CITC09H3,SOCIAL_SCI,,"An introduction to the study of the history of urban planning with particular emphasis on the investigation of the planning ideas, and the plans, that have shaped Toronto and its surrounding region through the twentieth century. The course will consider international developments in planning thought together with their application to Toronto and region.",,"8.0 credits including at least 1.5 credits at the B-level from City Studies, Human Geography, Political Science, or Sociology",,Introduction to Planning History: Toronto and Its Region,,,3rd year +CITC10H3,SOCIAL_SCI,,Examination of one or more current issues in cities. The specific issues will vary depending on the instructor.,,"8.0 credits including at least 1.5 credits at the B-level from City Studies, Human Geography, Political Science, or Sociology",,Selected Issues in City Studies,,,3rd year +CITC12H3,SOCIAL_SCI,Partnership-Based Experience,"Decisions: Field Research in Urban Policy Making Local governments are constantly making policy decisions that shape the lives of residents and the futures of cities. This course focuses on how these decisions get made, who has power to make them, and their impact on urban citizens. We will address how challenges in cities are understood by city council, staff, and the public, and how certain “policy solutions” win out over others. In the process, we will draw from both classical and contemporary theories of local government as well as the latest research on urban policy making. We will also be learning field research methods to study policy making as it happens on the ground in cites.",,"8.0 credits and at least 1.5 other credits at the B-level from City Studies, Human Geography, Economics for Management Studies, Management, Political Science, or Sociology; including CITB04H3.",,"City Structures, Problems, and",,,3rd year +CITC14H3,SOCIAL_SCI,,"This course introduces students to questions of urban ecology and environmental planning, and examines how sustainability and environmental concerns can be integrated into urban planning processes and practices.",,"8.0 credits, including at least 1.5 credits at the B-level from City Studies, Human Geography, Environmental Studies, Political Science, or Sociology",,Environmental Planning,,,3rd year +CITC15H3,SOCIAL_SCI,,"This course examines the role of municipal finance in shaping all aspects of urban life. Putting Canada into a comparative perspective, we look at how local governments provide for their citizens within a modern market economy and across different societies and time periods. The course also explores the relationship between municipal finance and various social problems, including movements for racial justice and the ongoing housing crisis.",,"8.0 credits, including at least 1.5 credits at the B-level from City Studies, Human Geography, Economics for Management Studies, Management, Political Science, or Sociology",,Money Matters: How Municipal Finance Shapes the City,,,3rd year +CITC16H3,SOCIAL_SCI,,"Most of the world's population now lives in large urban regions. How such metropolitan areas should be planned and governed has been debated for over a century. Using examples, this course surveys and critically evaluates leading historical and contemporary perspectives on metropolitan planning and governance, and highlights the institutional and political challenges to regional coordination and policy development.",,"8.0 credits, including at least 1.0 credits at the B-level from City Studies, Human Geography, Management, Political Science, or Sociology",,Planning and Governing the Metropolis,,,3rd year +CITC17H3,SOCIAL_SCI,,"This course examines the engagement of citizen groups, neighbourhood associations, urban social movements, and other non-state actors in urban politics, planning, and governance. The course will discuss the contested and selective insertion of certain groups into city-regional decision-making processes and structures.",,"8.0 credits, including at least 1.5 credits at the B-level from City Studies, Human Geography, Political Science, or Sociology",,Civic Engagement in Urban Politics,,,3rd year +CITC18H3,SOCIAL_SCI,,"Demand forecasting; methodology of policy analysis; impacts on land values, urban form and commuting; congestion; transit management; regulation and deregulation; environmental impacts and safety.",,"[STAB22H3 or equivalent] and [8.0 credits, including at least 1.5 credits at the B-level from City Studies, Human Geography, Economics for Management Studies, Management, or Political Science]",GGR324H and (GGRC18H3),Urban Transportation Policy Analysis,,,3rd year +CITC54H3,SOCIAL_SCI,Partnership-Based Experience,"A central focus of city studies is the attempt to understand the diversity of cities and urbanization processes globally. This course provides an opportunity to engage in field research work on a common research topic in a city outside Toronto. Students will prepare case study questions; engage in data collection including interviews, archives, and observation; networking; and case analysis in a final report.",CITB07H3,CITB05H3,GGRC54H3,City Studies Field Trip Course,,,3rd year +CITD01H3,SOCIAL_SCI,University-Based Experience,"This course is designed as a culminating City Studies course in which participants are able to showcase the application of their research skills, and share their professional and disciplinary interests in a common case study. Lectures and guests will introduce conceptual frameworks, core questions and conflicts. Students will be expected to actively participate in discussions and debates, and produce shared research resources. Each student will prepare a substantial research paper as a final project.",,15.0 credits and completion of the following requirements from either the Major or Major Co-operative programs in City Studies: (2) Core Courses and (3) Methods,,City Issues and Strategies,,,4th year +CITD05H3,SOCIAL_SCI,University-Based Experience,"City Studies Workshop I provides training in a range of career-oriented research, consulting, and professional skills. Through a series of 4-week modules, students will develop professional practice oriented skills, such as conducting public consultations, participating in design charrettes, making public presentations, writing policy briefing notes, conducting stakeholder interviews, working with community partner organizations, organizing and running public debates, and participant observation of council meetings and policy processes at Toronto City Hall.",,"15.0 credits, including completion of the following requirements of the Specialist and Major/Major Co- op programs in City Studies: (2) Core Courses and (3) Methods",(CITC05H3),City Studies Workshop I,,This course is designed for students in Years 3 and 4 of their programs. Priority will be given to students enrolled in the Specialist and Major/Major Co-op programs in City Studies.,4th year +CITD06H3,SOCIAL_SCI,University-Based Experience,"City Studies Workshop II provides training in a range of career-oriented research, consulting, and professional skills. Through a series of 4-week modules, students will develop professional practice oriented skills, such as conducting public consultations, participating in design charrettes, making public presentations, writing policy briefing notes, conducting stakeholder interviews, working with community partner organizations, organizing and running public debates, and participant observation of council meetings and policy processes at Toronto City Hall.",,"15.0 credits, including completion of the following requirements of the Specialist and Major/Major Co- op programs in City Studies: (2) Core Courses and (3) Methods",(CITC06H3),City Studies Workshop II,,This course is designed for students in Years 3 and 4 of their program of study. Priority will be given to students enrolled in the Specialist and Major/Major Co-op programs in City Studies.,4th year +CITD10H3,SOCIAL_SCI,,"Designed primarily for final-year City Studies Majors, this research seminar is devoted to the analysis and discussion of current debates and affairs in City Studies using a variety of theoretical and methodological approaches. Specific content will vary from year to year. Seminar format with active student participation.",,"15.0 credits, including completion of the following requirements of the Major/Major Co-op programs in City Studies: (2) Core Courses and (3) Methods",,Seminar in Selected Issues in City Studies,,Priority will be given to students enrolled in the Major/Major Co-op programs in City Studies. Additional students will be admitted as space permits.,4th year +CITD12H3,SOCIAL_SCI,Partnership-Based Experience,"This course is designed to develop career-related skills such as policy-oriented research analysis, report writing, and presentation and networking skills through experiential learning approaches. The policy focus each year will be on a major current Toronto planning policy issue, from ‘Complete Streets’ to improvements to parks and public space infrastructure, to public transit-related investments. Students work closely in the course with planners and policymakers from the City of Toronto, policy advocates, and community organizers.",,"15.0 credits, including completion of the following requirements of the Major/Major Co-op programs in City Studies: (2) Core Courses and (3) Methods",CITD10H3 (if taken in the 2018 Fall Session and 2020 Winter session),Planning and Building Public Spaces in Toronto,,,4th year +CITD30H3,SOCIAL_SCI,,An independent studies course open only to students in the Major and Major Co-op programs in City Studies. An independent studies project will be carried out under the supervision of an individual faculty member.,,"15.0 credits, including completion of the following requirements of the Major/Major Co-op programs in City Studies: (2) Core Courses, (3) Methods, and a cumulative GPA of at least 2.5",,Supervised Research Project,,,4th year +CLAA04H3,HIS_PHIL_CUL,,"An introduction to the main features of the ancient civilizations of the Mediterranean world from the development of agriculture to the spread of Islam. Long term socio- economic and cultural continuities and ruptures will be underlined, while a certain attention will be dedicated to evidences and disciplinary issues. Same as HISA07H3",,,HISA07H3,The Ancient Mediterranean World,,,1st year +CLAA05H3,HIS_PHIL_CUL,,A study of Mesopotamian and Egyptian mythologies. Special attention will be dedicated to the sources through which these representational patterns are documented and to their influence on Mediterranean civilizations and arts.,,,CLAA05H3 may not be taken after or concurrently with NMC380Y,Ancient Mythology I: Mesopotamia and Egypt,,,1st year +CLAA06H3,HIS_PHIL_CUL,,A study of Greek and Roman mythologies. Special attention will be dedicated to the sources through which these representational patterns are documented and to their influence on Mediterranean civilizations and arts.,CLAA05H3,,"CLA204H, (CLAA02H3), (CLAA03H3)",Ancient Mythology II: Greece and Rome,,,1st year +CLAB05H3,HIS_PHIL_CUL,,"A survey of the history and culture of the Greek world from the Minoan period to the Roman conquest of Egypt (ca 1500- 30 BC). Special attention will be dedicated to the nature, variety and limits of the available evidences, to socio-cultural interactions as well as to historical processes of continuities and ruptures. Same as HISB10H3",,,"CLA230H, HISB10H3",History and Culture of the Greek World,,,2nd year +CLAB06H3,HIS_PHIL_CUL,,"A survey of the history and culture of the ancient Roman world, from the Etruscan period to the Justinian dynasty (ca 800 BC-600 AD). Special attention will be dedicated to the nature, variety and limits of the available evidences, to socio- cultural interactions as well as to historical processes of continuities and ruptures. Same as HISB11H3",CLAB05H3,,"CLA231H, HISB11H3",History and Culture of the Roman World,,,2nd year +CLAB09H3,HIS_PHIL_CUL,,"A course to introduce students of history and classical studies to the world of late antiquity, the period that bridged classical antiquity and the Middle Ages. This course studies the period for its own merit as a time when the political structures of the Medieval period were laid down and the major religions of the Mediterranean (Judaism, Christianity, Islam, Zoroastrianism) took their recognizable forms. Same as HISB09H3",CLAA04H3/HISA07H3 The Ancient Mediterranean,,HISB09H3,Between Two Empires: The World of Late Antiquity,,,2nd year +CLAB20H3,HIS_PHIL_CUL,,"The representation of the classical world and historical events in film. How the Greek and Roman world is reconstructed by filmmakers, their use of spectacle, costume and furnishings, and the influence of archaeology on their portrayals. Films will be studied critically for historical accuracy and faithfulness to classical sources. Same as HISB12H3",CLAA05H3 or CLAA06H3 or (CLAA02H3) or (CLAA03H3),,"HISB12H3, CLA388H",The Ancient World in Film,,,2nd year +CLAC01H3,ART_LIT_LANG,,"A detailed study of an author or a genre in Classical Literature in Translation. Topics will vary from session to session and will alternate between Greek and Roman Epic, Greek and Roman Tragedy and Greek and Roman Comedy.",,One full credit in Classics or in English or another literature,CLA300H,Selected Topics in Classical Literature,,,3rd year +CLAC02H3,HIS_PHIL_CUL,,"A detailed study of a theme in Classical Civilization. Topics will vary from session to session and may be drawn from such areas as the archaeological history of the Roman world, Greek and Roman religion, ancient education or Roman law.",,One full credit in Classics or History,,Selected Topics in Classical Civilization,,,3rd year +CLAC05H3,HIS_PHIL_CUL,,"This course focuses on the History of ancient Egypt, with a focus on the Hellenistic to early Arab periods (4th c. BCE to 7th c. CE). Lectures will emphasize the key role played by Egypt’s diverse environments in the shaping of its socio- cultural and economic features as well as in the policies adopted by ruling authorities. Elements of continuity and change will be emphasized and a variety of primary sources and sites will be discussed. Special attention will also be dedicated to the role played by imperialism, Orientalism, and modern identity politics in the emergence and trajectory of the fields of Graeco-Roman Egyptian history, archaeology, and papyrology. Same as (IEEC52H3), HISC10H3.",,"2.0 credits in CLA or HIS courses, including 1.0 credit from the following: CLAA04H3/HISA07H3 or CLAB05H3/HISB10H3 or CLAB06H3/HISB11H3","HISC10H3,(IEEC52H3)",Beyond Cleopatra: Decolonial Approaches to Ancient Egypt,,,3rd year +CLAC11H3,ART_LIT_LANG,,"An examination of the main genres, authors and works of ancient Greek and Latin poetry, with particular emphasis on epic, drama and lyrics. Attention will be dedicated to the study of how these works reflect the socio-cultural features of Classical Antiquity and influenced later literatures. Texts will be studied in translation.",CLAA06H3,One full credit in Classics or English,,Classical Literature I: Poetry,,,3rd year +CLAC12H3,ART_LIT_LANG,,"An examination of the main genres, authors and works of ancient Greek and Latin prose. History, rhetoric, biography, letters and the novel will be studied. Attention will be dedicated to the study of how these works reflect the socio- cultural features of Classical Antiquity and influenced later literatures. Texts will be studied in translation.",CLAA06H3 and CLAC11H3,One full credit in Classics or English,,Classical Literature II: Prose,,,3rd year +CLAC22H3,HIS_PHIL_CUL,,"A comparative study of the Mesopotamian, Egyptian, Phoenician and Punic, Celtic, Palmyrene, Persian, Greco- Roman and Judeo-Christian religious beliefs and practices. Special attention will be dedicated to how they document the societies and cultures in which they flourished.",CLAA05H3 and CLAA06H3,One full credit in Classics or Religion,"CLA366H, NMC380Y",Religions of the Ancient Mediterranean,,,3rd year +CLAC24H3,HIS_PHIL_CUL,,A critical examination of multiculturalism and cultural identities in the Greek and Roman worlds. Special attention will be dedicated to the evidences through which these issues are documented and to their fundamental influence on the formation and evolution of ancient Mediterranean and West Asian societies and cultures. Same as HISC11H3,CLAB05H3 and CLAB06H3,1.0 credit in CLA or HIS courses.,HISC11H3,Race and Ethnicity in the Ancient Mediterranean and West Asian Worlds,,,3rd year +CLAC26H3,HIS_PHIL_CUL,,"This course will explore the representations and realities of Indigeneity in the ancient Mediterranean world, as well as the entanglements between modern settler-colonialism, historiography, and reception of the 'Classical' past. Throughout the term, we will be drawn to (un)learn, think, write, and talk about a series of topics, each of which pertains in different ways to a set of overarching questions: What can Classicists learn from ancient and modern indigenous ways of knowing? What does it mean to be a Classicist in Tkaronto, on the land many Indigenous Peoples call Turtle Island? What does it mean to be a Classicist in Toronto, Ontario, Canada? What does it mean to be a Classicist in a settler colony? How did the Classics inform settler colonialism? How does modern settler colonialism inform our reconstruction of ancient indigeneities? How does our relationship to the land we come from and are currently on play a role in the way we think about the ancient Mediterranean world? Why is that so? How did societies of the ancient Mediterranean conceive of indigeneity? How did those relationships manifest themselves at a local, communal, and State levels? Same as HISC16H3",,"Any 4.0 credits, including 1.0 credit in CLA or HIS courses",HISC16H3,Indigeneity and the Classics,,,3rd year +CLAC67H3,HIS_PHIL_CUL,,"the Construction of a Historical Tradition This course examines the history and historiography of the formative period of Islam and the life and legacy of Muḥammad, Islam’s founder. Central themes explored include the Late Antique context of the Middle East, pre- Islamic Arabia and its religions, the Qur’ān and its textual history, the construction of biographical accounts of Muḥammad, debates about the historicity of reports from Muḥammad, and the evolving identity and historical conception of the early Muslim community. Same as HISC67H3",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",HISC67H3,Early Islam: Perspectives on,,,3rd year +CLAC68H3,HIS_PHIL_CUL,,"This course reflects on the concept of Orientalism and how it informs the fields of Classical Studies and Anthropology. Topics to be discussed include the Orientalization of the past and the origin, role, and significance of ancient representations of the ""Other"" in contemporary discourses. Same as ANTC58H3 and HISC68H3",,"1.0 credit from the following: [CLAA04H3/HISA07H3, CLAB05H4/HISB10H3, CLAB06H3/HISB11H3, ANTA02H3, ANTB19H3, ANTB20H3, HISB02H3, AFSB50H3/HISB50H3, AFSB51H3/HISB51H3, HISB53H3, HISB57H3, HISB58H3, HISB60H3, HISB61H3, HISB62H3, HISB93H3, HISB94H3]","ANTC58H3, HISC68H3",Constructing the Other: Orientalism through Time and Place,,,3rd year +CLAC94H3,HIS_PHIL_CUL,,"The Qur'an retells many narratives of the Hebrew Bible and the New Testament. This course compares the Qur'anic renditions with those of the earlier scriptures, focusing on the unique features of the Qur'anic versions. It will also introduce the students to the history of ancient and late antique textual production, transmission of texts and religious contact. The course will also delve into the historical context in which these texts were produced and commented upon in later generations. Same as HISC94H3",,"Any 4.0 credits, including [[1.0 credit in Classical Studies or History] or [WSTC13H3]]",HISC94H3,The Bible and the Qur’an,,,3rd year +CLAD05H3,HIS_PHIL_CUL,,This seminar type course addresses issues related to the relationships between ancient Mediterranean and West Asian societies and their hydric environments from 5000 BC to 600 AD. Same as HISD10H3,CLAB05H3 and CLAB06H3,Any 11.0 credits including 2.0 credits in CLA or HIS courses.,HISD10H3,Dripping Histories: Water in the Ancient Mediterranean and West Asian Worlds,,,4th year +CLAD69H3,ART_LIT_LANG,,"This course is an introduction to mystical/ascetic beliefs and practices in late antiquity and early Islam. Often taken as an offshoot of or alternative to “orthodox” representations of Christianity and Islam, mysticism provides a unique look into the ways in which these religions were experienced by its adherents on a more popular, often non-scholarly, “unorthodox” basis throughout centuries. In this class we will examine mysticism in late antiquity and early Islam through the literature, arts, music, and dance that it inspired. The first half of the term will be devoted to the historical study of mysticism, its origins, its most well-known early practitioners, and the phases of its institutionalization in early Christianity and early Islam; the second part will look into the beliefs and practices of mystics, the literature they produced, the popular expressions of religion they generated, and their effects in the modern world. This study of mysticism will also provide a window for contemporary students of religion to examine the devotional practices of unprivileged members of the late antiquity religious communities, women and slaves in particular. Same as HISD69H3.","CLAB06H3/HISB11H3, CLAB09H3/HISB09H3","Any 8.0 credits, including: [0.5 credit at the A- or B-level in CLA or HIS courses] and [0.5 credit at the C- level in CLA or HIS courses]",HISD69H3,Sufis and Desert Fathers: Mysticism in Late Antiquity and Early Islam,,,4th year +COPB10Y3,,Partnership-Based Experience,"This preparatory course helps students navigate the challenges ahead in the world of Co-op and business. This course is highly interactive and practical, and is completed before students start seeking their Co-op work term opportunity. Management experienced Coordinators and expert guests instruct students on how to succeed in their work terms. This course is a compulsory requirement for all Management Co-op programs. Students must pass this course before proceeding to seek for a work term opportunity, therefore, this course may be repeated.",,Restricted to students in the Management Co- op programs.,[COPB11H3 and COPB12H3]; [COPB13H3 and COPB14H3]; (COPD07Y3); (COPD08Y3),Advancing Your Career Exploration,,"1. If you are enrolled in this course, you would not be required to complete: [COPB11H3 and COPB12H3] or [COPB13H3 and COPB14H3]. 2. UTSC internal applicants are accepted into the Management Co-op in early May.",2nd year +COPB11H3,,Partnership-Based Experience,"This preparatory course helps students navigate the challenges ahead in the world of Co-op and business. This course is highly interactive and practical, and is completed before students start seeking their Co-op work term opportunity. Management experienced Coordinators, and expert guests instruct students on how to succeed in their work terms. This course is a compulsory requirement for all Management Co-op programs. Students must pass this course before proceeding to seek for a work term opportunity, therefore, this course may be repeated.",,Restricted to students in the Management Co- op programs.,COPB10Y3/(COPD07Y3); (COPD08Y3),Advancing Your Career Exploration Part I,,Students in their first year Management Co-op Programs will be core-loaded into this course.,2nd year +COPB12H3,,Partnership-Based Experience,"This preparatory course helps students navigate the challenges ahead in the world of Co-op and business. This course is highly interactive and practical, and is completed before students start seeking their Co-op work term opportunity. Management experienced Coordinators and expert guests continue to instruct students on how to succeed in their work terms. This course is a compulsory requirement for all Management Co-op programs. Students must pass this course before proceeding to seek a work term opportunity, therefore, this course may be repeated.",,Restricted to students in the Management Co- op programs.,COPB10Y3/(COPD07Y3); (COPD08Y3),Advancing Your Career Exploration Part II,,Students in their first year Management Co-op Programs will be core-loaded into this course.,2nd year +COPB13H3,,Partnership-Based Experience,"This preparatory course helps Management International Business (MIB) students navigate the challenges ahead in the world of Co-op and business. This course is highly interactive, and practical, and is completed before students start seeking for their Co-op work term opportunity. Management experienced Coordinators and expert guests instruct students on how to succeed in their work terms. This course is a compulsory requirement for the Management MIB Co-op program. Students need to pass this course before proceeding to seek a Co-op work term opportunity, therefore, this course may be repeated.",,Restricted to students in the Management International Business Co-op program.,COPB10Y3/(COPD07Y3); (COPD08Y3),Advancing Your Career Exploration Management International Business Part I,,Students in their first year Management International Business Co-op program will be core-loaded into this course.,2nd year +COPB14H3,,Partnership-Based Experience,"This preparatory course helps Management International Business (MIB) students navigate the challenges ahead in the world of Co-op and business. This course is highly interactive and practical, and is completed before students start seeking their Co-op work term opportunity. Management experienced Coordinators and expert guests continue to instruct students on how to succeed in their work terms. This course is a compulsory requirement for the Management MIB Co-op program. Students need to pass this course before proceeding to seek a Co-op work term opportunity, therefore, this course may be repeated.",,Restricted to students in the Management International Business Co-op program.,COPB10Y3/(COPD07Y3); (COPD08Y3),Advancing Your Career Exploration Management International Business Part II,,Students in their first year Management International Business Co-op program will be core-loaded into this course.,2nd year +COPB30H3,SOCIAL_SCI,University-Based Experience,"This course is designed to prepare students in the International Development Studies Co-op programs with the skills, tools and experience to have a successful placement search. This course is an opportunity for students to explore the stages and dynamics of job searching, investigate various career options based on their skill set and interests, develop a placement search plan and create placement search documents. In addition, through workshops and events, students will have an opportunity to interact with IDS placement partners, senior students, and faculty, and gain insight into trends in the field of international development.",,,(COPD02H3),Passport to Placement I,,Restricted to students enrolled in the Specialist (Co-op) Programs in International Development Studies. Students should plan to complete this course in the first year of study in their selected IDS Co-op program.,2nd year +COPB31H3,SOCIAL_SCI,University-Based Experience,"In this course, students build upon skills and knowledge gained in COPB30H3. This course focuses on the job search and goal setting, culminating in students creating an Action Plan that focuses on developing and polishing their job search and application process skills in preparation for the Co-op application process in COPB33H3. By the end of this course, students should feel confident in their ability to network, write a job application, and communicate professionally.",,COPB30H3/(COPD02H3),(COPD04H3); COPB30H3 (if taken in Fall 2020 or earlier),Passport to Placement II,,Restricted to students enrolled in the Specialist (Co-op) Programs in International Development Studies. IDS Co-op students must successfully complete this course prior to COPB33H3.,2nd year +COPB33H3,,University-Based Experience,"This course is designed to prepare students in the International Development Studies Co-op programs with the skills, tools and preparation to be successful during the placement year. Building on the skills developed in the first two years of the program, students will explore placement opportunities based on their skill set and interests. The course will include presentations from International Development Studies placement partners, group exercises, and individual assignments designed to prepare students for the placement experience. Pre-departure orientation activities will include intercultural learning, health and safety issues, placement research, and other key topics. A weekend retreat with returned placement students (fifth-year) provides an opportunity for sharing first-hand experience and knowledge.",,COPB30H3 and COPB31H3 (if taken Fall 2021 or later),COPB31H3 (if taken Fall 2020 or earlier),Passport to Placement III,,Restricted to students enrolled in the Specialist (Co-op) Programs in International Development Studies.,2nd year +COPB50H3,,University-Based Experience,"This course provides students in their first-year of Arts and Science Co-op to develop skills and tools to manage and thrive during the job search and in the workplace throughout the semester. In addition, students begin to build their job search tool kit, examine their strengths and areas of development, discover the skills employers are seeking in undergraduate Co-op students and in employees in general, and explore possible pathways to achieving their Co-op work terms and long term academic or career goals. Students will learn and practice strategies to best present their skills, knowledge and experience in foundational job search documents. The concept of interviewing is also introduced. This course is a compulsory requirement for the Arts and Science Co-op programs. Students need to pass the course before proceeding to seek for a Co-op work term, therefore, this course may be repeated.",,Restricted to students in the Arts and Science Co-op programs.,"COPB10Y3/(COPD07Y3), COPB36H3; (COPD01H3)",Foundations for Success in Arts and Science Co-op,,Students should plan to complete this course in the first year of study in their selected Arts and Science Co-op program.,2nd year +COPB51H3,,University-Based Experience,"This course builds on the foundational job search concepts introduced in COPB50H3, providing opportunities to refine application strategies and practice interviewing in various formats, based on academic program areas as well as industry hiring practices. Students begin to experience the Co-op job search cycle by reviewing, selecting, and applying to job postings weekly and receiving feedback similar to when participating in a job search cycle. With this feedback, and the support of your Coordinator, students make adjustments to their job search approach and develop strategies for success in the following term for both job applications and interview performance. The importance of a job search network and research to tailor and prepare during your job search are also examined. This course is a compulsory requirement for the Arts and Science Co-op programs. Students need to pass the course before proceeding to seek for a Co-op work term, therefore, this course may be repeated.",,COPB50H3/(COPD01H3); restricted to students in the Arts and Science Co-op programs.,(COPD03H3),Preparing to Compete for your Work Term,,,2nd year +COPB52H3,,Partnership-Based Experience,"This course will draw on students' job search experience. Students will learn how to effectively and professionally navigate challenging situations while job searching and on work term. Drawing upon the job search knowledge and tool kit created in COPB50H2 and COPB51H3, this course is designed to provide students who are competing for a first Co‐op work term with resources and support necessary to meet their goal of securing a work term. During this semester, Co-op students are applying to job postings on CSM and attending interviews until they secure a work term. This course also provides students with job search trends, job search support and feedback, interview coaching, and peer activities. The course is a combination of in‐class, group activities, and one‐on‐one appointments. Topical information and insights about the labour market and Co‐op employers are also provided.",,COPB51H3/(COPD03H3); restricted to students in the Arts and Science Co-op programs.,(COPD11H3),Managing your Job Search and Transition to the Workplace,,,2nd year +COPB53H3,,Partnership-Based Experience,This course is for students in Arts & Science Co-op who have undertaken a first work term search and successfully completed COPB52H3 but have not embarked on a first work term experience. Students in this course will continue with job search activities and receive additional support factoring in their overall learning.,,COPB52H3/(COPD11H3); restricted to students in the Arts and Science Co-op programs.,,Continuing your Co-op Job Search,,,2nd year +COPC01H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts & Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Mathematical Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations.,3rd year +COPC03H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts & Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Computer Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations.,3rd year +COPC05H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts and Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Physical and Environmental Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations.,3rd year +COPC07H3,,Professional Work Term,"In this course, Management Co-op students engage in a work term opportunity, which is a form of work-integrated learning, to improve their employability skills and workplace productivity by concentrating on key areas to foster their development.",,COPB10Y3/(COPD07Y3) or (COPD08Y3) or [COPB11H3 and COPB12H3] or [COPB13H3 and COPB14H3]; restricted to students in the Management Co-op and/or Management International Business Co-op programs.,,Management Co-op Work Term,,,3rd year +COPC09H3,,Professional Work Term,"The purpose of the work term placement is for students to gain experience in the professional world of development while applying knowledge gained in the classroom to real life experiences. The majority of students secure work terms with Canadian NGOs, research institutes or private sector consulting firms. Work terms are 8-12 months in length. The location and duration of the work terms will vary according to each student’s disciplinary and regional preferences, their experience and abilities, the availability of positions, and the practicability and safety of work.",,COPB31H3/(COPD04H3) and IDSC01H3 and IDSC04H3; restricted to students in the International Development Studies Co-op programs.,,International Development Studies Co-op Work Term,,,3rd year +COPC13H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts and Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 2 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Social Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations.,3rd year +COPC14H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts & Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Neuroscience,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations.,3rd year +COPC20H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts and Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 2 work terms for the Co- op program. Students will be allowed to repeat this course 2 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Humanities,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations.,3rd year +COPC21H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers, to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts and Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations.,3rd year +COPC30H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts and Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Biological Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations.,3rd year +COPC40H3,,Professional Work Term,"While working full time with a Co-op employer, students receive support and guidance from Co-op coordinators, faculty and peers for success in the workplace, and to share and reflect on their work term experiences. A culminating project is completed to bring together industry and academic knowledge and showcase the work and skill development throughout each Co-op work experience. Students are enrolled into this course once hired for a Co-op work term. Arts and Science Co-op students will complete this course each semester when on work term. There is a minimum requirement of 3 work terms for the Co- op program. Students will be allowed to repeat this course 3 to 5 times.",,COPB52H3/(COPD11H3) and permission from Arts and Science Co-op; restricted to students in Arts and Science Co-op programs.,,Co-op Work Term for Psychological and Health Sciences,,Students may receive a No Credit (NCR) in previous instance of the course and Credit (CR) while in different work locations.,3rd year +COPC98H3,,Partnership-Based Experience,"This course is designed to provide students who have completed their first work term with tools and strategies to effectively integrate their recent work term experience into their job search documents, as well as practice articulating their new or enhanced skills and experience in an interview setting. Students are provided with opportunities to practice and refine their approach as they begin to seek their next Co- op work term. In class Apply Together sessions and one-on- one appointment consultations with your Work Term Engagement Coordinator will provide you with semester specific market trends, tools and resources to succeed in your job search. There are also online and in person forums for sharing work term and job search experience with junior Co-op students and peers.",,COPB52H3/(COPD11H3) and completion of one work term; restricted to students in the Arts and Science Co-op Programs.,(COPD12H3),Integrating Your Work Term Experience Part I,,,3rd year +COPC99H3,,Partnership-Based Experience,"This course is designed to provide students who have completed 2 work terms or more with tools and strategies to effectively integrate their recent work term experiences into their job search documents as well as practice articulating their new or enhanced skills and experience in an interview setting. Students are provided with opportunities to practice and refine their approach as they job search/compete for another Co-op work term. In class Apply Together sessions and one-on-one appointment consultations with your Work Term Engagement Coordinator will provide you with semester specific market trends, tools and resources to succeed in your job search. Having the experience of job searching and at least 8 months of work term experience, students share, compare, and contrast their individual experiences. There are also online and in person forums for sharing their work term and job search experience with junior Co-op students.",,COPC98H3/(COPD12H3) and completion of at least two work terms; restricted to students in the Arts and Science Co-op programs.,(COPD13H3),Integrating Your Work Term Experience Part II,,Students complete this course each time they are job searching for a work term beyond their second work term.,3rd year +CRTB01H3,ART_LIT_LANG,,"An introduction to the theory, ethics and contexts of art museum/gallery curatorial practice. Emphasis on communication through exploring interpretations and considering ethical practice. Students will learn specialized knowledge, resources, references and methodologies and explore professional and academic responsibilities of art- based curatorial work.",,Any 2.0 credits at A-level,"(VPHB72H3), FAH301H5, FAH310H5",Introduction to Curating Art,,"Restricted to students who have completed the A-level courses in the Major or Specialist programs in Art History, Arts Management, Studio Art, or Media Studies. Priority will be given to students enrolled in the Minor in Curatorial Studies. Additional students will be admitted as space permits.",2nd year +CRTC72H3,ART_LIT_LANG,Partnership-Based Experience,"Art and the settings in which it is seen in cities today. Some mandatory classes to be held in Toronto museums and galleries, giving direct insight into current exhibition practices and their effects on viewer's experiences of art; students must be prepared to attend these classes. Same as VPHC72H3",,CRTB01H3 and CRTB02H3,VPHC72H3,"Art, the Museum, and the Gallery",,,3rd year +CRTC80H3,ART_LIT_LANG,,"Viewed from an artist’s perspective, this course considers the exhibition as medium, and curating as a creative act. By studying the history of exhibitions organized by artists and artist collectives, this course considers their influence on contemporary curatorial practice with a focus on historical and contemporary Canadian exhibitions.",,CRTB01H3,,Curator as Artist; Artist as Curator,,"Priority will be given to students enrolled in programs in Curatorial Studies, Art History and Visual Culture, Arts Management, Media Studies, and Studio Art.",3rd year +CRTD43H3,ART_LIT_LANG,Partnership-Based Experience,"Curatorial practice and the responsibilities of the curator, such as the intellectual and practical tasks of producing a contemporary art exhibition, researching Canadian contemporary art and artists, building a permanent collection, administrating a public art competition, and critical writing about works of visual art in their various contexts. Studio and/or gallery visits required.",,11.0 credits including [VPHB39H3 and CRTB01H3 and CRTB02H3],(VPHD43H3),Curating Contemporary Art,,,4th year +CRTD44H3,ART_LIT_LANG,Partnership-Based Experience,"Time and history bring different factors to our understanding and interpretation of artworks. Students will explore both intellectual and practical factors concerning curating historical art, from conservation, research, and handling issues to importance of provenance, collecting, and display, through workshops, critical writing and discussion, field trips, and guest speakers.",,"11.0 credits including [VPHB39H3, CRTB01H3 and CRTB02H3",(VPHD44H3),Curating Historical Art,,,4th year +CSCA08H3,QUANT,,"Programming in an object-oriented language such as Python. Program structure: elementary data types, statements, control flow, functions, classes, objects, methods. Lists; searching, sorting and complexity. This course is intended for students having a serious interest in higher level computer science courses, or planning to complete a computer science program.",,Grade 12 Calculus and Vectors and [one other Grade 12 mathematics course or CTL Math Preparedness course with additional resources for CMS students].,"CSCA20H3, CSC108H, CSC110H, CSC120H. CSCA08H3 may not be taken after or concurrently with CSCA48H3. CSC110H cannot be taken after or concurrently with CSC111H.",Introduction to Computer Science I,,This course does not require any prior exposure to computer programming.,1st year +CSCA20H3,QUANT,,"An introduction to computer programming, with an emphasis on gaining practical skills. Introduction to programming, software tools, database manipulation. This course is appropriate for students with an interest in programming and computers who do not plan to pursue a Computer Science program.",,,"CSCA08H3, CSC108H, CSC110H, CSC120H. CSC110H cannot be taken after or at the same time as CSC111H.",Introduction to Programming,,This course does not require any prior exposure to computer programming.,1st year +CSCA48H3,QUANT,,Abstract data types and data structures for implementing them. Linked data structures. Object Oriented Programming. Encapsulation and information-hiding. Testing. Specifications. Analyzing the efficiency of programs. Recursion.,,CSCA08H3,"CSC148H, CSC111H",Introduction to Computer Science II,,,1st year +CSCA67H3,QUANT,,"Introduction to discrete mathematics: Elementary combinatorics; discrete probability including conditional probability and independence; graph theory including trees, planar graphs, searches and traversals, colouring. The course emphasizes topics of relevance to computer science, and exercises problem-solving skills and proof techniques such as well ordering, induction, contradiction, and counterexample. Same as MATA67H3",CSCA08H3 or CSCA20H3,Grade 12 Calculus and Vectors and one other Grade 12 mathematics course,"MATA67H3, (CSCA65H3), CSC165H, CSC240H, MAT102H",Discrete Mathematics,,,1st year +CSCB07H3,QUANT,,"An introduction to software design and development concepts, methods, and tools, using a statically-typed object- oriented language such as Java. Topics from: version control, build management, unit testing, refactoring, object-oriented design and development, design patterns and advanced IDE usage.",,"CSCA48H3 and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non- CSC Subject POSt for which this specific course is a program requirement]",CSC207H,Software Design,,,2nd year +CSCB09H3,QUANT,,"Software techniques in a Unix-style environment, using scripting languages and a machine-oriented programming language (typically C). What goes on in the system when programs are executed. Core topics: creating and using software tools, pipes and filters, file processing, shell programming, processes, system calls, signals, basic network programming.",,"CSCA48H3 and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non- CSC Subject POSt for which this specific course is a program requirement]",CSC209H,Software Tools and Systems Programming,,,2nd year +CSCB20H3,QUANT,,"A practical introduction to databases and Web app development. Databases: terminology and applications; creating, querying and updating databases; the entity- relationship model for database design. Web documents and applications: static and interactive documents; Web servers and dynamic server-generated content; Web application development and interface with databases.",CSCA08H3 or CSCA20H3,"Some experience with programming in an imperative language such as Python, Java or C.",This course may not be taken after - or concurrently with - any C- or D-level CSC course.,Introduction to Databases and Web Applications,,,2nd year +CSCB36H3,QUANT,,"Mathematical induction with emphasis on applications relevant to computer science. Aspects of mathematical logic, correctness proofs for iterative and recursive algorithms, solutions of linear and divide-and-conquer recurrences, introduction to automata and formal languages.",,"CSCA48H3 and [(CSCA65H3) or CSCA67H3] and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement]","CSC236H, CSC240H",Introduction to the Theory of Computation,,,2nd year +CSCB58H3,QUANT,,"Principles of the design and operation of digital computers. Binary data representation and manipulation, Boolean logic, components of computer systems, memory technology, peripherals, structure of a CPU, assembly languages, instruction execution, and addressing techniques. There are a number of laboratory periods in which students conduct experiments with digital logic circuits.",,"[CSCA48H3 or PHYB57H3/(PSCB57H3)] and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement]",CSC258H,Computer Organization,,,2nd year +CSCB63H3,QUANT,,"Design, analysis, implementation and comparison of efficient data structures for common abstract data types. Priority queues: heaps and mergeable heaps. Dictionaries: balanced binary search trees, B-trees, hashing. Amortization: data structures for managing dynamic tables and disjoint sets. Data structures for representing graphs. Graph searches.",,"CSCB36H3 and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non- CSC Subject POSt for which this specific course is a program requirement]","CSC263H, CSC265H",Design and Analysis of Data Structures,,,2nd year +CSCC01H3,QUANT,University-Based Experience,Introduction to software development methodologies with an emphasis on agile development methods appropriate for rapidly-moving projects. Basic software development infrastructure; requirements elicitation and tracking; prototyping; basic project management; basic UML; introduction to software architecture; design patterns; testing.,,"CSCB07H3, CSCB09H3, and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement]","CSC301H, (CSCC40H3), (CSCD08H3)",Introduction to Software Engineering,,,3rd year +CSCC09H3,QUANT,University-Based Experience,"An introduction to software development on the web. Concepts underlying the development of programs that operate on the web. Operational concepts of the internet and the web, static and dynamic client content, dynamically served content, n-tiered architectures, web development processes and security on the web.",,CSCB09H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],CSC309H,Programming on the Web,CSCC43H3,,3rd year +CSCC10H3,QUANT,,"The course will provide an introduction to the field of Human- Computer Interaction (HCI) with emphasis on guidelines, principles, methodologies, and tools and techniques for analyzing, designing and evaluating user interfaces. Subsequent topics include usability assessment of interactive systems, prototyping tools, information search and visualization, mobile devices, social media and social networking, and accessibility factors.",,CSCB07H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],"CCT380H, CSC318H",Human-Computer Interaction,,,3rd year +CSCC11H3,QUANT,,"An introduction to methods for automated learning of relationships on the basis of empirical data. Classification and regression using nearest neighbour methods, decision trees, linear and non-linear models, class-conditional models, neural networks, and Bayesian methods. Clustering algorithms and dimensionality reduction. Model selection. Problems of over-fitting and assessing accuracy. Problems with handling large databases.",CSCC37H3,MATB24H3 and MATB41H3 and STAB52H3 and [CGPA of at least 3.5 or enrolment in a CSC Subject POSt or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement].,"CSC411H, (CSCD11H3)",Introduction to Machine Learning and Data Mining,,,3rd year +CSCC24H3,QUANT,,"Major topics in the design, definition, analysis, and implementation of modern programming languages. Study of programming paradigms: procedural (e.g., C, Java, Python), functional (e.g., Scheme, ML, Haskell) and logic programming (e.g., Prolog, Mercury).",,CSCB07H3 and CSCB09H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],CSC324H,Principles of Programming Languages,,,3rd year +CSCC37H3,QUANT,,"An introduction to computational methods for solving problems in linear algebra, non-linear equations, approximation and integration. Floating-point arithmetic; numerical algorithms; application of numerical software packages.",,MATA22H3 and [MATA36H3 or MATA37H3] and [CGPA of at least 3.5 or enrolment in a CSC Subject POSt or enrolment in a non-CSC Subject POst for which this specific course is a program requirement],"(CSCC36H3), (CSCC50H3), (CSCC51H3), CSC336H, CSC350H, CSC351H, CSC338H",Introduction to Numerical Algorithms for Computational Mathematics,,,3rd year +CSCC43H3,QUANT,,"Introduction to database management systems. The relational data model. Relational algebra. Querying and updating databases: the SQL query language. Application programming with SQL. Integrity constraints, normal forms, and database design. Elements of database system technology: query processing, transaction management.",,CSCB09H3 and CSCB63H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],CSC343H,Introduction to Databases,,,3rd year +CSCC46H3,QUANT,,"How networks underlie the social, technological, and natural worlds, with an emphasis on developing intuitions for broadly applicable concepts in network analysis. Topics include: introductions to graph theory, network concepts, and game theory; social networks; information networks; the aggregate behaviour of markets and crowds; network dynamics; information diffusion; popular concepts such as ""six degrees of separation"", the ""friendship paradox"", and the ""wisdom of crowds"".",,CSCB63H3 and STAB52H3 and [MATA22H3 or MATA23H3] and [a CGPA of 3.5 or enrolment in a CSC Subject POSt],,Social and Information Networks,,,3rd year +CSCC63H3,QUANT,,"Introduction to the theory of computability: Turing machines, Church's thesis, computable and non-computable functions, recursive and recursively enumerable sets, reducibility. Introduction to complexity theory: models of computation, P, NP, polynomial time reducibility, NP-completeness, further topics in complexity theory.",,"CSCB36H3 and CSCB63H3 and [CGPA of at least 3.5, or enrolment in a CSC Subject POSt, or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement]]","CSC363H, CSC365H, CSC364H",Computability and Computational Complexity,,"Although the courses CSCC63H3 and CSCC73H3 may be taken in any order, it is recommended that CSCC73H3 be taken first.",3rd year +CSCC69H3,QUANT,,"Principles of operating systems. The operating system as a control program and as a resource allocator. The concept of a process and concurrency problem: synchronization, mutual exclusion, deadlock. Additional topics include memory management, file systems, process scheduling, threads, and protection.",,CSCB07H3 and CSCB09H3 and CSCB58H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],CSC369H,Operating Systems,,,3rd year +CSCC73H3,QUANT,,"Standard algorithm design techniques: divide-and-conquer, greedy strategies, dynamic programming, linear programming, randomization, and possibly others.",,CSCB63H3 and STAB52H3 and [CGPA of at least 3.5 or enrolment in a CSC Subject POSt or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement],"CSC373H, CSC375H, CSC364H",Algorithm Design and Analysis,,,3rd year +CSCC85H3,QUANT,,"The course introduces the fundamental principles, problems, and techniques involved in the operation of mobile robots and other automated systems. Course topics include: components of automated systems, sensors and sensor management, signal acquisition and noise reduction, principles of robot localization, FSM-based A.I. for planning, fault-tolerance and building fault-tolerant systems, real-time operation and real-time operating systems; and computational considerations such as hardware limitations and code optimization. Ethical considerations in the implementation and deployment of automated systems are discussed. The concepts covered in the course are put in practice via projects developed on a Lego robotic platform.",CSCB07H3,CSCB58H3 and CSCB09H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],ECE385H,Fundamentals of Robotics and Automated Systems,,,3rd year +CSCD01H3,QUANT,University-Based Experience,"An introduction to the theory and practice of large-scale software system design, development, and deployment. Project management; advanced UML; requirements engineering; verification and validation; software architecture; performance modeling and analysis; formal methods in software engineering.",,CSCC01H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],"CSC302H, (CSCD08H3)",Engineering Large Software Systems,,,4th year +CSCD03H3,SOCIAL_SCI,University-Based Experience,"The trade-offs between benefits and risks to society of information systems, and related issues in ethics and public policy. Topics will include safety-critical software; invasion of privacy; computer-based crime; the social effects of an always-online life; and professional ethics in the software industry. There will be an emphasis on current events relating to these topics.",,14.0 credits and enrolment in a Computer Science Subject POSt. Restricted to students in the Specialist/Specialist Co-op programs in Computer Science or in the Specialist/Specialist Co-op programs in Management and Information Technology,CSC300H,Social Impact of Information Technology,,,4th year +CSCD18H3,QUANT,,"The course will cover in detail the principles and algorithms used to generate high-quality, computer generated images for fields as diverse as scientific data visualization, modeling, computer aided design, human computer interaction, special effects, and video games. Topics covered include image formation, cameras and lenses, object models, object manipulation, transformations, illumination, appearance modeling, and advanced rendering via ray-tracing and path- tracing. Throughout the course, students will implement a working rendering engine in a suitable programming language.",,MATB24H3 and MATB41H3 and [CSCB09H3 or proficiency in C] and CSCC37H3 and [a CGPA of at least 3.5 or enrolment in a Computer Science Subject POSt],(CSC418H1)/CSC317H1,Computer Graphics,,,4th year +CSCD25H3,QUANT,,"This course teaches the basic techniques, methodologies, and ways of thinking underlying the application of data science and machine learning to real-world problems. Students will go through the entire process going from raw data to meaningful conclusions, including data wrangling and cleaning, data analysis and interpretation, data visualization, and the proper reporting of results. Special emphasis will be placed on ethical questions and implications in the use of AI and data. Topics include data pre-processing, web scraping, applying supervised and unsupervised machine learning methods, treating text as data, A/B testing and experimentation, and data visualization.",,CSCB63H3 and CSCC11H3 and [a CGPA of 3.5 or enrolment in a CSC Subject POSt],,Advanced Data Science,,,4th year +CSCD27H3,QUANT,University-Based Experience,"Public and symmetric key algorithms and their application; key management and certification; authentication protocols; digital signatures and data integrity; secure network and application protocols; application, system and network attacks and defences; intrusion detection and prevention; social engineering attacks; risk assessment and management.",CSCC69H3,CSCB09H3 and CSCB36H3 and CSCB58H3 and [CGPA of at least 3.5 or enrolment in a CSC Subject POSt],CSC427H,Computer and Network Security,,,4th year +CSCD37H3,QUANT,,"Most mathematical models of real systems cannot be solved analytically and the solution of these models must be approximated by numerical algorithms. The efficiency, accuracy and reliability of numerical algorithms for several classes of models will be considered. In particular, models involving least squares, non-linear equations, optimization, quadrature, and systems of ordinary differential equations will be studied.",,CSCC37H3 and MATB24H3 and MATB41H3 and [CGPA of at least 3.5 or enrolment in a CSC Subject POSt or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement],"(CSCC50H3), (CSCC51H3), CSC350H, CSC351H",Analysis of Numerical Algorithms for Computational Mathematics,,,4th year +CSCD43H3,QUANT,,"Implementation of database management systems. Storage management, indexing, query processing, concurrency control, transaction management. Database systems on parallel and distributed architectures. Modern database applications: data mining, data warehousing, OLAP, data on the web. Object-oriented and object-relational databases.",,CSCC43H3 and CSCC69H3 and CSCC73H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],CSC443H,Database System Technology,,,4th year +CSCD54H3,SOCIAL_SCI,,"This course examines high-Tech innovation and entrepreneurship, principles of operation of successful high- tech enterprises, customer identification and validation, product development, business models, lean startup techniques, and financing of high-technology ventures. Students will work in teams to develop their own innovative product idea, and will produce a sound business plan to support their product.",,A minimum of 2.5 credits at the B-level or higher in CSC courses,CSC454H,Technology Innovation and Entrepreneurship,CSCD90H3,"Restricted to students in the Entrepreneurship stream of the Specialist/Specialist Co-op programs in Computer Science. If space permits, students in other streams of the Specialist/Specialist Co-op programs in Computer Science may be admitted to the course, with the permission of the instructor.",4th year +CSCD58H3,QUANT,,"Computer communication network principles and practice. The OSI protocol-layer model; Internet application layer and naming; transport layer and congestion avoidance; network layer and routing; link layer with local area networks, connection-oriented protocols and error detection and recovery; multimedia networking with quality of service and multicasting. Principles in the context of the working-code model implemented in the Internet.",,CSCB58H3 and CSCB63H3 and STAB52H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],CSC458H,Computer Networks,,,4th year +CSCD70H3,QUANT,,"The goal of this course is to examine the design and implementation of a compiler optimized for modern parallel architectures. Students will learn about common optimizations, intermediate representations (IRs), control-flow and dataflow analysis, dependence graphs, instruction scheduling, and register allocation. Advanced topics include static single assignment, memory hierarchy optimizations and parallelization, compiling for multicore machines, memory dependence analysis, automatic vectorization/thread extraction, and predicated/speculative execution.",,CSCB63H3 and CSCC69H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt],,Compiler Optimization,,,4th year +CSCD71H3,,,"A topic from computer science, selected by the instructor, will be covered. The exact topic will typically change from year to year.",,Permission of the instructor and [CGPA 3.5 or enrolment in a CSC Subject POSt]. Normally intended for students who have completed at least 8 credits.,,Topics in Computer Science,,,4th year +CSCD72H3,,,"A topic from theoretical computer science, selected by the instructor, will be covered. The exact topic will typically change from year to year.",,Permission of the instructor and [CGPA 3.5 or enrolment in a CSC Subject POSt]. Normally intended for students who have completed at least 8 credits.,,Topics in the Theory of Computing,,,4th year +CSCD84H3,QUANT,,"A study of the theories and algorithms of Artificial Intelligence. Topics include a subset of: search, game playing, logical representations and reasoning, planning, natural language processing, reasoning and decision making with uncertainty, computational perception, robotics, and applications of Artificial Intelligence. Assignments provide practical experience of the core topics.",,STAB52H3 and CSCB63H3 and [a CGPA of 3.5 or enrolment in a CSC subject POSt],"CSC484H, CSC384H",Artificial Intelligence,,,4th year +CSCD90H3,QUANT,University-Based Experience,"In this capstone course, students will work in teams to develop a viable product prototype following the methodologies and techniques covered in CSCD54H3. Students will produce written reports, short videos pitching their idea, and a final presentation showcasing their proposed innovation, as it would be pitched to potential investors. The course instructor and TAs will provide close supervision and mentorship throughout the project.",,A minimum of 2.5 credits at the B-level or higher in CSC courses,,The Startup Sandbox,CSCD54H3,"Restricted to students in the Entrepreneurship stream of the Specialist/Specialist Co-op programs in Computer Science. If space permits, students in other streams of the Specialist/Specialist Co-op programs in Computer Science may be admitted to the course, with the permission of the instructor.",4th year +CSCD92H3,QUANT,,"Students will examine an area of interest through reading papers and texts. This course is offered by arrangement with a computer science faculty member. It may be taken in any session, and must be completed by the last day of classes in the session in which it is taken.",,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Readings in Computer Science,,,4th year +CSCD94H3,,,"A significant project in any area of computer science. The project may be undertaken individually or in small groups. This course is offered by arrangement with a computer science faculty member, at U of T Scarborough or the St. George campus. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken. Students must obtain consent from the Supervisor of Studies before registering for this course.",,"[Three C-level CSC courses] and [permission of the Supervisor of Studies] and [CGPA 3.0 or enrolment in a CSC Subject POSt] Enrolment procedures: Project supervisor's note of agreement must be presented to the Supervisor of Studies, who must issue permission for registration.",CSC494H,Computer Science Project,,,4th year +CSCD95H3,,,"Same description as CSCD94H3. Normally a student may not take two project half-courses on closely related topics or with the same supervisor. If an exception is made allowing a second project on a topic closely related to the topic of an earlier project, higher standards will be applied in judging it. We expect that a student with the experience of a first project completed will be able to perform almost at the level of a graduate student.",,"CSCD94H3 Enrolment procedures: Project supervisor's note of agreement must be presented to the Supervisor of Studies, who must issue permission for registration.",CSC495H,Computer Science Project,,,4th year +CTLA01H3,ART_LIT_LANG,,"This highly interactive course for English Language Learners who find Academic English a challenge aims to fast-track the development of critical thinking, reading, writing and oral communication skills. Through emphasizing academic writing and rapid expansion of vocabulary, students will gain practical experience with university-level academic texts and assignment expectations.",,"No more than 10.0 credits completed. Students are required to take a diagnostic test of academic English skills to be conducted by the English Language Development Support, Centre for Teaching and Learning, in advance of the first day of class.",,Foundations in Effective Academic Communication,,"The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisites.",1st year +CTLA02H3,ART_LIT_LANG,,"Students will develop language, communication and critical thinking skills through an exploration of culture and academic culture(s). Students will use various media in activities and assignments to connect their knowledge and experience with course learning, to foster dynamic academic integration for international students as they develop their English and multi- literacies.",,"No more than 10.0 credits completed. Students are required to take a diagnostic test of their academic English skills to be conducted by the English Language Development Support, Centre for Teaching and Learning in advance of the first day of class.",,Exploring Inter-Cultural Perspectives in Academic Contexts,,"The instructor has the authority to exclude students whose level of proficiency is unsuitable for the language learning and cultural exploration focus of the course, including those students who meet the prerequisites.",1st year +CTLA20H3,ART_LIT_LANG,University-Based Experience,"This course uses the mode of advocacy writing to teach the foundational skills necessary for all effective communication. Students will learn to convey their ideas about issues relevant to their communities with attention to structure, voice, evidence, and writing mechanics.",,,,Writing for Change: Foundational Academic Skills to Make a Difference in Your Community,,"This course is available to students in the Transitional Year Program only, and students will be enrolled into the course by program administrators.",1st year +CTLA21H3,QUANT,University-Based Experience,"This course will cover basic mathematics concepts such as Arithmetic, Elementary Algebra, Geometry and Trigonometry, Data collection and Interpretation, Sets, and Functions. Students will engage these concepts through a series of activities which require them to solve practical problems based on real life circumstances. The course will also draw on African and Indigenous cultural knowledges and perspectives to connect the study of mathematics to TYP students’ interests and lived experiences.",,,,Math4life: Developing Mathematical Thinking and Skills in Practical Contexts,,"This course is available to students in the Transitional Year Program only, and students will be enrolled in the course by program administrators.",1st year +CTLB03H3,SOCIAL_SCI,Partnership-Based Experience,"In this experiential learning course, students apply their discipline-specific academic knowledge as they learn from and engage with communities. Students provide, and gain, unique perspectives and insights as they interact with community partners. Through class discussions, workshops and assignments, students also develop transferable life skills such as interpersonal communication, professionalism and self-reflection that support their learning experiences and help them connect theory and practice.",,Completion of 4.0 credits and selection of a U of T Scarborough Specialist or Major program. GPA will also be considered.,"FREC10H3, HCSC01H3",Introduction to Community Engaged Learning,,,2nd year +DTSB01H3,SOCIAL_SCI,,"An interdisciplinary introduction to the study of diaspora, with particular attention to questions of history, globalization, cultural production and the creative imagination. Material will be drawn from Toronto as well as from diasporic communities in other times and places.",,,"DTS200Y, DTS201H",Introduction to Diaspora and Transnational Studies I,,It is recommended that students take DTSB01H3 in their second year of study.,2nd year +DTSB02H3,SOCIAL_SCI,,"A continuation of DTSB01H3. An interdisciplinary introduction to the study of diaspora, with particular attention to questions of history, globalization, cultural production and the creative imagination. Material will be drawn from Toronto as well as from diasporic communities in other times and places.",,It is recommended that DTSB01H3 and DTSB02H3 be taken in the same academic year.,"DTS200Y, DTS202H",Introduction to Diaspora and Transnational Studies II,,,2nd year +ECTB58H3,ART_LIT_LANG,,"This course is a gateway to translation. After dealing with essential skills necessary in translation such as logical thinking, reading proficiency, and precision and clarity in writing, it focuses on fundamental aspects of translation at the conceptual, lexical, syntactic, grammatical, and stylistic levels. It also discusses the practical issues encountered by translators. A variety of real-world documents will be used for practice.",,,,Foundations of Translation,,,2nd year +ECTB60H3,ART_LIT_LANG,,"From wheat to seafood, Canada’s agri-food exports to China are increasing and Chinese food is popular in Canada. This course explores agri-food, cultures, and translation using materials in Chinese and English. It gives text analysis in translation and hands-on translation experience from English to Chinese and/or from Chinese into English. Students must be able to read and write Chinese and English well.",,,,"Agri-Food, Cultures, and Translation",,"Students will be assessed by the instructor in their first week of class, and must have a good command of both English and Chinese.",2nd year +ECTB61H3,ART_LIT_LANG,,"An introduction to the major concepts and theories of translation and a survey of English/Chinese translation in modern history. It discusses linguistic, cognitive, socio- political, and cultural aspects of translation. Through analysis and application of translation theory, students practice the art of translation and develop awareness of issues that translators face.",Proficiency in Chinese and English,,CHI411H5,English and Chinese Translation: Theory and Practice,,Students must already have mastered the principles of grammar and composition in both English and Chinese.,2nd year +ECTB66H3,ART_LIT_LANG,University-Based Experience,"This course discusses the responsibilities, ethical principles, and codes of professional conduct for interpreters. The course introduces three types of interpreting: sight translation, consecutive interpreting, and simultaneous interpreting. Students will practice various skills and techniques required of a qualified interpreter, including note- taking, active listening, shadowing, retelling, paraphrasing, and memory retention. Students will also develop abilities in comprehension, analysis of language, and terminology. The course focuses on effective interpreting in the settings of the Ministry of Immigration and Citizenship, the Ontario Ministry of the Attorney General, and Community Service agencies.",,Students must have oral and written communication skills in both English and Chinese languages.,,English and Chinese Interpreting Skills and Practices,,,2nd year +ECTB71H3,ART_LIT_LANG,University-Based Experience,"Medical Language is a unique linguistic phenomenon. Medical translation and interpretation play a vital role in healthcare delivery to patients with limited English proficiency. In this comprehensive foundation course, students will study medical terminology in the context needed to translate and/or interpret in various healthcare settings, including Greek and Latin root words, prefixes, suffixes, combining forms and abbreviations, etc., and their Chinese language versions. This course also covers W.H.O. international standard terminologies on traditional Chinese medicine from Chinese to English.",Proficiency in English and Chinese,,,"Medical Terminology, Translation and Interpretation I",,,2nd year +ECTC60H3,ART_LIT_LANG,University-Based Experience,"This course examines the role of translation in understanding the social production of gender and sexuality as crucial systems of power. Students will use gender and translation to interrogate cultural production and social systems, paying close attention to how gender and sexuality intersect with other categories of social difference, such as sexuality, race, ethnicity, class, and (dis)ability. Students will connect the assigned academic readings to “real-life” examples in the news, media, and their own lives, thereby producing critical reflection on their role as translators in facilitating dialogues for change.",,"Completion of 4.0 credits, with 2.0 credits at the B-level",,Translation and Gender,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits.,3rd year +ECTC61H3,ART_LIT_LANG,Partnership-Based Experience,This course focuses on the principles and techniques of literary translation from English to Chinese and vice versa. Students will study various translations and practice translating the works of Canadian writers such as those by Alice Munro and Margaret Atwood. Style and technique will be stressed throughout the course.,,ECTB61H3,,Translation Studies in Literature,,Priority will be given to students enrolled in the Minor in English To Chinese Translation. Other students will be admitted as space permits.,3rd year +ECTC62H3,ART_LIT_LANG,,"The course examines linguistic aspects of translation in different writing media from new media, such as social media and websites, to traditional media, such as film, television, and printed press. It also explores approaches from cultural and social perspectives of media translation. The course delves deeply into translation strategies to deal with the conflict between Chinese and Western cultures in mass media.",High proficiency in both Chinese and English,ECTB58H3 or ECTB61H3 (or an equivalent through an interview).,,Translation in Media,,,3rd year +ECTC63H3,ART_LIT_LANG,,"This course aims to foster in students a greater awareness and appreciation of how translation plays a vital role in our relationship to and with the environment. Through translation practice and by examining how the environment is translated in a selection of Chinese and English language texts and concepts in multiple mediums including cinema, television and the visual arts, the course will demonstrate that our perception of environmental issues is intimately connected to the translation of concepts, ideas and movements and how they have been transplanted into and out of English and Chinese.",Recommended preparation: high level of proficiency in both Chinese and English,ECTB58H3 or ECTB61H3,,Translation and the Environment,,,3rd year +ECTC64H3,ART_LIT_LANG,,"This course focuses on understanding and applying concepts of cultural translation and “otherness” from the perspectives of anthropology and translation studies. By taking this course, students will learn that translators are mediators between cultures beyond language translations. The wider concept of translation requires understanding culture and otherness, and almost any intercultural communication involves translation. Students will be able to locate themselves in the wider context as translators/interpreters, understand cultural production and social systems, and pay close attention to how cultural translation intersects with other categories of social difference. Students will connect the assigned academic readings to “real-life” examples in the news, media, and their own lives, thereby forming new understandings of cultural translation.",,"4.0 credits, with 2.0 credits at the B-level",,Translating Cultures in a Polarizing World,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits.,3rd year +ECTC65H3,ART_LIT_LANG,University-Based Experience,"Religious translations facilitated some of the most vibrant cultural exchanges throughout history. Catholic missionaries and Chinese scholars translated not only the Bible but also Euclid's Elements. Many Protestant missionaries later became the earliest Sinologists and translated foundational Confucian texts including The Analects. The translation of Buddhist scriptures influenced Daoist discourses, Chinese philosophy, neo-Confucianism, everyday practices and way of life. The course will open with an introduction to these fascinating histories and explore the complex relationship between religion and translation in various contexts, with an emphasis on both institutional religions, such as Christianity, Buddhism, Islam, Confucianism, and Daoism, and also on what are known as Chinese popular or folk religions.",,"Completion of 4.0 credits, with 2.0 credits at the B-level",,Translation and Religion,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits.,3rd year +ECTC66H3,ART_LIT_LANG,University-Based Experience,"This course aims to introduce students to the history of translation from both Western and Chinese perspectives. Students will learn the evolution of thoughts about translation through studying extracts of articles by Chinese and Western thinkers as well as examples of translation to understand the various approaches and methodologies in their cultural, social, and historical contexts. The course provides opportunities for students to deepen their knowledge of translation studies and prepare them for higher level content of the discipline.","CTLA01H3 and/or LINB18H3, as well as one course from LGGC64H3, LGGC65H3, LGGD66H3, and LGGD67H3","ECTB58H3 or ECTB61H3, and completion of 4.0 credits",,History of Translation,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits.,3rd year +ECTC67H3,ART_LIT_LANG,University-Based Experience,This course is a special seminar on a subject determined by the instructor’s research interest or expertise in translation that fall outside of the English and Chinese Translation Major/Minor program’s current course offerings. Special topics can include selected issues and problems in the theory and practice of translation. This course may be repeated for credit when topic changes.,"[CTLA01H3 or LINB18H3] as well as one course from [LGGC64H3, LGGC65H3, LGGD66H3, or LGGD67H3]",[ECTB58H3 or ECTB61H3] and completion of 4.0 credits,,Special Topics in Translation,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits.,3rd year +ECTD60H3,ART_LIT_LANG,University-Based Experience,"What are the greatest critical theories that helped shape our modern world? How are these ideas translated across geopolitical and cultural contexts? How did they help people envision a different way to live, think, and love? This course examines how some of the greatest thoughts and ideas that shaped our modern world get translated. We will look at key thinkers, their texts, the social, cultural, and political contexts of their times and that of their translators. We will discuss the role of translation in facilitating cross-cultural exchanges and societal changes.",,"Completion of 4.0 credits, with 2.0 credits at the B-level",,Translating Modernity,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits.,4th year +ECTD63H3,ART_LIT_LANG,University-Based Experience,"This course will introduce students to the processes of negotiation and adaptation associated with the translation and interpretation of languages behind the cultural phenomena of everyday life. Students will explore examples from across cultural domains (film, TV, and literature) and develop understanding the concept of “cultural translation” as a gesture of interpretation of the objects of human expression that suffuse the practice of everyday life in the social sphere. Students will also have ample experience in audience- focused English and Chinese translation.","[CTLA01H3 or LINB18H3] and one course from [LGGC64H3, LGGC65H3, LGGD66H3, or LGGD67H3]",[ECTB58H3 or ECTB61H3],,Cultural Translation and Interpretation,,Priority will be given to students enrolled in the English to Chinese Translation program(s). Other students will be admitted as space permits.,4th year +ECTD65H3,ART_LIT_LANG,University-Based Experience,"This course examines theoretical developments in the field of Translation Studies from the late 1980s to the present day. First, it considers the linguistic approach to translation that held sway for much of the first half and more of the 20th century. Attention then shifts to how culture impacts not just the translated product, but also the process by which translators operate (the so-called ‘cultural turn’). Focus is on close readings of formative theoretical texts (for example, those by Bassnett, Lefevere, Pym, Venuti and others). Students will critically engage with significant translation theories since the late 1980s, analyse translations to identify how these theories function, and consider how they influence their own translation practice.","Experience in translating is recommended (although not required); translation experience can be in any language pair, e.g., Chinese – English; French – English; Korean – English, etc.","Completion of 4.0 credits, with 2.0 credits at the B-level",,Translation Studies and Theory After the Cultural Turn,,,4th year +ECTD66H3,ART_LIT_LANG,University-Based Experience,"This course aims to introduce students to critical engagements with intersemiotic translation (i.e., the practices of interpretation between different sign systems) through adaptation in the English-Chinese transcultural context. Students will interpret a broad range of transcultural intermedia productions across literary works, films, comics, pop songs, manga, etc., through the lenses of ideas such as rewriting, intertextuality, multimodality, cultural appropriation, etc. The course emphasizes the ideological implications and power dynamics in intersemiotic translation between works of Anglophone and Sinophone cultures.","[CTLA01H3 or LINB18H3], ECTC62H3, as well as one course from [LGGC64H3, LGGC65H3, LGGD66H3, or LGGD67H3]",[ECTB58H3 or ECTB61H3] and completion of 4.0 credits,,Translation and Adaptation,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits.,4th year +ECTD67H3,ART_LIT_LANG,University-Based Experience,"This course aims to introduce students to the essential knowledge and skills needed in translating texts related to the arts. Students will learn to identify the linguistic, cultural, and ideological features of texts for exhibitions, festivals, and other curated arts activities, and use appropriate strategies in translating the texts of this genre. The course provides ample opportunities for students to practice translating real-world texts from a wide range of museum exhibitions, literary festivals, film festivals, and other arts events between English and Chinese.","[CTLA01H3 or LINB18H3] as well as one course from [LGGC64H3, LGGC65H3, LGGD66H3, or LGGD67H3]",[ECTB58H3 or ECTB61H3] and completion of 4.0 credits,,Translation and the Arts,,Priority will be given to students enrolled in the Major or Minor Program in English to Chinese Translation. Other students will be admitted as space permits.,4th year +ECTD68H3,ART_LIT_LANG,,"Guided by translation theories and techniques, students learn the lexicon, structure, and style used in business discourse and gain hands-on experience in translating real-life documents regarding business for large Chinese communities within Canada.",High proficiency in both Chinese and English.,[ECTB58H3 or ECTB61H3] and [LGGC64H3 or LGGC65H3 or LGGD66H3/(LGGC67H3) or LGGD67H3/(LGGC66H3)]. Students must have a minimum GPA of 70% in one of the four LGG bilingual courses (or an equivalent through an interview).,,Translation for Business,,,4th year +ECTD69H3,ART_LIT_LANG,,"This course covers the English/Chinese translation of documents used in government, public administration, and publicly-funded organizations. It introduces the terminologies and special strategies used to translate official documents. Examples of relevant documents will be translated as part of the course work.",High proficiency in both Chinese and English.,[ECTB58H3 or ECTB61H3] and [LGGC64H3 or LGGC65H3 or LGGD66H3/(LGGC67H3) or LGGD67H3/(LGGC66H3)]. Students must have a minimum GPA of 70% in one of the four LGG bilingual courses (or an equivalent through an interview).,,Translation for Government and Public Administration,,,4th year +ECTD70H3,ART_LIT_LANG,,"This course connects to the subfields of ecocriticism and eco translatology to explore transcultural translations of the ‘wild’. Focusing especially on modern/contemporary fiction from the Sinosphere and linking such texts to other World Literatures, the aim is to analyze how the ‘wild’ is represented and translated interlingually and intersemiotically. The analysis of these literary translations of the ‘wild’ is important to understanding the impact and influence literature has on human appreciation and respect for the natural world.",,ECTC63H3,,Transcultural Translations of the Wild,,,4th year +EESA01H3,NAT_SCI,,"The scientific method and its application to natural systems. The physical and biological processes which drive ecosystem functions. Anthropogenic changes in ecosystem functions at local and global scales. Emphasis on the degradation of the atmosphere, soil, water and biological resources caused by human activity. Renewable and non-renewable resource sustainability. Laboratories will include hands-on field and lab related practical experience.",,,ENV100Y,Introduction to Environmental Science,,,1st year +EESA06H3,NAT_SCI,,"This general interest course explores the composition, structure and origin of the Earth and the tectonic, chemical and biological processes that have evolved over the last 4.5 billion years. It explains how planet ""works"" as a complex system. It provides a fundamental basis for understanding many of the environmental challenges faced by human societies especially natural hazards, water shortages, and climate change, and the importance of natural resources to our economy.",,,"GGR100Y, GLG110H",Introduction to Planet Earth,,,1st year +EESA07H3,NAT_SCI,,"This course consists of a survey of the planet's water resources and the major issues facing the use of water. Topics include: Earth, the watery planet; water, the last great resource; Canada's waters; Ontario's waters; water and man; water contamination; and protecting our waters. Case studies such as the Walkerton tragedy will be studied. No prior knowledge of environmental science is required.",,,,Water,,,1st year +EESA09H3,NAT_SCI,,"A survey of the science, history and applications of wind. Topics include storms including hurricanes, tornadoes and mid-latitude cyclones, global circulation, local circulations, measurement of winds, impact of winds on land surfaces, wind power, winds and pollution, historical and literary winds, and contemporary wind research. No prior knowledge of environmental science is required.",,,,Wind,,,1st year +EESA10H3,NAT_SCI,,"Because of pollution, our surroundings are becoming increasingly hazardous to our health. The past century has seen intense industrialization characterized by the widespread production and use of chemicals and the intentional and unintentional disposal of a wide range of waste materials. This course explores the relationship between the incidence of disease in human populations and the environmental pollution. Emphasis will be placed on understanding where and what pollutants are produced, how they are taken up by humans and their long term effects on health; the role of naturally-occurring carcinogens will also be examined. The course will include a view of risk assessment and toxicology using case studies. No prior knowledge of environmental or medical science is required.",,,,Human Health and the Environment,,,1st year +EESA11H3,NAT_SCI,,"This course illustrates the environmental effects of urban expansion, changing methods of agriculture, industrialization, recreation, resource extraction, energy needs and the devastation of war. Drawing on information from a wide spectrum of topics - such as waste disposal, tourism, the arctic, tropical forests and fisheries - it demonstrates what we know about how pollutants are produced, the pathways they take through the global environment and how we can measure them. The course will conclude with an examination of the state of health of Canada's environments highlighting areas where environmental contamination is the subject of public discussion and concern. No prior knowledge of environmental science is required.",,,,Environmental Pollution,,,1st year +EESB02H3,NAT_SCI,University-Based Experience,"The physical and chemical processes responsible for the development of regolith at the surface of the earth and the mechanics of entrainment, transport and deposition of mass by rivers, wind, glaciers, water waves, gravitational stresses, etc., which control the evolution of surface morphology. Field excursions and laboratory exercises will allow students to apply theory to natural systems and to understand the dynamics of one man-modified geomorphic system.",,EESA06H3,GGR201H,Principles of Geomorphology,,,2nd year +EESB03H3,NAT_SCI,,"This is an overview of the physical and dynamic nature of meteorology, climatology and related aspects of oceanography. Major topics include: atmospheric composition, nature of atmospheric radiation, atmospheric moisture and cloud development, atmospheric motion including air masses, front formation and upper air circulation, weather forecasting, ocean circulation, climate classification, climate change theory and global warming.",,[EESA06H3 or EESA09H3] and [MATA29H3 or MATA30H3],"GGR203H, GGR312H",Principles of Climatology,,,2nd year +EESB04H3,NAT_SCI,,"The water and energy balances; fluxes through natural systems. Process at the drainage basin scale: precipitation, evaporation, evapotranspiration and streamflow generation. The measurement of water fluxes, forecasting of rainfall and streamflow events. Human activity and change in hydrologic processes.",,EESA01H3 or EESA06H3 or any B-level EES course.,GGR206H,Principles of Hydrology,,,2nd year +EESB05H3,NAT_SCI,University-Based Experience,"A study of the processes of pedogenesis and the development of diverse soil profiles, their field relationships and their response to changing environmental conditions. An examination of the fundamental soil properties of importance in soil management. An introduction to the techniques of soil examination in the field, soil analysis in the laboratory and the basic principles of soil classification.",,EESA01H3 or EESA06H3,GGR205H,Principles of Soil Science,,,2nd year +EESB15H3,NAT_SCI,,"Planet Earth is at least 4,400 million years old and a geological record exists for at least the last 3,900 million years in the form of igneous, metamorphic and sedimentary rocks. The changing dynamics of convection deep within the Earth's mantle and associated super-continent assembly and breakup along with meteorite impacts, are now recognized as the major controls on development of the planet's atmosphere, oceans, biology, climate and geo-chemical cycles. This course reviews this long history and the methods and techniques used by geologists to identify ancient environments.",,EESA06H3,,Earth History,,"Priority will be given to students in Specialist programs in Environmental Geoscience, Environmental Biology, and Environmental Chemistry.",2nd year +EESB16H3,NAT_SCI,,"Examines the origins and systems of production of the major plants and animals on which we depend for food. Interactions between those species and systems and the local ecology will be examined, looking at issues of over harvesting, genetic erosion, soil erosion, pesticide use, and impacts of genetically modified strains.",,BIOA01H3 and BIOA02H3,,Feeding Humans - The Cost to the Planet,,,2nd year +EESB17H3,SOCIAL_SCI,,"Competition for water resources between countries is common; population and economic growth are exacerbating this. The socio-political, environmental and economic aspects of transboundary water transfers are explored; the success of relevant international treaties and conventions, and the potential for integrated management of transboundary waters are assessed. Examples from Asia, Africa and the Middle East are presented.",,EESA01H3 or EESA07H3,,Hydro Politics and Transboundary Water Resources Management,,,2nd year +EESB18H3,NAT_SCI,,"This course is an investigation of the geological background and possible solutions to major hazards in the environment. Environmental hazards to be studied include: landslides, erosion, earthquakes, volcanic eruptions, asteroid impacts, flooding, glaciation, future climate change, subsidence, and the disposal of toxic wastes. This may be of interest to a wide range of students in the life, social, and physical sciences; an opportunity for the non-specialist to understand headline- making geological events of topical interest. No prior knowledge of the Earth Sciences is required.",,,"(EESA05H3), GLG103H",Natural Hazards,,,2nd year +EESB19H3,NAT_SCI,,"A comprehensive introduction to crystalline structure, crystal chemistry, bonding in rock forming minerals, and optical properties of minerals. The course includes laboratory exercises on the identification of minerals in hand specimen, and identification of minerals using polarizing microscopes.",,CHMA10H3 and CHMA11H3 and EESB15H3,"(EESC32H3), (EESC35H3), GLG423H",Mineralogy,,,2nd year +EESB20H3,NAT_SCI,,"Sedimentary basins hold the bulk of Earth’s rock record and are fundamental in the study of past environments, tectonic evolution, climates, and biosphere. This course will explore different basin types and the nature of their infills. The course will also emphasize the economic resources within sedimentary basins and paleoenvironmental significance.",,EESB15H3,"ESS331H, ESS332H, ERS313H",Sedimentology and Stratigraphy,,Priority will be given to students enrolled in the Specialist Program in Environmental Geoscience (Co-op and non-Co-op). Additional students will be admitted as space permits.,2nd year +EESB22H3,NAT_SCI,University-Based Experience,"This course instructs students on the application of geophysical techniques (including gravity and magnetic surveys, electromagnetics, resistivity and seismology) to important environmental issues, such as monitoring climate change and natural hazards, clean energy assessments, and how to build sustainable cities. This lecture-based course teaches students the societal importance of environmental geophysics as well as how to effectively communicate uncertainty when interpreting data.",,EESA06H3 and [PHYA10H3 or PHYA11H3],,Environmental Geophysics,,,2nd year +EESB26H3,NAT_SCI,,"This course describes the processes and energy sources shaping the solid Earth's physical evolution and the means by which the properties of the planet’s interior can be inferred. Topics include detection of the Earth's core, Earth's magnetic field, manifestations of Earth's secular cooling (e.g., mantle convection) and Earth's gravity field.",,MATA36H3 and PHYA21H3,JPE395H1,Introduction to Global Geophysics,EESB15H3,,2nd year +EESC02H3,NAT_SCI,,"This course applies a multi-disciplinary lens to the subject of biological invasions and is intended to build upon foundational understandings of global environmental change. The course explores the foundational ecological theories of biological invasions, ecological conditions and mechanisms driving invasions, multi-scale perspectives on the environmental impact of biological invasions (community, ecosystem), past and current approaches to the management of invaded environments, social and economic impacts of species invasions, and invasion risk assessment and biological invasion policy.",EESA01H3 and ESTB01H3 and BIOB51H3,BIOB50H3 and [1.5 additional credits from EES or BIO courses],,Invaded Environments,,Priority will be given to students enrolled in the Specialist Program in Global Environmental Change.,3rd year +EESC03H3,QUANT,,"This course focuses on the use of Geographic Information Systems (GIS) and Remote Sensing (RS) for solving a range of scientific problems in the environmental sciences and describing their relationship with - and applicability to - other fields of study (e.g. geography, computer science, engineering, geology, ecology and biology). Topics include (but are not limited to): spatial data types, formats and organization; geo-referencing and coordinate systems; remotely sensed image manipulation and analysis; map production.",GGRB30H3,EESA06H3 and 0.5 credit at the B-level in EES courses,,Geographic Information Systems and Remote Sensing,0.5 credit at the B-level in EES courses,,3rd year +EESC04H3,NAT_SCI,,"Theoretical and practical aspect of the evolution of organismal diversity in a functional context; examination of species distributions and how these are organized for scientific study. Emphasis will be on the highly diverse invertebrate animals. Topics include biomes, dispersal, adaptation, speciation, extinction and the influence of climate history and humans.",,BIOB50H3,,Biodiversity and Biogeography,,,3rd year +EESC07H3,NAT_SCI,,"Groundwater represents the world's largest and most important fresh water resource. This basic course in hydrogeology introduces the principles of groundwater flow and aquifer storage and shows how a knowledge of these fundamental tools is essential for effective groundwater resource management and protection. Special emphasis is placed on the practical methods of resource exploration and assessment; examples of the approach are given for aquifers under environmental stress in southern Ontario, the US and Africa.",,EESA06H3 and 1.0 full credit in B-level EES courses,,Groundwater,,,3rd year +EESC13H3,NAT_SCI,,"To familiarize students with the relevant legislation, qualitative and quantitative approaches and applications for environmental impact assessments and environmental auditing. The focus will be on the assessment of impacts to the natural environment, however, socio-economic impacts will also be discussed. Environmental auditing and environmental certification systems will be discussed in detail. Examples and case studies from forestry, wildlife biology and land use will be used to illustrate the principles and techniques presented in the course. Students will acquire ""hands-on"" experience in impact assessment and environmental auditing through case studies.",,1.0 credit in EES courses,GGR393H,Environmental Impact Assessment and Auditing,0.5 credit in EES courses,,3rd year +EESC16H3,NAT_SCI,University-Based Experience,"Experiential learning in environmental science is critical for better understanding the world around us, solving pressing environmental issues, and gaining hands-on skills for careers in the environmental sector. This course provides exciting and inspiring experiential learning opportunities, across disciplines with themes ranging from geoscience, ecology, climate change, environmental physics, and sustainability, across Canada and internationally. The course entails a 7-10- day field camp with destinations potentially changing yearly, that prioritizes environmental skills including environmental data collection, in-field interpretation of environmental patterns and processes, and science communication.",EESB15H3 and [an additional 0.5 B-level credit in EES courses],Permission of the instructors.,,Field Camp I,,,3rd year +EESC18H3,NAT_SCI,,"North America is endowed with eight of the twelve largest lakes in the world. The origin and geological history, cycles of carbon, nitrogen and phosphorus, and structures of ecosystems of the North American Great Lakes will be used as examples of large lacustrine systems. Fundamental concepts of limnology will be related to features found in the Great Lakes. Topics include: lake origins, lake classification, lake temperature structure and heat budgets, seasonal water circulations, productivity, plankton ecology, food-web dynamics, exotic species invasions, eutrophication-related phenomena and water quality/fisheries management. Specific anthropogenic influences will be illustrated using case studies from the local environment, and students will be allowed to pursue their own interests through a series of short seminars.",EESB02H3,EESB03H3,,Limnology,,,3rd year +EESC19H3,NAT_SCI,,"The world's oceans constitute more than 70% of the earth's surface environments. This course will introduce students to the dynamics of ocean environments, ranging from the deep ocean basins to marginal seas to the coastal ocean. The large-scale water circulation is examined from an observationally based water mass analysis and from a theoretical hydro-dynamical framework. The circulation of marginal seas, the role of tides, waves and other currents are studied in terms of their effects upon the coastal boundary.",EESB02H3,EESB03H3,,Oceanography,,,3rd year +EESC20H3,NAT_SCI,,"The course will cover fundamental aspects of chemical processes occurring at the Earth's surface. Terrestrial and aquatic geochemical processes such as: mineral formation and dissolution, redox, aqueous-solid phase interactions, stable isotopes, and organic geochemistry in the environment will be covered.",,CHMA10H3 and CHMA11H3 and EESB15H3,"(EESD32H3), CHM210H, GLG202H, GLG351H",Geochemistry,,,3rd year +EESC22H3,NAT_SCI,,"The course will provide a general introduction to the most important methods of geophysical exploration. Topics covered will include physical principles, methodology, interpretational procedures and field application of various geophysical survey methods. Concepts/methods used to determine the distribution of physical properties at depths that reflect the local surface geology will be discussed.",EESB20H3,EESB15H3 and PHYA21H3,"(EESB21H3), JGA305",Exploration Geophysics,,,3rd year +EESC24H3,,University-Based Experience,An advanced supervised readings course that can be taken in any session. Students will follow structured independent readings in any area of Environmental Science. A description of the objectives and scope of the individual offering must be approved by the Supervisor of Studies. Two papers are required in the course; the supervisor and one other faculty member will grade them. The course may not be used as a substitute for EES Program requirements.,,"A minimum CGPA of 2.5, and 3.0 credits in EES and/or EST courses. Permission of the Supervisor of Studies.",,Advanced Readings in Environmental Science,,,3rd year +EESC25H3,NAT_SCI,Partnership-Based Experience,"This course will focus on how urban areas modify the local environment, particularly the climates of cities. The physical basis of urban climatology will be examined considering the energy balance of urban surfaces. The urban heat island phenomenon and its modelling will be studied based on conceptual and applied urban-climate research. The impact of climate change on urban sectors such as urban energy systems, water and wastewater systems, and urban transportation and health systems will be examined through case studies. Students will have the opportunity to choose their own areas of interest to apply the knowledge they learn throughout the course and demonstrate their understanding in tutorial-based discussions. The students will be required to work with community or industry partners on a project to assess the impacts or urban climate change.",EESA09H3 or EESB03H3,"A minimum of 6.0 credits, including at least 2.0 credits in EES courses",,Urban Climatology,,,3rd year +EESC26H3,NAT_SCI,,"Seismology is the study of earthquakes and how seismic waves move through the Earth. Through application of geological and mathematical techniques, seismology can reveal the inner workings of the Earth and provide hazard analysis for tectonic events such as earthquakes, volcanic eruptions, and tsunamis. This course will outline the practical applications of seismology to real-world scenarios of academic research and human exploration, while highlighting cutting-edge technological advances. Topics covered include subsurface imaging and surveying, catastrophe modelling, Martian seismology, stress and strain principles, wave theory, data inversion, and data science applications on seismic data analysis.","EESB15H3, EESB26H3",[MATA36H3 or MATA37H3] and PHYA10H3,JPE493H1,Seismology and Seismic Methods,,,3rd year +EESC30H3,NAT_SCI,,"This course examines the diversity of microorganisms, their adaptations to special habitats, and their critical role in the ecosystems and biogeochemical cycles. The course covers microbial phylogeny, physiological diversity, species interactions and state of the art methods of detection and enumeration.",,CHMA10H3 and CHMA11H3 and BIOB50H3 and BIOB51H3,(BGYC55H3),Environmental Microbiology,,,3rd year +EESC31H3,NAT_SCI,Partnership-Based Experience,"The last 2.5 million years has seen the repeated formation of large continental ice sheets over North America and Europe. The course will review the geologic and geomorphologic record of past glacial and interglacial climates, the formation and flow of ice sheets , and modern day cold-climate processes in Canada's north. The course includes a one-day field trip to examine the glacial record of the GTA.",,EESA06H3 and EESB20H3,,Glacial Geology,,,3rd year +EESC33H3,NAT_SCI,University-Based Experience,"A field course on selected topics in aquatic environments. Aquatic environmental issues require careful field work to collect related hydrological, meteorological, biological and other environmental data. This hands-on course will teach students the necessary skills for fieldwork investigations on the interactions between air, water, and biota.",,1.5 full credits at the B-level or higher in EES and permission of instructor.,(EEB310H),Environmental Science Field Course,,,3rd year +EESC34H3,NAT_SCI,,"This course is intended for students who would like to apply theoretical principles of environmental sustainability learned in other courses to real-world problems. Students will identify a problem of interest related either to campus sustainability, a local NGO, or municipal, provincial, or federal government. Class meetings will consist of group discussions investigating key issues, potential solutions, and logistical matters to be considered for the implementation of proposed solutions. Students who choose campus issues will also have the potential to actually implement their solutions. Grades will be based on participation in class discussions, as well as a final report and presentation. Same as ESTC34H3",,Any additional 9.5 credits,ESTC34H3,Sustainability in Practice,,,3rd year +EESC36H3,NAT_SCI,,"This course surveys the processes that produce the chemical and mineralogical diversity of igneous, sedimentary, and metamorphic rocks including: the distribution, chemical and mineral compositions of rocks of the mantel and crust, their physical properties, and their relation to geological environments. Descriptive petrology for various rocks will also be covered.",EESB15H3,EESB19H3 or (EESC35H3),"(EESC32H3), GLG207H, ERS203H",Petrology,,Students who do not have the prerequisites will be removed from the course. Priority will be given to students in Year 4 of their program.,3rd year +EESC37H3,NAT_SCI,Partnership-Based Experience,"The course introduces mechanics of rock deformation. It examines identification, interpretation, and mechanics of faults, folds, and structural features of sedimentary, igneous and metamorphic rocks as well as global, regional and local scale structural geology and tectonics. Lectures are supplemented by lab exercises and demonstrations as well as local field trips.",,[PHYA10H3 or PHYA11H3] and EESB15H3 and EESB20H3,"GLG345H, ESS241H",Structural Geology,,Students who do not have the prerequisites will be removed from the course. Priority will be given to students enrolled in the Specialist Program in Environmental Geoscience. Additional students will be admitted as space permits.,3rd year +EESC38H3,NAT_SCI,,"“The Anthropocene” is a term that now frames wide-ranging scientific and cultural debates and research, surrounding how humans have fundamentally altered Earth’s biotic and abiotic environment. This course explores the scientific basis of the Anthropocene, with a focus on how anthropogenic alterations to Earth’s atmosphere, biosphere, cryosphere, lithosphere, and hydrosphere, have shifted Earth into a novel geological epoch. Students in this course will also discuss and debate how accepting the Anthropocene hypothesis, entails a fundamental shift in how humans view and manage the natural world. Same as ESTC38H3",,"ESTB01H3 and [1.0 credit from the following: EESB03H3, EESB04H3 and EESB05H3]",ESTC38H3,The Anthropocene,,,3rd year +EESD02H3,NAT_SCI,,"Natural hydrochemical processes; the use of major ions, minor ions, trace metals and environmental isotopes in studying the occurrence and nature of ground water flow. Point and non-point sources of ground water contamination and the mechanisms of contaminant transport.",,At least 1 full credit in Environmental Science at the C-level.,,Contaminant Hydrogeology,,,4th year +EESD06H3,NAT_SCI,,Climate change over the last 150 years is reviewed by examining the climate record using both direct measurements and proxy data. Projection of future climate is reviewed using the results of sophisticated climate modeling. The climate change impact assessment formalism is introduced and applied to several examples. Students will acquire practical experience in climate change impact assessment through case studies.,,EESB03H3,,Climate Change Impact Assessment,,,4th year +EESD07H3,NAT_SCI,University-Based Experience,"Experiential learning is a critical element of applied environmental science. Hands-on experience in observing, documenting, and quantifying environmental phenomenon, patterns, and processes unlocks a deeper understanding and curiosity of the natural world, and prepares students for careers in the environment. This advanced field camp course explores applied scientific themes across geoscience, climate science, ecology, hydrology, environmental physics, and sustainability, while emphasizing student-led scientific enquiry and projects. Over a 7-10-day field camp in locations in Canada and abroad, students will develop a deep inquiry- based understanding and appreciation of the natural world, by immersing themselves in some of Earth’s most captivating environments.",,EESC16H3 and permission of the instructors,,Field Camp II,,,4th year +EESD09H3,,University-Based Experience,"This course entails the design, implementation, and reporting of an independent and substantial research project, under the direct supervision of a faculty member. Research may involve laboratory, fieldwork, and/or computer-based analyses, with the final products being presented primarily as a written thesis, although other course work, such as oral presentations of student research, may also be required. All areas of environmental science research that are supported by existing faculty members are permissible. The course should be undertaken after the end of the 3rd Year, and is subject to faculty availability. Faculty permission and supervision is required.",PSCB90H3 and EESC24H3,Permission of the course coordinator.,EESD10Y3,Research Project in Environmental Science,,"Students must apply to the course coordinator for admission into this course. Applications must be received by: (i) the end of August for enrolment in the fall semester; (ii) the end of December for enrolment in the spring semester; or (iii) the end of April for enrolment in the summer semester. Applications should consist of a completed 1-page application form (available from the course instructor) that includes: 1. Student name, number, academic program, and current year of study; 2. A note of intent indicating the student's wish to enrol in EESD09H3; 3. A brief description of the projects of interest to the student; 4. A list of relevant courses successfully completed by the student, as well as any relevant courses to be taken during the concurrent session; 5. The confirmed name of the supervising professor, the date and method in which confirmation of their willingness to supervise was received (i.e., this must determined ahead of time, through personal correspondence with a professor). Generally, only students meeting the following requirements will be admitted to EESD09H3: 1. A Cumulative Grade Point Average of 2.5 or higher; 2. Completion of at least 12.0 full credits (see point 4 below); 3. Completion of at least 1.5 full credits of C-level environmental science courses (see point 4 below); 4. For students in the Specialist/Specialist Co-op programs Environmental Physics, completion of Year 3 and completion of at least 1.0 C-level PHY courses. Students who do not meet these criteria are strongly encouraged to consider enrolment in PSCB90H3 and/ or EESC24H3 as an alternative to EESD09H3. Once the course coordinator (or designate) has approved enrolment to EESD09H3, they will sign the course enrolment form for submission to the registrar. Note that the course coordinator (or designate) is the only one permitted to give ""permission of instructor"" on this form.",4th year +EESD10Y3,,University-Based Experience,"This course entails the design, implementation, and reporting of an independent and substantial research project, under the direct supervision of a faculty member. Research may involve laboratory, fieldwork, and/or computer-based analyses, with the final products being presented primarily as a written thesis, though other course work, such as oral presentations of student research, may also be required. All areas of environmental science research that are supported by existing faculty members are permissible. The course should be undertaken after the end of the 3rd Year, and is subject to faculty availability. Faculty permission and supervision is required.",PSCB90H3 and EESC24H3,Permission of the course coordinator.,EESD09H3,Research Project in Environmental Science,,"Students must apply to the course coordinator for admission into this course. Applications must be received by the end of August for enrolment in the fall semester. Applications should consist of a completed 1-page application form (available from the course instructor) that includes: 1. Student name, number, academic program, and current year of study; 2. A note of intent indicating the student's wish to enrol in EESD10Y3; 3. A brief description of the projects of interest to the student; 4. A list of relevant courses successfully completed by the student, as well as any relevant courses to be taken during the concurrent session; 5. The confirmed name of the supervising professor, the date and method in which confirmation of their willingness to supervise was received (i.e., this must determined ahead of time, through personal correspondence with a professor). Generally, only students meeting the following requirements will be admitted to EESD10Y3: 1. A Cumulative Grade Point Average of 2.5 or higher; 2. Completion of at least 12.0 full credits (see point 4 below); 3. Completion of at least 1.5 full credits of C-level environmental science courses (see point 4 below); 4. For students in the Specialist/Specialist Co-op programs in Environmental Physics, completion of Year 3 and completion of at least 1.0 C-level PHY courses. Students who do not meet these criteria, are strongly encouraged to consider enrolment in PSCB90H3 and/ or EESC24H3 as an alternative to EESD10Y3. Once the course coordinator (or designate) has approved enrolment to EESD10Y3, they will sign the course enrolment form for submission to the registrar. Note that the course coordinator (or designate) is the only one permitted to give ""permission of instructor"" on this form.",4th year +EESD11H3,NAT_SCI,,"The motion of water at the hill slope and drainage basin scales. The relationship between surface and subsurface hydrological processes. Soil hydrologic processes emphasizing infiltration. Stream flow generation mechanisms, hydrometric and isotopic research methods. Problems of physically based and empirical modelling of hydrological processes. Snowmelt energetics and modelling.",,EESB04H3,,Advanced Watershed Hydrology,,,4th year +EESD13H3,NAT_SCI,,"This course reviews the laws and policies governing the management of natural resources in Canada. It examines the role of law and how it can it can work most effectively with science, economics and politics to tackle environmental problems such as climate change, conservation, and urban sprawl at domestic and international scales.",EESA10H3 and EESA11H3 and EESC13H3,Students must have completed at least 15.0 credits,LAW239H,"Environmental Law, Policy and Ethics",,Priority will be given to students enrolled in the Specialist and Major programs in Environmental Science. Additional students will be admitted as space permits.,4th year +EESD15H3,NAT_SCI,,"This course consists of a study of the ways in which hazardous organic and inorganic materials can be removed or attenuated in natural systems. The theory behind various technologies, with an emphasis on bioremediation techniques and their success in practice. An introduction to the unique challenges associated with the remediation of surface and ground water environments, soils, marine systems, and contaminated sediments.",,BIOA01H3 and BIOA02H3 and CHMA10H3 and CHMA11H3 and [PHYA10H3 or PHYA11H3],,Fundamentals of Site Remediation,,,4th year +EESD16H3,NAT_SCI,,"Students will select a research problem in an area of special interest. Supervision will be provided by a faculty member with active research in geography, ecology, natural resource management, environmental biology, or geosciences as represented within the departments. Project implementation, project monitoring and evaluation will form the core elements for this course. Same as ESTD16H3",,At least 14.5 credits,ESTD16H3,Project Management in Environmental Studies,,,4th year +EESD17Y3,NAT_SCI,University-Based Experience,"This course is designed to provide a strong interdisciplinary focus on specific environmental problems including the socioeconomic context in which environmental issues are resolved. The cohort capstone course is in 2 consecutive semesters, providing final year students the opportunity to work in a team, as environmental researchers and consultants, combining knowledge and skill-sets acquired in earlier courses. Group research to local environmental problems and exposure to critical environmental policy issues will be the focal point of the course. Students will attend preliminary meetings schedules in the Fall semester. Same as ESTD17Y3",,At least 14.5 credits,ESTD17Y3,Cohort Capstone Course in Environmental Studies,,,4th year +EESD18H3,NAT_SCI,,"This course will be organized around the DPES seminar series, presenting guest lecturers around interdisciplinary environmental themes. Students will analyze major environmental themes and prepare presentations for in-class debate. Same as ESTD18H3",,At least 14.5 credits,ESTD18H3,Environmental Studies Seminar Series,,,4th year +EESD19H3,NAT_SCI,Partnership-Based Experience,"This course consists of 12 lectures given by senior industry professionals to prepare students for a post-graduate career in environmental consulting. Lectures will convey the full range of consulting activities, including visits to environmental investigation sites in the Toronto area. Technical writing and oral communication skills will be stressed in assignments.",,Students must be enrolled in the 4th year of their Environmental Science Program.,,Professional Development Seminars in Geoscience,,,4th year +EESD20H3,NAT_SCI,Partnership-Based Experience,"This course reviews the geological and environmental evolution of the North American continent over the past 4 billion years by exploring the range of plate tectonics involved in continental growth and how those processes continue today. It will explore major changes in terrestrial and marine environments through geologic time and associated organisms and natural resources of economic importance, and will conclude with an examination of recent human anthropogenic influences on our environment especially in regard to urban areas and associated problems of waste management, resource extraction, geological hazards, and the impacts of urbanization on watersheds and water resources. The course will include a weekend field trip to examine the geology and urban environmental problems of The Greater Toronto Area. It provides students in environmental science with a fundamental knowledge of the importance of environmental change on various timescales and the various field methods used to assess such changes.",,"15.0 credits, including at least 4.0 credits at the C- or D-level",(EESC21H3),Geological Evolution and Environmental History of North America,,,4th year +EESD21H3,QUANT,,"This course offers an advanced introduction to geophysical data analysis. It is intended for upper-level undergraduate students and graduate students interested in data analysis and statistics in the geophysical sciences and is mainly laboratory (computer) based. The goal is to provide an understanding of the theory underlying the statistical analysis of geophysical data, in space, time and spectral domains and to provide the tools to undertake this statistical analysis. Important statistical techniques such as regression, correlation and spectral analysis of time series will be explored with a focus on hypothesis formulation and interpretation of the analysis. Multivariate approaches will also be introduced. Although some previous knowledge of probability and statistics will be helpful, a review will be provided at the beginning of the course. Concepts and notation will be introduced, as needed. Jointly offered with EES1132H.",,[MATA21H3 or MATA35H3 or MATA36H3] and PHYB57H3/(PSCB57H3) and STAB22H3,EES1132H,Geophysical and Climate Data Analysis,,Graduate students enrolled in the Master of Environmental Science or in a Ph.D. program in DPES have enrollment priority as EESD21H3 it is a partner course for an existing graduate course EES1132H.,4th year +EESD28H3,NAT_SCI,,"This course introduces the rapidly growing field of environmental and earth system modelling. Emphasis will be placed on the rationale of model development, the objective of model evaluation and validation, and the extraction of the optimal complexity from complicated/intertwined environmental processes. By focusing on the intersections between climate change and ecological systems, students will develop the ability to integrate information from a variety of disciplines, including geosciences, biology, ecology, chemistry, and other areas of interest. The course will also involve practical training in the computer lab. Students will develop an intermediate complexity mathematical model, calibrate the model and assess the goodness-of-fit against observed data, identify the most influential model parameters (sensitivity analysis), and present their results. Jointly offered with EES1118H",,"[MATA30H3 and STAB22H3 (or equivalent)] and [an additional 6.0 credits, including at least 0.5 credit at the C-level in EES courses]",EES1118H,Fundamentals of Environmental Modelling,,,4th year +EESD31H3,NAT_SCI,,"This course will introduce and discuss the basic topics and tools of applied climatology, and how its concepts can be used in everyday planning and operations (e.g. in transportation, agriculture, resource management, health and energy). The course involves the study of the application of climatic processes and the reciprocal interaction between climate and human activities. Students will also learn the methods of analyzing and interpreting meteorological and climatological data in a variety of applied contexts. Topics include: Solar Energy; Synoptic Climatology and Meteorology; Climate and Agriculture; Climate and Energy; Climate and Human Comfort; Urban Effects on Climate and Air Pollution. Jointly offered with EES1131H",,"STAB22H3 and EESB03H3 and [an additional 1.0 credit in EES courses, of which 0.5 credit must be at the C-level]",EES1131H,Applied Climatology,,,4th year +EESD33H3,NAT_SCI,University-Based Experience,"This course consists of a series of modules designed for students to gain practical skills necessary to investigate and characterize complex environmental systems. Field projects will allow students to collect scientific data that they will use to interpret the geology, hydrogeology, and chemistry of natural and anthropogenic environments.",,EESB02H3 and EESC07H3,"EES330H, GGR390H, GGR379H",Field Techniques,,Priority will be given to students enrolled in the Specialist/Specialist Co-op programs in Environmental Science.,4th year +ENGA01H3,ART_LIT_LANG,,"This course introduces the fundamentals of studying English at the university level, and builds the skills needed to successfully navigate English degree programs as well as a liberal arts education more broadly. Students will learn how to read texts closely and think critically; they will practice presenting their ideas in a clear, supported way; they will be exposed to a variety of texts in different forms and genres; and they will gain a working familiarity with in-discipline terminology and methodologies. Moreover, the course is an opportunity to explore the power exercised by literature on all levels of society, from the individual and personal to the political and global.",,,"ENG110Y, (ENGB03H3)",What Is Literature?,,,1st year +ENGA02H3,ART_LIT_LANG,,"This is a writing-focused, workshop-based course that provides training in critical writing about literature at the university level. Throughout the term, students will examine and develop fundamental writing skills (close reading, critical analysis, organization, argumentation, and research). Specifically, this course aims to equip students with the practical tools and confidence to consult different academic writing styles, develop thesis-driven analyses, and produce short thesis-driven papers. The course will also provide overview of library research methods, MLA-style citation guidelines, and strategies for improving the craft of writing itself (grammar and style). While this course focuses on critical writing about fiction, it will also help students develop a set of transferrable skills that may be applied to various academic and professional settings. English A02 is not a language course. All students entering the course are expected to have a basic grasp of the conventions of academic writing.",,,(ENGB05H3),Critical Writing about Literature,,,1st year +ENGA03H3,ART_LIT_LANG,,"An introduction to the fundamentals of creative writing, both as practice and as a profession. Students will engage in reading, analyzing, and creating writing in multiple genres, including fiction, poetry, nonfiction, and drama.",,High school English or Creative Writing,ENG289H1,Introduction to Creative Writing,,"Priority will be given to students who have declared, or are considering, a Major or Minor program in Creative Writing.",1st year +ENGA10H3,ART_LIT_LANG,,An exploration of how literature and film reflect the artistic and cultural concerns that shaped the twentieth century.,,,ENG140Y,Literature and Film for Our Time: Visions and Revisions,,,1st year +ENGA11H3,ART_LIT_LANG,,"Building on ENGA10H3, this course considers how literature and film responds to the artistic, cultural, and technological changes of the late twentieth and twenty-first centuries.",,,ENG140Y,Literature and Film for Our Time: Dawn of the Digital,,,1st year +ENGB01H3,ART_LIT_LANG,,"This course introduces students to a diverse selection of writing by Indigenous authors (primarily Canadian) from Turtle Island, including novels, poetry, drama, essays, oratory, and autobiography. Discussion of literature is grounded in Indigenous literary criticism, which addresses such issues as appropriation of voice, language, land, spirituality, orality, colonialism, gender, hybridity, authenticity, resistance, sovereignty, and anti-racism. Indigenous Literatures of Turtle Island course",ENGA01H3 and ENGA02H3,Any 6.0 credits,(ENGC01H3),Introduction to Indigenous Literatures of Turtle Island,,,2nd year +ENGB02H3,ART_LIT_LANG,,"This course will provide science students with practical strategies, detailed instructions, and cumulative assignments to help them hone their ability to write clear, coherent, well- reasoned prose for academic and professional purposes. Topics will include scientific journal article formats and standards, peer-review, and rhetorical analysis (of both scientific and lay-science documents).",,,PCL285H,Effective Writing in the Sciences,,Priority will be given to students enrolled in science programs. Additional students will be admitted as space permits.,2nd year +ENGB04H3,ART_LIT_LANG,,"An introduction to the understanding of poetry in English. By close reading of a wide range of poems from a variety of traditions, students will learn how poets use the resources of patterned language to communicate with readers in uniquely rich and powerful ways.",,,ENG201Y,How to Read a Poem,,,2nd year +ENGB06H3,ART_LIT_LANG,,"A study of Canadian literature from pre-contact to 1900. This course explores the literatures of the ""contact zone"", from Indigenous oral and orature, to European journals of exploration and discovery, to the works of pioneer settlers, to the writing of the post-Confederation period. Pre-1900 course",,,ENG252Y,Canadian Literature to 1900,,,2nd year +ENGB07H3,ART_LIT_LANG,,"A continuation of ENGB06H3 introducing students to texts written from 1900 to the present. Focusing on the development of Canada as an imagined national community, this course explores the challenges of imagining an ethical national community in the context of Canada's ongoing colonial legacy: its multiculturalism; Indigenous and Quebec nationalisms; and recent diasporic and transnational reimaginings of the nation and national belonging.",,,ENG252Y,Canadian Literature 1900 to Present,,,2nd year +ENGB08H3,ART_LIT_LANG,,"An examination of Early American literature in historical context from colonization to the Civil War. This introductory survey places a wide variety of genres including conquest and captivity narratives, theological tracts, sermons, and diaries, as well as classic novels and poems in relation to the multiple subcultures of the period. Pre-1900 course",,,ENG250Y,American Literature to 1860,,,2nd year +ENGB09H3,ART_LIT_LANG,,"An introductory survey of major novels, short fiction, poetry, and drama produced in the aftermath of the American Civil War. Exploring texts ranging from The Adventures of Huckleberry Finn to Rita Dove's Thomas and Beulah, this course will consider themes of immigration, ethnicity, modernization, individualism, class, and community.",,,ENG250Y,American Literature from the Civil War to the Present,,,2nd year +ENGB12H3,ART_LIT_LANG,,"Life-writing, whether formal biography, chatty memoir, postmodern biotext, or published personal journal, is popular with writers and readers alike. This course introduces students to life-writing as a literary genre and explores major issues such as life-writing and fiction, life-writing and history, the contract between writer and reader, and gender and life- writing.",,,ENG232H,Life Writing,,,2nd year +ENGB14H3,ART_LIT_LANG,,"A study of major plays and playwrights of the twentieth century. This international survey might include turn-of-the- century works by Wilde or Shaw; mid-century drama by Beckett, O'Neill, Albee, or Miller; and later twentieth-century plays by Harold Pinter, Tom Stoppard, Caryl Churchill, Peter Shaffer, August Wilson, Tomson Highway, David Hwang, or Athol Fugard.",,,"ENG340H, ENG341H, (ENG342H), (ENGB11H3), (ENGB13H3), (ENG338Y), (ENG339H)",Twentieth-Century Drama,,,2nd year +ENGB17H3,ART_LIT_LANG,,"A study of fiction, drama, and poetry from the West Indies. The course will examine the relation of standard English to the spoken language; the problem of narrating a history of slavery and colonialism; the issues of race, gender, and nation; and the task of making West Indian literary forms.",,,"ENG264H, ENG270Y, (NEW223Y), (ENG253Y)",Contemporary Literature from the Caribbean,,,2nd year +ENGB19H3,ART_LIT_LANG,,"A study of literature in English from South Asia, with emphasis on fiction from India. The course will examine the relation of English-language writing to indigenous South Asian traditions, the problem of narrating a history of colonialism and Partition, and the task of transforming the traditional novel for the South Asian context.",,,"ENG270Y, (ENG253Y)",Contemporary Literature from South Asia,,,2nd year +ENGB22H3,ART_LIT_LANG,,"A study of fiction, drama, and poetry from English-speaking Africa. The course will examine the relation of English- language writing to indigenous languages, to orality, and to audience, as well as the issues of creating art in a world of suffering and of de-colonizing the narrative of history.",,,"(ENGC72H3), ENG278Y",Contemporary Literature from Africa,,,2nd year +ENGB25H3,ART_LIT_LANG,Partnership-Based Experience,"A study of the Canadian short story. This course traces the development of the Canadian short story, examining narrative techniques, thematic concerns, and innovations that captivate writers and readers alike.",,,ENG215H,The Canadian Short Story,,,2nd year +ENGB26H3,ART_LIT_LANG,,"A study of Dante’s Inferno and its influence on later art and literature. Inferno describes a journey through the nine circles of hell, where figures from history, myth, and literature undergo elaborate punishments. Dante’s poem has inspired writers and artists since its composition, from Jorge Luis Borges to Gloria Naylor to Neil Gaiman. In this course, we will read Inferno together with a selection of 19th, 20th, and 21st century works based on Dante. Throughout, we will explore how Dante’s poem informs and inspires poetic creativity, social commentary, and political critique. No prior knowledge of Dante or Inferno is necessary; we will encounter the text together. Pre-1900 course.",,,,Inferno,,,2nd year +ENGB27H3,ART_LIT_LANG,,"An introduction to the historical and cultural developments that have shaped the study of literature in English before 1700. Focusing on the medieval, early modern, and Restoration periods, this course will examine the notions of literary history and the literary “canon” and explore how contemporary critical approaches impact our readings of literature in English in specific historical and cultural settings. Pre-1900 course",,,ENG202Y,Charting Literary History I,,,2nd year +ENGB28H3,ART_LIT_LANG,,"An introduction to the historical and cultural developments that have impacted the study of literature in English from 1700 to our contemporary moment. This course will familiarize students with the eighteenth century, Romanticism, the Victorian period, Modernism, and Postmodernism, and will attend to the significance of postcolonial and world literatures in shaping the notions of literary history and the literary “canon.” Pre-1900 course",ENGB27H3,,,Charting Literary History II,,,2nd year +ENGB29H3,ART_LIT_LANG,,"The history of Shakespeare and (on) film is long, illustrious— and prolific: there have been at least 400 film and television adaptations and appropriations of Shakespeare over the past 120 years, from all over the world. But how and why do different film versions adapt Shakespeare? What are the implications of transposing a play by Shakespeare to a different country, era, or even language? What might these films reveal, illuminate, underscore, or re-imagine about Shakespeare, and why? In this course, we will explore several different Shakespearean adaptations together with the plays they adapt or appropriate. We will think carefully about the politics of adaptation and appropriation; about the global contexts and place of Shakespeare; and about the role of race, gender, sexuality, disability, empire and colonialism in our reception of Shakespeare on, and in, film. Pre-1900 course.",,ENGA10H3 or ENGA11H3 or (ENGB70H3) or FLMA70H3,,Shakespeare and Film,,,2nd year +ENGB30H3,ART_LIT_LANG,,The goal of this course is to familiarize students with Greek and Latin mythology. Readings will include classical materials as well as important literary texts in English that retell classical myths. Pre-1900 Course,,,"(ENGC58H3), (ENGC60H3), (ENGC61H3)",Classical Myth and Literature,,,2nd year +ENGB31H3,ART_LIT_LANG,,"A study of the romance a genre whose episodic tale of marvellous adventures and questing heroes have been both criticized and celebrated. This course looks at the range of a form stretching from Malory and Spenser through Scott and Tennyson to contemporary forms such as fantasy, science fiction, postmodern romance, and the romance novel. Pre-1900 course",,,,The Romance: In Quest of the Marvelous,,,2nd year +ENGB32H3,ART_LIT_LANG,,"An introduction to the poetry and plays of William Shakespeare, this course situates his works in the literary, social and political contexts of early modern England. The main emphasis will be on close readings of Shakespeare's sonnets and plays, to be supplemented by classical, medieval, and renaissance prose and poetry upon which Shakespeare drew. Pre-1900 course.",,,"ENG220Y, (ENGB10H3)",Shakespeare in Context I,,,2nd year +ENGB33H3,ART_LIT_LANG,,"A continuation of ENGB32H3, this course introduces students to selected dramatic comedies, tragedies and romances and situates Shakespeare's works in the literary, social and political contexts of early modern England. Our readings will be supplemented by studies of Shakespeare's sources and influences, short theoretical writings, and film excerpts. Pre-1900 course.",ENGB32H3,,"(ENGB10H3), ENG220Y",Shakespeare in Context II,,,2nd year +ENGB34H3,ART_LIT_LANG,,"An introduction to the short story as a literary form. This course examines the origins and recent development of the short story, its special appeal for writers and readers, and the particular effects it is able to produce.",,,ENG213H,The Short Story,,,2nd year +ENGB35H3,ART_LIT_LANG,,"An introduction to children's literature. This course will locate children's literature within the history of social attitudes to children and in terms of such topics as authorial creativity, race, class, gender, and nationhood. Pre-1900 course.",,,ENG234H,Children's Literature,,,2nd year +ENGB37H3,ART_LIT_LANG,,"This course considers the creation, marketing, and consumption of popular film and fiction. Genres studied might include bestsellers; detective fiction; mysteries, romance, and horror; fantasy and science fiction; ""chick lit""; popular song; pulp fiction and fanzines.",,,,Popular Literature and Mass Culture,,,2nd year +ENGB38H3,ART_LIT_LANG,,"A study of extended narratives in the comic book form. This course combines formal analysis of narrative artwork with an interrogation of social, political, and cultural issues in this popular literary form. Works to be studied may include graphic novels, comic book series, and comic book short story or poetry collections.",,,"ENG235H, (ENGC57H3)",The Graphic Novel,,,2nd year +ENGB39H3,ART_LIT_LANG,,"This course will explore Tolkien's writing, including selections from the Lord of the Rings trilogy, together with the medieval poetry that inspired it. We will consider how the encounter with medieval literature shapes Tolkien’s attitudes toward themes including ecology, race, gender, and history. Pre-1900 course.",,,,Tolkien's Middle Ages,,,2nd year +ENGB50H3,ART_LIT_LANG,,"An examination of the development of a tradition of women's writing. This course explores the legacy and impact of writers such as Christine de Pizan, Julian of Norwich, Mary Wollstonecraft, Anne Bradstreet, Margaret Cavendish, Jane Austen, Mary Shelley, Emily Dickinson, and Margaret Fuller, and considers how writing by women has challenged and continues to transform the English literary canon. Pre-1900 course",,,(ENG233Y),Women and Literature: Forging a Tradition,,,2nd year +ENGB52H3,ART_LIT_LANG,,"An exploration of the many intersections between the worlds of literature and science. The focus will be on classic and contemporary works of fiction, non-fiction, poetry and drama that have illuminated, borrowed from or been inspired by the major discoveries and growing cultural significance of the scientific enterprise.",,,,Literature and Science,,,2nd year +ENGB60H3,ART_LIT_LANG,Partnership-Based Experience,"A focused introduction to the writing of poetry. This course will enable students to explore the writing of poetry through reading, discussion, and workshop sessions.",,ENGA03H3 and enrolment in the Major or Minor program in Creative Writing,(ENG369Y),Creative Writing: Poetry I,,,2nd year +ENGB61H3,ART_LIT_LANG,Partnership-Based Experience,"A focused introduction to the writing of fiction. This course will enable students to explore the writing of short fiction through reading, discussion, and workshop sessions.",,ENGA03H3 and enrolment in the Major or Minor program in Creative Writing,(ENG369Y),Creative Writing: Fiction I,,,2nd year +ENGB63H3,ART_LIT_LANG,Partnership-Based Experience,"A focused introduction to the writing of creative non-fiction. This course will enable students to explore the writing of creative non-fiction through reading, discussion, and workshop sessions.",,ENGA03H3 and enrolment in the Major or Minor program in Creative Writing,,Creative Writing: Creative Nonfiction I,,,2nd year +ENGB72H3,ART_LIT_LANG,,"Building on the fundamental critical writing skills students have already mastered in English A02, English B72 is designed to advance students' critical thinking and writing skills in response to a wide range of literary texts and genres. In this context, students will learn how to compose, develop, and organize sophisticated arguments; how to integrate and engage with critical sources; and how to polish their writing craft. Ultimately, students will become more confident in their writing voices and growing abilities.",,ENGA02H3,,Advanced Critical Writing about Literature,,,2nd year +ENGB74H3,ART_LIT_LANG,,"An interdisciplinary exploration of the body in art, film, photography, narrative and popular culture. This course will consider how bodies are written or visualized as ""feminine"" or ""masculine"", as heroic, as representing normality or perversity, beauty or monstrosity, legitimacy or illegitimacy, nature or culture.",,,"(VPAC47H3), (VPHC47H3), (ENGC76H3)",The Body in Literature and Film,,,2nd year +ENGB78H3,ART_LIT_LANG,,"Digitized Literature to Born-Digital Works This course explores the creative, interpretive, social, and political effects of our interactions and experiments with digital forms of literature: novels, short stories, plays, and poems, but also video games, online fan fiction, social media posts, and other texts typically excluded from the category of the ""literary."" The course attends both to texts written before the digital turn and later digitized, as well as to ""born-digital"" texts. It surveys the history of shifts within the media landscape - from oral to written, from manuscript to print, from print to digital. Over the course of the semesters, we will explore a variety of questions about digital literary culture, including: How does a text's medium - oral, manuscript, print and/or digital - affect its production, transmission, and reception? How do writers harness, narrate, and depict the use of digital technologies? How does digital textuality challenge earlier conceptions of ""literature""? How does digitization shape our work as readers and critics? By reading ""traditional"" literary forms alongside newer ones, we will investigate how the digital age impacts literature, and how literature helps us grapple with the implications of our digitized world.",,,"ENG287H1, ENG381H5",The Digital Text: From,,,2nd year +ENGC02H3,ART_LIT_LANG,,An examination of three or more Canadian writers. This course will draw together selected major writers of Canadian fiction or of other forms. Topics vary from year to year and might include a focused study of major women writers; major racialized and ethnicized writers such as African-Canadian or Indigenous writers; major writers of a particular regional or urban location or of a specific literary period.,ENGA01H3 and ENGA02H3,Any 6.0 credits,,Major Canadian Authors,,,3rd year +ENGC03H3,ART_LIT_LANG,,"An analysis of Canadian fiction with regard to the problems of representation. Topics considered may include how Canadian fiction writers have responded to and documented the local; social rupture and historical trauma; and the problematics of representation for marginalized societies, groups, and identities.",ENGA01H3 and ENGA02H3,Any 6.0 credits,"ENG353Y, (ENG216Y)",Topics in Canadian Fiction,,,3rd year +ENGC04H3,ART_LIT_LANG,Partnership-Based Experience,"An introduction to the craft of screenwriting undertaken through discussions, readings, and workshop sessions.",,ENGB61H3,,Creative Writing: Screenwriting,,,3rd year +ENGC05H3,ART_LIT_LANG,,"This course is a creative investigation into how, through experimentation, we can change poetry, and how, through poetry, we can change the world. Our explorations are undertaken through writing assignments, discussions, readings, and workshop sessions.",,ENGB60H3,,"Creative Writing: Poetry, Experimentation, and Activism",,,3rd year +ENGC06H3,ART_LIT_LANG,,"An introduction to the writing of comics undertaken through discussions, readings, and workshop sessions.",,ENGB61H3,,Creative Writing: Writing for Comics,,,3rd year +ENGC07H3,ART_LIT_LANG,,"A study of major Canadian playwrights with an emphasis on the creation of a national theatre, distinctive themes that emerge, and their relation to regional and national concerns. This course explores the perspectives of Québécois, feminist, Native, queer, ethnic, and Black playwrights who have shaped Canadian theatre.",ENGA01H3 or ENGA02H3,Any 6.0 credits or [THRB20H3/(VPDB10H3) and THRB21H3/(VPDB11H3)],"ENG352H, (ENG223H)",Canadian Drama,,,3rd year +ENGC08H3,ART_LIT_LANG,,"This multi-genre creative writing course, designed around a specific theme or topic, will encourage interdisciplinary practice, experiential adventuring, and rigorous theoretical reflection through readings, exercises, field trips, projects, etc.",,ENGB60H3 or ENGB61H3,,Special Topics in Creative Writing I,,,3rd year +ENGC09H3,ART_LIT_LANG,,"A study of contemporary Canadian poetry in English, with a changing emphasis on the poetry of particular time-periods, regions, and communities. Discussion will focus on the ways poetic form achieves meaning and opens up new strategies for thinking critically about the important social and political issues of our world.",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG354Y,Canadian Poetry,,,3rd year +ENGC10H3,ART_LIT_LANG,,An in-depth study of selected plays from Shakespeare's dramatic corpus combined with an introduction to the critical debates within Shakespeare studies. Students will gain a richer understanding of Shakespeare's texts and their critical reception. Pre-1900 course,[ENGA01H3 and ENGA02H3 and ENGB27H3] or ENGB32H3 or ENGB33H3,Any 6.0 credits,ENG336H,Studies in Shakespeare,,,3rd year +ENGC11H3,ART_LIT_LANG,,"Poetry is often seen as distant from daily life. We will instead see how poetry is crucial in popular culture, which in turn impacts poetry. We will read such popular poets as Ginsberg and Plath, look at poetry in film, and consider song lyrics as a form of popular poetry.",ENGA01H3 and ENGA02H3,Any 6.0 credits,(ENGA18H3),Poetry and Popular Culture,,,3rd year +ENGC12H3,ART_LIT_LANG,,"An exploration of the tension in American literature between two conflicting concepts of self. We will examine the influence on American literature of the opposition between an abstract, ""rights-based,"" liberal-individualist conception of the self and a more traditional, communitarian sense of the self as determined by inherited regional, familial, and social bonds.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,Individualism and Community in American Literature,,,3rd year +ENGC13H3,ART_LIT_LANG,,"A survey of the literature of Native Peoples, Africans, Irish, Jews, Italians, Latinos, and South and East Asians in the U.S, focusing on one or two groups each term. We will look at how writers of each group register the affective costs of the transition from ""old-world"" communalism to ""new-world"" individualism.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,Ethnic Traditions in American Literature,,,3rd year +ENGC14H3,ART_LIT_LANG,,"A study of the diverse and vibrant forms of literary expression that give voice to the Black experience in Canada, with changing emphasis on authors, time periods, Black geographies, politics and aesthetics. The range of genres considered may include the slave narrative, memoir, historical novel, Afrofuturism and “retrospeculative” fiction, poetry, drama, as well as the performance cultures of spoken word, dub, rap, DJing and turntablism.",ENGA01H3 and ENGA02H3 and ENGB06H3 and ENGB07H3,Any 6.0 credits,,Black Canadian Literature,,,3rd year +ENGC15H3,ART_LIT_LANG,,"A study of selected topics in literary criticism. Schools of criticism and critical methodologies such as New Criticism, structuralism, poststructuralism, Marxism, psychoanalysis, gender and sexuality studies, New Historicism, and postcolonialism will be covered, both to give students a roughly century-wide survey of the field and to provide them with a range of models applicable to their own critical work as writers and thinkers. Recommended for students planning to pursue graduate study in English literature.",ENGA01H3 and ENGA02H3,Any 6.0 credits,"ENG280H, (ENG267H)",Introduction to Theory and Criticism,,,3rd year +ENGC16H3,ART_LIT_LANG,,"A literary analysis of the Hebrew Bible (Christian Old Testament) and of texts that retell the stories of the Bible, including the Quran. We will study Biblical accounts of the creation, the fall of Adam and Eve, Noah's flood, Abraham's binding of Isaac, the Exodus from Egypt, and the Judges, Prophets, and Kings of Israel as works of literature in their own right, and we will study British, American, European, African, Caribbean, and Indigenous literary texts that, whether inspired by or reacting against Biblical narratives, retell them. Pre-1900 course.",ENGA01H3 and ENGA02H3,Any 6.0 credits,"(ENGB42H3), (ENG200Y)",The Bible and Literature I,,,3rd year +ENGC17H3,ART_LIT_LANG,,"A literary analysis of the New Testament and the ways that the stories of Jesus have been reworked in British, American, European, African, Caribbean, and Indigenous literature and visual art. The Gospels, the Acts of the Apostles, and the Book of Revelation will be considered as literature, and we will study later literary texts that, whether inspired by or reacting against Biblical narratives, retell them. Pre-1900 course.",ENGA01H3 and ENGA02H3,Any 6.0 credits,"(ENGB43H3), (ENG200Y)",The Bible and Literature II,,,3rd year +ENGC18H3,ART_LIT_LANG,,"Over the course of five centuries, European empires changed the face of every continent. The present world bears the traces of those empires in the form of nation-states, capitalism, population transfers, and the spread of European languages. We will consider how empire and resistance to empire have been imagined and narrated in a variety of texts.",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG270Y,Colonial and Postcolonial Literature,,,3rd year +ENGC19H3,ART_LIT_LANG,,"The world is increasingly interrelated - economically, digitally, and culturally. Migrants and capitalists move across borders. So do criminals and terrorists. Writers, too, travel between countries; novels and films are set in various locales. How have writers had to re-invent generic conventions to imagine the world beyond the nation and the new links among distant places?",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG370H,Transnational Literature,,,3rd year +ENGC20H3,ART_LIT_LANG,,"This course traces the evolution of the antihero trope from its earliest prototypes in pre- and early modern literature, through its Gothic and Byronic nineteenth-century incarnations, twentieth-century existentialists, noir and Beat protagonists, and up to the “difficult” men and women of contemporary film, television, and other media. We will examine the historical and cultural contexts that enabled the construction and enduring popularity of this literary archetype, particularly in relation to gender and sexuality, race, class, religion, and (post-)colonialism.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,The Antihero in Literature and Film,,,3rd year +ENGC21H3,ART_LIT_LANG,,"A study of major novels in the Victorian period. Authors studied might include Charles Dickens, the Bronte sisters, George Eliot, and Thomas Hardy. Central to the study of the novel in the period are concerns about social and political justice, historical awareness, personal perspective and narration, and the development of realism. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG324Y,The Victorian Novel,,,3rd year +ENGC22H3,ART_LIT_LANG,,"A study of popular fiction during the Victorian period. This course examines the nineteenth-century emergence of genres of mass-market fiction, which remain popular today, such as historical romance, mystery and detective fiction, imperial adventure, fantasy, and science fiction. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG324Y,Victorian Popular Fiction,,,3rd year +ENGC23H3,ART_LIT_LANG,,"A study of fantasy and the fantastic from 1800 to the present. Students will consider various theories of the fantastic in order to chart the complex genealogy of modern fantasy across a wide array of literary genres (fairy tales, poems, short stories, romances, and novels) and visual arts (painting, architecture, comics, and film).",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG239H,Fantasy and the Fantastic in Literature and the Other Arts,,Preference will be given to students enrolled in programs from the Department of English.,3rd year +ENGC24H3,ART_LIT_LANG,,"This writing workshop is based on the art and craft of the personal essay, a form of creative nonfiction characterized by its commitment to self-exploration and experiment. Students will submit their own personal essays for workshop, and become acquainted with the history and contemporary resurgence of the form.",,ENGB63H3,,Creative Writing: The Art of the Personal Essay,,,3rd year +ENGC25H3,ART_LIT_LANG,,"An introduction to the poetry and nonfiction prose of the Victorian period, 1837-1901. Representative authors are studied in the context of a culture in transition, in which questions about democracy, social inequality, the rights of women, national identity, imperialism, and science and religion are prominent. Pre-1900 course",,Any 6.0 credits,(ENGB45H3),Victorian Poetry and Prose,,,3rd year +ENGC26H3,ART_LIT_LANG,,"An exploration of major dramatic tragedies in the classic and English tradition. European philosophers and literary critics since Aristotle have sought to understand and define the genre of tragedy, one of the oldest literary forms in existence. In this course, we will read representative works of dramatic tragedy and investigate how tragedy as a genre has evolved over the centuries. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits or [VPDB10H3 and VPDB11H3],,Drama: Tragedy,,,3rd year +ENGC27H3,ART_LIT_LANG,,"An historical exploration of comedy as a major form of dramatic expression. Comedy, like its more august counterpart tragedy, has been subjected to centuries of theoretical deliberation about its form and function. In this course, we will read representative works of dramatic comedy and consider how different ages have developed their own unique forms of comedy. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits or [THRB20H3/(VPDB10H3) and THRB21H3/(VPDB11H3)],,Drama: Comedy,,,3rd year +ENGC28H3,ART_LIT_LANG,,"A study of fairy tales in English since the eighteenth century. Fairy tales have been a staple of children’s literature for three centuries, though they were originally created for adults. In this course, we will look at some of the best-known tales that exist in multiple versions, and represent shifting views of gender, race, class, and nationality over time. The course will emphasize the environmental vision of fairy tales, in particular, the uses of natural magic, wilderness adventures, animal transformations, and encounters with other-than- human characters.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,The Fairy Tale,,,3rd year +ENGC29H3,ART_LIT_LANG,,"Selections from The Canterbury Tales and other works by the greatest English writer before Shakespeare. In studying Chaucer's medieval masterpiece, students will encounter a variety of tales and tellers, with subject matter that ranges from broad and bawdy humour through subtle social satire to moral fable. Pre-1900 course",ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,ENG300Y,Chaucer,,,3rd year +ENGC30H3,ART_LIT_LANG,,A study of selected medieval texts by one or more authors. Pre-1900 course,ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,ENG311H,Studies in Medieval Literature,,,3rd year +ENGC31H3,ART_LIT_LANG,,"Long before the travel channel, medieval writers described exciting journeys through lands both real and imagined. This course covers authors ranging from scholar Ibn Battuta, whose pilgrimage to Mecca became the first step in a twenty- year journey across India, Southeast Asia, and China; to armchair traveller John Mandeville, who imagines distant lands filled with monsters and marvels. We will consider issues such as: how travel writing negotiates cultural difference; how it maps space and time; and how it represents wonders and marvels. Students will also have the opportunity to experiment with creative responses such as writing their own travelogues. Pre-1900 course.",ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,,Medieval Travel Writing,,,3rd year +ENGC33H3,ART_LIT_LANG,,"A study of the poetry, prose, and drama written in England between the death of Queen Elizabeth in 1603 and the Restoration of the monarchy in 1660. This course will examine the innovative literature of these politically tumultuous years alongside debates concerning personal and political sovereignty, religion, censorship, ethnicity, courtship and marriage, and women's authorship. Pre-1900 course",ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,ENG304Y,"Deceit, Dissent, and the English Civil Wars, 1603-1660",,,3rd year +ENGC34H3,ART_LIT_LANG,,"A focused exploration of women's writing in the early modern period. This course considers the variety of texts produced by women (including closet drama, religious and secular poetry, diaries, letters, prose romance, translations, polemical tracts, and confessions), the contexts that shaped those writings, and the theoretical questions with which they engage. Pre-1900 course",[ENGA01H3 and ENGA02H3] or ENGB27H3 or ENGB50H3,Any 6.0 credits,,"Early Modern Women and Literature, 1500-1700",,,3rd year +ENGC35H3,ART_LIT_LANG,,"A study of the real and imagined multiculturalism of early modern English life. How did English encounters and exchanges with people, products, languages, and material culture from around the globe redefine ideas of national, ethnic, and racial community? In exploring this question, we will consider drama and poetry together with travel writing, language manuals for learning foreign tongues, costume books, and maps. Pre-1900 course",ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,,"Imagined Communities in Early Modern England, 1500-1700",,,3rd year +ENGC36H3,ART_LIT_LANG,,"Studies in literature and literary culture during a turbulent era that was marked by extraordinary cultural ferment and literary experimentation. During this period satire and polemic flourished, Milton wrote his great epic, Behn her brilliant comedies, Swift his bitter attacks, and Pope his technically balanced but often viciously biased poetry. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG305H,"Literature and Culture, 1660- 1750",,,3rd year +ENGC37H3,ART_LIT_LANG,,"An exploration of literature and literary culture during the end of the eighteenth and beginning of the nineteenth centuries. We will trace the development of a consciously national culture, and birth of the concepts of high, middle, and low cultures. Authors may include Johnson, Boswell, Burney, Sheridan, Yearsley, Blake, and Wordsworth. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,,"Literature and Culture, 1750- 1830",,,3rd year +ENGC38H3,ART_LIT_LANG,,"An examination of generic experimentation that began during the English Civil Wars and led to the novel. We will address such authors as Aphra Behn and Daniel Defoe, alongside news, ballads, and scandal sheets: and look at the book trade, censorship, and the growth of the popular press. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG322Y,"Novel Genres: Fiction, Journalism, News, and Autobiography, 1640-1750",,,3rd year +ENGC39H3,ART_LIT_LANG,,"A contextual study of the first fictions that contemporaries recognized as being the novel. We will examine the novel in relation to its readers, to neighbouring genres such as letters, nonfiction travel writing, and conduct manuals, and to culture more generally. Authors might include Richardson, Fielding, Sterne, Burney, Austen and others. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG322Y,"The Early Novel in Context, 1740-1830",,,3rd year +ENGC40H3,ART_LIT_LANG,,"From Augustine’s Confessions to Dante’s New Life, medieval writers developed creative means of telling their life stories. This course tracks medieval life-writing from Augustine and Dante to later figures such as Margery Kempe—beer brewer, mother of fourteen, and self-proclaimed saint—Thomas Hoccleve, author of the first description of a mental breakdown in English literature, and Christian convert to Islam Anselmo Turmeda/‘Abd Allāh al-Turjumān. In these texts, life writing is used for everything from establishing a reputation to recovering from trauma to religious polemic. The course will also explore how medieval life writing can help us to understand 21st century practices of self-representation, from selfies to social media. Pre-1900 course.",ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,,Medieval Life Writing,,,3rd year +ENGC41H3,ART_LIT_LANG,,"How do video games connect to English literature? In what ways can they be “read” and assessed as storytelling texts? How do video game narratives reflect historical, cultural, and social concerns? Although active playing will be a required part of the course, students of all video game experience levels are welcome.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,Video Games: Exploring the Virtual Narrative,,,3rd year +ENGC42H3,ART_LIT_LANG,,"A study of the Romantic Movement in European literature, 1750-1850. This course investigates the cultural and historical origins of the Romantic Movement, its complex definitions and varieties of expression, and the responses it provoked in the wider culture. Examination of representative authors such as Goethe, Rousseau, Wollstonecraft, Wordsworth, Coleridge, Blake, P. B. Shelley, Keats, Byron and M. Shelley will be combined with study of the philosophical and historical backgrounds of Romanticism. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,ENG308Y,Romanticism,,,3rd year +ENGC43H3,ART_LIT_LANG,,"An investigation of how nineteenth-century literature is translated into our contemporary world through art forms like music, architecture, film, television, graphic novels, or online and social media. What is it that makes us keep returning to the past, and how does each adaptation re-make the original into something new and relevant? Pre-1900 course.",ENGA01H3 and ENGA02H3 and ENGB27H3,Any 6.0 credits,,Nineteenth-Century Literature and Contemporary Culture,,,3rd year +ENGC45H3,ART_LIT_LANG,,"This course focuses on queer studies in a transhistorical context. It serves as an introduction to queer theory and culture, putting queer theory into conversation with a range of literary texts as well as other forms of media and culture. This course might explore contemporary LGBTQ2+ literature, media and popular culture; the history of queer theory; and literary work from early periods to recover queer literary histories.",,Any 6.0 credits,"ENG273Y1, ENG295H5",Queer Literature and Theory,,,3rd year +ENGC46H3,ART_LIT_LANG,,"An examination of how the law and legal practices have been imagined in literature, including the foundations of law, state constitutions, rule of law, rights, trials and judgments, ideas of justice, natural law, enforcement, and punishment. We will examine Western and non-Western experiences of the law, legal documents and works of literature. Authors may include Sophocles, Aeschylus, Shakespeare, Melville, Dostoyevsky, Kafka, Achebe, Soyinka, Borges, Shamsie, R. Wright, Silko.",,Any 6.0 credits,,Law and Literature,,,3rd year +ENGC47H3,ART_LIT_LANG,,"A study of poetry written roughly between the World Wars. Poets from several nations may be considered. Topics to be treated include Modernist difficulty, formal experimentation, and the politics of verse. Literary traditions from which Modernist poets drew will be discussed, as will the influence of Modernism on postmodern writing.",ENGA01H3 and ENGA02H3 and ENGB04H3,Any 6.0 credits,,Modernist Poetry,,,3rd year +ENGC48H3,ART_LIT_LANG,,"An investigation of the literatures and theories of the unthinkable, the reformist, the iconoclastic, and the provocative. Satire can be conservative or subversive, corrective or anarchic. This course will address a range of satire and its theories. Writers range from Juvenal, Horace, Lucian, Erasmus, Donne, Jonson, Rochester, Dryden, Swift, Pope, Gay, Haywood, and Behn to Pynchon, Nabokov and Atwood. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,(ENGD67H3),Satire,,,3rd year +ENGC49H3,ART_LIT_LANG,,"This course explores social media’s influence on literary culture and our personal lives. Engaging with contemporary novels, essays and films that deal with the social media, as well as examining social media content itself (from early web blogs, to Facebook, Twitter, Instagram and TikTok), over the course of the semester, we will consider how social media shapes literary texts and our emotional, social and political selves.",ENGB78H3,Any 6.0 credits,,The Digital Self: Social Media & Literary Culture,,,3rd year +ENGC50H3,ART_LIT_LANG,,"Developments in American fiction from the end of the 1950's to the present: the period that produced James Baldwin, Saul Bellow, Philip Roth, John Updike, Norman Mailer, Ann Beatty, Raymond Carver, Don DeLillo, Toni Morrison, Maxine Hong Kingston, and Leslie Marmon Silko, among others.",ENGA01H3 and ENGA02H3,Any 6.0 credits,"ENG365H, (ENG361H)",Studies in Contemporary American Fiction,,,3rd year +ENGC51H3,ART_LIT_LANG,,"A study of Arab women writers from the late nineteenth century to the present. Their novels, short stories, essays, poems, and memoirs invite us to rethink western perceptions of Arab women. Issues of gender, religion, class, nationalism, and colonialism will be examined from the perspective of Arab women from both the Arab world and North America.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,Contemporary Arab Women Writers,,,3rd year +ENGC54H3,ART_LIT_LANG,,"An analysis of how gender and the content and structure of poetry, prose, and drama inform each other. Taking as its starting point Virginia Woolf's claim that the novel was the genre most accessible to women because it was not entirely formed, this course will consider how women writers across historical periods and cultural contexts have contributed to specific literary genres and how a consideration of gender impacts our interpretation of literary texts.",ENGA01H3 and ENGA02H3,Any 6.0 credits,(ENGB51H3),Gender and Genre,,,3rd year +ENGC59H3,ART_LIT_LANG,,"This course introduces students to ecocriticism (the study of the relationship between literature and environment). The course is loosely structured around several topics: the environmental imagination in literature and film, ecological literary theory, the history of the environmental movement and climate activism, literary representations of natural and unnatural disasters, and climate fiction.",ENGA01H3 and ENGA02H3,"Any 6.0 credits or [SOCB58H3, and an additional 4.0 credits, and enrolment in the Minor in Culture, Creativity, and Cities]",,Literature and the Environment,,,3rd year +ENGC60H3,ART_LIT_LANG,,"A study of plays by Indigenous authors (primarily Canadian), from Turtle Island, paying attention to relations between text and performance, and with an emphasis on distinctive themes that emerge, including colonialism, Indigenous resistance, and Indigenous sovereignty. Indigenous literatures of Turtle Island course",ENGB01H3,Any 6.0 credits,,Indigenous Drama of Turtle Island,,,3rd year +ENGC61H3,ART_LIT_LANG,,"A study of poetry by Indigenous authors (primarily Canadian) from Turtle Island. Discussion will focus on the ways poetic form and content combine to achieve meaning and open up new strategies for thinking critically, and with an emphasis on distinctive themes that emerge, including colonialism, Indigenous resistance, and Indigenous sovereignty. Indigenous literatures of Turtle Island course",ENGB01H3,Any 6.0 credits,,Indigenous Poetry of Turtle Island,,,3rd year +ENGC62H3,ART_LIT_LANG,,"A study of short stories by Indigenous authors (primarily Canadian) from Turtle Island, examining narrative techniques, thematic concerns, and innovations, and with an emphasis on distinctive themes that emerge, including colonialism, Indigenous resistance, and Indigenous sovereignty. Indigenous literatures of Turtle Island course",ENGB01H3,Any 6.0 credits,,Indigenous Short Stories of Turtle Island,,,3rd year +ENGC69H3,ART_LIT_LANG,,"A study of the Gothic tradition in literature since 1760. Drawing on texts such as Horace Walpole's The Castle of Otranto, Jane Austen's Northanger Abbey, Henry James' The Turn of the Screw, and Anne Rice's Interview with the Vampire, this course will consider how the notion of the ""Gothic"" has developed across historical periods and how Gothic texts represent the supernatural, the uncanny, and the nightmares of the unconscious mind. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,,Gothic Literature,,Preference will be given to students enrolled in programs from the Department of English.,3rd year +ENGC70H3,ART_LIT_LANG,,"An examination of twentieth-century literature, especially fiction, written out of the experience of people who leave one society to come to another already made by others. We will compare the literatures of several ethnic communities in at least three nations, the United States, Britain, and Canada.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,The Immigrant Experience in Literature to 1980,,,3rd year +ENGC71H3,ART_LIT_LANG,,"A continuation of ENGC70H3, focusing on texts written since 1980.",ENGA01H3 and ENGA02H3 and ENGC70H3,Any 6.0 credits,,The Immigrant Experience in Literature since 1980,,,3rd year +ENGC74H3,ART_LIT_LANG,Partnership-Based Experience,"This course is an introduction to the theory and practice of rhetoric, the art of persuasive writing and speech. Students will study several concepts at the core of rhetorical studies and sample thought-provoking work currently being done on disability rhetorics, feminist rhetorics, ethnic rhetorics, and visual rhetorics. A guiding principle of this course is that studying rhetoric helps one to develop or refine one’s effectiveness in speaking and writing. Toward those ends and through a 20-hour community-engaged learning opportunity in an organization of their choice, students will reflect on how this community-based writing project shapes or was shaped by their understanding of some key rhetorical concept. Students should leave the course, then, with a “rhetorical toolbox” from which they can draw key theories and concepts as they pursue future work in academic, civic, or professional contexts.",,ENGA02H3,,Persuasive Writing and Community-Engaged Learning,,,3rd year +ENGC79H3,ART_LIT_LANG,,"This course will explore the literary history and evolution of the superhero, from its roots in the works of thinkers such as Thomas Carlyle and Friedrich Nietzsche to the wartime birth of the modern comic book superhero to the contemporary pop culture dominance of transmedia experiments like the “universes” created by Marvel and DC. We will explore the superhero in various media, from prose to comics to film and television, and we will track the superhero alongside societal and cultural changes from the late 19th century to the present.",,Any 6.0 credits,,Above and Beyond: Superheroes in Fiction and Film,,,3rd year +ENGC80H3,ART_LIT_LANG,,"Advanced study of a crucial period for the development of new forms of narrative and the beginnings of formal narrative theory, in the context of accelerating modernity.",ENGA01H3 and ENGA01H3,Any 6.0 credits,,Modernist Narrative,,,3rd year +ENGC86H3,ART_LIT_LANG,,"An intensive study of the writing of poetry through a selected theme, topic, or author. The course will undertake its study through discussions, readings, and workshop sessions.",,ENGB60H3,,Creative Writing: Poetry II,,,3rd year +ENGC87H3,ART_LIT_LANG,Partnership-Based Experience,"An intensive study of the writing of fiction through a selected theme, topic, or author. The course will undertake its study through discussions, readings, and workshop sessions.",,ENGB61H3,,Creative Writing: Fiction II,,,3rd year +ENGC88H3,ART_LIT_LANG,,"An advanced study of the craft of creative non-fiction. Through in-depth discussion, close reading of exceptional texts and constructive workshop sessions, students will explore special topics in the genre such as: fact versus fiction, writing real people, the moral role of the author, the interview process, and how to get published. Students will also produce, workshop and rewrite an original piece of long- form creative non-fiction and prepare it for potential publication.",,ENGB63H3,,Creative Writing: Creative Nonfiction II,,,3rd year +ENGC89H3,ART_LIT_LANG,,"This course connects writers of poetry and fiction, through discussion and workshop sessions, with artists from other disciplines in an interdisciplinary creative process, with the aim of having students perform their work.",,0.5 credit at the B-level in Creative Writing; students enrolled in performance-based disciplines such as Theatre and Performance (THR) and Music and Culture (VPM) may be admitted with the permission of the instructor.,,Creative Writing and Performance,,,3rd year +ENGC90H3,ART_LIT_LANG,,"This course pursues the in-depth study of a small set of myths. We will explore how a myth or mythological figure is rendered in a range of literary texts ancient and modern, and examine each text as both an individual work of art and a strand that makes up the fabric of each given myth. Pre-1900 course",ENGA01H3 and ENGA02H3,Any 6.0 credits,"CLAC01H3, (ENGC58H3), (ENGC60H3), (ENGC61H3)",Topics in Classical Myth and Literature,,,3rd year +ENGC91H3,ART_LIT_LANG,,"An exploration of late nineteenth- and early twentieth-century American realism and naturalism in literary and visual culture. This course will explore the work of writers such as Henry James, William Dean Howells, Edith Wharton, Charles Chesnutt, Stephen Crane, Frank Norris, Kate Chopin, and Theodore Dreiser alongside early motion pictures, photographs, and other images from the period.",ENGA01H3 and ENGA02H3,Any 6.0 credits,,American Realisms,,,3rd year +ENGD02Y3,ART_LIT_LANG,Partnership-Based Experience,"This course explores the theories and practices of teaching academic writing, mostly in middle and secondary school contexts as well as university writing instruction and/or tutoring in writing. Through its 60-hour service-learning component, the course also provides student educators with the practical opportunities for the planning and delivering of these instruction techniques in different teaching contexts.",,Any 5.0 credits and ENGA01H3 and ENGA02H3,,"Teaching Academic Writing: Theories, Methods and Service Learning",,,4th year +ENGD03H3,,,"A study of selected topics in recent literary theory. Emphasis may be placed on the oeuvre of a particular theorist or on the impact of a given theoretical movement; in either case, the relation of theory to literary critical practice will be considered , as will the claims made by theory across a range of aesthetic and political discourses and in response to real world demands. Recommended for students planning to pursue graduate study in English literature.",ENGC15H3,1.0 credit at C-level in ENG or FLM courses,,Topics in Contemporary Literary Theory,,,4th year +ENGD05H3,ART_LIT_LANG,,"In this course we consider the possibilities opened up by literature for thinking about the historical and ongoing relations between Indigenous and non-Indigenous people on the northern part of Turtle Island (the Iroquois, Anishinabek and Lenape name for North America). How does literature written by both diasporic and Indigenous writers call upon readers to act, identify, empathize and become responsible to history, to relating, and to what effect? Students will have the opportunity to consider how literature can help address histories of colonial violence by helping us to think differently about questions about land, justice, memory, community, the environment, and the future of living together, in greater balance, on Turtle Island.",ENGB06H3 and [ENGB01H3 or (ENGC01H3)],1.0 credit at the C-level in ENG courses,(ENGB71H3),Diasporic-Indigenous Relations on Turtle Island,,,4th year +ENGD07H3,ART_LIT_LANG,,"The study of a poet or poets writing in English after 1950. Topics may include the use and abuse of tradition, the art and politics of form, the transformations of an oeuvre, and the relationship of poetry to the individual person and to the culture at large.",,1.0 credit at C-level in ENG or FLM courses,,Studies in Postmodern Poetry,,,4th year +ENGD08H3,ART_LIT_LANG,,"This advanced seminar will provide intensive study of a selected topic in African literature written in English; for example, a single national literature, one or more authors, or a literary movement.",,[1.0 credit at C-level in ENG or FLM courses] or [AFSA01H3 and [ENGB22H3 or (ENGC72H3)]],,Topics in African Literature,,,4th year +ENGD12H3,,,"A detailed study of some aspect or aspects of life-writing. Topics may include life-writing and fiction, theory, criticism, self, and/or gender. Can count as a pre-1900 course depending on the topic.",,1.0 credit at C-level in ENG or FLM courses,,Topics in Life Writing,,,4th year +ENGD13H3,ART_LIT_LANG,,"An intensive study of rhetoric, genre, meaning, and form in rap lyrics. The three-decade-plus recorded history of this popular poetry will be discussed in rough chronological order. Aspects of African-American poetics, as well as folk and popular song, germane to the development of rap will be considered, as will narrative and vernacular strategies in lyric more generally; poetry's role in responding to personal need and to social reality will also prove relevant.",,1.0 credit at the C- level in ENG courses,"(ENGC73H3), (ENGD63H3)",Rap Poetics,,,4th year +ENGD14H3,,,"An advanced inquiry into critical questions relating to the development of sixteenth- and seventeenth-century English literature and culture. Focus may include the intensive study of an author, genre, or body of work. Pre-1900 course",ENGC10H3 or ENGC32H3 or ENGC33H3 or ENGC34H3 or ENGC35H3,1.0 credit at the C-level in ENG courses,,Topics in Early Modern English Literature and Culture,,,4th year +ENGD18H3,,,"Topics in the literature and culture of the long eighteenth century. Topics vary from year to year and might include a study of one or more authors, or the study of a specific literary or theatrical phenomenon. Pre-1900 course",ENGC37H3 or ENGC38H3 or ENGC39H3,1.0 credit at C-level in ENG or FLM courses,,"Topics in the Long Eighteenth Century, 1660-1830",,,4th year +ENGD19H3,ART_LIT_LANG,,An in-depth study of sixteenth- and seventeenth-century literature together with intensive study of the theoretical and critical perspectives that have transformed our understanding of this literature. Pre-1900 course,ENGC10H3 or ENGC32H3 or ENGC33H3 or ENGC34H3 or ENGC35H3,1.0 credit at the C-level in ENG courses,,Theoretical Approaches to Early Modern English Literature and Culture,,,4th year +ENGD22H3,ART_LIT_LANG,,"This multi-genre creative writing course, designed around a specific theme or topic, will encourage interdisciplinary practice, experiential adventuring, and rigorous theoretical reflection through readings, exercises, field trips, projects, etc.",,[0.5 credit at the B-level in Creative Writing] and [0.5 credit at the C-level in Creative Writing],,Special Topics in Creative Writing II,,,4th year +ENGD26Y3,,,Advanced study of the writing of poetry for students who have excelled at the introductory and intermediate levels. Admission by portfolio. The portfolio should contain 15-25 pages of your best poetry and a 500-word description of your project. Please email your portfolio to creative- writing@utsc.utoronto.ca by the last Friday of April (for Independent Studies beginning in either the Fall or Winter semesters).,,ENGB60H3 and ENGC86H3 and [additional 0.5 credit at the C-level in Creative Writing] and permission of the instructor.,,Independent Studies in Creative Writing: Poetry,,Students may normally count no more than 1.0 full credit of D-level independent study towards an English program.,4th year +ENGD27Y3,,,Advanced study of the writing of fiction or creative nonfiction for students who have excelled at the introductory and intermediate levels. Admission by portfolio. The portfolio should contain 30-40 pages of your best fiction or creative nonfiction and a 500-word description of your project. Please email your portfolio to creative-writing@utsc.utoronto.ca by the last Friday of April (for Independent Studies beginning in either the Fall or Winter semesters).,,[ENGB61H3 or ENGB63H3] and [ENGC87H3 or ENGC88H3] and [additional 0.5 credit at the C-level in Creative Writing] and permission of the instructor,(ENGD27H3),Independent Studies in Creative Writing: Prose,,Students may normally count no more than 1.0 full credit of D-level independent study towards an English program.,4th year +ENGD28Y3,,,"Advanced study of the writing of a non poetry/prose genre (for example, screenwriting, comics, etc.), or a multi- genre/multi-media project, for students who have excelled at the introductory and intermediate levels. Admission by portfolio. The portfolio should contain 20-30 pages of your best work composed in your genre of choice and a 500-word description of your project. Please email your portfolio to creative-writing@utsc.utoronto.ca by the last Friday of April (for Independent Studies beginning in either the Fall or Winter semesters).",,[[ENGB60H3 and ENGC86H3] or [ENGB61H3 and ENGC87H3]] and [additional 0.5 credit at the C-level in Creative Writing] and permission of the instructor.,(ENGD28H3),Independent Studies in Creative Writing: Open Genre,,Students may normally count no more than 1.0 full credit of D-level independent study towards an English program.,4th year +ENGD29H3,ART_LIT_LANG,,"Advanced study of Chaucer’s early writings, from The Book of the Duchess to Troilus and Criseyde. Consisting of dream visions, fantastic journeys, and historical fictions, these works all push beyond the boundaries of everyday experience, depicting everything from the lifestyles of ancient Trojans to a flight through the stars. This course will explore the forms and literary genres that Chaucer uses to mediate between the everyday and the extraordinary. We will also consider related problems in literary theory and criticism, considering how scholars bridge the gap between our own time and the medieval past. Texts will be read in Middle English. Pre-1900 course.",ENGC29H3 or ENGC30H3 or ENGC40H3,1.0 credit at the C-level in ENG courses,,Chaucer's Early Works,,,4th year +ENGD30H3,,,Topics in the literature and culture of the medieval period. Topics vary from year to year and might include a study of one or more authors. Pre-1900 course,ENGC29H3 or ENGC30H3,1.0 credit at C-level in ENG or FLM courses,,Topics in Medieval Literature,,,4th year +ENGD31H3,ART_LIT_LANG,,"Medieval authors answer the question “what happens after we die?” in great detail. This course explores medieval representations of heaven, hell, and the afterlife. Texts under discussion will include: Dante’s Inferno, with its creative punishments; the Book of Muhammad’s Ladder, an adaptation of Islamic tradition for Christian readers; the otherworldly visions of female mystics such as Julian of Norwich; and Pearl, the story of a father who meets his daughter in heaven and immediately starts bickering with her. Throughout we will consider the political, spiritual, and creative significance of writing about the afterlife. Pre-1900 course.",ENGC29H3 or ENGC30H3 or ENGC31H3 or ENGC40H3,1.0 credit at the C-level in ENG courses,,Medieval Afterlives,,,4th year +ENGD42H3,ART_LIT_LANG,,Advanced study of a selected Modernist writer or small group of writers. The course will pursue the development of a single author's work over the course of his or her entire career or it may focus on a small group of thematically or historically related writers.,,1.0 credit at C-level in ENG or FLM courses,,Studies in Major Modernist Writers,,,4th year +ENGD43H3,,,"Topics in the literature and culture of the Romantic movement. Topics vary from year to year and may include Romantic nationalism, the Romantic novel, the British 1790s, or American or Canadian Romanticism. Pre-1900 course",ENGC42H3,1.0 credit at C-level in ENG or FLM courses,,"Topics in Romanticism, 1750- 1850",,,4th year +ENGD48H3,ART_LIT_LANG,,Advanced study of a selected Victorian writer or small group of writers. The course will pursue the development of a single author's work over the course of his or her entire career or it may focus on a small group of thematically or historically related writers. Pre-1900 course,,1.0 credit at the C-level in ENG courses,,Studies in Major Victorian Writers,,,4th year +ENGD50H3,ART_LIT_LANG,,"This course will explore the portrayal of the human-robot relationship in conjunction with biblical and classical myths. The topic is timely in view of the pressing and increasingly uncanny facets of non-divine, non-biological creation that attend the real-world production and marketing of social robots. While the course looks back to early literary accounts of robots in the 1960s, it concentrates on works written in or after the 1990s. The course aims to analyze how a particular narrative treatment of the robot-human relationship potentially alters our understanding of its mythical intertext and, by extension, notions of divinity, humanity, gender, animality, disability, and relations of kinship and care.",,1.0 credit at the C- level in ENG courses,,Fake Friends and Artificial Intelligence: the Human-Robot Relationship in Literature and Culture,,,4th year +ENGD53H3,ART_LIT_LANG,,"Advanced study of a genre or genres not typically categorized as “literature”, including different theoretical approaches and/or the historical development of a genre. Possible topics might include science fiction, fantasy, gothic, horror, romance, children’s or young adult fiction, or comics and graphic novels.",,1.0 credits at the C-level in ENG courses,,Studies in Popular Genres,,,4th year +ENGD54H3,ART_LIT_LANG,,"An in-depth examination of a theme or topic though literary texts, films, and/or popular culture. This seminar course will be organized around a particular topic and will include texts from a variety of traditions. Topics might include, for example, “Disability and Narrative” or “Technology in Literature and Popular Culture.”",,1.0 credit at C-level in ENG or FLM courses,,Comparative Approaches to Literature and Culture,,,4th year +ENGD55H3,ART_LIT_LANG,,"This advanced seminar will focus on a selected writer or a small group of writers whose literary work engages with themes of politics, revolution and/or resistance. The course will pursue the development of a single author's work over their entire career, or the development of a small group of thematically or historically related writers, and may include film and other media. Topics will vary year to year.",,1.0 credit at C-level in ENG or FLM courses,,"Literature, Politics, Revolution",,,4th year +ENGD57H3,,,Advanced study of a selected Canadian writer or small group of writers. The course will pursue the development of a single author's work over the course of his or her entire career or it may focus on a small group of thematically or historically related writers.,ENGB06H3 or ENGB07H3,1.0 credit at C-level in ENG or FLM courses,"(ENGD51H3), (ENGD88H3)",Studies in Major Canadian Writers,,,4th year +ENGD58H3,,,"Topics in the literature and culture of Canada. Topics vary from year to year and may include advanced study of ethics, haunting, madness, or myth; or a particular city or region.",ENGB06H3 or ENGB07H3,1.0 credit at C-level in ENG or FLM courses,"(ENGD51H3), (ENGD88H3)",Topics in Canadian Literature,,,4th year +ENGD59H3,,,"This seminar will usually provide advanced intensive study of a selected American poet each term, following the development of the author's work over the course of his or her entire career. It may also focus on a small group of thematically or historically related poets.",ENGB08H3,1.0 credit at C-level in ENG or FLM courses,,Topics in American Poetry,,,4th year +ENGD60H3,,,"This seminar course will usually provide advanced intensive study of a selected American prose-writer each term, following the development of the author's work over the course of his or her entire career. It may also focus on a small group of thematically or historically related prose-writers.",ENGB09H3,1.0 credit at C-level in ENG or FLM courses,,Topics in American Prose,,,4th year +ENGD68H3,,,"Topics might explore the representation of religion in literature, the way religious beliefs might inform the production of literature and literary values, or literature written by members of a particular religious group.",,1.0 credit at C-level in ENG or FLM courses,,Topics in Literature and Religion,,,4th year +ENGD71H3,ART_LIT_LANG,,"A study of Arab North-American writers from the twentieth century to the present. Surveying one hundred years of Arab North-American literature, this course will examine issues of gender, identity, assimilation, and diaspora in poetry, novels, short stories, autobiographies and nonfiction.",,1.0 credit at C-level in ENG or FLM courses,,Studies in Arab North- American Literature,,,4th year +ENGD80H3,ART_LIT_LANG,,"A study of the remarkable contribution of women writers to the development of Canadian writing. Drawing from a variety of authors and genres (including novels, essays, poems, autobiographies, biographies, plays, and travel writing), this course will look at topics in women and Canadian literature in the context of theoretical questions about women's writing.",ENGB06H3 or ENGB07H3,1.0 credit at C-level in ENG or FLM courses,,Women and Canadian Writing,,,4th year +ENGD84H3,ART_LIT_LANG,,"An analysis of features of Canadian writing at the end of the twentieth and the beginning of the twenty-first century. This course will consider such topics as changing themes and sensibilities, canonical challenges, and millennial and apocalyptic themes associated with the end of the twentieth century.",ENGB06H3 or ENGB07H3,1.0 credit at the C-level in ENG courses.,,Canadian Writing in the 21st Century,,,4th year +ENGD89H3,,,Topics vary from year to year and might include Victorian children's literature; city and country in Victorian literature; science and nature in Victorian writing; aestheticism and decadence; or steampunk. Pre-1900 course,,1.0 credit at the C-level in ENG courses,ENG443Y,Topics in the Victorian Period,,,4th year +ENGD90H3,ART_LIT_LANG,,"Feminist scholar, Gloria Anzaldua writes in Borderlands/La Frontera, “I cannot separate my writing from any part of my life. It is all one.” In this class, students will engage with a genre-expansive survey of non-linear and experimental forms of life writing in which lived experience inspires and cultivates form. Some of these genres include flash fiction, auto-theory, auto-fiction, book length essays, ekphrasis, anti-memoir, performance texts, and many others. This course is rooted in intersectional feminist philosophy as a foundational tool for interdisciplinary practice. Throughout the semester, we will explore theoretical approaches that center decolonial literary analysis. We will pair these readings with literature that exemplifies these approaches. In this class, “the personal is political” is the fertile center for our rigorous process of writing and craft excavation.",,[0.5 credit at the B-level in Creative Writing] and [0.5 credit at the C-level in Creative Writing],,Creative Writing: Genre Bending and Other Methods of Breaking Form,,,4th year +ENGD94H3,ART_LIT_LANG,,"The study of films from major movements in the documentary tradition, including ethnography, cinema vérité, social documentary, the video diary, and ""reality television"". The course will examine the tensions between reality and representation, art and politics, technology and narrative, film and audience.",Additional 0.5 credit at the B- or C-level in FLM courses,1.0 credit at C-level in ENG or FLM courses,INI325Y,Stranger Than Fiction: The Documentary Film,,,4th year +ENGD95H3,ART_LIT_LANG,,"A practical introduction to the tools, skills and knowledge- base required to publish in the digital age and to sustain a professional creative writing career. Topics include: the publishing landscape, pitching creative work, and employment avenues for creative writers. Will also include a workshop component (open to all genres).",,1.0 credit at the C-level in Creative Writing courses,,Creative Writing as a Profession,,,4th year +ENGD98Y3,,,"An intensive year-long seminar that supports students in the development of a major independent scholarly project. Drawing on workshops and peer review, bi-monthly seminar meetings will introduce students to advanced research methodologies in English and will provide an important framework for students as they develop their individual senior essays. Depending on the subject area of the senior essay, this course can be counted towards the Pre-1900 requirement.",0.5 credit at the D-level in ENG or FLM courses,"Minimum GPA of 3.5 in English courses; 15.0 credits, of which at least 2.0 must be at the C-or D-level in ENG or FLM courses.",ENG490Y,Senior Essay and Capstone Seminar,,,4th year +ESTB01H3,SOCIAL_SCI,,"This course introduces the Environmental Studies major and the interdisciplinary study of the environment through a team- teaching format. Students will explore both physical and social science perspectives on the environment, sustainability, environmental problems and their solutions. Emphasis will be on critical thinking, problem solving, and experiential learning.",,,,Introduction to Environmental Studies,,,2nd year +ESTB02H3,,,"Introduces students to the geography of Indigenous-Crown- Land relations in Canada. Beginning with pre-European contact and the historic Nation-to-Nation relationship, the course will survey major research inquiries from the Royal Commission on Aboriginal Peoples to Missing and Murdered Indigenous Women and Girls. Students will learn how ongoing land and treaty violations impact Indigenous peoples, settler society, and the land in Canada. Same as GGRB18H3",,"4.0 credits, including at least 0.5 credit in ANT, CIT, EST, GGR, HLT, IDS, POL or SOC",GGRB18H3,Whose Land? Indigenous- Canada-Land Relations,,,2nd year +ESTB03H3,SOCIAL_SCI,,"In this course students will learn about sustainability thinking, its key concepts, historical development and applications to current environmental challenges. More specifically, students will gain a better understanding of the complexity of values, knowledge, and problem framings that sustainability practice engages with through a focused interdisciplinary study of land. This is a required course for the Certificate in Sustainability, a certificate available to any student at UTSC. Same as VPHB69H3.",,,VPHB69H3,Back to the Land: Restoring Embodied and Affective Ways of Knowing,,,2nd year +ESTB04H3,SOCIAL_SCI,,"Addressing the climate crisis is a profound challenge for society. This course explores climate change and what people are doing about it. This course emphasizes the human dimensions of the climate crisis. It introduces students to potential solutions, ethical and justice considerations, climate change policies and politics, and barriers standing in the way of effective action. With an emphasis on potential solutions, students will learn how society can eliminate greenhouse gas emissions through potential climate change mitigation actions and about adaptation actions that can help reduce the impacts of climate change on humans. This course is intended for students from all backgrounds interested in understanding the human dimensions of the climate crisis and developing their ability to explain potential solutions.",,Any 4.0 credits,GGR314H1,Addressing the Climate Crisis,,,2nd year +ESTB05H3,NAT_SCI,University-Based Experience,"This course provides a conceptual and qualitative overview of climate science and a discussion of climate science misinformation. The course is intended to be accessible to arts and humanities students seeking to better understand and gain fluency in the physical science basis of climate change. Major topics will include the Earth’s climate system, reconstruction of past climates, factors that impact the Earth’s climate, climate measurements and models, and future climate change scenarios.",,Any 4.0 credits,"GGR314H1, GGR377H5",Climate Science for Everyone,,Priority enrollment for students in the Environmental Studies Major Program in Climate Change (Arts),2nd year +ESTC34H3,NAT_SCI,,"This course is intended for students who would like to apply theoretical principles of environmental sustainability learned in other courses to real world problems. Students will identify a problem of interest related either to campus sustainability, a local NGO, or municipal, provincial, or federal government. Class meetings will consist of group discussions investigating key issues, potential solutions, and logistical matters to be considered for the implementation of proposed solutions. Students who choose campus issues will also have the potential to actually implement their solutions. Grades will be based on participation in class discussions, as well as a final report and presentation. Same as EESC34H3",,Any 9.5 credits,EESC34H3,Sustainability in Practice,,,3rd year +ESTC35H3,SOCIAL_SCI,,"In this course students will engage critically, practically and creatively with environmental controversies and urgent environmental issues from the standpoint of the sociology of science and technology (STS). This course will contribute to a better understanding of the social and political construction of environmental science and technology.",,ESTB01H3,,Environmental Science and Technology in Society,,Priority will be given to students enrolled in the Environmental Studies Program. Additional students will be admitted as space permits.,3rd year +ESTC36H3,SOCIAL_SCI,,"Most environmental issues have many sides including scientific, social, cultural, ethical, political, and economic. Current national, regional and local problems will be discussed in class to help students critically analyze the roots of the problems and possible approaches to decision-making in a context of pluralism and complexity.",,ESTB01H3,,"Knowledge, Ethics and Environmental Decision-Making",,Priority will be given to students enrolled in the Environmental Studies Program. Additional students will be admitted as space permits.,3rd year +ESTC37H3,SOCIAL_SCI,,"This course will address energy systems and policy, focusing on opportunities and constraints for sustainable energy transitions. The course introduces energy systems, including how energy is used in society, decarbonization pathways for energy, and the social and political challenges of transitioning to zero carbon and resilient energy systems. Drawing on real- world case studies, students will learn about energy sources, end uses, technologies, institutions, politics, policy tools and the social and ecological impacts of energy. Students will learn integrated and interdisciplinary approaches to energy systems analysis and gain skills in imagining and planning sustainable energy futures.",,10.0 credits including ESTB04H3,ENV350H1,Energy and Sustainability,,,3rd year +ESTC38H3,NAT_SCI,,"“The Anthropocene” is a term that now frames wide-ranging scientific and cultural debates and research, surrounding how humans have fundamentally altered Earth’s biotic and abiotic environment. This course explores the scientific basis of the Anthropocene, with a focus on how anthropogenic alterations to Earth’s atmosphere, biosphere, cryosphere, lithosphere, and hydrosphere, have shifted Earth into a novel geological epoch. Students in this course will also discuss and debate how accepting the Anthropocene hypothesis, entails a fundamental shift in how humans view and manage the natural world. Same as EESC38H3",,"ESTB01H3 and [1.0 credit from the following: EESB03H3, EESB04H3 and EESB05H3]",EESC38H3,The Anthropocene,,,3rd year +ESTC40H3,NAT_SCI,,"Addressing the climate crisis requires designing and implementing effective climate change mitigation targets, strategies, policies and actions to eliminate human-caused greenhouse gas emissions. In this course, students will learn the various technical methods required in climate change mitigation. Students will explore the opportunities, barriers, and tools that exist to implement effective climate change mitigation in the energy, industry, waste, and agriculture, forestry and land-use sectors. The emphasis of the course is on the technical methods that climate change mitigation experts require.",,10.0 credits including ESTB04H3,,Technical Methods for Climate Change Mitigation,,,3rd year +ESTD16H3,NAT_SCI,University-Based Experience,"Students will select a research problem in an area of special interest. Supervision will be provided by a faculty member with active research in geography, ecology, natural resource management, environmental biology, or geosciences as represented within the departments. Project implementation, project monitoring and evaluation will form the core elements for this course. Same as EESD16H3",,At least 14.5 credits,EESD16H3,Project Management in Environmental Studies,,,4th year +ESTD17Y3,NAT_SCI,University-Based Experience,"This course is designed to provide a strong interdisciplinary focus on specific environmental problems including the socioeconomic context in which environmental issues are resolved. The cohort capstone course is in 2 consecutive semesters, providing final year students the opportunity to work in a team, as environmental researchers and consultants, combining knowledge and skill-sets acquired in earlier courses. Group research to local environmental problems and exposure to critical environmental policy issues will be the focal point of the course. Students will attend preliminary meetings schedules in the Fall semester. Same as EESD17Y3",,At least 14.5 credits,EESD17Y3,Cohort Capstone Course in Environmental Studies,,,4th year +ESTD18H3,NAT_SCI,,"This course will be organized around the DPES seminar series, presenting guest lecturers around interdisciplinary environmental themes. Students will analyze major environmental themes and prepare presentations for in-class debate. Same as EESD18H3",,At least 14.5 credits,EESD18H3,Environmental Studies Seminar Series,,,4th year +ESTD19H3,NAT_SCI,,"A practical introduction to the concept of 'risk' as utilized in environmental decision-making. Students are introduced to risk analysis and assessment procedures as applied in business, government, and civil society. Three modules take students from relatively simple determinations of risk (e.g., infrastructure flooding) towards more complex, real-world, inclusive considerations (e.g., ecosystem impacts of climate change).",,14.5 credits and STAB22H3 (or equivalent),,Risk,,,4th year +ESTD20H3,SOCIAL_SCI,,"Climate change affects all sectors of society, natural ecosystems, and future generations. Addressing climate change, either in terms of mitigation or adaptation, is complex due to its pervasive scope, the heterogeneity of its impacts and the uneven distribution of responsibilities, resources and capacities to respond to it between different levels of government, stakeholder groups, and rightholder groups. This course focuses on nexus approaches in climate policy development and assessment across different public policy domains. In this course, students will learn about how different levels of government frame climate change and climate policy objectives, how they interact with stakeholders (e.g., economic interests and environmental groups) and rightholders (Indigenous people), and how to approach complexity in climate governance.",,14.0 credits including ESTB04H3,,Integrated Natural Resource and Climate Change Governance,,,4th year +FLMA70H3,ART_LIT_LANG,,"An introduction to the critical study of cinema, including films from a broad range of genres, countries, and eras, as well as readings representing the major critical approaches to cinema that have developed over the past century.",,,"INI115Y, (ENGB70H3)",How to Read a Film,,,1st year +FLMB71H3,ART_LIT_LANG,,"In this course, students will learn to write critically about movies. We will watch movies and read film criticism, learning to write about film for various audiences and purposes. Forms of writing covered will include movie reviews, blogs, analytical essays, and research-based essays. This is a writing-intensive course that will include revision and peer review. Students will learn how to write academic essays about movies, while also learning about the goals and tools for writing about film for other audiences and venues.",FLMA70H3/(ENGB70H3),,"CIN369H1, (ENGB71H3)",Writing About Movies,,,2nd year +FLMB75H3,ART_LIT_LANG,,"An investigation of film genres such as melodrama, film noir, and the western from 1895 to the present alongside examples of twentieth-century prose and poetry. We will look at the creation of an ideological space and of new mythologies that helped organize the experience of modern life.",,,(ENGB75H3),Cinema and Modernity,,,2nd year +FLMB77H3,,,"An introduction to cinema’s relationship to colonialism, decolonization, and postcolonialism. How has film constructed, perpetuated, and challenged colonial logic? We will explore this question by examining colonial cinema, ethnography, Hollywood genres, anti-colonial film, and postcolonial film practices.",FLMA70H3/(ENGB70H3),,"HISC08H3, VCC306H5, (ENGB77H3)",Cinema and Colonialism,,Priority will be given to students enrolled in programs from the Department of English.,2nd year +FLMB80H3,ART_LIT_LANG,,"This course examines representations of race in cinema, focusing on methods for analyzing the role of race in the politics and aesthetics of various cinematic modes. Topics may include: ideology, stereotypes, representation, dominant and counter-cinemas, cultural hegemony, and popular culture. Contemporary and classic films will be studied through the lens of race and representation.",,,CIN332Y,"Cinema, Race, and Representation",,,2nd year +FLMC44H3,ART_LIT_LANG,,"A study of the relation between self and other in narrative fiction. This course will examine three approaches to the self- other relation: the moral relation, the epistemological relation, and the functional relation. Examples will be chosen to reflect engagements with gendered others, with historical others, with generational others, and with cultural and national others.",[ENGA01H3 and ENGA02H3] or FLMA70H3/(ENGB70H3),Any 6.0 credits,(ENGC44H3),Self and Other in Literature and Film,,,3rd year +FLMC56H3,ART_LIT_LANG,,"An exploration of the relationship between written literature and film and television. What happens when literature influences film and vice versa, and when literary works are recast as visual media (including the effects of rewriting, reproduction, adaptation, serialization and sequelization)?",[ENGA01H3 and ENGA02H3] or FLMA70H3/(ENGB70H3),Any 6.0 credits,(ENGC56H3),Literature and Media: From Page to Screen,,,3rd year +FLMC75H3,ART_LIT_LANG,,"This course will look at the depiction of childhood and youth in contemporary film and television, especially focusing on films that feature exceptional, difficult, or magical children. The course will explore how popular culture represents children and teens, and how these films reflect cultural anxieties about parenting, childhood, technology, reproduction, disability and generational change. Films and television shows may include: Mommy, The Babadook, Boyhood, Girlhood, A Quiet Place, We Need to Talk About Kevin, The Shining, Looper, Elephant, Ready Player One, Stranger Things, Chappie, Take Shelter, and Moonlight.",ENGA01H3 and ENGA02H3,Any 6.0 credits,(ENGC75H3),Freaks and Geeks: Children in Contemporary Film and Media,,,3rd year +FLMC78H3,ART_LIT_LANG,,"An exploration of negative utopias and post-apocalyptic worlds in film and literature. The course will draw from novels such as 1984, Brave New World, Clockwork Orange, and Oryx and Crake, and films such as Metropolis, Mad Max, Brazil, and The Matrix. Why do we find stories about the world gone wrong so compelling?",[ENGA01H3 and ENGA02H3] or FLMA70H3/(ENGB70H3),Any 6.0 credits,(ENGC78H3),Dystopian Visions in Fiction and Film,,,3rd year +FLMC81H3,,,"This is a course on the nation as a framework for film analysis. The topic will be the cinema of a single nation, or a comparison of two or more national cinemas, explored from several perspectives: social, political, and aesthetic. The course will look at how national cinema is shaped by and in turn shapes the cultural heritage of a nation. The course will also consider how changing definitions of national cinema in Film Studies have shaped how we understand film history and global film culture.",FLMB71H3/(ENGB71H3) or FLMB77H3/(ENGB77H3) or FLMB80H3/(ENGB80H3),FLMA70H3 or (ENGB70H3),,Topics in National Cinemas,,"Priority for students enrolled in programs in the Department of English, including the Literature and Film Minor and the Film Studies Major.",3rd year +FLMC82H3,ART_LIT_LANG,,"A variable theme course that will feature different theoretical approaches to Cinema: feminist, Marxist, psychoanalytic, postcolonial, and semiotic. Thematic clusters include ""Madness in Cinema,"" and ""Films on Films.""",[ENGA01H3 and ENGA02H3] or FLMA70H3/(ENGB70H3),Any 6.0 credits,(ENGC82H3),Topics in Cinema Studies,,,3rd year +FLMC83H3,ART_LIT_LANG,,"A study of Non-Western films. This course analyzes a selection of African, Asian, and Middle Eastern films both on their own terms and against the backdrop of issues of colonialism and globalization.",[ENGA01H3 and ENGA02H3] or FLMA70H3/(ENGB70H3),"Any 6.0 credits or [SOCB58H3, and an additional 4.0 credits, and enrolment in the Minor in Culture, Creativity, and Cities]",(ENGC83H3),World Cinema,,,3rd year +FLMC84H3,ART_LIT_LANG,,"This course introduces students to cinema by, and about, immigrants, refugees, migrants, and exiles. Using a comparative world cinema approach, the course explores how the aesthetics and politics of the cinema of migration challenge theories of regional, transnational, diasporic, and global cinemas.",ENGA01H3 and ENGA02H3,Any 6.0 credits,(ENGC84H3),Cinema and Migration,,,3rd year +FLMC92H3,ART_LIT_LANG,,"An introduction to the major theorists and schools of thought in the history of film theory, from the early 20th century to our contemporary moment. What is our relationship to the screen? How do movies affect our self-image? How can we think about the power and politics of the moving image? We will think about these questions and others by watching movies in conjunction with theoretical texts touching on the major approaches to film theory over the last century.",ENGA01H3 and ENGA02H3 and 0.5 credit in FLM courses,Any 6.0 credits,"CIN301Y, (ENGC92H3)",Film Theory,,,3rd year +FLMC93H3,,,"This course is a study of gender and sexuality in cinema. What happens when we watch bodies on screen? Can cinema change the way we understand gender and sexuality? We explore these questions in relation to topics including feminist film theory, LGBTQ2S+ film cultures, women’s cinema, and queer theory.",,FLMA70H3 or (ENGB70H3),"CIN336H1, CIN330Y1, (ENGC93H3)",Gender and Sexuality at the Movies,,,3rd year +FLMC94H3,ART_LIT_LANG,,"A study of select women filmmakers and the question of women's film authorship. Emphasis may be placed on the filmography of a specific director, or on film movements in which women filmmakers have made major contributions. Aspects of feminist film theory, critical theory, and world cinema will be considered, as well as the historical context of women in film more generally.",FLMA70H3/(ENGB70H3),Any 6.0 credits,"CIN330Y1, (ENGC94H3)",Women Directors,,Priority will be given to students enrolled in programs from the Department of English.,3rd year +FLMC95H3,ART_LIT_LANG,,"This course will introduce students to various film cultures in India, with a focus on Bollywood, the world's largest producer of films. The readings will provide an overview of a diverse range of film production and consumption practices in South Asia, from popular Hindi films to 'regional' films in other languages. This is an introductory course where certain key readings and films will be selected with the aim of helping students develop their critical writing skills. These course materials will help students explore issues of aesthetics, politics and reception across diverse mainstream, regional and art cinema in the Indian subcontinent.",ENGA10H3 and ENGA11H3 and ENGB19H3 and FLMA70H3/(ENGB70H3) and FLMB77H3/(ENGB77H3),Any 6.0 credits,(ENGC95H3),"Indian Cinemas: Bollywood, Before and Beyond",,,3rd year +FLMD52H3,ART_LIT_LANG,,"An exploration of the genesis of auteur theory. By focusing on a particular director such as Jane Campion, Kubrick, John Ford, Cronenberg, Chaplin, Egoyan, Bergman, Godard, Kurosawa, Sembene, or Bertolucci, we will trace the extent to which a director's vision can be traced through their body of work.",,1.0 credit at C-level in ENG or FLM courses,"INI374H, INI375H, (ENGD52H3)",Cinema: The Auteur Theory,,,4th year +FLMD62H3,,,"An exploration of multicultural perspectives on issues of power, perception, and identity as revealed in representations of imperialism and colonialism from the early twentieth century to the present.",,1.0 credit at C-level in ENG or FLM courses,(ENGD62H3),Topics in Postcolonial Literature and Film,,,4th year +FLMD91H3,ART_LIT_LANG,,"An exploration of Avant-Garde cinema from the earliest experiments of German Expressionism and Surrealism to our own time. The emphasis will be on cinema as an art form aware of its own uniqueness, and determined to discover new ways to exploit the full potential of the ""cinematic"".",,1.0 credit at C-level in ENG or FLM courses,"INI322Y, (ENGD91H3)",Avant-Garde Cinema,,,4th year +FLMD93H3,ART_LIT_LANG,,Advanced study of theories and critical questions that inform current directions in cinema studies.,Additional 0.5 credit at the B- or C-level in FLM courses,1.0 credit at C-level in ENG or FLM courses,"INI214Y, (ENGD93H3)",Theoretical Approaches to Cinema,,,4th year +FLMD96H3,ART_LIT_LANG,,"This course examines the development of Iranian cinema, particularly experimental and art cinema. Questions of form, and the political and social dimensions of cinema, will be considered alongside the theory of national cinemas. The course places Iranian cinema in a global context by considering it with other national cinemas.",,0.5 credit at the B- or C-level in FLM courses,(ENGD96H3),Iranian Cinema,,Priority will be given to students enrolled in the Minor Program in Film Studies.,4th year +FREA01H3,ART_LIT_LANG,,"This course is designed to consolidate the language skills necessary for higher-level French courses through an action- oriented approach to language teaching and learning. Students will improve their communicative language competencies (listening, reading, speaking and writing) by engaging in task-based activities in real-world, contextual situations. By the end of FREA01H3 and FREA02H3, students will have completed the level A2 of the Common European Framework of Reference.",,Grade 12 French or FREA91Y3 or FREA99H3 or equivalent,"Native or near-native fluency in French, (FSL161Y), (FSL181Y), FSL221Y, FSL220H1",Language Practice I,,FREA01H3 is a prerequisite for all B-level French courses.,1st year +FREA02H3,ART_LIT_LANG,,"A continuation of FREA01H3. Students will continue to improve their communicative language competencies (listening, reading, speaking and writing) by engaging in task- based activities in real-world, contextual situations. By the end of FREA01H3 and FREA02H3, students will have completed the level A2 of the Common European Framework of Reference.",,FREA01H3,"Native or near-native fluency in French; (FREA10Y3), (FSL161Y), (FSL181Y), FSL221Y, FSL22H1",Language Practice II,,FREA02H3 is a prerequisite for all B-level French courses.,1st year +FREA90Y3,ART_LIT_LANG,,"This course is for students with no prior knowledge of French. Based on a communicative approach, it will help students learn French vocabulary, understand grammatical structures and concepts, and gain oral and written communication skills. Students will develop their listening, speaking, reading and writing skills through a variety of contextually specific activities. Class periods will include explanations of grammatical concepts, as well as communicative and interactive exercises. In addition to preparation at home, regular class attendance is paramount for student success.",,,"(LGGA21H3), (LGGA22H3), (LGGB23H3), (LGGB24H3), FREA96H3, FREA97H3, [FSL100H1 or equivalent], or any prior knowledge of French",Intensive Introductory French,,"1. This course does not satisfy any French program requirements. It is a 6 week, 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. Students will be expected to attend up to 12 hours of class per week. 2. Priority will be given to students in the Specialist Co-op program in Management and International Business (MIB), Specialist/Specialist Co-op and Major/Major Co-op programs in Linguistics, and Specialist Co-op programs in International Development Studies (both BA and BSc).",1st year +FREA91Y3,ART_LIT_LANG,,"This course is for students who have studied some French in high school or who have some prior knowledge of French, and who wish to bring their proficiency up to the level required for UTSC French programs. Students will continue to improve their listening, speaking, reading and writing skills through a variety of contextually specific activities. Class periods will include explanations of grammatical concepts, as well as communicative and interactive exercises. In addition to preparation at home, regular class attendance is paramount in order to succeed in the class.",,FREA90Y3 or FREA97H3,"FREA98H3, FREA99H3, [LGGB23H3 or equivalent], or FSL121Y1",Intensive Intermediate French,,"1.This course does not satisfy any French program requirements. Students who complete this course may continue into FREA01H3. This is a 6 week, 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute. Students will be expected to attend up to 12 hours of class per week. 2. Priority will be given to students in the Specialist program in Management and International Business (MIB), Specialist/Specialist Co-op and Major/Major Co-op programs in Linguistics, and Specialist Co-op programs in International Development Studies (both BA and BSc).",1st year +FREA96H3,ART_LIT_LANG,,"An intensive basic course in written and spoken French; comprehension, speaking, reading and writing. This intensive, practical course is designed for students who have no previous knowledge of French.",,,"(LGGA21H3), (LGGA22H3), (LGGB23H3), (LGGB24H3), FSL100H or equivalent",Introductory French I,,This course does not satisfy any French program requirements.,1st year +FREA97H3,ART_LIT_LANG,,"An intensive course in written and spoken French; a continuation of FREA96H3. This course is designed for students who have some knowledge of French. It continues the basic, comprehensive training in both written and oral French begun in FREA96H3, using the second half of the same textbook. Notes: This course does not satisfy any French program requirements.",,FREA96H3 or (LGGA21H3),"(LGGA22H3), FSL102H or equivalent.",Introductory French II,,,1st year +FREA98H3,ART_LIT_LANG,,"Intended for students who have studied some French in high school or have some knowledge of French. Offers a review of all basic grammar concepts and training in written and spoken French. Reinforces reading comprehension, written skills and oral/aural competence. Notes: This course does not satisfy any French program requirements.",,FREA97H3 or (LGGA22H3),"FSL121Y, (LGGB23H3) or equivalent",Intermediate French I,,,1st year +FREA99H3,ART_LIT_LANG,,"Intended for students who have some knowledge of French and who wish to bring their proficiency up to the level of normal University entrance; a continuation of FREA98H3; prepares students for FREA01H3. Offers training in written and spoken French, reinforcing reading comprehension, written skills and oral/aural competence. Notes: This course does not satisfy any French program requirements.",,"FREA98H3, (LGGB23H3) or equivalent.","Grade 12 French, (LGGB24H3), FSL121Y or equivalent. Cannot be taken concurrently or after FREA01H3.",Intermediate French II,,,1st year +FREB01H3,ART_LIT_LANG,,"This course is designed to reinforce and develop fluency, accuracy of expression and style through an action-oriented approach to language teaching and learning. Students will improve their communicative language competencies (listening, reading, speaking and writing) by engaging in task- based activities in real-world, contextual situations. By the end of FREB01H3 and FREB02H3, students will have completed the level B1 of the Common European Framework of Reference.",,[FREA01H3 and FREA02H3] or equivalent.,"FSL224H1, FSL225H1, (FSL261Y), (FSL281Y), FSL321Y, (FSL331Y), (FSL341Y) or equivalent or native proficiency",Language Practice III,,,2nd year +FREB02H3,ART_LIT_LANG,,"A continuation of FREB01H3. Students will continue to develop their accuracy of expression and improve their fluency by engaging in activities in real-world, contextual situations. By the end of FREB01H3 and FREB02H3, students will have completed the level B1 of the Common European Framework of Reference.",,FREB01H3,"FSL320H1, (FSL261Y), (FSL281Y), FSL321Y, (FSL331Y), (FSL341Y) or equivalent or native proficiency",Language Practice IV,,,2nd year +FREB08H3,ART_LIT_LANG,University-Based Experience,An introduction to translation. The course will use a wide selection of short texts dealing with a variety of topics. Grammatical and lexical problems will be examined with special attention to interference from English.,,[FREA01H3 and FREA02H3] or equivalent.,"Native proficiency. FREB08H3 may not be taken after or concurrently with FREC18H3, FRE480Y or FRE481Y.",Practical Translation I,,,2nd year +FREB11H3,ART_LIT_LANG,,This course is intended for students considering a career in language teaching. It involves a series of seminars as well as preparation for observations in local schools throughout the duration of the course.,,[FREA01H3 and FREA02H3] or equivalent.,,French Language in the School System,,Students taking this course will need to have a police check completed with the police board in the jurisdiction for which they reside. Completed police checks must be submitted to the instructor during the first day of class.,2nd year +FREB17H3,ART_LIT_LANG,,Designed for students who wish to improve their speaking abilities. The course examines the French sound system with the goal of improving students' pronunciation in reading and everyday speech. Theoretical concepts are put into practice via structured exercises and various dialogues involving useful colloquial expressions.,,[FREA01H3 and FREA02H3] or equivalent,"FREC01H3, FREC02H3, FRED01H3, FRED06H3; and any Francophone students",Spoken French: Conversation and Pronunciation,,,2nd year +FREB18H3,ART_LIT_LANG,,"The French language in a commercial or economic context. Of interest, among others, to students in French, Business, Accounting, Management, and Economics, this course emphasizes commercial writing techniques and exercises that include the vocabulary and structures of business language.",,[FREA01H3 and FREA02H3] or equivalent.,FSL366H,Business French,,,2nd year +FREB20H3,ART_LIT_LANG,University-Based Experience,"An analysis of the varied forms and contents of children's literature written in French. The course examines different texts in terms of target age, pictorial illustrations, didactic bent, socio-cultural dimensions etc., focusing on, among other things, fairy tales urban and otherwise, cartoons, detective stories, adventure tales, and art, science and history books.",,[FREA01H3 and FREA02H3] or equivalent.,FRE385H,Teaching Children's Literature in French,,,2nd year +FREB22H3,HIS_PHIL_CUL,,"A study of the historical, cultural and social development of Québec society from its origins to today. Aspects such as history, literature, art, politics, education, popular culture and cinema will be examined. Emphasis will be placed on the elements of Québec culture and society that make it a distinct place in North America.",,[FREA01H3 and FREA02H3] or equivalent.,,The Society and Culture of Québec,,,2nd year +FREB27H3,HIS_PHIL_CUL,,"An examination of political, social and cultural developments in France in the last hundred years. Topics will include: the impact of two World Wars; the decolonization process; the European Community; the media; the educational system; immigration etc.",,[FREA01H3 and FREA02H3] or equivalent.,,Modern France,,,2nd year +FREB28H3,HIS_PHIL_CUL,,"An examination of historical, political and cultural realities in different parts of the Francophone world excluding France and Canada. Topics to be discussed will include slavery, colonization, de-colonization and multilinguism.",,[FREA01H3 and FREA02H3] or equivalent.,FSL362Y,The Francophone World,,,2nd year +FREB35H3,ART_LIT_LANG,,"A study of a variety of literary texts from the French-speaking world, excluding France and Canada. Attention will be given to the cultural and historical background as well as to the close study of works from areas including the West Indies, North and West Africa.",,[FREA01H3 and FREA02H3] or equivalent.,FRE332H,Francophone Literature,,,2nd year +FREB36H3,ART_LIT_LANG,,A study of some of the major novels written in Québec since 1945. The course will focus on the evolution of the novelistic form and its relevance within modern Western literature. We will also examine the link between the novels studied and the transformation of Québec society.,,FREA01H3 and FREA02H3,FRE210Y,The 20th Century Quebec Novel,,,2nd year +FREB37H3,ART_LIT_LANG,,"An examination of contemporary Québec theatre. We will study texts representative of a variety of dramatic styles. The focus will be primarily on dramatic texts; significant theatrical performances, however, will also be considered.",,FREA01H3 and FREA02H3,FRE312H,Contemporary Quebec Drama,,,2nd year +FREB44H3,ART_LIT_LANG,,An examination of the sound system of modern French. The course will acquaint student with acoustic phonetics and the basic concept and features of the French phonetic system. Phonological interpretation of phonetic data (from speech samples) and prosodic features such as stress and intonation will be examined.,,[FREA01H3 and FREA02H3] or equivalent.,"(FRE272Y), FRE272H, FRE274H",Introduction to Linguistics: French Phonetics and Phonology,,,2nd year +FREB45H3,ART_LIT_LANG,,"An examination of the internal structure of words and sentences in French. Covered are topics including word formation, grammatical categories, syntactic structure of simple and complex clauses, and grammatical relations of subject, predicate and complement. This course complements (FREB43H3) and FREB44H3.",,FREA01H3 and FREA02H3,(FRE272Y) and FRE272H and FRE274H,Introduction to Linguistics: French Morphology and Syntax,,,2nd year +FREB46H3,ART_LIT_LANG,,"An introduction to the origin and development of French, from the Latin of the Gauls to current varieties of the language. The course examines the internal grammatical and phonological history undergone by the language itself as well as the external history which includes ethnic, social, political, technological, and cultural changes.",,FREA01H3 and FREA02H3,"FRE273H, FRE372H, FRE373H",History of the French Language,,,2nd year +FREB50H3,ART_LIT_LANG,,"A study of representative texts from the three major literary genres (fiction, drama, poetry). The course will introduce students to the critical reading of literary texts in French; students will acquire the basic concepts and techniques needed to analyze literature.",,[FREA01H3 and FREA02H3] or equivalent.,FRE240Y,Introduction to Literature in French I,FREB01H3,"FREB50H3 is a pre-requisite for all other French Literature courses at the C-, and D-level.",2nd year +FREB51H3,ART_LIT_LANG,,"A study of the evolution of the major trends of French literature from the Middle Ages to the 17th century through representative texts (short novels, poetry and short stories) selected for their historical relevance and literary importance.",,[FREA01H3 and FREA02H3] or equivalent.,FRE250Y,Literary History in Context: From the Middle Ages to the 17th Century,,,2nd year +FREB55H3,ART_LIT_LANG,,"A study of the evolution of the major trends of French literature from the 18th and 19th centuries through representative texts (short stories, poetry and novels), selected for their historical relevance and literary importance. Students will also learn to use some tools required for text analysis and will apply them in context.",,[FREA01H3 and FREA02H3] or equivalent.,FRE250Y,Literary History in Context: 18th and 19th Centuries,,,2nd year +FREB70H3,ART_LIT_LANG,,"This course introduces students to the fundamental aspects of the language of cinema. By examining important films from the French-speaking world, students will learn to analyse the composition of shots and sequences, the forms of expression used in cinematographic language, film editing and certain aspects of filmic narrative.",,[FREA01H3 and FREA02H3] or equivalent.,,Introduction to Film Analysis in French,,,2nd year +FREB84H3,ART_LIT_LANG,,"An examination of the imagined/imaginative in cultures and belief systems in the francophone world. Myths and folktales from Canada, the U.S., French Guyana, North and West Africa will be examined in terms of form, function, psychological dimensions and cultural interpretations of, for instance, life, death, food and individualism.",,[FREA01H3 and FREA02H3] or equivalent.,,"Folktale, Myth and the Fantastic in the French-Speaking World",,,2nd year +FREC01H3,ART_LIT_LANG,,"This course is designed to hone students’ reading, writing, listening and speaking skills through group work, written projects, oral presentations and robust engagement with authentic materials. Students will improve their communicative language competencies by participating in activities in real-world, contextual situations. By the end of FREC01H3 and FREC02H3, students will be closer to the level B2 of the Common European Framework of Reference.",,[FREB01H3 and FREB02H3] or equivalent.,"FSL322H1, (FSL361Y), (FSL382H), (FSL383H), FSL421Y, FSL431Y or equivalent.",Language Practice V,,,3rd year +FREC02H3,ART_LIT_LANG,,"A continuation of FREC01H3. Students will continue to hone their language competencies by participating in activities in real-world, contextual situations and by engaging with authentic materials. By the end of FREC01H3 and FREC02H3, students will be closer to the level B2 of the Common European Framework of Reference.",,FREC01H3,"FSL420H1, (FSL361Y), (FSL382H), (FSL383H), FSL421Y, FSL431Y or equivalent",Language Practice VI,,,3rd year +FREC03H3,ART_LIT_LANG,,"This is a practical application of French in which students engage in writing and performing their own short play. Students will study French and Québécois plays, participate in acting and improvisation workshops, engage in a collaborative writing assignment, rehearse and produce their play and create a promotional poster. The final project for the course is a performance of the play.",,FREB02H3 and FREB50H3,,French in Action I: Practical Workshop in Theatre,,Students will meet the professors during the first week of class to have their French oral proficiency assessed. Students who are not at the appropriate level may be removed from the course.,3rd year +FREC10H3,ART_LIT_LANG,,"In this Community-Engaged course, students will have opportunities to strengthen their French skills (such as communication, interpersonal, intercultural skills) in the classroom in order to effectively complete a placement in the GTA’s Francophone community. By connecting the course content and their practical professional experience, students will gain a deeper understanding of the principles of experiential education: respect, reciprocity, relevance and reflection; they will enhance and apply their knowledge and problem-solving skills; they will develop their critical thinking skills to create new knowledge and products beneficial to the Francophone community partners.",,"FREC01H3 or equivalent. For students who have not taken FRE courses at UTSC, or students who have advanced French proficiency, they must pass the international B1 level of a CEFR-based proficiency exam.",CTLB03H3,Community-Engaged Learning in the Francophone Community,FREC02H3,"Ideally, students will complete FREC02H3 concurrently with FREC10H3, rather than prior to FREC10H3.",3rd year +FREC11H3,ART_LIT_LANG,,A study of different theories of language teaching and learning and their application to the teaching of French as a second language.,,[[FREB01H3 and FREB02H3] or equivalent]] and FREB11H3,FRE384H,Teaching French as a Second Language,,,3rd year +FREC18H3,ART_LIT_LANG,University-Based Experience,"Practice in translating commercial, professional and technical texts. Students will have the opportunity to widen their knowledge of the vocabulary and structures particular to the language of business as well as to such fields as industrial relations, insurance, software, health care, social work and finance.",,FREB01H3 and [FREB08H3 or (FREB09H3)] or equivalent.,FREC18H3 may not be taken after or concurrently with FRE480Y or FRE481Y.,Translation for Business and Professional Needs,FREB02H3,,3rd year +FREC38H3,ART_LIT_LANG,,"This course considers how Québec’s literature, especially the novel, has changed since 1980. It focuses on the literary forms of the novel, the dialogues between novels and texts from different literatures (Anglo-Canadian, French, American), and various elements related to the contemporary or the postmodern.",,FREB50H3 or equivalent.,,Topics in the Literature of Quebec,,,3rd year +FREC44H3,HIS_PHIL_CUL,,"An introduction to the role of meaning in the structure, function and use of language. Approaches to the notion of meaning as applied to French data will be examined.",,FREB44H3 and FREB45H3,"(FREC12H3), LINC12H3, LIN241H3, LIN341H, FRE386H",French Semantics,,,3rd year +FREC46H3,ART_LIT_LANG,,"Core issues in syntactic theory, with emphasis on French universal principles and syntactic variation.",,FREB45H3,"LINC11H3, FRE378H, LIN232H, LIN331H",French Syntax,,,3rd year +FREC47H3,ART_LIT_LANG,,"A study of pidgin and Creole languages worldwide. The course will introduce students to the often complex grammars of these languages and examine French, English, Spanish and Dutch-based Creoles, as well as regional varieties. It will include some socio-historical discussion. Same as LINC47H3 Taught in English",,[LINA01H3 and LINA02H3] or [FREB44H3 and FREB45H3],LINC47H3,Pidgin and Creole Languages,,,3rd year +FREC48H3,SOCIAL_SCI,,"An exploration of the relationship between language and society within a francophone context. We examine how language use is influenced by social factors. Topics include dialect, languages in contact, language shift, social codes and pidgin and Creole languages. Fieldwork is an integral part of this course.",,"[[FREB01H3 and FREB02H3] or equivalent] and [one of FREB44H3, FREB45H3, FREB46H3]","LINB20H3, (LINB21H3)",Sociolinguistics of French,,,3rd year +FREC54H3,HIS_PHIL_CUL,,"This course is designed to provide students with an introduction to Paris’ great monuments, buildings, streets, and neighbourhoods through art history (painting, sculpture, and architecture), music, and literature from the Middle ages to the beginning of the 20th century.",,FREB27H3 or FREB50H3,,Paris through the Ages,,,3rd year +FREC57H3,ART_LIT_LANG,,This course will examine themes and literary techniques in various forms of narrative prose from across the 19th century. Attention will also be paid to the historical and sociocultural context in which these works were produced.,,[FREB01H3 and FREB02H3] and [FREB50H3 or equivalent],(FREC56H3),French Fiction of the 19th Century,,,3rd year +FREC58H3,ART_LIT_LANG,,"An introduction to major French writers from the 16th century (Rabelais, Montaigne), 17th century (Corneille, Molière, La Fontaine) or 18th century (Voltaire, Rousseau, Diderot). Students will learn skills required for textual analysis and will apply them to the cultural and intellectual context of literature from the Ancien Régime.",,FREB50H3,FRE319H and FRE320H,Literature of the Ancien Regime,,,3rd year +FREC63H3,ART_LIT_LANG,,"An examination of the trends and attitudes embodied in travel writing from the early 20th century to now. The course considers aspects of exoticism, imperialism and ethnography as well as more contemporary cultural tourism, heritage and memory tourism, eco-tourism etc. Selections are drawn from commentators such as Gide, Camus, Kessel, Hubler and Belkaïd.",,[[FREB01H3 and FREB02H3] and [FREB50H3 or equivalent]],,Topics in French Literature: Encountering Foreign Cultures: Travel Writing in French,,,3rd year +FREC64H3,ART_LIT_LANG,,"This course will examine French texts, such as comic writing, women’s writing, postmodern and postcolonial works, autobiographical works, and fantasy.",,FREB50H3 or equivalent,(FREC61H3),French Fiction of the 20th and 21st Centuries,,,3rd year +FREC70H3,ART_LIT_LANG,University-Based Experience,"This course is a study of major genres (such as the musical, comedy, drama, documentary) and movements (such as the French New Wave, le Cinéma du look, social cinema, Beur cinema, political cinema) of the French-speaking world. We will study motion pictures from France, Québec, Africa and other parts of the Francophone world that have made a significant contribution to modern cinematography and culture.",,"FREB70H3, or permission of the instructor",,"Cinema, Movements and Genres",,,3rd year +FREC83H3,HIS_PHIL_CUL,,"The history and development of perceptions of ""us"" and ""them"" in France and the francophone world. The course examines language and culture, and the historic role of Eurocentrism and colonialism in the construction of cultural stereotypes. ""Others"" considered include the ""noble savage"", the ""Oriental"", the ""country bumpkin"" and the ""foreigner"". This course was formerly taught in English, but will now be taught in French.",,"[FREB01H3 and FREB02H3] or equivalent, and one of FREB22H3, FREB27H3 and FREB28H3 or equivalent.",,Cultural Identities and Stereotypes in the French-Speaking World,,,3rd year +FRED01H3,ART_LIT_LANG,,"A continuation of FREC01H3 and FREC02H3. Through an action-oriented approach, students will continue to hone their language competencies by participating in task-based activities in real-world, contextual situations and by engaging with authentic materials. Students will also work on developing the necessary techniques for the production of various types of discourse. By the end of FRED01H3, students will be at the level B2 of the Common European Framework of Reference.",,FREC02H3 or equivalent.,"FSL431Y, FSL461Y, FSL442H or equivalent",Language practice VII: Written French,,,4th year +FRED02H3,,,"These courses offer the student an opportunity to carry out independent study of an advanced and intensive kind, under the direction of a faculty member. Student and instructor work out in consultation the course's objectives, content, bibliography, and methods of approach. The material studied should bear a clear relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in regular courses. In applying to a faculty supervisor, students should be prepared to present a brief written statement of the topic they wish to explore. Final approval of the project rests with the French Discipline. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. Interested students should contact the Discipline Representative or Program Supervisor for guidance.",,1.0 credit at the C-level in FRE courses,,Supervised Reading,,,4th year +FRED03H3,,,"These courses offer the student an opportunity to carry out independent study of an advanced and intensive kind, under the direction of a faculty member. Student and instructor work out in consultation the course's objectives, content, bibliography, and methods of approach. The material studied should bear a clear relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in regular courses. In applying to a faculty supervisor, students should be prepared to present a brief written statement of the topic they wish to explore. Final approval of the project rests with the French Discipline. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. Interested students should contact the Discipline Representative or Program Supervisor for guidance.",,1.0 credit at the C-level in FRE courses,,Supervised Reading,,,4th year +FRED04H3,,,"These courses offer the student an opportunity to carry out independent study of an advanced and intensive kind, under the direction of a faculty member. Student and instructor work out in consultation the course's objectives, content, bibliography, and methods of approach. The material studied should bear a clear relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in regular courses. In applying to a faculty supervisor, students should be prepared to present a brief written statement of the topic they wish to explore. Final approval of the project rests with the French Discipline. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. Interested students should contact the Discipline Representative or Program Supervisor for guidance.",,1.0 credit at the C-level in FRE courses,,Supervised Reading,,,4th year +FRED05H3,,,"These courses offer the student an opportunity to carry out independent study of an advanced and intensive kind, under the direction of a faculty member. Student and instructor work out in consultation the course's objectives, content, bibliography, and methods of approach. The material studied should bear a clear relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in regular courses. In applying to a faculty supervisor, students should be prepared to present a brief written statement of the topic they wish to explore. Final approval of the project rests with the French Discipline. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. Interested students should contact the Discipline Representative or Program Supervisor for guidance.",,1.0 credit at the C-level in FRE courses,,Supervised Reading,,,4th year +FRED06H3,ART_LIT_LANG,,"This is an advanced language course designed for students who want to consolidate their oral/aural skills. In-class discussions, debates and oral presentations will enhance their fluency, expand their vocabulary and improve their pronunciation.",,FREC02H3 or equivalent.,FSL443H and FSL473H or equivalent,Language Practice VIII: Oral French,,,4th year +FRED07H3,,,"These courses offer the student an opportunity to carry out independent study of an advanced and intensive kind, under the direction of a faculty member. Student and instructor work out in consultation the course's objectives, content, bibliography, and methods of approach. The material studied should bear a clear relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in regular courses. In applying to a faculty supervisor, students should be prepared to present a brief written statement of the topic they wish to explore. Final approval of the project rests with the French Discipline. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. Interested students should contact the Discipline Representative or Program Supervisor for guidance.",,1.0 credit at the C-level in FRE courses,,Supervised Reading,,,4th year +FRED13H3,ART_LIT_LANG,,"Topics will vary from year to year. This seminar provides intensive study of a specific aspect of French literature from France. Emphasis may be placed on the importance of a particular movement or theme that will be explored in a variety of genres (novels, short stories, essays, autobiographies) and different authors. This course will require student participation and will involve a major paper.",,FREB50H3 and at least 0.5 credit at the C- level in FRE literature courses,,Advanced Topics in French Literature,,,4th year +FRED14H3,ART_LIT_LANG,,"The focus of this seminar will vary from year to year and may examine one specific advanced aspect of Québec’s literature by studying a variety of genres (novels, short stories, essays, autobiographies). The course will include questions of identity, the Self, migration, etc. It may also explore literatures from culturally-diverse communities based in Québec.",,"FREB50H3 and [0.5 credit in Quebec literature and 0.5 credit in French literature, one of which must be at the C-level]",(FRED12H3),Advanced Topics in the Literature of Quebec,,,4th year +FRED28H3,ART_LIT_LANG,University-Based Experience,"A continuation of FREB08H3 and FREC18H3 involving translation of real-world documents and practical exercises as well as a theoretical component. Students will use a variety of conceptual and practical tools to examine problems that arise from lexical, syntactic and stylistic differences and hone skills in accessing and evaluating both documentary resources and specific professional terminology. The course includes two field trips. Different translation fields (e.g. Translation for Government and Public Administration, or Translation for Medicine and Health Sciences) will be chosen from year to year.",,FREC18H3 or equivalent,,Special Topics in Translation,,,4th year +FRED90Y3,,,"These courses offer the student an opportunity to carry out independent study of an advanced and intensive kind, under the direction of a faculty member. Student and instructor work out in consultation the course's objectives, content, bibliography, and methods of approach. The material studied should bear a clear relation to the student's previous work, and should differ significantly in content and/or concentration from topics offered in regular courses. In applying to a faculty supervisor, students should be prepared to present a brief written statement of the topic they wish to explore. Final approval of the project rests with the French Discipline. Students are advised that they must obtain consent from the supervising instructor before registering for these courses. Interested students should contact the Discipline Representative or Program Supervisor for guidance.",,"One B-level course in the group FREB01H3- FREB84H3, except FREB17H3 and FREB18H3.",,Supervised Reading,,,4th year +FSTA01H3,SOCIAL_SCI,University-Based Experience,"This course introduces students to university-level skills through an exploration of the connections between food, environment, culture, religion, and society. Using a food biography perspective, it critically examines ecological, material, and political foundations of the global food system and how food practices affect raced, classed, gendered, and national identities.",,,,Foods That Changed the World,,,1st year +FSTA02H3,SOCIAL_SCI,University-Based Experience,"This course provides innovation and entrepreneurship skills to address major problems in socially just food production, distribution, and consumption in the time of climate crisis. Students will learn to identify and understand what have been called “wicked problems” -- deeply complicated issues with multiple, conflicting stakeholders -- and to develop community-scale solutions.",,,,"Food Futures: Confronting Crises, Improving Lives",,,1st year +FSTB01H3,HIS_PHIL_CUL,University-Based Experience,"This course, which is a requirement in the Minor program in Food Studies, provides students with the basic content and methodological training they need to understand the connections between food, culture, and society. The course examines fundamental debates around food politics, health, culture, sustainability, and justice. Students will gain an appreciation of the material, ecological, and political foundations of the global food system as well as the ways that food shapes personal and collective identities of race, class, gender, and nation. Tutorials will meet in the Culinaria Kitchen Laboratory.",,,,Methodologies in Food Studies,,Priority will be given to students in the Minor program in Food Studies.,2nd year +FSTC02H3,HIS_PHIL_CUL,University-Based Experience,"This course explores the history of wine making and consumption around the world, linking it to local, regional, and national cultures.",At least 1.0 credit at the B- level or higher in FST courses,,,Mondo Vino: The History and Culture of Wine Around the World,,Priority will be given to students in the Food Studies Minor program.,3rd year +FSTC05H3,HIS_PHIL_CUL,,"This course puts urban food systems in world historical perspective using case studies from around the world and throughout time. Topics include provisioning, food preparation and sale, and cultures of consumption in courts, restaurants, street vendors, and domestic settings. Students will practice historical and geographical methodologies to map and interpret foodways. Same as HISC05H3",,"Any 4.0 credits, including 0.5 credit at the A or B-level in CLA, FST, GAS HIS or WST courses",HISC05H3,Feeding the City: Food Systems in Historical Perspective,,,3rd year +FSTC24H3,HIS_PHIL_CUL,,"Across cultures, women are the main preparers and servers of food in domestic settings; in commercial food production and in restaurants, and especially in elite dining establishments, males dominate. Using agricultural histories, recipes, cookbooks, memoirs, and restaurant reviews and through the exploration of students’ own domestic culinary knowledge, students will analyze the origins, practices, and consequences of such deeply gendered patterns of food labour and consumption. Same as WSTC24H3",,"8.0 credits, including [0.5 credit at the A- or B- level in WST courses] and [0.5 credit at the A or B-level in FST courses]",WSTC24H3,Gender in the Kitchen,,,3rd year +FSTC37H3,HIS_PHIL_CUL,,"Students in this course will examine the development of regional cuisines in North and South America. Topics will include indigenous foodways, the role of commodity production and alcohol trade in the rise of colonialism, the formation of national cuisines, industrialization, migration, and contemporary globalization. Tutorials will be conducted in the Culinaria Kitchen Laboratory. Same as HISC37H3",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in CLA, FST, GAS, HIS or WST courses",HISC37H3,Eating and Drinking Across the Americas,,,3rd year +FSTC43H3,HIS_PHIL_CUL,,"This course uses street food to comparatively assess the production of ‘the street’, the legitimation of bodies and substances on the street, and contests over the boundaries of, and appropriate use of public and private space. It also considers questions of labour and the culinary infrastructure of contemporary cities around the world. Same as GGRC34H3",,FSTA01H3 or GGRA02H3 or GGRA03H3,"GGRC41H3 (if taken in the 2019 Winter and 2020 Winter sessions), GGRC43H3",Social Geographies of Street Food,,,3rd year +FSTC54H3,SOCIAL_SCI,,"Students examine historical themes for local and regional cuisines across Global Asia, including but not limited to Anglo-Indian, Arab, Bengali, Chinese, Himalayan, Goan, Punjabi, Japanese, Persian, Tamil, and Indo-Caribbean. Themes include religious rituals, indigenous foodways; colonialism, industrialization, labour, gender, class, migration, globalization, and media. Tutorials are in the Culinaria Kitchen Lab. Same as GASC54H3 and HISC54H3",,"Any 4.0 credits, including 0.5 credit at the A- or B-level from CLA, FST, GAS, HIS or WST courses","GASC54H3, HISC54H3",Eating and Drinking Across Global Asia,,,3rd year +FSTD01H3,HIS_PHIL_CUL,University-Based Experience,This option is available in rare and exceptional circumstances to students who have demonstrated a high level of academic maturity and competence. Qualified students will have the opportunity to investigate a topic in Food Studies that is of common interest to both student and supervisor.,,"At least 10.0 credits, including FSTB01H3, and written permission from the instructor.",,Independent Studies: Senior Research Project,,,4th year +FSTD02H3,HIS_PHIL_CUL,,This seminar will expose students to advanced subject matter and research methods in Food Studies. Each seminar will explore a selected topic.,,Any 8.0 credits including 1.0 credit from the Food Studies Courses Table,,Special Topics in Food Studies,,,4th year +FSTD10H3,ART_LIT_LANG,,"This course introduces students to a range of writing about food and culture, exposing them to different genres and disciplines, and assisting them to experiment with and develop their own prose. The course is designed as a capstone offering in Food Studies, and as such, asks students to draw on their own expertise and awareness of food as a cultural vehicle to write in a compelling way about social dynamics, historical meaning, and - drawing specifically on the Scarborough experience - the diasporic imaginary.",,FSTB01H3,,Food Writing,,Priority will be given to students enrolled in the Minor program in Food Studies. Additional students will be admitted as space permits.,4th year +FSTD11H3,HIS_PHIL_CUL,University-Based Experience,"This course combines elements of a practicum with theoretical approaches to the study and understanding of the place of food in visual culture. It aims to equip students with basic to intermediate-level skills in still photography, post- processing, videography, and editing. It also seeks to further their understanding of the ways in which scholars have thought and written about food and the visual image, with special emphasis on the “digital age” of the last thirty years.",,FSTB01H3,,Food and Media: Documenting Culinary Traditions Through Photography and Videography,,,4th year +GASA01H3,HIS_PHIL_CUL,,"This course introduces Global Asia Studies through studying historical and political perspectives on Asia. Students will learn how to critically analyze major historical texts and events to better understand important cultural, political, and social phenomena involving Asia and the world. They will engage in intensive reading and writing for humanities. Same as HISA06H3",,,HISA06H3,Introducing Global Asia and its Histories,,,1st year +GASA02H3,ART_LIT_LANG,,This course introduces Global Asia Studies through the study of cultural and social institutions in Asia. Students will critically study important elements of culture and society over different periods of history and in different parts of Asia. They will engage in intensive reading and writing for humanities.,,,,Introduction to Global Asia Studies,,,1st year +GASB05H3,HIS_PHIL_CUL,,"This course examines the role of technological and cultural networks in mediating and facilitating the social, economic and political processes of globalization. Key themes include imperialism, militarization, global political economy, activism, and emerging media technologies. Particular attention is paid to cultures of media production and reception outside of North America. Same as MDSB05H3",,4.0 credits and MDSA01H3,MDSB05H3,Media and Globalization,,,2nd year +GASB15H3,ART_LIT_LANG,,"The course will provide students with an introduction to the arts of South Asia, from classical to modern, and from local to global. Fields of study may include music, dance, drama, literature, film, graphic arts, decorative arts, magic, yoga, athletics, and cuisine, fields viewed as important arts for this society.",,,,The Arts of South Asia,,,2nd year +GASB20H3,HIS_PHIL_CUL,,This course examines the role of gender in shaping social institutions in Asia.,,,,Gender and Social Institutions in Asia,,,2nd year +GASB30H3,HIS_PHIL_CUL,,"This course examines the close relationship between religions and cultures, and the role they play in shaping the worldviews, aesthetics, ethical norms, and other social ideals in Asian countries and societies.",,,,Asian Religions and Culture,,,2nd year +GASB33H3,HIS_PHIL_CUL,,This course examines the global spread of different versions of Buddhism across historical and contemporary societies.,,,,Global Buddhism in Historical and Contemporary Societies,,,2nd year +GASB42H3,SOCIAL_SCI,,"This course surveys central issues in the ethnographic study of contemporary South Asia (Afghanistan, Bangladesh, Bhutan, India, the Maldives, Nepal, Pakistan and Sri Lanka). Students will engage with classical and recent ethnographies to critically examine key thematic fault lines within national imaginations, especially along the lines of religion, caste, gender, ethnicity, and language. Not only does the course demonstrate how these fault lines continually shape the nature of nationalism, state institutions, development, social movements, violence, and militarism across the colonial and post-colonial periods but also, demonstrates how anthropological knowledge and ethnography provide us with a critical lens for exploring the most pressing issues facing South Asia in the world today. Same as ANTB42H3",,"[ANTB19H3 and ANTB20H3, or permission of the instructor] or [Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or Africa and Asia Area HIS courses]","ANTB42H3, (ANTC12H3)/(GASC12H3)",Culture and Society in Contemporary South Asia,,,2nd year +GASB53H3,HIS_PHIL_CUL,,"Why does Southern Asia’s pre-colonial history matter? Using materials that illustrate the connected worlds of Central Asia, South Asia and the Indian Ocean rim, we will query conventional histories of Asia in the time of European expansion. Same as HISB53H3",,,HISB53H3,"Mughals and the World, 1500- 1858 AD",,,2nd year +GASB57H3,HIS_PHIL_CUL,,"A survey of South Asian history. The course explores diverse and exciting elements of this long history, such as politics, religion, trade, literature, and the arts, keeping in mind South Asia's global and diasporic connections. Same as HISB57H3",,,"HIS282Y, HIS282H, HISB57H3",Sub-Continental Histories: South Asia in the World,,,2nd year +GASB58H3,HIS_PHIL_CUL,,"This course provides an overview of the historical changes and continuities of the major cultural, economic, political, and social institutions and practices in modern Chinese history. Same as HISB58H3",0.5 credit at the A-level in HIS or GAS courses,Any 2.0 credits,"HIS280Y, HISB58H3",Modern Chinese History,,,2nd year +GASB65H3,HIS_PHIL_CUL,,"For those who reside east of it, the Middle East is generally known as West Asia. By reframing the Middle East as West Asia, this course will explore the region’s modern social, cultural, and intellectual history as an outcome of vibrant exchange with non-European world regions like Asia. It will foreground how travel and the movement fundamentally shape modern ideas. Core themes of the course such as colonialism and decolonization, Arab nationalism, religion and identity, and feminist thought will be explored using primary sources (in translation). Knowledge of Arabic is not required. Same as HISB65H3",,,HISB65H3,West Asia and the Modern World,,,2nd year +GASB73H3,ART_LIT_LANG,,"A survey of the art of China, Japan, Korea, India, and Southeast Asia. We will examine a wide range of artistic production, including ritual objects, painting, calligraphy, architectural monuments, textile, and prints. Special attention will be given to social contexts, belief systems, and interregional exchanges. Same as VPHB73H3",,VPHA46H3 or GASA01H3,"VPHB73H3, FAH261H",Visualizing Asia,,,2nd year +GASB74H3,SOCIAL_SCI,,"This course explores the social circulation of Asian-identified foods and beverages using research from geographers, anthropologists, sociologists, and historians to understand their changing roles in ethnic entrepreneur-dominated cityscapes of London, Toronto, Singapore, Hong Kong, and New York. Foods under study include biryani, curry, coffee, dumplings, hoppers, roti, and tea. Same as HISB74H3",,,HISB74H3,Asian Foods and Global Cities,,,2nd year +GASB77H3,ART_LIT_LANG,,"An introduction to modern Asian art through domestic, regional, and international exhibitions. Students will study the multilayered new developments of art and art institutions in China, Japan, Korea, India, Thailand, and Vietnam, as well as explore key issues such as colonial modernity, translingual practices, and multiple modernism. Same as VPHB77H3",VPHA46H3 or GASA01H3,,VPHB77H3,Modern Asian Art,,,2nd year +GASC20H3,HIS_PHIL_CUL,,"This course offers students a critical and analytical perspective on issues of gender history, equity, discrimination, resistance, and struggle facing societies in East and South Asia and their diasporas.",GASA01H3 or GASA02H3,"8.0 credits, including 0.5 credit at the A-level, and 1.0 credit at the B-level in CLA, FST, GAS, HIS, or WST courses",,Gendering Global Asia,,,3rd year +GASC33H3,HIS_PHIL_CUL,,This course critically examines different aspects of Buddhism in global context.,,Any 4.0 credits,,Critical Perspectives in Global Buddhism,,,3rd year +GASC40H3,HIS_PHIL_CUL,,"This course examines the complex and dynamic interplay of media and politics in contemporary China, and the role of the government in this process. Same as MDSC40H3",,4.0 credits,MDSC40H3,Chinese Media and Politics,,,3rd year +GASC41H3,HIS_PHIL_CUL,,"This course introduces students to media industries and commercial popular cultural forms in East Asia. Topics include reality TV, TV dramas, anime, and manga as well as issues such as regional cultural flows, global impact of Asian popular culture, and the localization of global media in East Asia. Same as MDSC41H3",,4.0 credits,MDSC41H3,Media and Popular Culture in East Asia,,,3rd year +GASC42H3,ART_LIT_LANG,,"This course offers students a critical perspective on film and popular cultures in South Asia. Topics include Bombay, Tamil, and other regional filmic industries, their history, production, and distribution strategies, their themes and musical genres, and a critical look at the larger social and political meanings of these filmic cultures.",,Any 4.0 credits,,Film and Popular Culture in South Asia,,,3rd year +GASC43H3,HIS_PHIL_CUL,,"This course explores the development of colonialism, modernity, and nationalism in modern Japan, Korea, China, and Taiwan. Key issues include sexuality, race, medicine, mass media, and consumption.",,Any one of [GASB20H3 or GASB58H3/HISB58H3 or GASC20H3],,Colonialisms and Cultures in Modern East Asia,,,3rd year +GASC45H3,ART_LIT_LANG,,"This course offers students a critical perspective on film and popular cultures in East Asia. The course examines East Asian filmic industries, and the role they play in shaping worldviews, aesthetics, ethical norms, folk beliefs, and other socio-cultural aspects in China, Hong Kong, Taiwan, Korea, and Japan.",,Any 4.0 credits,,Film and Popular Cultures in East Asia,,,3rd year +GASC48H3,HIS_PHIL_CUL,,"This course examines the history of South Asia's partition in 1947, in the process of decolonization, into the independent nation-states of India and Pakistan. Major course themes include nationalism, violence, and memory. Students will read historical scholarship on this topic and also engage with literature, film, oral histories, and photography. Partitioning lands and peoples is an old colonial technology of rule. Why did it become such a compelling solution to the problems of group conflict in the Indian subcontinent and beyond in the twentieth century even after 1947? How did the emergence of different ideas of nationalism – Indian, Pakistani, Hindu, Islamic, and beyond – contribute to this? Why was the Partition of India so violent? What happened to the people who were displaced at the time of Partition? How has the Partition been remembered and narrated and how does it continue to echo through national and regional politics? Beyond the subcontinent's partition into India and Pakistan, the course will introduce comparative case studies of Burma and Sri Lanka, among others.",HISB02H3 or HISB57H3/GASB57H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS or GAS courses",,Partition in South Asia,,,3rd year +GASC50H3,HIS_PHIL_CUL,,"An introduction to the distinctive East Asian legal tradition shared by China, Japan, and Korea through readings about selected thematic issues. Students will learn to appreciate critically the cultural, political, social, and economic causes and effects of East Asian legal cultures and practices. Same as HISC56H3",GASB58H3/HISB58H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses",HISC56H3,Comparative Studies of East Asian Legal Cultures,,,3rd year +GASC51H3,HIS_PHIL_CUL,,"This course addresses literary, historical, ethnographic, and filmic representations of the political economy of China and the Indian subcontinent from the early 19th century to the present day. We will look at such topics as the role and imagination of the colonial-era opium trade that bound together India, China and Britain in the 19th century, anticolonial conceptions of the Indian and Chinese economies, representations of national physical health, as well as critiques of mass-consumption and capitalism in the era of the ‘liberalization’ and India and China’s rise as major world economies. Students will acquire a grounding in these subjects from a range of interdisciplinary perspectives. Same as HISC51H3",GASA01H3/HISA06H3 or GASA02H3,"Any 4.0 credits, including 0.5 credit at the A- level and 0.5 credit at the B-level in HIS, GAS or other Humanities and Social Sciences courses",HISC51H3,From Opium to Maximum City: Narrating Political Economy in China and India,,,3rd year +GASC53H3,ART_LIT_LANG,University-Based Experience,"The Silk Routes were a lacing of highways connecting Central, South and East Asia and Europe. Utilizing the Royal Ontario Museum's collections, classes held at the Museum and U of T Scarborough will focus on the art produced along the Silk Routes in 7th to 9th century Afghanistan, India, China and the Taklamakhan regions. Same as VPHC53H3",,One full credit in art history or in Asian or medieval European history.,VPHC53H3,The Silk Routes,,,3rd year +GASC54H3,SOCIAL_SCI,,"Students examine historical themes for local and regional cuisines across Global Asia, including but not limited to Anglo-Indian, Arab, Bengali, Chinese, Himalayan, Goan, Punjabi, Japanese, Persian, Tamil, and Indo-Caribbean. Themes include religious rituals, indigenous foodways; colonialism, industrialization, labour, gender, class, migration, globalization, and media. Tutorials are in the Culinaria Kitchen Lab. Same as FSTC54H3 and HISC54H3",,"Any 4.0 credits, including 0.5 credit at the A- or B-level from CLA, FST, GAS, HIS or WST courses","FSTC54H3, HISC54H3",Eating and Drinking Across Global Asia,,,3rd year +GASC57H3,HIS_PHIL_CUL,,"A study of the history of China's relationship with the rest of the world in the modern era. The readings focus on China's role in the global economy, politics, religious movements, transnational diasporas, scientific/technological exchanges, and cultural encounters and conflicts in the ages of empire and globalization. Same as HISC57H3",GASB58H3/HISB58H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses",HISC57H3,China and the World,,,3rd year +GASC59H3,HIS_PHIL_CUL,,"This course explores the transnational history of Tamil worlds. In addition to exploring modern Tamil identities, the course will cover themes such as mass migration, ecology, social and economic life, and literary history. Same as HISC59H3",GASB57H3/HISB57H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses","HISC59H3, (GASB54H3), (HISB54H3)",The Making of Tamil Worlds,,,3rd year +GASC73H3,HIS_PHIL_CUL,,The course will explore the history and career of a term: The Global South. The global south is not a specific place but expressive of a geopolitical relation. It is often used to describe areas or places that were remade by geopolitical inequality. How and when did this idea emerge? How did it circulate? How are the understandings of the global south kept in play? Our exploration of this term will open up a world of solidarity and circulation of ideas shaped by grass-roots social movements in different parts of the world Same as HISC73H3,,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses",HISC73H3,Making the Global South,,,3rd year +GASC74H3,ART_LIT_LANG,,"Introduction to Contemporary Art in China An introduction to Chinese contemporary art focusing on three cities: Beijing, Shanghai, and Guangzhou. Increasing globalization and China's persistent self-renovation has brought radical changes to cities, a subject of fascination for contemporary artists. The art works will be analyzed in relation to critical issues such as globalization and urban change. Same as VPHC74H3",,"2.0 credits at the B-level in Art History, Asian History, and/or Global Asia Studies courses, including at least 0.5 credit from the following: VPHB39H3, VPHB73H3, HISB58H3, (GASB31H3), GASB33H3, or (GASB35H3).",VPHC74H3,A Tale of Three Cities:,,,3rd year +GASD01H3,HIS_PHIL_CUL,,"This course offers an in-depth and historicized study of important cultural issues in historical and contemporary Asian, diasporic and borderland societies, including migration, mobility, and circulation. It is conducted in seminar format with emphasis on discussion, critical reading and writing, digital skills, and primary research. Same as HISD09H3",,"Any 8.0 credits, including [0.5 at the A- or B- level in CLA, FST, GAS, HIS or WST courses] and [0.5 credit at the C-level in CLA, FST, GAS, HIS or WST courses]",HISD09H3,Senior Seminar: Topics in Global Asian Migrations,,,4th year +GASD02H3,,University-Based Experience,"This course offers a capstone experience of issues which confront Asian and diasporic societies. Themes include gender, environment, human rights, equity, religion, politics, law, migration, labour, nationalism, post-colonialism, and new social movements. It is conducted in seminar format with emphasis on discussion, critical reading, and writing of research papers.",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS courses] and [0.5 credit at the C-level in GAS courses]",,Senior Seminar: Topics in Global Asian Societies,,,4th year +GASD03H3,HIS_PHIL_CUL,,"The course offers an in-depth, special study of important topics in the study of Global Asia. Special topics will vary from year to year depending on the expertise of the visiting professor. It is conducted in seminar format with emphasis on discussion, critical reading, and writing of research papers.",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS courses] and [0.5 credit at the C-level in GAS courses]",,Senior Seminar: Topics in Global Asia Studies,,Topics vary from year to year. Check the website: www.utsc.utoronto.ca/~hcs/programs/global-asia-studies.html for current offerings.,4th year +GASD06H3,HIS_PHIL_CUL,,"An exploration of the global problem of crime and punishment. The course investigates how the global processes of colonialism, industrialization, capitalism and liberalization affected modern criminal justice and thus the state-society relationship and modern citizenry in different cultures across time and space. Same as HISD06H3",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",HISD06H3,Global History of Crime and Punishment since 1750,,,4th year +GASD13H3,SOCIAL_SCI,,"What is violence? How do we study violence and its impact? How do people subjected to violence communicate, cope and live with violence? The course is designed to study South Asian communities through the concept of violence by exploring various texts. By looking at the various cases, structures and concepts in relation to violence in different parts of South Asia the course will analyze and understand how forms of violence transfigure, impact, make and remake individual life, and communities within and beyond South Asia. We will analyze different forms of violence from structural, symbolic to discreet and every-day expressions of violence. The course closely looks at how, on the one hand, violence operates in the everyday life of people and how it creates social suffering, pain, silence, loss of voice, difficulties of communicating the experience of violence, etc. On the other hand, the course will focus on how ordinary people who were subjected to violence cope, live, recover and rebuild their life during and in the aftermath of violence.",,"Any 8.0 credits, including [0.5 at the A- or B- level in CLA, GAS, HIS or WST courses] and [0.5 credit at the C-level in CLA, GAS, HIS or WST courses]",,Living within Violence: Exploring South Asia,,,4th year +GASD20H3,,University-Based Experience,This seminar examines the transformation and perpetuation of gender relations in contemporary Chinese societies. It pays specific attention to gender politics at the micro level and structural changes at the macro level through in-depth readings and research. Same as SOCD20H3,GASB20H3 and GASC20H3,"[SOCB05H3 and 0.5 credit in SOC course at the C-level] or [GASA01H3 and GASA02H3 and 0.5 credit at the C-level from the options in requirement #2 of the Specialist or Major programs in Global Asia Studies] or [10.0 credits including IDSB11H3 and enrolment in the Certificate in Global Development, Environment and Health]",SOCD20H3,Advanced Seminar: Social Change and Gender Relations in Chinese Societies,,,4th year +GASD30H3,HIS_PHIL_CUL,,"This course examines how popular culture projects its fantasies and fears about the future onto Asia through sexualized and racialized technology. Through the lens of techno-Orientalism this course explores questions of colonialism, imperialism and globalization in relation to cyborgs, digital industry, high-tech labor, and internet/media economics. Topics include the hyper-sexuality of Asian women, racialized and sexualized trauma and disability. This course requires student engagement and participation. Students are required to watch films in class, and creative assignments such as filmmaking and digital projects are encouraged. Same as WSTD30H3",,1.0 credit at the B-level and 1.0 credit at the C- level in WST courses or other Humanities and Social Sciences courses,WSTD30H3,Gender and Techno- Orientalism,,"Priority will be given to students enrolled in the Major/Major Co-op and Minor programs in Women’s and Gender Studies, and the Specialist, Major and Minor programs in Global Asia Studies. Additional students will be admitted as space permits.",4th year +GASD40H3,,,"The Chinese government has played a central role in the development of print, electronic and digital media. Recent changes in the political economy of Chinese media have had strong political and cultural implications. This senior seminar course examines the complex and dynamic interplay of media and politics in contemporary China.",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS courses] and [0.5 credit at the C-level in GAS courses]",,Senior Seminar: Issues in Chinese Media Studies,,Topics vary from year to year. Check the website www.utsc.utoronto.ca/~hcs/programs/global-asia-studies.html for current offerings.,4th year +GASD53H3,HIS_PHIL_CUL,,"This seminar course examines the First World War in its imperial and colonial context in Africa and Asia. Topics include forgotten fronts in Africa, the Middle East, Asia and the Pacific, colonial armies and civilians, imperial economies and resources, the collapse of empires and the remaking of the colonial world. Same as AFSD53H3 and HISD53H3",,"8.0 credits, including: 1.0 credit in AFS, GAS or Africa and Asia area HIS courses","AFSD53H3, HISD53H3",Africa and Asia in the First World War,,,4th year +GASD54H3,,,"This upper-level seminar will explore how water has shaped human experience. It will explore water landscapes, the representation of water in legal and political thought, slave narratives, and water management in urban development from the 16th century. Using case studies from South Asia and North America we will understand how affective, political and social relations to water bodies are made and remade over time. Same as HISD54H3",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",HISD54H3,Aqueous History: Water- Stories for a Future,,,4th year +GASD55H3,HIS_PHIL_CUL,,"This course explores the transnational connections and contexts that shaped ideas in modern Asia such as secularism, modernity, and pan Asianism. Through the intensive study of secondary sources and primary sources in translation, the course will introduce Asian thought during the long nineteenth-century in relation to the social, political, cultural, and technological changes. Using the methods of studying transnational history the course will explore inter- Asian connections in the world of ideas and their relation to the new connectivity afforded by steamships and the printing press. We will also explore how this method can help understand the history of modern Asia as a region of intellectual ferment rather than a passive recipient of European modernity. Same as HISD55H3",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",HISD55H3,Transnational Asian Thought,,,4th year +GASD56H3,HIS_PHIL_CUL,,"Labouring Diasporas in the British Empire 'Coolie' labourers formed an imperial diaspora linking South Asia and China to the Caribbean, Africa, the Indian Ocean, South-east Asia, and North America. The long-lasting results of this history are evident in the cultural and ethnic diversity of today's Caribbean nations and Commonwealth countries such as Great Britain and Canada. Same as HISD56H3",,"[8.0 credits, at least 2.0 credits should be at the B- or C-level in GAS or Modern History courses] or [15.0 credits, including SOCB60H3]",HISD56H3,'Coolies' and Others: Asian,,,4th year +GASD58H3,HIS_PHIL_CUL,University-Based Experience,"A study of major cultural trends, political practices, social customs, and economic developments in late imperial China (1400-1911) as well as their relevance to modern and contemporary China. Students will read the most recent literature and write a substantive research paper. Same as HISD58H3",GASB58H3/HISB58H3 or GASC57H3/HISC57H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",HISD58H3,"Culture, Politics, and Society in Late Imperial China",,,4th year +GASD59H3,HIS_PHIL_CUL,,"A seminar course on Chinese legal tradition and its role in shaping social, political, economic, and cultural developments, especially in late imperial and modern China. Topics include the foundations of legal culture, regulations on sexuality, women's property rights, crime fictions, private/state violence, laws of ethnicities, prison reforms and modernization. Same as HISD59H3",GASB58H3/HISB58H3 or GASC57H3/HISC57H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",HISD59H3,Law and Society in Chinese History,,,4th year +GASD71H3,HIS_PHIL_CUL,Partnership-Based Experience,"Examines the central place of cuisine to families, societies, and cultures across Global Asian societies and their diasporas, using tastes, culinary work techniques, community-based research, oral histories, digital humanities and multi-media experiential learning, as well as critical reading and writing.",,"8.0 credits, including 1.0 credit from any program offered by the Department of Historical and Cultural Studies",,"Cuisine, Culture, and Societies Across Global Asia",,,4th year +GGRA02H3,SOCIAL_SCI,,"Globalization from the perspective of human geography. The course examines how the economic, social, political, and environmental changes that flow from the increasingly global scale of human activities affect spatial patterns and relationships, the character of regions and places, and the quality of life of those who live in them.",,,"GGR107H, (GGR107Y), GGR117Y",The Geography of Global Processes,,,1st year +GGRA03H3,SOCIAL_SCI,,"An introduction to the characteristics of modern cities and environmental issues, and their interconnections. Linkages between local and global processes are emphasized. Major topics include urban forms and systems, population change, the complexity of environmental issues such as climate change and water scarcity, planning for sustainable cities.",,,"GGR107H, (GGR107Y), GGR117Y",Cities and Environments,,,1st year +GGRA30H3,QUANT,,"Students learn fundamental concepts concerning the structure and effective uses of geographical data and practical skills that will help them to find and apply geographical data appropriately in their studies. Hands-on exercises using a variety of software allow students to gain experience in finding, processing, documenting, and visualizing geographic data. Lecture topics introduce students to the opportunities and challenges of using geographical data as empirical evidence across a range of social science topics.",,,,Geographic Information Systems (GIS) and Empirical Reasoning,,,1st year +GGRA35H3,SOCIAL_SCI,,"Scarborough is a place of rapidly changing social geographies, and now contains one of the world’s most extraordinary mixes of people. What do these changes mean, how can we understand and interpret them? This course introduces Human Geography as the study of people, place, and community through field trips, interviews, and guest lectures.",,,,"The Great Scarborough Mashup: People, Place, Community, Experience",,Restricted to first year undergraduate students.,1st year +GGRB02H3,SOCIAL_SCI,,"Many of today's key debates - for instance, on globalization, the environment, and cities - draw heavily from geographical thinking and what some have called the ""spatial turn"" in the social sciences. This course introduces the most important methodological and theoretical aspects of contemporary geographical and spatial thought, and serves as a foundation for other upper level courses in Geography.",,Any 4 credits,,The Logic of Geographical Thought,,,2nd year +GGRB03H3,ART_LIT_LANG,,"This course aims to develop critical reading and writing skills of human geography students. Through a variety of analytical, reflexive, and descriptive writing assignments, students will practice how to draft, revise, and edit their writing on spatial concepts. Students will learn how to conduct research for literature reviews, organize materials, and produce scholarly papers. They will also learn to cultivate their writing voice by engaging in a range of writing styles and forms such as blog posts, critical commentaries, travelogues, field notes, and research briefs. The course emphasizes writing clearly, succinctly, and logically.",,Any 4.0 credits,,Writing Geography,,Priority will be given to students enrolled in the Major program in Human Geography. Additional students will be admitted as space permits.,2nd year +GGRB05H3,SOCIAL_SCI,,This course will develop understanding of the geographic nature of urban systems and the internal spatial patterns and activities in cities. Emphasis is placed on the North American experience with some examples from other regions of the world. The course will explore the major issues and problems facing contemporary urban society and the ways they are analysed. Area of Focus: Urban Geography,,Any 4 credits,"GGR124H, (GGR124Y)",Urban Geography,,,2nd year +GGRB13H3,SOCIAL_SCI,,"The reciprocal relations between spatial structures and social identities. The course examines the role of social divisions such as class, 'race'/ethnicity, gender and sexuality in shaping the social geographies of cities and regions. Particular emphasis is placed on space as an arena for the construction of social relations and divisions. Area of Focus: Social/Cultural Geography",,Any 4 credits,,Social Geography,,,2nd year +GGRB18H3,SOCIAL_SCI,,"Introduces students to the geography of Indigenous-Crown- Land relations in Canada. Beginning with pre-European contact and the historic Nation-to-Nation relationship, the course will survey major research inquiries from the Royal Commission on Aboriginal Peoples to Missing and Murdered Indigenous Women and Girls. Students will learn how ongoing land and treaty violations impact Indigenous peoples, settler society, and the land in Canada. Area of Focus: Environmental Geography Same as ESTB02H3",,"4.0 credits, including at least 0.5 credit in ANT, CIT, EST, GGR, HLT, IDS, POL or SOC",ESTB02H3,Whose Land? Indigenous- Canada-Land Relations,,,2nd year +GGRB21H3,SOCIAL_SCI,,This foundational course explores different conceptions of 'the environment' as they have changed through space and time. It also analyzes the emergence of different variants of environmentalism and their contemporary role in shaping environmental policy and practice. Area of Focus: Environmental Geography,,,"GGR222H, GGR223H, GGRC22H3","Political Ecology: Nature, Society and Environmental Change",,,2nd year +GGRB28H3,SOCIAL_SCI,,Examines the geographical distribution of disease and the spatial processes in which diseases are embedded. Themes include spatial theories of health and disease and uneven development and health. Special attention will be given to the geographical dimension of the HIV pandemic. Area of Focus: Social/Cultural Geography,,Any 4 credits,,Geographies of Disease,,,2nd year +GGRB30H3,QUANT,,"This course provides a practical introduction to digital mapping and spatial analysis using a geographic information system (GIS). The course is designed to provide hands-on experience using GIS to analyse spatial data, and create maps that effectively communicate data meanings. Students are instructed in GIS methods and approaches that are relevant not only to Geography but also to many other disciplines. In the lectures, we discuss mapping and analysis concepts and how you can apply them using GIS software. In the practice exercises and assignments, you then learn how to do your own data analysis and mapping, gaining hands-on experience with ArcGIS software, the most widely used GIS software.",GGRA30H3,,"GGR272H, GGR278H",Fundamentals of GIS I,,,2nd year +GGRB32H3,QUANT,,"This course builds on GGRB30 Fundamentals of GIS, continuing the examination of theoretical and analytical components of GIS and spatial analysis, and their application through lab assignments. The course covers digitizing, topology, vector data models, remote sensing and raster data models and analysis, geoprocessing, map design and cartography, data acquisition, metadata, and data management, and web mapping.",,GGRB30H3,GGR273H1,Fundamentals of GIS II,,,2nd year +GGRB55H3,SOCIAL_SCI,,"The course introduces core concepts in cultural geography such as race and ethnicity, identity and difference, public and private, landscape and environment, faith and community, language and tradition, and mobilities and social change. Emphasis will be on cross-disciplinary, critical engagement with current events, pop culture, and visual texts including comics, photos, and maps. Area of Focus: Social/Cultural Geography",,Any 4.0 credits,,Cultural Geography,,,2nd year +GGRC01H3,,,An independent supervised reading course open only to students in the Major Program in Human Geography. An independent literature review research project will be carried out under the supervision of an individual faculty member.,,"10 full credits including completion of the following requirements for the Major Program in Human Geography: 1) Introduction, 2) Theory and Concepts, 3) Methods; and a cumulative GPA of at least 2.5.",,Supervised Readings in Human Geography,,,3rd year +GGRC02H3,SOCIAL_SCI,,"An examination of the geographical dimension to human population through the social dynamics of fertility, mortality and migration. Themes include disease epidemics, international migration, reproductive technologies, and changing family structure. Area of focus: Social/Cultural Geography",CITA01H3/(CITB02H3) or GGRB02H3,Any 8.0 credits,"GGR323H, GGR208H",Population Geography,,,3rd year +GGRC09H3,SOCIAL_SCI,,"Examination and discussion of current trends and issues in social geography, with particular emphasis on recent developments in concepts and methods. This course is an unique opportunity to explore a particular topic in-depth, the specific content will vary from year to year. Area of focus: Social/Cultural Geography",,Any 8.0 credits,,Current Topics in Social Geography,,,3rd year +GGRC10H3,SOCIAL_SCI,,"Examines global urbanization processes and the associated transformation of governance, social, economic, and environmental structures particularly in the global south. Themes include theories of development, migration, transnational flows, socio-spatial polarization, postcolonial geographies of urbanization. Area of focus: Urban Geography",CITA01H3/(CITB02H3) or GGRB05H3 or IDSA01H3,Any 8.0 credits,,Urbanization and Development,,,3rd year +GGRC11H3,SOCIAL_SCI,,"Examination and discussion of current trends and issues in urban geography, with particular emphasis on recent developments in concepts and methods. This course is an unique opportunity to explore a particular topic in-depth, the specific content will vary from year to year. Area of focus: Urban Geography",CITA01H3/(CITB02H3) or GGRB05H3,Any 8.0 credits,,Current Topics in Urban Geography,,,3rd year +GGRC12H3,SOCIAL_SCI,,"Transportation systems play a fundamental role in shaping social, economic and environmental outcomes in a region. This course explores geographical perspectives on the development and functioning of transportation systems, interactions between transportation and land use, and costs and benefits associated with transportation systems including: mobility, accessibility, congestion, pollution, and livability. Area of focus: Urban Geography",GGRB30H3,Any 8.0 credits including GGRA30H3 and [GGRB05H3 or CITA01H3/(CITB02H3)],"GGR370H, GGR424H",Transportation Geography,,,3rd year +GGRC13H3,SOCIAL_SCI,,"Geographical approach to the politics of contemporary cities with emphasis on theories and structures of urban political processes and practices. Includes nature of local government, political powers of the property industry, big business and community organizations and how these shape the geography of cities. Area of focus: Urban Geography",CITA01H3/(CITB02H3) or GGRB05H3 or PPGB66H3/(PPGC66H3)/(POLC66H3),Any 8.0 credits,,Urban Political Geography,,,3rd year +GGRC15H3,SOCIAL_SCI,,"Given the importance of the management of data within geographic information modelling, this course provides students with the opportunity to develop skills for creating, administering and applying spatial databases. Overview of relational database management systems, focusing on spatial data, relationships and operations and practice creating and using spatial databases. Structured Query Language (SQL) and extensions to model spatial data and spatial relationships. Topics are introduced through a selection of spatial data applications to contextualize, explain, and practice applying spatial databases to achieve application objectives: creating data from scanned maps; proximity and spatial relations; vehicle routing; elementary web services for spatial data. Students will complete a term project applying spatial data to study or model a topic of their choosing.",,GGRB32H3,,Spatial Databases and Applications,,,3rd year +GGRC21H3,SOCIAL_SCI,,"Examination and discussion of current trends and issues in environmental geography, with particular emphasis on recent developments in concepts and methods. This course is an unique opportunity to explore a particular topic in-depth, the specific content will vary from year to year. Area of focus: Environmental Geography",GGRB21H3,Any 8.0 credits,,Current Topics in Environmental Geography,,,3rd year +GGRC24H3,SOCIAL_SCI,,"Explores the processes through which segments of societies come to understand their natural surroundings, the social relations that produce those understandings, popular representations of nature, and how 'the environment' serves as a consistent basis of social struggle and contestation. Areas of focus: Environmental Geography; Social/Cultural Geography",GGRB21H3,Any 8.0 credits,,Socio-Natures and the Cultural Politics of 'The Environment',,,3rd year +GGRC25H3,SOCIAL_SCI,,"Land reform, which entails the redistribution of private and public lands, is broadly associated with struggles for social justice. It embraces issues concerning how land is transferred (through forceful dispossession, law, or markets), and how it is currently held. Land inequalities exist all over the world, but they are more pronounced in the developing world, especially in countries that were affected by colonialism. Land issues, including land reform, affect most development issues. Area of focus: Environmental Geography",GGRB21H3 or AFSB01H3 or IDSB02H3 or ESTB01H3,Any 8.0 credits,,Land Reform and Development,,,3rd year +GGRC26H3,SOCIAL_SCI,,"This course addresses the translation of environmentalisms into formalized processes of environmental governance; and examines the development of environmental institutions at different scales, the integration of different forms of environmental governance, and the ways in which processes of governance relate to forms of environmental practice and management. Area of focus: Environmental Geography",GGRB21H3 or ESTB01H3,Any 8.0 credits,,Geographies of Environmental Governance,,,3rd year +GGRC27H3,SOCIAL_SCI,,Location of a firm; market formation and areas; agricultural location; urban spatial equilibrium; trade and spatial equilibrium; locational competition; equilibrium for an industry; trade and location. Area of focus: Urban Geography,,MGEA01H3 and [[GGRB02H3 and GGRB05H3] or [CITB01H3 and CITA01H3/(CITB02H3)]] or [[MGEB01H3 or MGEB02H3] and [MGEB05H3 or MGEB06H3]],(GGRB27H3) GGR220Y,Location and Spatial Development,,,3rd year +GGRC28H3,SOCIAL_SCI,,"Engages Indigenous perspectives on the environment and environmental issues. Students will think with Indigenous concepts, practices, and theoretical frameworks to consider human-environment relations. Pressing challenges and opportunities with respect to Indigenous environmental knowledge, governance, law, and justice will be explored. With a focus primarily on Canada, the course will include case studies from the US, Australia, and Aotearoa New Zealand",GGRB18H3/ESTB02H3,Any 8.0 credits,,"Indigenous Peoples, Environment and Justice",,,3rd year +GGRC30H3,QUANT,,"This course covers advanced theoretical and practical issues of using GIS systems for research and spatial analysis. Students will learn how to develop and manage GIS research projects, create and analyze three-dimensional surfaces, build geospatial models, visualize geospatial data, and perform advanced spatial analysis. Lectures introduce concepts and labs implement them.",,GGRB32H3,GGR373H,Advanced GIS,,,3rd year +GGRC31H3,HIS_PHIL_CUL,,"Explores the practice of ethnography (i.e. participant observation) within and outside the discipline of geography, and situates this within current debates on methods and theory. Topics include: the history of ethnography, ethnography within geography, current debates within ethnography, the ""field,"" and ethnography and ""development.""",,Any 8.0 credits,,Qualitative Geographical Methods: Place and Ethnography,,,3rd year +GGRC32H3,QUANT,,"This course builds on introductory statistics and GIS courses by introducing students to the core concepts and methods of spatial analysis. With an emphasis on spatial thinking in an urban context, topics such as distance decay, distance metrics, spatial interaction, spatial distributions, and spatial autocorrelation will be used to quantify spatial patterns and identify spatial processes. These tools are the essential building blocks for the quantitative analysis of urban spatial data. Area of focus: Urban Geography",,Any 8.0 credits including [STAB23H3 and GGRB30H3],GGR276H,Essential Spatial Analysis,,,3rd year +GGRC33H3,SOCIAL_SCI,,"This course examines issues of urban form and structure, urban growth and planning in the Toronto region. Current trends in population, housing, economy, environment, governance, transport, urban design and planning practices at the local level and the regional scale will be examined critically. Area of focus: Urban Geography",CITA01H3/(CITB02H3) or GGRB05H3,Any 8.0 credits,,The Toronto Region,,,3rd year +GGRC34H3,SOCIAL_SCI,Partnership-Based Experience,"Significant recent transformations of geographic knowledge are being generated by the ubiquitous use of smartphones and other distributed sensors, while web-based platforms such as Open Street Map and Public Participation GIS (PPGIS) have made crowd-sourcing of geographical data relatively easy. This course will introduce students to these new geographical spaces, approaches to creating them, and the implications for local democracy and issues of privacy they pose. Area of focus: Urban Geography",GGRB32H3,GGRB05H3 or GGRB30H3,,Crowd-sourced Urban Geographies,,,3rd year +GGRC40H3,SOCIAL_SCI,,"The last 50 years have seen dramatic growth in the global share of population living in megacities over 10 million population, with most growth in the global south. Such giant cities present distinctive infrastructure, health, water supply, and governance challenges, which are increasingly central to global urban policy and health. Area of focus: Urban Geography",CITA01H3/(CITB02H3) or GGRB05H3,Any 8.0 credits,(CITC40H3),Megacities and Global Urbanization,,,3rd year +GGRC41H3,SOCIAL_SCI,,"Examination and discussion of current trends and issues in human geography, with particular emphasis on recent developments in concepts and methods. This course is an unique opportunity to explore a particular topic in-depth, the specific content will vary from year to year.",GGRB20H3,Any 8.0 credits,,Current Topics in Human Geography,,,3rd year +GGRC42H3,QUANT,,"This course introduces students to the main methods of multivariate analysis in the social sciences, with an emphasis on applications incorporating spatial thinking and geographic data. Students will learn how to evaluate data quality, construct analysis datasets, and perform and interpret multivariate analyses using the R statistical programming language.",,STAB22H3 or equivalent,GGRC41H3 (if taken in the 2019 Fall session),Making Sense of Data: Applied Multivariate Analysis,,,3rd year +GGRC43H3,HIS_PHIL_CUL,,"This course uses street food to comparatively assess the production of ‘the street’, the legitimation of bodies and substances on the street, and contests over the boundaries of, and appropriate use of public and private space. It also considers questions of labour and the culinary infrastructure of contemporary cities around the world. Area of Focus: Social/Cultural Geography Same as FSTC43H3",,FSTA01H3 or GGRA02H3 or GGRA03H3,"FSTC43H3, GGRC41H3 (if taken in the 2019 Winter and 2020 Winter sessions)",Social Geographies of Street Food,,,3rd year +GGRC44H3,SOCIAL_SCI,Partnership-Based Experience,"Deals with two main topics: the origins of environmental problems in the global spread of industrial capitalism, and environmental conservation and policies. Themes include: changes in human-environment relations, trends in environmental problems, the rise of environmental awareness and activism, environmental policy, problems of sustainable development. Area of focus: Environmental Geography",GGRB21H3 or IDSB02H3 or ESTB01H3,Any 8.0 credits,"GGR233Y, (GGRB20H3)",Environmental Conservation and Sustainable Development,,,3rd year +GGRC48H3,SOCIAL_SCI,,"How have social and economic conditions deteriorated for many urban citizens? Is the geographic gap widening between the rich and the poor? This course will explore the following themes: racialization of poverty, employment and poverty, poverty and gender socio-spatial polarization, and housing and homelessness. Area of focus: Urban Geography",CITA01H3/(CITB02H3) or GGRB05H3 or IDSA01H3,Any 8.0 credits,,Geographies of Urban Poverty,,,3rd year +GGRC50H3,SOCIAL_SCI,University-Based Experience,"Explores the social geography of education, especially in cities. Topics include geographical educational inequalities; education, class and race; education, the family, and intergenerational class immobility; the movement of children to attend schools; education and the ‘right to the city.’ Areas of focus: Urban or Social/Cultural Geography",GGRB05H3 or GGRB13H3,Any 8.0 credits,,Geographies of Education,,,3rd year +GGRC54H3,SOCIAL_SCI,Partnership-Based Experience,"Provides an opportunity to engage in a field trip and field research work on a common research topic. The focus will be on: preparation of case study questions; methods of data collection including interviews, archives, and observation; snowballing contacts; and critical case-study analysis in a final report.",,GGRB02H3 and 1.0 additional credit at the B- level in GGR,,Human Geography Field Trip,,,3rd year +GGRD01H3,,,An independent studies course open only to students in the Major Program in Human Geography. An independent studies project will be carried out under the supervision of an individual faculty member.,,13.0 credits including GGRB02H3,,Supervised Research Project,,,4th year +GGRD08H3,SOCIAL_SCI,Partnership-Based Experience,"Designed for final-year Human Geography Majors, this seminar is devoted to analysis and discussion of advanced theoretical and methodological issues in Environmental Geography. Specific content will vary from year to year. Seminar format with active student participation. Area of focus: Environmental Geography",,13.0 credits including GGRB21H3,,Research Seminar in Environmental Geography,,,4th year +GGRD09H3,SOCIAL_SCI,,"How do gender relations shape different spaces? We will explore how feminist geographers have approached these questions from a variety of scales - from the home, to the body, to the classroom, to the city, to the nation, drawing on the work of feminist geographers. Area of focus: Social/Cultural Geography",,13.0 credits,,Feminist Geographies,,,4th year +GGRD10H3,SOCIAL_SCI,,"Examines links between health and human sexuality. Particularly explores sexually transmitted infections. Attention will be given to the socially and therefore spatially constructed nature of sexuality. Other themes include sexual violence, masculinities and health, reproductive health, and transnational relationships and health. Examples will be taken from a variety of countries. Area of focus: Social/Cultural Geography",,13.0 credits including [GGRB13H3 or IDSB04H3 or WSTB05H3],,Health and Sexuality,,,4th year +GGRD11H3,SOCIAL_SCI,,"Designed for final-year Human Geography Majors, this reading-intensive seminar course develops analytical and methodological skills in socio-spatial analysis. We explore major theoretical/methodological traditions in geography including positivism, humanism, Marxism, and feminism, and major analytical categories such as place, scale, and networks. Particularly recommended for students intending to apply to graduate school.",,13.0 credits including GGRB02H3,,Advanced Geographical Theory and Methods,,,4th year +GGRD12H3,,,"Designed for final-year Human Geography Majors, this seminar is devoted to analysis and discussion of current theoretical and methodological issues in human geography. This course is an unique opportunity to explore a particular topic in-depth, the specific content will vary from year to year. Seminar format with active student participation.",,13.0 credits including GGRB02H3,,Seminar in Selected Topics in Human Geography,,,4th year +GGRD13H3,SOCIAL_SCI,University-Based Experience,"This course focuses on the practice of ethnography in geographic research and allows students to design and conduct their own ethnographic research projects. Utilizing various approaches in geographic scholarship, in the first part of the course students will learn about ethnographic research methods and methodologies and finalize their research proposals. In the second part, they will carry out their research under the supervision of the course director and with support from their peers. Course assignments will assist each student throughout their research design, ethics approval, ethnography, and writing a final paper. Course meetings will be conducted in a seminar format.",,"Any 13.0 credits, including GGRC31H3",,"Space, Place, People: Practice of Ethnographic Inquiry",,,4th year +GGRD14H3,SOCIAL_SCI,,"Examines links between politics of difference, social justice and cities. Covers theories of social justice and difference with a particular emphasis placed on understanding how contemporary capitalism exacerbates urban inequalities and how urban struggles such as Occupy Wall Street seek to address discontents of urban dispossession. Examples of urban social struggles will be drawn from global North and South. Areas of focus: Urban or Social/Cultural Geography",,13.0 credits including [GGRB05H3 or GGRB13H3 or CITA01H3/(CITB02H3) or IDSB06H3],,Social Justice and the City,,,4th year +GGRD15H3,SOCIAL_SCI,,"How do sex and gender norms take and shape place? To examine this question, we will explore selected queer and trans scholarship, with a particular emphasis on queer scholars of colour and queer postcolonial literatures. Course topics include LGBTQ2S lives and movements, cities and sexualities, cross-border migration flows, reproductive justice, and policing and incarceration.",GGRB13H3 or WSTB25H3,Any 8.0 credits,,Queer Geographies,,,4th year +GGRD16H3,SOCIAL_SCI,,"As major engines of the global economy, cities are also concentrated sites of work and employment. Popular and political understandings about what constitutes ""fair"" and ""decent"" work, meanwhile, are currently facing profound challenges. From the rise of platformed gig work to the rising cost of living in many cities – this course introduces students to approaches within Geography that help to conceptualize what ""work"" is, and to major forces shaping the laboured landscapes of cities, with a focus on the Greater Toronto Area. In this course students will get the opportunity to explore the varied forms of production and reproduction that make the GTA function and thrive, and to develop a vocabulary and critical lens to identify the geographies of different kinds of work and employment relations. Students will also have the chance to develop labour market research skills, and to critically examine the forms of work they themselves undertake every day.",,13.0 credits including [GGRB05H3 or CITA01H3/(CITB02H3)],SOCB54H3 and GGRD25H3 (if taken in Winter 2022),Work and Livelihoods in the GTA,,,4th year +GGRD25H3,SOCIAL_SCI,,"Designed for final-year Human Geography Majors, this seminar is devoted to analysis and discussion of current theoretical and methodological issues in urban geography. Specific content will vary from year to year. Seminar format with active student participation. Area of focus: Urban Geography",,13.0 credits including [GGRB05H3 or CITA01H3/(CITB02H3)],,Research Seminar in Urban Spaces,,Priority will be given to Geography Majors with the highest CGPA.,4th year +GGRD30H3,QUANT,University-Based Experience,"Students will design, manage and complete a research project using GIS. Students will work in teams of 4-6 to pose a research question, acquire a dataset, and organize and analyze the data to answer their question. The course will teach research design, project management, data analysis, team work, and presentation of final results.",,GGRC30H3,GGR462H,GIS Research Project,,,4th year +GGRD31H3,SOCIAL_SCI,University-Based Experience,"Independent research extension to one of the courses already completed in Human Geography. Enrolment requires written permission from a faculty supervisor and Associate Chair, Human Geography. Only open to students who have completed 13.0 credits and who are enrolled in the Human Geography Major, Human and Physical Geography Major programs, or Minor Program in GIS sponsored by the Department of Human Geography.",,Any 13.0 credits,,Independent Research Project,,,4th year +GGRD49H3,SOCIAL_SCI,Partnership-Based Experience,"This course explores various ways of making claims to possess or use land by first unsettling commonsense ideas about ownership and then tracing these through examples of classed, gendered and racialized property regimes. Through this exploration, the course shows that claims to land are historically and geographically specific, and structured by colonialism, and capitalism. Informed by a feminist interpretation of “conflict,” we look at microprocesses that scale up to largescale transformations in how land is lived. We end by engaging with Black and Indigenous epistemologies regarding how land might be differently cared for and occupied. Areas of focus: Environmental or Social/Cultural Geography",GGRB13H3 or GGRB21H3 or IDSA01H3,"13.0 credits including at least 0.5 credit at the B-level from (AFS, ANT, CIT, GGR, HLT, IDS, POL, PPG, or SOC)",(GGRC49H3),Land and Land Conflicts in the Americas,,,4th year +GLBC01H3,SOCIAL_SCI,Partnership-Based Experience,"Whether corporate, not for profit or governmental, modern organizations require leaders who are willing to take on complex challenges and work with a global community. Effective leaders must learn how to consider and recognize diverse motivations, behaviours, and perspectives across teams and networks. Building upon content learned in GLB201H5 and focusing on applications and real-life case studies; this course will provide students with knowledge and skills to become global leaders of the future. Upon completion of this course, students will be able to adapt culturally sensitive communication, motivation and negotiation techniques, preparing them to apply new principled, inclusive, and appreciative approaches to the practice of global leadership. In preparation for GLB401Y1, this course will include group-based activities in which students collaborate on current issues of global importance. An experiential learning component will help develop skills through interactions with guest lecturers and community partners. Community partners will present real-world global leadership problems to the class, which students will work to analyze and solve. At the end of the term, students will meet in person for final group presentations to deliver key solutions to community partners. This course will be delivered primarily online through synchronous/asynchronous delivery, with specific in-person activities scheduled throughout the course.",,GLB201H5,,"Global Leadership: Theory, Research and Practice",,"25 UTSC students in each course section (up to 4 sections). This is a tri-campus course and the enrolment limit for the Minor it supports is 100 students (25 UTSC, 25 UTM, 50 FAS)",3rd year +HCSC01H3,HIS_PHIL_CUL,,"In this experiential learning course, students will have opportunities to apply their HCS program-specific knowledge and skills, develop learning, technology and/or transferable competencies, and serve the GTA community. This experience will allow students to meaningfully contribute to and support projects and activities that address community needs by completing a placement at a community organization.",,"Students must be in Year 3 or 4 of their studies, and enrolled in an HCS subject POSt, and must have completed 3.0 credits of their HCS program","CTLB03H3, WSTC23H3",Experiential Learning in Historical and Cultural Studies,,,3rd year +HCSD05H3,HIS_PHIL_CUL,,"The course provides an introduction to Canada’s intellectual property (IP) systems, copyright, patent, trademark and confidential information. Topics include use, re-use and creation of IP, the impact of the digital environment, the national implication of international agreements and treaties and information policy development.",,"Any 2.0 credits; and an additional 2.0 credits at the C-level in ACM, Language Studies, HCS, ENG and PHL",,Intellectual Property in Arts and Humanities,,,4th year +HISA04H3,HIS_PHIL_CUL,,"An introduction to history that focuses on a particular theme in world history, which will change from year to year. Themes may include migration; empires; cultural encounters; history and film; global cities.",,,,Themes in World History I,,,1st year +HISA05H3,HIS_PHIL_CUL,,"An introduction to history that focuses on a particular theme in world history, which will change from year to year. Themes may include migration; empires; cultural encounters; history and film; global cities.",,,,Themes in World History II,,,1st year +HISA06H3,HIS_PHIL_CUL,,"This course introduces Global Asia Studies through studying historical and political perspectives on Asia. Students will learn how to critically analyze major historical texts and events to better understand important cultural, political, and social phenomena involving Asia and the world. They will engage in intensive reading and writing for humanities. Same as GASA01H3 Africa and Asia Area",,,GASA01H3,Introducing Global Asia and its Histories,,,1st year +HISA07H3,HIS_PHIL_CUL,,"An introduction to the main features of the ancient civilizations of the Mediterranean world from the development of agriculture to the spread of Islam. Long term socio- economic and cultural continuities and ruptures will be underlined, while a certain attention will be dedicated to evidences and disciplinary issues. Same as CLAA04H3 0.50 pre-1800 credit Ancient World Area",,,CLAA04H3,The Ancient Mediterranean World,,,1st year +HISA08H3,HIS_PHIL_CUL,,"An interdisciplinary introduction to the history and development of Africa with Africa's place in the wider world a key theme. Students critically engage with African and diasporic histories, cultures, social structures, economies, and belief systems. Course material is drawn from Archaeology, History, Geography, Literature, Film Studies and Women's Studies. Africa and Asia Area Same as AFSA01H3",,,"AFSA01H3, NEW150Y",Africa in the World: An Introduction,,,1st year +HISA09H3,HIS_PHIL_CUL,,"This course explores the rise of capitalism – understood not simply as an economic system but as a political and cultural one as well – from roughly the 14th century to the present day. It aims to acquaint students with many of the more important socio-economic changes of the past seven hundred years and informing the way they think about some of the problems of the present time: globalization, growing disparities of wealth and poverty, and the continuing exploitation of the planet’s natural resources.",,,"HISA04H3 (if taken in the Fall 2017, Summer 2018 and Summer 2019 semesters)",Capitalism: A Global History,,,1st year +HISB02H3,HIS_PHIL_CUL,,"The British Empire at one time controlled a quarter of the world's population. This course surveys the nature and scope of British imperialism from the sixteenth to the twentieth century, through its interactions with people and histories of Asia, Africa, the Americas, the Caribbean, the Pacific, and the British Isles. Transnational Area",,,,The British Empire: A Short History,,,2nd year +HISB03H3,HIS_PHIL_CUL,,"Practical training in critical writing and research in History. Through lectures, discussion and workshops, students will learn writing skills (including essay organization, argumentation, documentation and bibliographic style), an introduction to methodologies in history and basic source finding techniques.",,,(HISB01H3),Critical Writing and Research for Historians,,,2nd year +HISB05H3,HIS_PHIL_CUL,,"This course provides a general introduction to digital methods in History through the study of the rise of information as a concept and a technology. Topics include the history of information theory, the rise of digital media, and, especially, the implications of digital media, text processing, and artificial intelligence for historical knowledge. Using simple tools, students learn to encode texts as data structures and transform those structures programmatically.","0.5 credit at the A or B-level in CLA, FST, GAS, HIS or WST courses",,DHU235H1,History of Information for a Digital Age,,,2nd year +HISB09H3,HIS_PHIL_CUL,,"A course to introduce students of history and classical studies to the world of late antiquity, the period that bridged classical antiquity and the Middle Ages. This course studies the period for its own merit as a time when political structures of the Medieval period were laid down and the major religions of the Mediterranean (Judaism, Christianity, Islam, Zoroastrianism) took their recognizable forms. Same as CLAB09H3 Ancient World Area",CLAA04H3/HISA07H3 The Ancient Mediterranean,,CLAB09H3,Between Two Empires: The World of Late Antiquity,,,2nd year +HISB10H3,HIS_PHIL_CUL,,"A survey of the history and culture of the Greek world from the Minoan period to the Roman conquest of Egypt (ca 1500- 30 BC). Special attention will be dedicated to the nature, variety and limits of the available evidences, to socio-cultural interactions as well as to historical processes of continuities and ruptures. Same as CLAB05H3 0.50 pre-1800 credit Ancient World Area",,,"CLAB05H3, CLA230H",History and Culture of the Greek World,,,2nd year +HISB11H3,HIS_PHIL_CUL,,"A survey of the history and culture of the ancient Roman world, from the Etruscan period to the Justinian dynasty (ca 800 BC-600 AD). Special attention will be dedicated to the nature, variety and limits of the available evidences, to socio- cultural interactions as well as to historical processes of continuities and ruptures. Same as CLAB06H3 0.5 pre-1800 credit Ancient World Area",,,"CLAB06H3, CLA231H",History and Culture of the Roman World,,,2nd year +HISB12H3,HIS_PHIL_CUL,,"The representation of the classical world and historical events in film. How the Greek and Roman world is reconstructed by filmmakers, their use of spectacle, costume and furnishings, and the influence of archaeology on their portrayals. Films will be studied critically for historical accuracy and faithfulness to classical sources. Same as CLAB20H3 Ancient World Area",CLAA05H3 or CLAA06H3 or (CLAA02H3) or (CLAA03H3),,"CLAB20H3, CLA388H",The Ancient World in Film,,,2nd year +HISB14H3,HIS_PHIL_CUL,University-Based Experience,"An exploration of how eating traditions around the world have been affected by economic and social changes, including imperialism, migration, the rise of a global economy, and urbanization. Topics include: immigrant cuisines, commodity exchanges, and the rise of the restaurant. Lectures will be supplemented by cooking demonstrations. Transnational Area",,,(HISC14H3),Edible History: History of Global Foodways,,,2nd year +HISB22H3,HIS_PHIL_CUL,University-Based Experience,"This introductory survey course connects the rich histories of Black radical women’s acts, deeds, and words in Canada. It traces the lives and political thought of Black women and gender-non-conforming people who refused and fled enslavement, took part in individual and collective struggles against segregated labour, education, and immigration practices; providing a historical context for the emergence of the contemporary queer-led #BlackLivesMatter movement. Students will be introduced, through histories of activism, resistance, and refusal, to multiple concepts and currents in Black feminist studies. This includes, for example, theories of power, race, and gender, transnational/diasporic Black feminisms, Black-Indigenous solidarities, abolition and decolonization. Students will participate in experiential learning and engage an interdisciplinary array of key texts and readings including primary and secondary sources, oral histories, and online archives. Same as WSTB22H3 Canadian Area",WSTA01H3 or WSTA03H3,1.0 credit at the A-level in any Humanities or Social Science courses,"WSTB22H3, WGS340H5",From Freedom Runners to #BlackLivesMatter: Histories of Black Feminism in Canada,,,2nd year +HISB23H3,HIS_PHIL_CUL,,"This class will examine Latin America’s social and cultural history from the ancient Aztecs and Incas to the twentieth- century populist revolutions of Emiliano Zapata and Evita Perón. It will also focus on Latin America’s connections to the wider world through trade, migration, and cuisine.",,,"HIS290H, HIS291H, HIS292H",Latin America and the World,,,2nd year +HISB30H3,HIS_PHIL_CUL,,A survey of American history from contact between Indians and Europeans up through the Civil War. Topics include the emergence of colonial societies; the rise and destruction of racial slavery; revolution and republic-making; economic and social change in the new nation; western conquest; and the republic's collapse into internal war. United States and Latin America Area,,,HIS271Y,American History to the Civil War,,,2nd year +HISB31H3,HIS_PHIL_CUL,,"This course offers a survey of U.S. history from the post-Civil War period through the late 20th century, examining key episodes and issues such as settlement of the American West, industrialization, urbanization, immigration, popular culture, social movements, race relations, and foreign policy. United States and Latin America Area",,,HIS271Y,History of the United States since the Civil War,,,2nd year +HISB37H3,HIS_PHIL_CUL,,"This class will examine Mexico’s social and cultural history from the ancient Aztecs through the Spanish Conquest to the twentieth-century revolutionary movements led by Pancho Villa and Emiliano Zapata. It will also focus on Mexico’s connections to the wider world through trade, migration, and cuisine. United States and Latin America Area",,,,History of Mexico,,,2nd year +HISB40H3,HIS_PHIL_CUL,,"The history of northern North America from the first contacts between Europeans and Aboriginal peoples to the late 19th century. Topics include the impact of early exploration and cultural encounters, empires, trans-Atlantic migrations, colonization and revolutions on the development of northern North America. Canadian Area",,,"(HIS262Y), HIS263Y",Early Canada and the Atlantic World,,,2nd year +HISB41H3,HIS_PHIL_CUL,,"Students will be introduced to historical processes central to the history of Canada's diverse peoples and the history of the modern age more generally, including the industrial revolution, women's entry in social and political ""publics,"" protest movements, sexuality, and migration in the context of international links and connections. Canadian Area",,,,Making of Modern Canada,,,2nd year +HISB50H3,HIS_PHIL_CUL,,"An introduction to the history of Sub-Saharan Africa, from the era of the slave trade to the colonial conquests. Throughout, the capacity of Africans to overcome major problems will be stressed. Themes include slavery and the slave trade; pre- colonial states and societies; economic and labour systems; and religious change. Africa and Asia Area Same as AFSB50H3",,Any modern history course or AFSA01H3.,"AFSB50H3, (HISC50H3), HIS295H, HIS396H, (HIS396Y)",Africa in the Era of the Slave Trade,,,2nd year +HISB51H3,HIS_PHIL_CUL,,"Modern Sub-Saharan Africa, from the colonial conquests to the end of the colonial era. The emphasis is on both structure and agency in a hostile world. Themes include conquest and resistance; colonial economies; peasants and labour; gender and ethnicity; religious and political movements; development and underdevelopment; Pan-Africanism, nationalism and independence. Same as AFSB51H3 Africa and Asia Area",AFSA01H3/HISA08H3 or AFSB50H3 or HISB50H3 strongly recommended.,,"AFSB51H3, (HISC51H3), HIS396H, (HIS396Y)",Africa from the Colonial Conquests to Independence,,,2nd year +HISB52H3,HIS_PHIL_CUL,,"An interdisciplinary introduction to African and African diasporic religions in historic context, including traditional African cosmologies, Judaism, Christianity, Islam, as well as millenarian and synchretic religious movements. Same as AFSB01H3 Africa and Asia Area",AFSA01H3/HISA08H3,,"AFSB01H3, (AFSA02H3)",African Religious Traditions Through History,,,2nd year +HISB53H3,HIS_PHIL_CUL,,"Why does Southern Asia’s pre-colonial history matter? Using materials that illustrate the connected worlds of Central Asia, South Asia and the Indian Ocean rim, we will query conventional histories of Asia in the time of European expansion. Same as GASB53H3 0.5 pre-1800 credit Africa & Asia Area",,,GASB53H3,"Mughals and the World, 1500- 1858 AD",,,2nd year +HISB54H3,HIS_PHIL_CUL,,"Africa from the 1960s to the present. After independence, Africans experienced great optimism and then the disappointments of unmet expectations, development crises, conflict and AIDS. Yet the continent’s strength is its youth. Topics include African socialism and capitalism; structural adjustment and resource economies; dictatorship and democratization; migration and urbanization; social movements. Same as AFSB54H3 Asia and Africa Area",,AFSA01H3 or AFSB51H3 or 0.5 credit in Modern History,"AFSB54H3, NEW250Y1",Africa in the Postcolonial Era,,,2nd year +HISB57H3,HIS_PHIL_CUL,,"A survey of South Asian history. The course explores diverse and exciting elements of this long history, such as politics, religion, trade, literature, and the arts, keeping in mind South Asia's global and diasporic connections. Africa and Asia Area Same as GASB57H3",,,"HIS282Y, HIS282H, GASB57H3",Sub-Continental Histories: South Asia in the World,,,2nd year +HISB58H3,HIS_PHIL_CUL,,"This course provides an overview of the historical changes and continuities of the major cultural, economic, political, and social institutions and practices in modern Chinese history. Same as GASB58H3 Africa and Asia Area",0.5 credit at the A-level in HIS or GAS courses,Any 2.0 credits,"HIS280Y, GASB58H3",Modern Chinese History,,,2nd year +HISB59H3,HIS_PHIL_CUL,,"This is a gateway course to the study of the history of science, technology, and medicine, examining the development of modern science and technology in service of and as a response to mercantile and colonial empires. Students will read historical scholarship and also get a basic introduction to the methods, big ideas, and sources for the history of science, technology and medicine. Such scientific and technological advances discussed will include geography and cartography; botany and agricultural science; race science and anthropology; tropical medicine and disease control; transportation and communication technologies.",,,,"Science, Technology, Medicine and Empire",,,2nd year +HISB60H3,HIS_PHIL_CUL,,"The development of Europe from the Late Roman period to the eleventh-century separation of the Roman and Byzantine Churches. The course includes the foundation and spread of Christianity, the settlement of ""barbarians"" and Vikings, the establishment of Frankish kingship, the Empire of Charlemagne, and feudalism and manorialism. 0.50 pre-1800 credit Medieval Area",,,HIS220Y,Europe in the Early Middle Ages (305-1053),,,2nd year +HISB61H3,HIS_PHIL_CUL,,"An introduction to the social, political, religious and economic foundations of the Western world, including Church and State relations, the Crusades, pilgrimage, monasticism, universities and culture, rural exploitation, town development and trade, heresy, plague and war. Particular attention will be devoted to problems which continue to disrupt the modern world. 0.50 pre-1800 credit Medieval Area",,,HIS220Y,Europe in the High and Late Middle Ages (1053-1492),,,2nd year +HISB62H3,HIS_PHIL_CUL,,"An exploration of the interplay of culture, religion, politics and commerce in the Mediterranean region from 1500 to 1800. Through travel narratives, autobiographical texts, and visual materials we will trace how men and women on the Mediterranean's European, Asian, and African shores experienced their changing world. 0.50 pre-1800 credit Transnational Area.",,,,"The Early Modern Mediterranean, 1500-1800",,,2nd year +HISB63H3,HIS_PHIL_CUL,,"This course explores the history of early and medieval Islamic societies, from the rise of Islam in the seventh century up to the Mongol invasions (c. 1300). The course will trace the trajectory of the major Islamic dynasties (i.e.: Umayyads, Abbasids, Seljuks, Fatimids, and Ayyubids) and also explore the cultural and literary developments in these societies. Geographically, the course spans North Africa, the Mediterranean, the Middle East, and Central Asia. Pre-1800 course Medieval Area",,,"NMC273Y1, NMC274H1, NMC283Y1, HIS201H5, RLG204H5",Muhammad to the Mongols: Islamic History 600-1300,,,2nd year +HISB64H3,HIS_PHIL_CUL,,"This course explores the political and cultural history of early modern and modern Muslim societies including the Mongols, Timurids, Mamluks, and the Gunpowder empires (Ottomans, Safavids and Mughals). It concludes with the transformations in the Middle East in the nineteenth and twentieth centuries: European colonialism, modernization, and the rise of the nation-states. Pre-1800 course Medieval Area",,,NMC278H1,The Making of the Modern Middle East: Islamic History 1300-2000,,,2nd year +HISB65H3,HIS_PHIL_CUL,,"For those who reside east of it, the Middle East is generally known as West Asia. By reframing the Middle East as West Asia, this course will explore the region’s modern social, cultural, and intellectual history as an outcome of vibrant exchange with non-European world regions like Asia. It will foreground how travel and the movement fundamentally shape modern ideas. Core themes of the course such as colonialism and decolonization, Arab nationalism, religion and identity, and feminist thought will be explored using primary sources (in translation). Knowledge of Arabic is not required. Same as GASB65H3 Africa and Asia Area",,,GASB65H3,West Asia and the Modern World,,,2nd year +HISB74H3,SOCIAL_SCI,,"This course explores the social circulation of Asian-identified foods and beverages using research from geographers, anthropologists, sociologists, and historians to understand their changing roles in ethnic entrepreneur-dominated cityscapes of London, Toronto, Singapore, Hong Kong, and New York. Foods under study include biryani, curry, coffee, dumplings, hoppers, roti, and tea. Same as GASB74H3 Africa and Asia Area",,,,Asian Foods and Global Cities,,,2nd year +HISB93H3,HIS_PHIL_CUL,,"Europe from the French Revolution to the First World War. Major topics include revolution, industrialization, nationalism, imperialism, science, technology, art and literature. European Area",,,"HIS241H, (HISB90H3), (HISB92H3)",Modern Europe I: The Nineteenth Century,,,2nd year +HISB94H3,HIS_PHIL_CUL,,"Europe from the First World War to the present day. War, political extremism, economic crisis, scientific and technological change, cultural modernism, the Holocaust, the Cold War, and the European Union are among the topics covered. European Area",,,"HIS242H, (HISB90), (HISB92)",Modern Europe II: The Twentieth Century,,,2nd year +HISB96H3,HIS_PHIL_CUL,,"The course is an introduction to some of the most radical European ideas from the eighteenth to the twentieth century. We will study ideas that challenged the existing political order and aimed to overturn the social status quo, ideas that undermined centuries of religious belief and ideas that posed new visions of what it meant to be human. This will include the study of classic texts written by well-known intellectual figures, as well as the study of lesser-known writers and people who challenged the received wisdom of the day. European Area",,,,Dangerous Ideas: Radical Books and Reimagined Worlds in Modern Europe,,,2nd year +HISC01H3,HIS_PHIL_CUL,,An examination of the nature and uses of evidence in historical and related studies. Historians use a wide variety of sources as evidence for making meaningful statements about the past. This course explores what is meant by history and how historians evaluate sources and test their reliability as historical evidence.,,HISB03H3,,History and Evidence,,,3rd year +HISC02H3,HIS_PHIL_CUL,,"This is an intensive reading course that explores the Marxist historical tradition in critical perspective. It builds upon HISA09H3, and aims to help students acquire a theoretical and practical appreciation of the contributions, limitations, and ambiguities of Marxian approaches to history. Readings include classical philosophers and social critics, contemporary historians, and critics of Marxism.",HISA09H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,Marx and History,,,3rd year +HISC03H3,HIS_PHIL_CUL,,"An examination of the places of animals in global history. The course examines on-going interactions between humans and animals through hunting, zoos, breeding, and pets and the historical way the divide between humans and animals has been measured. Through animals, people have often thought about what it means to be human. Same as (IEEC03H3) Transnational Area",,Any 2.5 credits in History.,"(HISD03H3), (IEEC03H3)",History of Animals and People,,,3rd year +HISC04H3,HIS_PHIL_CUL,,"This class seeks to recover a celebratory side of human experience that revolves around alcohol and stimulating beverages. Although most societies have valued psychoactive beverages, there has also been considerable ambivalence about the social consequences of excessive drinking. Students will examine drinking cultures through comparative historical study and ethnographic observation. Transnational Area",,2.5 credits in HIS courses,,Drink in History,,,3rd year +HISC05H3,HIS_PHIL_CUL,,"This course puts urban food systems in world historical perspective using case studies from around the world and throughout time. Topics include provisioning, food preparation and sale, and cultures of consumption in courts, restaurants, street vendors, and domestic settings. Students will practice historical and geographical methodologies to map and interpret foodways. Same as FSTC05H3 Transnational Area",,"Any 4.0 credits, including 0.5 credit at the A or B-level in CLA, FST, GAS HIS or WST courses",FSTC05H3,Feeding the City: Food Systems in Historical Perspective,,,3rd year +HISC06H3,,,"In the oft- titled “Information age” how has historical practice changed? How will researchers analyze the current moment, which produces ever more, and ever-more fragile information? This third-year seminar explores the foundations of digital history by understanding the major shifts in historiography and historical research that have occurred through computing. Students taking this class will be prepared to take HISD18 and further extend their knowledge of digital methodologies.",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,Futures of the Past: Introduction to Digital History,,,3rd year +HISC07H3,HIS_PHIL_CUL,,"This course prepares students to work in the field of digital history. We focus on the development of concrete skills in spatial and visual analysis; web technologies including HTML, CSS, JavaScript, and Web Components; and multi- media authoring. Each year, we choose a different thematic focus and use techniques of digital history to explore it. Students completing this class will acquire skills that qualify them to participate in ongoing Digital History and Digital Humanities projects run by department faculty, as well as to initiate their own research projects.","0.5 credit at the A or B-level in CLA, FST, GAS, HIS or WST courses",HISB05H3,"HIS355H1, HISC06H3","Data, Text, and the Future of the Past",,,3rd year +HISC08H3,HIS_PHIL_CUL,,"An examination of the depiction of empires and the colonial and postcolonial experience on film. This course also introduces students to the development of national cinemas in Asia, Africa, the Caribbean and the South Pacific. The relationship between academic history and history as imagined by filmmakers is a key theme. Transnational Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",(HISB18H3),Colonialism on Film,,,3rd year +HISC09H3,HIS_PHIL_CUL,,"This course examines early modern globalization through that cosmopolitan actor, the pirate. Beginning in the Caribbean, we will explore networks of capitalism, migration, empire, and nascent nationalism. By studying global phenomena through marginalized participants—pirates, maroons, rebels, and criminals—we seek alternate narratives on the modern world’s origins.",,1.0 credit in HIS courses,,Pirates of the Caribbean,,,3rd year +HISC10H3,HIS_PHIL_CUL,,"This course focuses on the History of ancient Egypt, with a focus on the Hellenistic to early Arab periods (4th c. BCE to 7th c. CE). Lectures will emphasize the key role played by Egypt’s diverse environments in the shaping of its socio- cultural and economic features as well as in the policies adopted by ruling authorities. Elements of continuity and change will be emphasized and a variety of primary sources and sites will be discussed. Special attention will also be dedicated to the role played by imperialism, Orientalism, and modern identity politics in the emergence and trajectory of the fields of Graeco-Roman Egyptian history, archaeology, and papyrology. Same as (IEEC52H3), CLAC05H3 0.5 pre-1800 credit Ancient World Area",,"2.0 credits in CLA or HIS courses, including 1.0 credit from the following: CLAA04H3/HISA07H3 or CLAB05H3/HISB10H3 or CLAB06H3/HISB11H3","CLAC05H3, (IEEC52H3)",Beyond Cleopatra: Decolonial Approaches to Ancient Egypt,,,3rd year +HISC11H3,HIS_PHIL_CUL,,A critical examination of multiculturalism and cultural identities in the Greek and Roman worlds. Special attention will be dedicated to the evidences through which these issues are documented and to their fundamental influence on the formation and evolution of ancient Mediterranean and West Asian societies and cultures. Same as CLAC24H3 0.5 pre-1800 credit Ancient World Area,CLAB05H3 and CLAB06H3,1.0 credit in CLA or HIS courses.,CLAC24H3,Race and Ethnicity in the Ancient Mediterranean and West Asian Worlds,,,3rd year +HISC16H3,HIS_PHIL_CUL,,"This course will explore the representations and realities of Indigeneity in the ancient Mediterranean world, as well as the entanglements between modern settler colonialism, historiography, and reception of the 'Classical' past. Throughout the term, we will be drawn to (un)learn, think, write, and talk about a series of topics, each of which pertains in different ways to a set of overarching questions: What can Classicists learn from ancient and modern indigenous ways of knowing? What does it mean to be a Classicist in Tkaronto, on the land many Indigenous Peoples call Turtle Island? What does it mean to be a Classicist in Toronto, Ontario, Canada? What does it mean to be a Classicist in a settler colony? How did the Classics inform settler colonialism? How does modern settler colonialism inform our reconstruction of ancient indigeneities? How does our relationship to the land we come from and are currently on play a role in the way we think about the ancient Mediterranean world? Why is that so? How did societies of the ancient Mediterranean conceive of indigeneity? How did those relationships manifest themselves at a local, communal, and State levels? Same as CLAC26H3 Ancient World Area",,"Any 4.0 credits, including 1.0 credit in CLA or HIS courses",CLAC26H3,Indigeneity and the Classics,,,3rd year +HISC18H3,HIS_PHIL_CUL,,An examination of the ideals of the Enlightenment against the background of social and political change in eighteenth- century Europe. This course looks at Enlightenment thought and the ways in which European monarchs like Frederick the Great and Catherine the Great adapted it to serve their goals of state building. 0.50 pre-1800 credit European Area,,1.0 credit at B-level in European history,"HIS244H, HIS341Y","Europe in the Enlightenment, 1700-1789",,,3rd year +HISC20H3,HIS_PHIL_CUL,,"This course examines the political, cultural and social history of fascism, from historical regimes and movements to contemporary expressions of the far right, alt-right and populist nationalism. We will explore topics including intellectual origins, the mobilization of culture, the totalitarian state, political violence, and global networks.",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,Fascism and the Far Right,,,3rd year +HISC22H3,HIS_PHIL_CUL,,"This course examines the impact of Second World War on the political, social, and cultural fabric of European societies. Beyond the military and political history of the war, it will engage topics including, but not limited to, geopolitical and ideological contexts; occupation, collaboration and resistance; the lives of combatants and civilians in total war; the Holocaust and the radicalisation of violence; and postwar memory. European Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,The Second World War in Europe,,,3rd year +HISC26H3,HIS_PHIL_CUL,,"The course will present the causes, processes, principles, and effects of the French Revolution. It will additionally present the relationship between the French Revolution and the Haitian Revolution, and look at the rise of Napoleon Bonaparte. 0.5 pre-1800 credit European Area",,,HIS457H,The French Revolution and the Napoleonic Empire,,,3rd year +HISC27H3,HIS_PHIL_CUL,,"The course will cover major developments in sexuality in Europe since antiquity. It will focus on the manner in which social, political, and economic forces influenced the development of sexuality. It will also analyze how religious beliefs, philosophical ideas, and scientific understanding influenced the ways that sexuality was understood. European Area",,,,The History of European Sexuality: From Antiquity to the Present,,,3rd year +HISC29H3,HIS_PHIL_CUL,,"This course explores familiar commodities in terms of natural origins, everyday cultures of use, and global significance. It analyses environmental conditions, socio-economic transactions, political, religious, and cultural contexts around their production, distribution, and consumption. Commodity case studies will be selected among tea, opium, chocolate, rice, bananas, cotton, rubber, coffee, and sugar. Transnational Area",HISB03H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,"Global Commodities: Nature, Culture, History",,Priority will be given to students enrolled in the Specialist and Major programs in History,3rd year +HISC30H3,HIS_PHIL_CUL,,"Collectively, immigrants, businesspeople, investors, missionaries, writers and musicians may have been as important as diplomats’ geopolitical strategies in creating networks of connection and exchange between the United States and the world. This course focuses on the changing importance and interactions over time of key groups of state and non-state actors. United States and Latin America Area",,"1.0 credit at the A-level in AFS, GAS or HIS courses",,The U.S. and the World,,,3rd year +HISC32H3,HIS_PHIL_CUL,,"Overview of the political and social developments that produced the modern United States in the half-century after 1877. Topics include urbanization, immigration, industrialization, the rise of big business and of mass culture, imperialism, the evolution of the American colour line, and how Americans used politics to grapple with these changes. United States and Latin America Area",HISB30H3 and HISB31H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,"The Emergence of Modern America, 1877-1933",,,3rd year +HISC33H3,HIS_PHIL_CUL,,"An examination of the relationship between culture and politics in modern American history. The course considers culture as a means through which Americans expressed political desires. Politics, similarly, can be understood as a forum for cultural expression. Topics include imperialism, immigration and migration, the Cold War, and the ""culture wars"". United States and Latin America Area",,HISB30H3 and HISB31H3,,Modern American Political Culture,,,3rd year +HISC34H3,HIS_PHIL_CUL,,"This transnational history course explores the origins, consolidation, and unmaking of segregationist social orders in the American South and South Africa. It examines the origins of racial inequality, the structural and socio-political roots of segregation, the workings of racial practices and ideologies, and the various strategies of both accommodation and resistance employed by black South Africans and African Americans from the colonial era up to the late twentieth century. Transnational Area",,AFSB51H3 or HISB31H3,,"Race, Segregation, Protest: South Africa and the United States",,,3rd year +HISC36H3,HIS_PHIL_CUL,,"Overview of the waves of immigration and internal migration that have shaped America from the colonial period to the present. Topics include colonization and westward migration, immigrants in the industrial and contemporary eras, nativism, stances towards pluralism and assimilation, and how migration experiences have varied by race, class, and gender. United States and Latin America Area",HISB30H3 and HISB31H3,"[Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses] or [any 8.0 credits, including SOCB60H3]",,People in Motion: Immigrants and Migrants in U.S. History,,,3rd year +HISC37H3,HIS_PHIL_CUL,,"Students in this course will examine the development of regional cuisines in North and South America. Topics will include indigenous foodways, the role of commodity production and alcohol trade in the rise of colonialism, the formation of national cuisines, industrialization, migration, and contemporary globalization. Tutorials will be conducted in the Culinaria Kitchen Laboratory. Same as FSTC37H3 United States and Latin America Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in CLA, FST, GAS, HIS or WST courses",FSTC37H3,Eating and Drinking Across the Americas,,,3rd year +HISC39H3,HIS_PHIL_CUL,,"the Blues in the Mississippi Delta, 1890- 1945 This course examines black life and culture in the cotton South through the medium of the blues. Major topics include: land tenure patterns in southern agriculture, internal and external migration, mechanisms of state and private labour control, gender conventions in the black community, patterns of segregation and changing race relations. United States and Latin America Area",,,HIS478H,Hellhound on My Trail: Living,,,3rd year +HISC45H3,HIS_PHIL_CUL,,"An examination of aspects of the history of immigrants and race relations in Canada, particularly for the period 1840s 1960s. The course covers various immigrant and racialized groups and explores how class, gender and race/ethnicity shaped experiences and racial/ethnic relations. Canadian Area",,Any 4.0 credits,HIS312H,Immigrants and Race Relations in Canadian History,,,3rd year +HISC46H3,HIS_PHIL_CUL,,"A look at Canada's evolution in relation to developments on the world stage. Topics include Canada's role in the British Empire and its relationship with the U.S., international struggles for women's rights, Aboriginal peoples' sovereignty and LGBT equality, socialism and communism, the World Wars, decolonization, the Cold War, humanitarianism, and terrorism. Canadian Area",HISB40H3 or HISB41H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses","HIS311H, HIS311Y",Canada and the World,,,3rd year +HISC51H3,HIS_PHIL_CUL,,"This course addresses literary, historical, ethnographic, and filmic representations of the political economy of China and the Indian subcontinent from the early 19th century to the present day. We will look at such topics as the role and imagination of the colonial-era opium trade that bound together India, China and Britain in the 19th century, anticolonial conceptions of the Indian and Chinese economies, representations of national physical health, as well as critiques of mass-consumption and capitalism in the era of the ‘liberalization’ and India and China’s rise as major world economies. Students will acquire a grounding in these subjects from a range of interdisciplinary perspectives. Same as GASC51H3 Asia and Africa Area",GASA01H3/HISA06H3 or GASA02H3,"Any 4.0 credits, including 0.5 credit at the A- level and 0.5 credit at the B-level in HIS, GAS or other Humanities and Social Sciences courses",GASC51H3,From Opium to Maximum City: Narrating Political Economy in China and India,,,3rd year +HISC52H3,HIS_PHIL_CUL,,"This course uses a focus on material history and visual culture to explore Ethiopia from the fourth through the nineteenth century, with particular emphasis on the Christian Church, the monarchy, links with both the Mediterranean world and the Indian subcontinent, and the relationship of individuals to their social, economic, artistic and geographic environments. Same as AFSC52H3 and VPHC52H3 0.50 pre-1800 credit Africa and Asia Area",,[1.0 credit in History] or [VPHA46H3 and an additional 1.0 credit in VPH courses],"AFSC52H3, VPHC52H3",Ethiopia: Seeing History,,,3rd year +HISC54H3,SOCIAL_SCI,,"Students examine historical themes for local and regional cuisines across Global Asia, including but not limited to Anglo-Indian, Arab, Bengali, Chinese, Himalayan, Goan, Punjabi, Japanese, Persian, Tamil, and Indo-Caribbean. Themes include religious rituals, indigenous foodways; colonialism, industrialization, labour, gender, class, migration, globalization, and media. Tutorials are in the Culinaria Kitchen Lab. Same as FSTC54H3 and GASC54H3 Africa and Asia Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level from CLA, FST, GAS, HIS or WST courses","FSTC54H3, GASC54H3",Eating and Drinking Across Global Asia,,,3rd year +HISC55H3,HIS_PHIL_CUL,,"Conflict and social change in Africa from the slave trade to contemporary times. Topics include the politics of resistance, women and war, repressive and weak states, the Cold War, guerrilla movements, resource predation. Case studies of anticolonial rebellions, liberation wars, and civil conflicts will be chosen from various regions. Same as AFSC55H3 Africa and Asia Area",,"Any 4.0 credits, including: AFSB50H3/HISB50H3 or AFSB51H3/HISB51H3 or (HISC50H3) or (HISC51H3)",AFSC55H3,War and Society in Modern Africa,,,3rd year +HISC56H3,HIS_PHIL_CUL,,"An introduction to the distinctive East Asian legal tradition shared by China, Japan, and Korea through readings about selected thematic issues. Students will learn to appreciate critically the cultural, political, social, and economic causes and effects of East Asian legal cultures and practices. Same as GASC50H3 Africa and Asia Area",GASB58H3/HISB58H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses",GASC50H3,Comparative Studies of East Asian Legal Cultures,,,3rd year +HISC57H3,HIS_PHIL_CUL,,"A study of the history of China's relationship with the rest of the world in the modern era. The readings focus on China's role in the global economy, politics, religious movements, transnational diasporas, scientific/technological exchanges, and cultural encounters and conflicts in the ages of empire and globalization. Same as GASC57H3 Africa and Asia Area",GASB58H3/HISB58H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses",GASC57H3,China and the World,,,3rd year +HISC58H3,HIS_PHIL_CUL,,"Delhi and London were two major cities of the British Empire. This course studies their parallel destinies, from the imperial into the post-colonial world. It explores how diverse cultural, ecological, and migratory flows connected and shaped these cities, using a wide range of literary, historical, music, and film sources. Transnational Area",HISB02H3 or HISB03H3 or GASB57H3/HISB57H3 or GASB74H3/HISB74H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level from CLA, FST, GAS, HIS or WST courses",,"Delhi and London: Imperial Cities, Mobile People",,,3rd year +HISC59H3,HIS_PHIL_CUL,,"This course explores the transnational history of Tamil worlds. In addition to exploring modern Tamil identities, the course will cover themes such as mass migration, ecology, social and economic life, and literary history. Same as GASC59H3 Africa and Asia Area",GASB57H3/HISB57H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses","GASC59H3, (HISB54H3), (GASB54H3)",The Making of Tamil Worlds,,,3rd year +HISC60H3,HIS_PHIL_CUL,,"An exploration of how medieval and early modern societies encountered foreigners and accounted for foreignness, as well as for religious, linguistic, and cultural difference more broadly. Topics include: monsters, relics, pilgrimage, the rise of the university, merchant companies, mercenaries, piracy, captivity and slavery, tourism, and the birth of resident embassies. Same as (IEEC51H3) 0.5 pre-1800 credit Transnational Area",HISB62H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in CLA, FST, GAS, HIS or WST courses",(IEEC51H3),"Old Worlds? Strangers and Foreigners in the Mediterranean, 1200- 1700",,,3rd year +HISC65H3,HIS_PHIL_CUL,,"Social and cultural history of the Venetian Empire from a fishermen's colony to the Napoleonic Occupation of 1797. Topics include the relationships between commerce and colonization in the Mediterranean, state building and piracy, aristocracy and slavery, civic ritual and spirituality, guilds and confraternities, households and families. 0.5 pre-1800 credit European Area",HISB62H3,"Any 4.0 credits, including 0.5 credit at the A- or B-level in CLA, FST, GAS, HIS or WST courses",,"Venice and its Empire, 800- 1800",,,3rd year +HISC66H3,HIS_PHIL_CUL,,"This course tracks the evolving histories of gender and sexuality in diverse Muslim societies. We will examine how gendered norms and sexual mores were negotiated through law, ethics, and custom. We will compare and contrast these themes in diverse societies, from the Prophet Muhammad’s community in 7th century Arabia to North American and West African Muslim communities in the 21st century. Same as WSTC66H3 Transnational Area",,"[Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses] or [1.5 credits in WST courses, including 0.5 credit at the B- or C-level]","WSTC66H3, RLG312H1","Histories of Gender and Sexuality in Muslim Societies: Between Law, Ethics and Culture",,,3rd year +HISC67H3,HIS_PHIL_CUL,,"the Construction of a Historical Tradition This course examines the history and historiography of the formative period of Islam and the life and legacy of Muḥammad, Islam’s founder. Central themes explored include the Late Antique context of the Middle East, pre- Islamic Arabia and its religions, the Qur’ān and its textual history, the construction of biographical accounts of Muḥammad, debates about the historicity of reports from Muḥammad, and the evolving identity and historical conception of the early Muslim community. Same as CLAC67H3 Pre-1800 course Ancient World Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",CLAC67H3,Early Islam: Perspectives on,,,3rd year +HISC68H3,HIS_PHIL_CUL,,"This course reflects on the concept of Orientalism and how it informs the fields of Classical Studies and Anthropology. Topics to be discussed include the Orientalization of the past and the origin, role, and significance of ancient representations of the ""Other"" in contemporary discourses. Same as ANTC58H3 and CLAC68H3",,"1.0 credit from the following: [CLAA04H3/HISA07H3, CLAB05H3/HISB10H3, CLAB06H3/HISB11H3, ANTA02H3, ANTB19H3, ANTB20H3, HISB02H3, AFSB50H3/HISB50H3, AFSB51H3/HISB51H3, HISB53H3, HISB57H3, HISB58H3, HISB60H3, HISB61H3, HISB62H3, HISB93H3, HISB94H3]","ANTC58H3, CLAC68H3",Constructing the Other: Orientalism through Time and Place,,,3rd year +HISC70H3,HIS_PHIL_CUL,,"The migration of Caribbean peoples to the United States, Canada, and Europe from the late 19th century to the present. The course considers how shifting economic circumstances and labour demands, the World Wars, evolving imperial relationships, pan-Africanism and international unionism, decolonization, natural disasters, and globalization shaped this migration. Same as AFSC70H3 Transnational Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses","NEW428H, AFSC70H3",The Caribbean Diaspora,,,3rd year +HISC71H3,HIS_PHIL_CUL,,"Using the methods of intellectual history, this course explores the connected histories of two distinct systems of social oppression: caste and race. While caste is understood to be a peculiarly South Asian historical formation, race is identified as foundational to Atlantic slavery. Yet ideas about race and caste have intersected with each other historically from the early modern period through the course of European colonialism. How might we understand those connections and why is it important to do so? How has the colonial and modern governance of society, economy and sexuality relied on caste and race while keeping those categories resolutely apart? How have Black and Oppressed caste intellectuals and sociologists insisted on thinking race and caste together? We will explore these questions by examining primary texts and essays and the debates they provoked among thinkers from Latin America, the Caribbean, the American South, South Africa, and South Asia. African and Asia Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",,Race and Caste: A Connected History,,,3rd year +HISC73H3,HIS_PHIL_CUL,,The course will explore the history and career of a term: The Global South. The global south is not a specific place but expressive of a geopolitical relation. It is often used to describe areas or places that were remade by geopolitical inequality. How and when did this idea emerge? How did it circulate? How are the understandings of the global south kept in play? Our exploration of this term will open up a world of solidarity and circulation of ideas shaped by grass-roots social movements in different parts of the world Same as GASC73H3 Africa and Asia Area,,"Any 4.0 credits, including 0.5 credit at the A- or B-level in GAS or HIS courses",GASC73H3,Making the Global South,,,3rd year +HISC75H3,HIS_PHIL_CUL,,A survey of human mobility from the era when humans first populated the earth to the global migrations of our own time. An introduction to the main categories of human movement and to historical and modern arguments for fostering or restricting migration. Transnational Area,,Any 4.0 credits,,Migration in Global History,,,3rd year +HISC77H3,HIS_PHIL_CUL,,"Soccer (“football” to most of the world) is the world’s game and serves as a powerful lens through which to examine major questions in modern world history. How did a game that emerged in industrial Britain spread so quickly throughout the globe? How has the sport been appropriated politically and become a venue for contests over class, ethnic and national identity? Why have wars been fought over the outcome of matches? In short, how does soccer explain the modern world? Transnational Area",,"Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses",HIS482H1/(HIS199H1),Soccer and the Modern World,,,3rd year +HISC94H3,HIS_PHIL_CUL,,"The Qur'an retells many narratives of the Hebrew Bible and the New Testament. This course compares the Qur'anic renditions with those of the earlier scriptures, focusing on the unique features of the Qur'anic versions. It will also introduce the students to the history of ancient and late antique textual production, transmission of texts and religious contact. The course will also delve into the historical context in which these texts were produced and commented upon in later generations. Same as CLAC94H3",,"Any 4.0 credits, including [[1.0 credit in CLA or HIS courses] or [WSTC13H3]]",CLAC94H3,The Bible and the Qur’an,,,3rd year +HISC96H3,ART_LIT_LANG,,"An examination of the relationship between language, society and identity in North Africa and the Arabic-speaking Middle East from the dawn of Islam to the contemporary period. Topics include processes of Arabization and Islamization, the role of Arabic in pan-Arab identity; language conflict in the colonial and postcolonial periods; ideologies of gender and language among others. Asia and Africa Area",,"Any B-level course in African Studies, Linguistics, History, or Women's and Gender Studies",(AFSC30H3),Language and Society in the Arab World,,,3rd year +HISC97H3,HIS_PHIL_CUL,,"This course examines women in Sub-Saharan Africa in the pre-colonial, colonial and postcolonial periods. It covers a range of topics including slavery, colonialism, prostitution, nationalism and anti-colonial resistance, citizenship, processes of production and reproduction, market and household relations, and development. Same as AFSC97H3 Asia and Africa Area",,"Any 4.0 credits, including: HISA08H3/AFSA01H3 or HISB50H3/AFSB50H3 or HISB51H3/AFSB51H3",AFSC97H3,Women and Power in Africa,,,3rd year +HISD01H3,,University-Based Experience,"This option is available in rare and exceptional circumstances to students who have demonstrated a high level of academic maturity and competence. Qualified students will have the opportunity to investigate a historical field which is of common interest to both student and supervisor. Only standing faculty may serve as supervisors, please see the HCS website for a list of eligible faculty.",,At least 15.0 credits and completion of the requirements for the Major Program in History; written permission must be obtained from the instructor in the previous session.,"(HIS497Y), HIS498H, HIS499H, HIS499Y",Independent Studies: Senior Research Project,,,4th year +HISD02H3,,University-Based Experience,"This option is available in rare and exceptional circumstances to students who have demonstrated a high level of academic maturity and competence. Qualified students will have the opportunity to investigate an historical field which is of common interest to both student and supervisor. Only standing faculty may serve as supervisors, please see the HCS website for a list of eligible faculty.",,At least 15.0 credits and completion of the requirements for the Major program in History; written permission must be obtained from the instructor in the previous session.,"(HIS497Y), HIS498H, HIS499H, HIS499Y",Independent Studies: Senior Research Project,,,4th year +HISD03H3,HIS_PHIL_CUL,,This seminar will expose students to advanced subject matter and research methods in history. Each seminar will explore a selected topic.,,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses].",,Selected Topics in Historical Research,,,4th year +HISD05H3,HIS_PHIL_CUL,,"A seminar exploring the social history of translators, interpreters, and the texts they produce. Through several case studies from Ireland and Istanbul to Québec, Mexico City, and Goa, we will ask how translators shaped public understandings of ""self"" and ""other,"" ""civilization"" and ""barbarity"" in the wake of European colonization. Transnational Area",HISB62H3 or HISC18H3 or HISC60H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS, GAS or CLA courses]",,Between Two Worlds? Translators and Interpreters in History,,,4th year +HISD06H3,HIS_PHIL_CUL,,"An exploration of the global problem of crime and punishment. The course investigates how the global processes of colonialism, industrialization, capitalism and liberalization affected modern criminal justice and thus the state-society relationship and modern citizenry in different cultures across time and space. Same as GASD06H3 Transnational Area",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",GASD06H3,Global History of Crime and Punishment since 1750,,,4th year +HISD07H3,HIS_PHIL_CUL,,"A comparative analysis of transnational histories, and cultural and gendered ideologies of children and childhood through case studies of foundlings in Italy, factory children in England, orphans and adoption in the American West, labouring children in Canada and Australia, and mixed-race children in British India. Transnational Area",HISB02H3 or HISB03H3 or WSTB06H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS or WST courses] and [0.5 credit at the C- level in HIS or WST courses]",(WSTD07H3),Themes in the History of Childhood and Culture,,,4th year +HISD08H3,HIS_PHIL_CUL,,"An examination of approaches to historical analysis that take us beyond the national narrative beginning with the study of borderlands between the United States and Mexico, comparing that approach with the study of Canada/United States borderlands and finishing with themes of a North American continental or transnational nature. United States and Latin America Area",[HISB30H3 and HISB31H3] or [HISB40H3 and HISB41H3],"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Borderlands and Beyond: Thinking about a North American History,,,4th year +HISD09H3,HIS_PHIL_CUL,,"This course offers an in-depth and historicized study of important issues in historical and contemporary Asian, diasporic, and borderland societies such as migration, mobility, and circulation. It is conducted in seminar format with emphasis on discussion, critical reading and writing, digital skills, and primary research. Same as GASD01H3 Asia and Africa Area",,"Any 8.0 credits, including [0.5 at the A- or B- level in CLA, FST, GAS, HIS or WST courses] and [0.5 credit at the C-level in CLA, FST, GAS, HIS or WST courses]",GASD01H3,Senior Seminar: Topics in Global Asian Migrations,,,4th year +HISD10H3,HIS_PHIL_CUL,,This seminar type course addresses issues related to the relationships between ancient Mediterranean and West Asian societies and their hydric environments from 5000 BC to 600 AD. Same as CLAD05H3 0.5 pre-1800 credit Ancient World Area,CLAB05H3 and CLAB06H3,Any 11.0 credits including 2.0 credits in CLA or HIS courses.,CLAD05H3,Dripping Histories: Water in the Ancient Mediterranean and West Asian Worlds,,,4th year +HISD12H3,HIS_PHIL_CUL,,"The course will focus on major developments in art and ideas in early twentieth century Europe. We will study experimental forms of art and philosophy that fall under the broad category of Modernism, including painting, music, literature, and film, as well as philosophical essays, theoretical manifestos, and creative scholarly works. European Area",,0.5 credit at the C-level in a European History course,,"Making it Strange: Modernisms in European Art and Ideas, 1900-1945",,,4th year +HISD14H3,HIS_PHIL_CUL,,This is a seminar-style course organized around a selected topic in Modern European History. European Area,,"7.5 credits in HIS courses, including [(HISB90H3) or (HISB91H3) or (HISB92H3) or HISB93H3]",,Selected Topics in Modern European History,,,4th year +HISD16H3,HIS_PHIL_CUL,,"A comparative exploration of socialist feminism, encompassing its diverse histories in different locations, particularly China, Russia, Germany and Canada. Primary documents, including literary texts, magazines, political pamphlets and group manifestos that constitute socialist feminist ideas, practices and imaginaries in different times and places will be central. We will also seek to understand socialist feminism and its legacies in relation to other contemporary stands of feminism. Same as WSTD16H3 Transnational Area",,"1.0 credit at the B-level and 1.0 credit at the C- level in HIS, WST, or other Humanities and Social Sciences courses",WSTD16H3,Socialist Feminism in Global Context,,,4th year +HISD18H3,HIS_PHIL_CUL,,"This seminar/lab introduces students to the exploding field of digital history. Through a combination of readings and hands- on digital projects, students explore how the Web radically transforms how both professional historians and others envision the past and express these visions in various media. Technical background welcome but not required.",HISB03H3 or HISC01H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Digital History,,Priority will be given to students enrolled in the Specialist and Major programs in History. Additional students will be admitted as space permits.,4th year +HISD25H3,HIS_PHIL_CUL,Partnership-Based Experience,"An applied research methods course that introduces students to the methods and practice of Oral history, the history of Scarborough, the field of public history and community-based research. A critical part of the class will be to engage in fieldwork related to designing and conducting oral history interviews. Canadian Area",,"Any 8.0 credits, including [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]","WSTC02H3 (if taken in Fall 2013), CITC10H3 (if taken in Fall 2013), (HISC28H3), WSTD10H3, HISD44H3 (if taken in Fall 2013)",Oral History and Urban Change,,,4th year +HISD31H3,HIS_PHIL_CUL,,"A seminar exploring the evolution of American thinking about diversity -- ethnic, religious, and regional -- from colonial-era defenses of religious toleration to today's multiculturalism. Participants will consider pluralist thought in relation to competing ideologies, such as nativism, and compare American pluralisms to formulations arrived at elsewhere, including Canada. Transnational Area",HISB30H3 and HISB31H3,"[Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]] or [10.0 credits including SOCB60H3]",,Thinking of Diversity: Perspectives on American Pluralisms,,,4th year +HISD32H3,HIS_PHIL_CUL,,"This course explores the origins, growth, and demise of slavery in the United States. It focuses on slavery as an economic, social, and political system that shaped and defined early America. There will be an emphasis on developing historical interpretations from primary sources. United States and Latin America Area",HISB30H3,"Any 8.0 credits, including [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Slavery and Emancipation in the American South,,,4th year +HISD33H3,HIS_PHIL_CUL,,"DuBois, African American History, and the Politics of the Past This course focuses on three interrelated themes. First, it explores the social and political history of Reconstruction (1865 to 1877) when questions of power, citizenship, and democracy were fiercely contested. Second, it considers W.E.B. Du Bois’s magnum opus, Black Reconstruction, a book that not only rebutted dominant characterizations of this period but anticipated future generations of scholarship by placing African American agency at the centre of both Civil War and Reconstruction history, developed the idea of racial capitalism as an explanatory concept, and made a powerful argument about race and democracy in the USA. Third, the course looks at the politics of historical writing and knowledge in the past and today.","HISB30H3, HISB31H3","Any 8.0 credits, including: HISB03H3 and [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Black Reconstruction: W.E.B.,,,4th year +HISD34H3,,,"This fourth-year seminar is funded by the Canada Research Chair in Urban History and is taught by an advanced graduate student in American history. The course, with topics varying from year to year will focus on major themes in American social and cultural history, such as, women's history, labour history, and/or the history of slavery and emancipation. United States and Latin America Area",,HISB30H3 and HISB31H3,,Topics in American Social and Cultural History,,Topics vary from year to year. Check the website www.utsc.utoronto.ca/~hcs/programs/history.html for current offerings.,4th year +HISD35H3,HIS_PHIL_CUL,,"A seminar that puts contemporary U.S. debates over immigration in historical context, tracing the roots of such longstanding controversies as those over immigration restriction, naturalization and citizenship, immigrant political activism, bilingual education and ""English-only"" movements, and assimilation and multiculturalism. Extensive reading and student presentations are required. United States and Latin America Area",HISB30H3 and HISB31H3,"[Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]] or [10.0 credits including SOCB60H3]",,"The Politics of American Immigration, 1865-present",,,4th year +HISD36H3,HIS_PHIL_CUL,,"The most striking development in U.S. politics in the last half century has been the rebirth and rise to dominance of conservatism. This seminar examines the roots of today's conservative ascendancy, tracing the rise and fall of New Deal liberalism and the subsequent rise of the New Right. United States and Latin America Area",HISB30H3 and HISB31H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,From New Deal to New Right: American Politics since 1933,,,4th year +HISD44H3,HIS_PHIL_CUL,Partnership-Based Experience,"This course introduces students to the methods and practice of the study of local history, in this case the history of Scarborough. This is a service learning course that will require a commitment to working and studying in the classroom and the community as we explore forms of public history. Canadian Area",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Nearby History: The Method and Practice of Local History,,,4th year +HISD45H3,HIS_PHIL_CUL,,"A seminar on Canadian settler colonialism in the 19th and 20th centuries that draws comparisons from the United States and elsewhere in the British Empire. Students will discuss colonialism and the state, struggles over land and labour, the role of race, gender, and geography in ideologies and practices of colonial rule, residential schools, reconciliation and decolonization. Canadian Area",HISB40H3 or HISB41H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Canadian Settler Colonialism in Comparative Context,,,4th year +HISD46H3,HIS_PHIL_CUL,,"Weekly discussions of assigned readings. The course covers a broad chronological sweep but also highlights certain themes, including race and gender relations, working women and family economies, sexuality, and women and the courts. We will also explore topics in gender history, including masculinity studies and gay history. Same as WSTD46H3 Transnational Area",HISB02H3 or HISB03H3 or HISB14H3 or WSTB06H3 or HISB50H3 or GASB57H3/HISB57H3 or HISC09H3 or HISC29H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in CLA, FST, GAS, HIS or WST courses] and [0.5 credit at the C-level in CLA, FST, GAS, HIS or WST courses]",WSTD46H3,Selected Topics in Canadian Women's History,,,4th year +HISD47H3,HIS_PHIL_CUL,,"A seminar on Cold War Canada that focuses on the early post-war era and examines Canadian events, developments, experience within a comparative North American context. Weekly readings are organized around a particular theme or themes, including the national insecurity state; reds, spies, and civil liberties; suburbia; and sexuality. Canadian Area",,HISB41H3 and at least one other B- or C-level credit in History,,Cold War Canada in Comparative Contexts,,,4th year +HISD48H3,HIS_PHIL_CUL,,"How have Canadians historically experienced, and written about, the world? In what ways have nationalism, imperialism, and ideas about gender and race given meaning to Canadian understandings of the world? Students will consider these questions by exploring the work of Canadian travel writers, missionaries, educators, diplomats, trade officials, and intellectuals. Canadian Area",HISB40H3 or HISB41H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,The World Through Canadian Eyes,,,4th year +HISD50H3,HIS_PHIL_CUL,,"A seminar study of the history of the peoples of southern Africa, beginning with the hunter-gatherers but concentrating on farming and industrializing societies. Students will consider pre-colonial civilizations, colonialism and white settlement, violence, slavery, the frontier, and the mineral revolution. Extensive reading and student presentations are required. Africa and Asia Area",,"Any 8.0 credits, including: AFSB50H3/HISB50H3 or AFSB51H3/HISB51H3 or AFSC55H3/HISC55H3",,"Southern Africa: Conquest and Resistance, 1652-1900",,,4th year +HISD51H3,HIS_PHIL_CUL,,"A seminar study of southern African history from 1900 to the present. Students will consider industrialization in South Africa, segregation, apartheid, colonial rule, liberation movements, and the impact of the Cold War. Historiography and questions of race, class and gender will be important. Extensive reading and student presentations are required. Same as AFSD51H3 Africa and Asia Area",,8.0 credits including AFSB51H3/HISB51H3 or HISD50H3,AFSD51H3,"Southern Africa: Colonial Rule, Apartheid and Liberation",,,4th year +HISD52H3,HIS_PHIL_CUL,,"A seminar study of East African peoples from late pre-colonial times to the 1990's, emphasizing their rapid although uneven adaptation to integration of the region into the wider world. Transitions associated with migrations, commercialization, religious change, colonial conquest, nationalism, economic development and conflict, will be investigated. Student presentations are required. Same as AFSD52H3 Africa and Asia Area",,8.0 credits including AFSB50H3/HISB50H3 or AFSB51H3/HISB51H3 or HISC55H3,AFSD52H3,East African Societies in Transition,,,4th year +HISD53H3,HIS_PHIL_CUL,,"This seminar course examines the First World War in its imperial and colonial context in Africa and Asia. Topics include forgotten fronts in Africa, the Middle East, Asia and the Pacific, colonial armies and civilians, imperial economies and resources, the collapse of empires and the remaking of the colonial world. Same as AFSD53H3 and GASD53H3 Africa and Asia Area",,"8.0 credits, including: 1.0 credit in AFS, GAS, or Africa and Asia area HIS courses","AFSD53H3, GASD53H3",Africa and Asia in the First World War,,,4th year +HISD54H3,,,"This upper-level seminar will explore how water has shaped human experience. It will explore water landscapes, the representation of water in legal and political thought, slave narratives, and water management in urban development from the 16th century. Using case studies from South Asia and North America we will understand how affective, political and social relations to water bodies are made and remade over time. Same as GASD54H3",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",GASD54H3,Aqueous History: Water-stories for a Future,,,4th year +HISD55H3,HIS_PHIL_CUL,,"This course explores the transnational connections and contexts that shaped ideas in modern Asia such as secularism, modernity, and pan Asianism. Through the intensive study of secondary sources and primary sources in translation, the course will introduce Asian thought during the long nineteenth-century in relation to the social, political, cultural, and technological changes. Using the methods of studying transnational history the course will explore inter- Asian connections in the world of ideas and their relation to the new connectivity afforded by steamships and the printing press. We will also explore how this method can help understand the history of modern Asia as a region of intellectual ferment rather than a passive recipient of European modernity. Same as HISD55H3 Transnational Area",,"Any 8.0 credits, including [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",GASD55H3,Transnational Asian Thought,,,4th year +HISD56H3,HIS_PHIL_CUL,,"Labouring Diasporas in the British Empire Coolie' labourers formed an imperial diaspora linking South Asia and China to the Caribbean, Africa, the Indian Ocean, South-east Asia, and North America. The long-lasting results of this history are evident in the cultural and ethnic diversity of today's Caribbean nations and Commonwealth countries such as Great Britain and Canada. Africa and Asia Area Same as GASD56H3",,"[8.0 credits, at least 2.0 credits should be at the B-or C-level in GAS or Modern History courses] or [15.0 credits, including SOCB60H3]",GASD56H3,'Coolies' and Others: Asian,,,4th year +HISD57H3,HIS_PHIL_CUL,University-Based Experience,"This course will consider the long history of conflicts that have rippled across the Horn of Africa and Sudan. In particular, it will explore the ethnically and religiously motivated civil wars that have engulfed the region in recent decades. Particular attention will be given to Ethiopia and its historic provinces where warfare is experienced on a generational basis. Africa and Asia Area","AFSB05H3/ANTB05H3, AFSC55H3/HISC55H3",AFSC52H3/HISC52H3/VPHC52H3,,"Conflict in the Horn of Africa, 13th through 21st Centuries",,,4th year +HISD58H3,HIS_PHIL_CUL,University-Based Experience,"A study of major cultural trends, political practices, social customs, and economic developments in late imperial China (1400-1911) as well as their relevance to modern and contemporary China. Students will read the most recent literature and write a substantive research paper. Same as GASD58H3 0.5 pre-1800 credit Africa and Asia area",GASB58H3/HISB58H3 or GASC57H3/HISC57H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",GASD58H3,"Culture, Politics, and Society in Late Imperial China",,,4th year +HISD59H3,HIS_PHIL_CUL,,"A seminar course on Chinese legal tradition and its role in shaping social, political, economic, and cultural developments, especially in late imperial and modern China. Topics include the foundations of legal culture, regulations on sexuality, women's property rights, crime fictions, private/state violence, laws of ethnicities, prison reforms and modernization. Same as GASD59H3 0.5 pre-1800 credit Africa and Asia Area",GASB58H3/HISB58H3 or GASC57H3/HISC57H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in GAS or HIS courses] and [0.5 credit at the C- level in GAS or HIS courses]",GASD59H3,Law and Society in Chinese History,,,4th year +HISD60H3,HIS_PHIL_CUL,,"The development of travel and travel narratives before 1800, and their relationship to trade and colonization in the Mediterranean and beyond. Topics include: Marco Polo, pilgrimage and crusading, the history of geography and ethnography. Extensive reading, oral presentations, and a final paper based on research in primary documents are required. 0.50 pre-1800 credit Transnational Area",HISB50H3 or HISB53H3 or HISB60H3 or HISB61H3 or HISB62H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Travel and Travel-Writing from the Middle Ages to the Early Modern Period,,,4th year +HISD63H3,HIS_PHIL_CUL,,"Modern interpretations of the Crusades will be investigated in the broad context of Western expansion into the Middle East (1099-1204), Spain and southern Europe, and, North-Eastern Europe. Also considered will be the Christian Military Orders, the Mongols and political crusades within Europe itself. 0.50 pre-1800 credit Medieval Area",,HISB60H3 and HISB61H3,,The Crusades: I,,,4th year +HISD64H3,HIS_PHIL_CUL,,"An intensive study of the primary sources of the First through Fourth Crusades, including works by Eastern and Western Christian, Arab and Jewish authors. The crusading period will be considered in terms of Western Christian expansion into the Middle East, Spain and Northern Europe in the 11th through 13th centuries. 0.50 pre-1800 credit Medieval Area",,HISB60H3 and HISB61H3,,The Crusades: II,,,4th year +HISD65H3,HIS_PHIL_CUL,,"What is good and evil? Are they known by human reason or revelation? How is happiness achieved? How is the human self-cultivated? This course will explore the diverse approaches that Muslim thinkers took to answering these perennial questions. Beginning with early Islam (the Qur’an and Prophet Muhammad), we will examine ethical thought in various intellectual traditions (e.g.: Islamic law, philosophy, mysticism, literature). Finally, we will analyze contemporary ethical dilemmas (e.g.; Muslim political, sexual, and environmental ethics). Transnational area",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,The Good in Islam: Ethics in Islamic Thought,,,4th year +HISD66H3,HIS_PHIL_CUL,,"This course explores the practices of documentation involved in investigating, explaining and containing the varieties of conflict that have shaped the history of the Middle East over the past two centuries. Wars, episodes of sectarian violence and political terrorism have all contributed centrally to the formation of states and subjects in the region. Drawing on key works by political historians, anthropologists of state violence and specialists in visual culture, the course examines such events and their many reverberations for Middle Eastern societies from 1798 to the present. Course readings draw on a range of primary source materials produced by witnesses, partisans to conflict, political activists, memoirists and investigators. Classroom discussions will engage theoretical texts that have brought to bear conflicts in the Middle East on larger questions concerning humanitarian intervention, democratic publics and liberal internationalism.",,"Any 8.0 credits, including [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,Documenting Conflict and Peacemaking in the Modern Middle East,,,4th year +HISD69H3,ART_LIT_LANG,,"This course is an introduction to mystical/ascetic beliefs and practices in late antiquity and early Islam. Often taken as an offshoot of or alternative to “orthodox” representations of Christianity and Islam, mysticism provides a unique look into the ways in which these religions were experienced by its adherents on a more popular, often non-scholarly, “unorthodox” basis throughout centuries. In this class we will examine mysticism in late antiquity and early Islam through the literature, arts, music, and dance that it inspired. The first half of the term will be devoted to the historical study of mysticism, its origins, its most well-known early practitioners, and the phases of its institutionalization in early Christianity and early Islam; the second part will look into the beliefs and practices of mystics, the literature they produced, the popular expressions of religion they generated, and their effects in the modern world. This study of mysticism will also provide a window for contemporary students of religion to examine the devotional practices of unprivileged members of the late antiquity religious communities, women and slaves in particular. Same as CLAD69H3.","CLAB06H3/HISB11H3, CLAB09H3/HISB09H3","Any 8.0 credits, including: [0.5 credit at the A- or B-level in CLA or HIS courses] and [0.5 credit at the C- level in CLA or HIS courses]",CLAD69H3,Sufis and Desert Fathers: Mysticism in Late Antiquity and Early Islam,,,4th year +HISD70H3,HIS_PHIL_CUL,University-Based Experience,"A transnational history of how the rise of modern, global empires reshaped how the world produced and consumed food. This course, through cooking practicums, offers a hands-on approach to imperial and culinary histories with emphasis on plantation economies, famine, the tropical commodity trade, and the rise of national cuisines. Transnational Area",,"8.0 credits, including [(HISC14H3) or HISB14H3]",,History of Empire and Foods,,Priority will be given to students enrolled in HIS programs. Additional students will be admitted as space permits.,4th year +HISD71H3,HIS_PHIL_CUL,Partnership-Based Experience,"This research seminar uses our immediate community of Scarborough to explore continuity and change within diasporic foodways. Students will develop and practise ethnographic and other qualitative research skills to better understand the many intersections of food, culture, and community. This course culminates with a major project based on original research. Same as ANTD71H3","ANTB64H3, ANTC70H3",HISB14H3/(HISC14H3) or HISC04H3 or [2.0 credits in ANT courses of which 1.0 credit must be at the C- level] or permission of the instructor,ANTD71H3,Community Engaged Fieldwork With Food,,,4th year +HISD72H3,HIS_PHIL_CUL,University-Based Experience,"This research seminar examines the history of beer, including production techniques, gender roles, and drinking cultures, from ancient times to contemporary microbrewing. Students will produce a major paper or digital project on a chosen case study. Class will include a practicum on historical technologies of malting, mashing, and fermenting. Transnational Area",,"Any 8.0 credits in CLA, GAS, HCS, HIS, RLG, and/or WST courses",,History of Beer and Brewing,,,4th year +HISD73H3,HIS_PHIL_CUL,,"This course explores Canada's diverse food cultures and the varied relationships that Canadians have had historically with food practices in the context of family, community, region, and nation and with reference to transnational connections and identities. It examines Canada's foodways - the practices and traditions associated with food and food preparation - through the gendered lens of Indigenous-colonial relations, migration and diaspora, family, politics, nutrition, and popular culture. The course is organized around two central principles. One is that just as Canada's rich past resists any singular narrative, there is no such thing as a singular Canadian food tradition. The other is that a focus on questions related to women and gender further illuminate the complex relationship between food and cultural politics, variously defined. The course covers a broad time-span, from early contact between European settlers and First Nations through the end of the twentieth century. Canadian Area",,"4.0 credits in HIS, WST or FST courses",,Engendering Canadian Food History,,,4th year +HISD93H3,HIS_PHIL_CUL,,"This course examines the politics of historical commemoration. We explore how the representation of the past both informs and reflects political, social, and cultural contexts, and examine case studies involving controversial monuments; debates over coming to terms with historical legacies of genocide, slavery, and imperialism; and processes of truth, reconciliation, and cultural restitution. We also examine the role played by institutions (like museums and archives) and disciplines (archaeology, history, anthropology) in the construction of local, national, transnational, and colonial identities.",,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in HIS courses] and [0.5 credit at the C-level in HIS courses]",,"The Politics of the Past: Memories, Monuments and Museums",,,4th year +HISD95H3,HIS_PHIL_CUL,,"This course introduces students to creative ways of telling/conveying stories about historical moments, events, figures and the social context in which these have occurred. The course will enable students to narrate the past in ways, from film to fiction, accessible to contemporary audiences.",,Any 4.0 credits in HIS courses,,Presenting the Past,,,4th year +HLTA02H3,SOCIAL_SCI,,"This is the initial component of a two-part series dedicated to the exploration of theories, contemporary themes, and analytical methodologies associated with the study of health- related matters. Areas of focus encompass the social and biological determinants of health, globalization and international health issues, health technology and information systems, and fundamentals of epidemiology.",,,HST209H1,"Exploring Health and Society: Theories, Perspectives, and Patterns",,,1st year +HLTA03H3,SOCIAL_SCI,,"This course marks the continuation of a two-part series that seeks to provide an understanding of inquiry and analysis, practical applications, and policy formulation as it pertains to the study of health-related matters. Areas of focus encompass foundational concepts in research methodology, the Canadian health care system and practical approaches, international comparisons, political systems, and ethical considerations.",,HLTA02H3,,"Navigating Health and Society: Research, Practice, and Policy",,,1st year +HLTA20H3,NAT_SCI,University-Based Experience,"An introduction to human functional processes will be presented through the various stages of the life cycle. Focusing on the body’s complex interacting systems, the physiology of all stages of human development, from prenatal development to adolescence to death, will be covered. Students will also develop a working scientific vocabulary in order to communicate effectively across health disciplines. This course is intended for students who have not previously taken a course in Physiology.",,Grade 12 Biology,Any course in Physiology across the campuses.,Physiology Through the Life Course: From Birth Through Death,,Students that have not taken Grade 12 Biology must enroll and successfully pass BIOA11H3 before enrolling in HLTA20H3.,1st year +HLTA91H3,SOCIAL_SCI,University-Based Experience,"Students need to be and feel part of a community that allows them to flourish and thrive. This course focuses on creating a healthy campus community by equipping students with practical knowledge, theoretical frameworks, and skills to prioritize their mental health, physical health, and self-care activities. Emphasis is placed on examining theoretical frameworks and practical activities that ameliorate mental health and self care practices, particularly those included in UTSC’s Healthy Campus Initiative Pillars (i.e. Arts & Culture, Equity & Diversity, Food & Nutrition, Mental Health, Physical Activity, and Physical Space). Drawing on theoretical frameworks and current peer-reviewed research from fields including medicine, psychology, nutrition, exercise and fitness, as well as social and cultural studies, students will learn to debate and integrate theoretical and practical concepts relevant to contemporary understandings of what it means to be healthy. In addition, students will engage in experiential learning activities that will expose them to campus resources in ways that they can apply to creating healthy communities.",,,(CTLA10H3),A Healthy Campus for Students: Prioritizing Mental Health and Wellness,,This is an experiential learning course and active participation may be required,1st year +HLTB11H3,NAT_SCI,,"An introductory course to provide the fundamentals of human nutrition to enable students to understand and think critically about the complex interrelationships between food, nutrition, health, and environment.",BIOA01H3 or BIOA11H3,HLTA02H3 and HLTA03H3,NFS284H1,Human Nutrition,,,2nd year +HLTB15H3,SOCIAL_SCI,,"The objective of this course is to introduce students to the main principles that are needed to undertake health-related research. Students will be introduced to the concepts and approaches to health research, the nature of scientific inquiry, the role of empirical research, and epidemiological research designs.",,"[HLTA02H3 and HLTA03H3] or [any 4.0 credits, including SOCB60H3]",(HLTA10H3),Health Research Methodology,,,2nd year +HLTB16H3,SOCIAL_SCI,,"This course will present a brief history about the origins and development of the public health system and its role in health prevention. Using a case study approach, the course will focus on core functions, public health practices, and the relationship of public health with the overall health system.",,HLTA02H3 and HLTA03H3,,Public Health,,,2nd year +HLTB20H3,NAT_SCI,,"Basic to the course is an understanding of the synthetic theory of evolution and the principles, processes, evidence and application of the theory. Laboratory projects acquaint the student with the methods and materials utilized Biological Anthropology. Specific topics include: the development of evolutionary theory, the biological basis for human variation, the evolutionary forces, human adaptability and health and disease. Science credit Same as ANTB15H3",,ANTA01H3 or [HLTA02H3 and HLTA03H3],"ANTB15H3, ANT203Y",Contemporary Human Evolution and Variation,,,2nd year +HLTB22H3,NAT_SCI,,This course is an introduction to the basic biological principles underlying the origins and development of both infectious and non-infectious diseases in human populations. It covers population genetics and principles of inheritance.,,HLTA02H3 and HLTA03H3 and [BIOA11H3 or BIOA01H3],,Biological Determinants of Health,,,2nd year +HLTB24H3,,University-Based Experience,"This course uses a life-course perspective, considering diversity among mature adults and accounting for the influence of cultural and economic inequity on access to resources, to examine what it means to sustain an age- friendly community. Sample topics covered include: environmental gerontology, global aging, demographies of aging, aging in place, and sustainable aging.",,HLTA03H3,,Aging with Agility,,,2nd year +HLTB27H3,QUANT,University-Based Experience,"This is a survey course in population health numeracy. This course will build upon foundational statistical knowledge and offers students the opportunity to both understand and apply a range of techniques to public health research. Topics include hypothesis testing, sensitivity/specificity, regression (e.g., logistic regression), diagnostics and model sitting, time- to-event analysis, basic probability theory including discrete and continuous random variables, sampling, and conditional probability and their use and application in public health.",HLTB15H3 and introductory programming,[HLTA03H3 and STAB23H3] or [HLTA02H3 and STAB23H3 and enrollment in the Paramedicine Specialist Program],,Applied Statistics for Public Health,,,2nd year +HLTB30H3,,,"An interdisciplinary consideration of current and pressing issues in health, including health crises, care, education, policy, research, and knowledge mobilization and translation. The course will focus on emerging questions and research, with attention to local and global experts from a range of disciplines and sectors.",HLTA02H3 and HLTA03H3,,,Current Issues in Health and Society,,,2nd year +HLTB31H3,SOCIAL_SCI,,"An interdisciplinary examination of a case study of a major contemporary health issue--the biological, physiological, social, economic, epidemiological, and environmental contexts of current and pressing issues in health, including health crises, care, education, policy, research, and knowledge mobilization and translation. This course will explore the science that underpins policy responses and actions and the policy and social change agendas that inform science, with attention to local and global experts from a range of disciplines and sectors.",HLTA02H3 and HLTA03H3,,,"Synergies Among Science, Policy, and Action",,,2nd year +HLTB33H3,NAT_SCI,,A lecture based course with online learning modules which deals with the functional morphology of the human organism. The subject matter extends from early embryo-genesis through puberty to late adult life.,,[BIOA01H3 and BIOA02H3] or [HLTA03H3 and HLTA20H3],"ANA300Y, ANA301H, BIOB33H3, PMDB33H3",Human Development and Anatomy,,,2nd year +HLTB40H3,SOCIAL_SCI,University-Based Experience,"This course focuses on public and private financing mechanisms for health care in Canada, emphasizing provincial differences and discussing the systems in place in other developed nations. Topics will include the forces of market competition and government regulation as well as the impact of health policy on key stakeholders. Students will also learn how to apply simple economic reasoning to examine health policy issues.",,HLTA02H3 and HLTA03H3,HST211H1,Health Policy and Health Systems,,,2nd year +HLTB41H3,SOCIAL_SCI,,"This course introduces students to Social Determinants of Health (SDOH) approaches to reducing health inequities, and improving individual and population health. Students will critically explore the social, political, economic, and historic conditions that shape the everyday lives, and influence the health of people.",,HLTA02H3 and HLTA03H3,,Social Determinants of Health,,,2nd year +HLTB42H3,SOCIAL_SCI,University-Based Experience,"This course introduces students to anthropological perspectives of culture, society, and language, to foster understanding of the ways that health intersects with political, economic, religious and kinship systems. Topics will include ethnographic theory and practice, cultural relivatism, and social and symbolic meanings and practices regarding the body.",,HLTA02H3 and HLTA03H3,,"Perspectives of Culture, Illness, and Healing",,,2nd year +HLTB44H3,NAT_SCI,,"This course focuses on functional changes in the body that result from the disruption of the normal balance of selected systems of the human body. Building on the knowledge of human biology, students will learn the biological basis, etiopathology and clinical manifestations of selected diseases and other perturbations, with a focus on cellular and tissue alterations in children.",Grade 12 Biology,[HLTA02H3 and HLTA03H3 and HLTA20H3] and [BIOA11H3 or BIOA01H3],,Pathophysiology and Etiology of Disease,,,2nd year +HLTB50H3,ART_LIT_LANG,,"An introduction to human health through literature, narrative, and the visual arts. Students will develop strong critical skills in text-centered methods of analysis (i.e., the written word, visual images) through topics including representations of health, illness narratives, death and dying, patient- professional relationships, technoscience, and the human body.",Prior experience in humanities courses at the secondary or post-secondary level.,Any 4.0 credits,,Introduction to Health Humanities,,Preference will be given to students enrolled in a Health and Society program,2nd year +HLTB60H3,HIS_PHIL_CUL,,"An introduction to interdisciplinary disability studies through humanities, social science, and fine arts, with a strong basis in a social justice orientation that understands disability as a relational, social, and historical symbolic category, and ableism as a form of oppression. Students will develop strong critical skills in interpretation and analysis of artworks (i.e., the written word, visual images, performance) and theoretical texts. Topics including representations of disability in media, including literature and film; medicalization and tropes of disability; disability activism; and intersectional analysis of disability in relation to gender, race, sexuality, ethnicity, and class.",,Completion of 2.0 credits,,Introduction to Interdisciplinary Disability Studies,,Students considering a Major Program in Health and Society should complete HLTA02H3 and HLTA03H3 prior to enrolling in this course. Preference will be given to students enrolled in a Health and Society program.,2nd year +HLTC02H3,SOCIAL_SCI,,"This course uses historical, anthropological, philosophical approaches to further understand the relationships intertwining women, health and society. Women's interactions with the health sector will be examined. Particular attention will be devoted to the social and gender construction of disease and the politics of women's health.",,HLTB41H3,,Women and Health: Past and Present,,,3rd year +HLTC04H3,SOCIAL_SCI,,"By engaging with ideas rooted in critical social science and humanities, and emphasising the work of Canadian scholars, students learn strategies for studying societal problems using a postpositivist paradigm. Students learn theoretical and applied skills in activities inside and outside the classroom to emerge with new understandings about the social studies of health and society. This is an advanced and intensive reading and writing course where students learn to think about research in the space between subjectivity and objectivity.",Coursework in interpretive social sciences and humanities.,"HLTB50H3 and an additional 1.0 credit from the following: [ANTB19H3, HISB03H3, GGRB03H3, GGRC31H3, PHLB05, PHLB07, PHLB09H3, POLC78H3, SOCB05H3, VPHB39H3, WSTB05H3, or WSTC02H3]",,Qualitative Research in Action,,"This course is designed and intended for students enrolled in the Major/Major Co-op in Health Studies-Health Policy (Arts), and priority will be given to these students.",3rd year +HLTC16H3,NAT_SCI,,"An introduction to the fundamental concepts in health informatics (HI) and the relevance of HI to current and future Canadian and international health systems. Students will be introduced to traditional hospital-based/clinician-based HI systems, as well as present and emerging applications in consumer and public HI, including global applications.",,HLTB16H3,,Health Information Systems,,,3rd year +HLTC17H3,NAT_SCI,,"This course will provide students with an introduction to the rehabilitation sciences in the Canadian context. Students will gain knowledge regarding the pressing demographic needs for rehabilitation services and research, as well as the issues affecting the delivery of those services.",,HLTB16H3,,Rehabilitation Sciences,,,3rd year +HLTC19H3,NAT_SCI,,"This course will introduce students to the regional, national, and global patterns of chronic disease and demonstrate how demography, behaviour, socio-economic status, and genetics impact patterns of chronic disease in human populations. Using epidemiological studies we will examine these patterns, assess their complex causes, and discuss strategies for broad-based preventative action.",,HLTB22H3 or HLTB41H3,"(HLTC07H3), (HLTC21H3)",Chronic Diseases,,,3rd year +HLTC20H3,HIS_PHIL_CUL,,"This course considers how the category of disability works globally across geographic locations and cultural settings. Combining an interdisciplinary social justice-oriented disability studies perspective with a critical decolonial approach, students continue to develop an understanding of disability as a relational, social, and historical symbolic category, and ableism. Students will develop strong critical skills in interpretation and analysis of both social science texts, works of theory, and artworks (i.e., the written word, visual images, performance). Topics including representations of disability in global and diasporic media, including literature and film; medicalization and tropes of disability across cultures; human rights and disability activism around the world; and intersectional analysis of disability in relation to gender, race, sexuality, ethnicity, and class in diverse global contexts.",,HLTB60H3,,Global Disability Studies,,,3rd year +HLTC22H3,SOCIAL_SCI,,"This course focuses on the transition from birth to old age and changes in health status. Topics to be covered include: socio-cultural perspectives on aging, the aging process, chronic and degenerative diseases, caring for the elderly.",,HLTB22H3 or HLTB41H3,"(HLTB01H3), HST308H1","Health, Aging, and the Life Cycle",,,3rd year +HLTC23H3,SOCIAL_SCI,,"This course will explore bio-social aspects of health and development in children. Topics for discussion include genetics and development, growth and development, childhood diseases, the immune system, and nutrition during the early years.",,HLTB22H3 or HLTB41H3,(HLTB02H3),Child Health and Development,,,3rd year +HLTC24H3,NAT_SCI,,"Environmental issues are often complex and require a holistic approach where the lines between different disciplines are often obscured. The environment, as defined in this course, includes the natural (biological) and built (social, cultural, political) settings. Health is broadly defined to include the concept of well-being. Case studies will be used to illustrate environment and health issues using an ecosystem approach that includes humans as part of the ecosystem.",,HLTB22H3,"(ANTB56H3), (HLTB04H3)",Environment and Health,,,3rd year +HLTC25H3,NAT_SCI,,"Adopting ecological, epidemiological, and social approaches, this course examines the impact of infectious disease on human populations. Topics covered include disease ecology, zoonoses, and the role of humans in disease occurrence. The aim is to understand why infectious diseases emerge and how their occurrence is intimately linked to human behaviours.",,HLTB22H3,(HLTB21H3),Infectious Diseases,,,3rd year +HLTC26H3,NAT_SCI,,"This course will apply students' knowledge of health, society, and human biology to solving real-life cases in global health, such as the Ebola outbreaks in Africa or the acute toxic encephalopathy mystery illness among children in India. This case-study-oriented course will focus on the application of human biology principles in addressing current cases in global health.",,HLTB22H3,HLTC28H3 if taken in the Winter 2018 or the Winter 2019 semester,Global Health and Human Biology,,,3rd year +HLTC27H3,QUANT,University-Based Experience,"Epidemiology is the study or the pattern and causes of health-related outcomes and the application of findings to improvement of public health. This course will examine the history of epidemiology and its principles and terminology, measures of disease occurrence, study design, and application of concepts to specific research areas.",,[HLTB15H3 and HLTB16H3 and STAB23H3] or [enrolment in the Certificate in Computational Social Science],ANTC67H3,Community Health and Epidemiology,,,3rd year +HLTC28H3,NAT_SCI,,"An examination of a current topic relevant to health sciences. The specific topic will vary from year to year, and may include: Ecosystem Approaches to Zoonotic Disease; Climate Change and Health; Food Insecurity, Nutrition, and Health; Health and the Human-Insect Interface.",,HLTB22H3,,Special Topics in Health Sciences,,,3rd year +HLTC29H3,NAT_SCI,,"An examination of a current topic relevant to health sciences. The specific topic will vary from year to year, and may include: Ecosystem Approaches to Zoonotic Disease; Climate Change and Health; Food Insecurity, Nutrition, and Health; Health and the Human-Insect Interface.",,HLTB22H3,,Special Topics in Health Sciences,,,3rd year +HLTC30H3,NAT_SCI,Partnership-Based Experience,This course introduces students to the cellular and molecular mechanisms underlying cancer and how these overlap with social and environmental determinants of health. This will allow for a wider exploration of risk factors and public health approaches to individual and population health. The social impact of cancer and the importance of patient advocacy and support will also be examined. This course will also delve into evolving concepts of cancer and breakthroughs in cancer therapies.,HLTB44H3,HLTB22H3,"BIO477H5, LMP420H1",Understanding Cancer: From Cells to Communities,,,3rd year +HLTC42H3,SOCIAL_SCI,,This course takes an interdisciplinary approach to helping students prepare to tackle complex emerging health issues and to explore ways of addressing these issues through public policy. A range of contemporary and newly-emerging health issues are discussed and analyzed in the context of existing policy constraints within Canada and worldwide.,,HLTB40H3,,Emerging Health Issues and Policy Needs,,,3rd year +HLTC43H3,SOCIAL_SCI,,"This course examines the role of all levels of Canadian government in health and health care. The impact of public policies, health care policy, and access to health care services on the health of populations is considered. The course also examines the role of political parties and social movements in the policy change process.",,HLTB40H3,"(POLC55H3), (HLTC03H3)",Politics of Canadian Health Policy,,,3rd year +HLTC44H3,SOCIAL_SCI,,"This course surveys a selection of health care systems worldwide in relation to financing, reimbursement, delivery systems and adoption of new technologies. In this course students will explore questions such as: which systems and which public/private sector mixes are better at achieving efficiency and equity? How do these different systems deal with tough choices, such as decisions about new technologies? The set of international health care systems we focus on are likely to vary by term but will include a subset of OECD countries as well as countries with large populations that are heavily represented in Toronto such as China and India.",,HLTB40H3,,Comparative Health Policy Systems,,,3rd year +HLTC46H3,SOCIAL_SCI,,"This interdisciplinary course draws on diverse theoretical and analytical approaches that span the humanities, social sciences and life sciences to critically explore the diverse relationships between gender and health, in local and global contexts. Particular attention is given to intersections between sex, gender and other social locations and processes that impact health and health inequities across the lifespan, including the impacts of ableism, colonialism, hetero-normativity, poverty, racialization, and sexism on women's and men's health, and related health research and practice. Through course readings, case studies, group discussions, class activities, and course assignments, students will apply these theoretical lenses and develop analytical skills that : (1) advance a more contextualized understanding of gender and health across the lifespan, (2) provide important insights into gendered health inequities, and (3) speak to strategies and social movements that begin to address these challenges.",,HLTB41H3 or IDSB04H3,,"Globalization, Gender, and Health",,,3rd year +HLTC47H3,SOCIAL_SCI,,"How can we empirically research and understand the powers shaping the social organization of daily life? Engaging with the theory and methods pioneered by Canadian feminist sociologist Dorothy Smith, students learn to analyze and document how health care, social services, education, financial, pharmaceutical, psychiatry, labor, legal aid, criminal justice, emergency, and immigration systems frame and shape their everyday lives.",,HLTB42H3,,Institutional Ethnography in Action,,,3rd year +HLTC48H3,SOCIAL_SCI,,"An examination of a current topic relevant to health and society. The specific topic will vary from year to year. Topics may include: Social Justice and Health Activism; Climate Change and Health; Labour, Precarity, and Health.",,HLTB41H3,,Special Topics in Health and Society,,,3rd year +HLTC49H3,SOCIAL_SCI,,"This course will examine the health and well-being of Indigenous peoples, given historic and contemporary issues. A critical examination of the social determinants of health, including the cultural, socioeconomic and political landscape, as well as the legacy of colonialism, will be emphasized. An overview of methodologies and ethical issues working with Indigenous communities in health research and developing programs and policies will be provided. The focus will be on the Canadian context, but students will be exposed to the issues of Indigenous peoples worldwide. Same as SOCC49H3",,"HLTB41H3 or [[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3 , SOCB42H3, SOCB43H3, SOCB47H3]]",SOCC49H3,Indigenous Health,,,3rd year +HLTC50H3,ART_LIT_LANG,,"An intensive, interdisciplinary study of the human-animal relationship as represented through a range of literature, film, and other critical writings. Students will explore the theoretical underpinnings of “animality” as a critical lens through which human identity, health, and policy are conceptualized. Key topics include: animals in the human imagination, particularly in relation to health; animal-human mythologies; health, ethics, and the animal.",Prior experience in humanities courses at the secondary or post-secondary level.,HLTB50H3,,The Human-Animal Interface,,,3rd year +HLTC51H3,SOCIAL_SCI,,An examination of a current topic relevant to the study of health and society. The specific topic will vary from year to year. Same as SOCC51H3,,"HLTB41H3 or [[SOCB05H3 or SOCB35H3] and [0.5 from SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]]",SOCC51H3,Special Topics in Health and Society,,Priority will be given to students enrolled in the Major programs in Health and Society,3rd year +HLTC52H3,ART_LIT_LANG,,An examination of a current topic in Health Humanities. The specific topic will vary from year to year.,,HLTB50H3,,Special Topics in Health Humanities,,,3rd year +HLTC53H3,ART_LIT_LANG,University-Based Experience,"In this course, we will examine older age from an arts-based humanistic perspective, with particular focus on the representation of older age in the arts, and the role of arts- based therapies, creative engagement, and humanities- informed research initiatives involving older people and/or the aging process.",HLTB15H3 and HLTC55H3,HLTB50H3 or enrolment in the Minor in Aging and Society,,Creative Research Practices in Aging,,,3rd year +HLTC55H3,ART_LIT_LANG,,"This course introduces students to the practice of arts-based health research (ABHR), which involves the formal integration of creative art forms into health research methods and outcomes. Students will learn about the conceptual foundations of ABHR and explore various methods for generating, interpreting and representing health-related research (e.g., narrative, performance, visual arts, digital storytelling, or body mapping). With reference to concrete exemplars and experiential learning in creative forms, students will examine critical issues of methodological quality, evidence, research ethics, implementation challenges, and opportunities for arts-based health research in Canada and the global context.","HLTB15H3, HLTC04H3, PHLB09H3",HLTB50H3,,Methods in Arts-Based Health Research,,,3rd year +HLTC56H3,ART_LIT_LANG,University-Based Experience,"For close to a century, comics as a medium have examined diverse topics, from the serious to the silly. Drawing Illness draws on interdisciplinary scholarship from disability studies, comics studies, comic histories, medical anthropology, history of medicine and public health to examine the ways in which graphic narratives have been utilized to tell a range of stories about illness, disability, grief, dying, death, and medicine.",,HLTB50H3 or [HLTB60H3 in combination with any course in Historical and Cultural Studies],,Drawing Illness,,,3rd year +HLTC60H3,HIS_PHIL_CUL,University-Based Experience,"This course introduces students to disability history, a subfield within both history and the interdisciplinary field of disability studies. Students will use critical perspectives from disability studies to interpret how the concept of disability has changed over time and across cultures. This course understands disability as a social and political phenomenon and seeks to understand the experiences of disabled people in the past around the world. Students enrolled in this course will read secondary and primary source texts, and draw on lectures, films, memoirs, popular culture, and art to examine the social and cultural construction and experiences of disability. Students will also gain an understanding of how historians conduct research, and the methods and problems of researching disability history. Historical themes include colonialism, industrialization, war, and bureaucracy; regions and time periods studied will be selected at the discretion of the instructor.",An A-level course in Health and Society or Historical and Cultural Studies,HLTB60H3 or [HLTB50H3 and any course in Historical and Cultural Studies],,Disability History,,,3rd year +HLTC81H3,SOCIAL_SCI,University-Based Experience,"This course introduces students to health professions and practice with a focus on understanding the roles and responsibilities of health professionals, their scope of practices, and the key issues and challenges they face. The course will explore the evolution of healthcare delivery systems, the regulatory environment, and the ethical and professional considerations that impact the delivery of health care services through the lens of various health professions. Topics will also include the history and development of health professions and the interprofessional nature of health care delivery. The course will also examine, from the lens of various health professions, key issues and challenges facing health professionals such as health care disparities, health care reform, the use of technology, and other contemporary issues in healthcare. Throughout the course students will engage in critical thinking, analysis, and discussion of current issues in health professions and practice. The course will also provide opportunities for students to explore potential career paths within the healthcare field and to develop skills necessary for success in health professions such as communication, teamwork and cultural competence.",,HLTB40H3,,Health Professions and Practice,,,3rd year +HLTD01H3,,,This is an advanced reading course in special topics for upper level students who have completed the available basic courses in Health and Society and who wish to pursue further intensive study on a relevant topic. Topic selection and approval will depend on the supervising instructor.,,"Completion of at least 6.0 credits, including at least 1.5 credits at the C-level from the program requirements from one of the Major/Major Co-op programs in Health and Society; students must also have achieved a minimum CGPA of 2.5 and have permission of an instructor for enrollment.",,Directed Readings in Health and Society,,,4th year +HLTD02H3,,University-Based Experience,"Provides senior students with the opportunity to apply methodological skills to a health research problem. Students will give presentations of their research proposals, and there may be a guest seminar on health research projects.",,Completion of at least 1.5 credits at the C- Level in HLT courses from the program requirements from one of the Major/Major Co-op programs in Health and Society,,Health Research Seminar,,,4th year +HLTD04H3,,,The topics presented in this course will represent a range of contemporary issues in health research. Topics will vary by instructor and term.,,Completion of at least 1.5 credits at the C- Level in HLT courses from the program requirements from one of the Major/Major Co-op programs in Health and Society,,Advanced Topics in Health and Society,,,4th year +HLTD05H3,,Partnership-Based Experience,"Provides students with the opportunity to analyze work of health institutions. Students taking this course will arrange, in consultation with the instructor, to work as a volunteer in a health institution. They will write a major research paper related to some aspect of their experience.",,Completion of at least 1.5 credits at the C- Level in HLT courses from the program requirements from one of the Major/Major Co-op programs in Health and Society and a minimum cGPA of 2.5 and permission of the instructor,(HLTC01H3),Directed Research on Health Services and Institutions,,,4th year +HLTD06H3,SOCIAL_SCI,,"How does cultural representation and social construction shape understandings of persons with chronic illness, disability and genetic difference? Engaging with history and the present cross-culturally, students learn about language and framing; lay and medical knowledge; family memory and public secrets; the professions and immigration medicine; front-line bureaucracy and public health authority; asymptomatic disease and stigmatized illness; and dual loyalty dilemmas and institutionalized medicine.",,HLTB42H3,,"Migration, Medicine, and the Law",,,4th year +HLTD07H3,SOCIAL_SCI,,"This course builds on HLTC17H3 by examining rehabilitation from the perspectives of researchers, clinicians, and clients. The course focuses on the historical role of rehabilitation, not only in improving health, but also in perpetuating the goal of 'normalcy'. Students will examine how rehabilitation impacts people, both at an individual and societal level, and explore the field of disability studies and its critical engagement with the message that disabled people “need to be repaired.”",,HLTC17H3 and an additional 1.5 credits at the C-Level in HLT courses from the program requirements from one of the Major/Major Co-op in Health and Society,HLTD47H3 if taken before Summer 2018,Advanced Rehabilitation Sciences: Disability Studies and Lived Experiences of 'Normalcy',,,4th year +HLTD08H3,NAT_SCI,,"An examination of a current health sciences topic. The specific topic will vary from year to year, and may include: clinical epidemiology, an advanced nutrition topic, or the biology and population health impacts of a specific disease or illness condition.",HLTC19H3 or HLTC25H3,[HLTC27H3] and an additional [1.5 credits at the C-Level from the program requirements from the Major/Major Co-op program in Health Studies- Population Health],,Advanced Topics in Health Sciences,,,4th year +HLTD09H3,NAT_SCI,,"Reproductive health is defined by the World Health Organization as physical, mental, and social wellbeing across the life course in all domains related to the reproductive system. This course will draw on theories and methods from demography, epidemiology, medicine, and public health to examine the determinants and components of reproductive health. A particular emphasis will be placed on sexual health, family planning, preconception health, and perinatal health and on how these are understood in the context of a growing global population.",,HLTC27H3 and 1.5 credits at the C-level in HLT courses from the requirements of the Major/Major Co-op program in Health Studies- Population Health,,Population Perspectives on Reproductive Health,,,4th year +HLTD11H3,SOCIAL_SCI,Partnership-Based Experience,"This course provides an introduction to the field of program and policy evaluation. Evaluation plays an important role in evidence based decision making in all aspects of society. Students will gain insight into the theoretical, methodological, practical, and ethical aspects of evaluation across different settings. The relative strengths and weaknesses of various designs used in applied social research to examine programs and policies will be covered. Same as SOCD11H3",,"[[STAB22H3 or STAB23H3] and [0.5 credit from HLTC42H3, HLTC43H3, HLTC44H3] and [an additional 1.0 credit at the C-Level from courses from the Major/Major Coop in Health Studies- Health Policy]] or [10.0 credits and [SOCB05H3 and SOCB35H3] and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, or SOCB47H3]]",SOCD11H3,Program and Policy Evaluation,,,4th year +HLTD12H3,SOCIAL_SCI,,The topics presented in this course will represent a range of contemporary issues in health research. Topics will vary by instructor and term.,,Completion of 1.5 credits at the C-Level in HLT courses from the program requirements from one of the Major/Major Co-op programs in Health and Society,,Advanced Topics in Health and Society,,,4th year +HLTD13H3,NAT_SCI,,"An examination of a current topic relevant to global health, especially diseases or conditions that predominately affect populations in low-income countries. The specific topics will vary from year to year, and may include: HIV/AIDS; insect- borne diseases; the biology of poverty and precarity. The course will provide students with relevant information about social context and health policy, but will focus on the processes of disease transmission and its biological impact on human health.",,HLTC26H3 and an additional 1.0 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health Studies- Population Health,,Advanced Topics in Global Health and Human Biology,,,4th year +HLTD18H3,NAT_SCI,,"Dentistry is one of the oldest branches of medicine responsible for the treatment of diseases of oral cavity. This course will introduce students to the key concepts as well as the latest research in the dental sciences, including but not limited to craniofacial structures, bone physiology, odontogenesis, pathogenesis of oral diseases, and technology in dental sciences.","ANTC47H3, ANTC48H3, BIOB33H3 and a working background in chemistry, biochemistry, genetics, and principles of inheritance would be beneficial","HLTB44H3, HLTC19H3, HLTC23H3 and 0.5 credit in any Physiology course",HMB474H1,Dental Sciences,,Priority will be given to students in the Population Health Major Program,4th year +HLTD20H3,NAT_SCI,,"An examination of a current health topic relevant to sex, gender, and the life course. The specific topic will vary from year to year, and topics may include: reproductive health; the biology and health impacts of aging; infant feeding, weaning, and nutrition; sexual health among youth. The course will provide students with relevant information about social context and health policy, but will focus on biological processes at specific life stages.",,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health Studies- Population Health,,"Advanced Topics in Sex, Gender, and the Life Course",,,4th year +HLTD21H3,SOCIAL_SCI,,The topics presented in this course will represent a range of contemporary issues in health research. Topics will vary by instructor and term.,,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,Advanced Topics in Health and Society,,,4th year +HLTD22H3,SOCIAL_SCI,,The topics presented in this course will represent a range of contemporary issues in health research. Topics will vary by instructor and term.,,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,Advanced Topics in Health and Society,,,4th year +HLTD23H3,SOCIAL_SCI,,"This course will examine pandemics, epidemics, and outbreaks of contagious infectious diseases, specifically viruses (i.e. HIV, Ebola, SARS, hantavirus, smallpox, influenza) among Indigenous Peoples. Students will learn about the social, cultural, and historical impacts of the virus on Indigenous peoples and their communities with regards to transmission, treatment and prevention, public health measures and strategies, as well as ethical issues.",HLTC49H3/SOCC49H3,HLTC25H3 and 1.0 credit at the C-level from the program requirements from the Major/Major Co-op programs in Health Studies- Population Health,,"Indigenous Peoples: Pandemics, Epidemics, and Outbreaks",HLTC27H3,,4th year +HLTD25H3,NAT_SCI,University-Based Experience,"The didactic portion of this course will examine emerging environmental health issues using case studies. In the hands-on portion of the course, students will learn a range of research skills - how to use the Systematic Reviews and Meta-Analyses (PRISMA) guidelines, evidence-based health and best practices, and the different elements of a successful grant proposal - while honing their researching, writing, and presenting skills.",,HLTC24H3 with a minimum GPA of 2.7 (B-),,Advanced Topics in Environmental Health,,,4th year +HLTD26H3,SOCIAL_SCI,,"This course will introduce students to key conceptual and methodological approaches to studying experiences of embodiment at different points in the life course. It draws on range of social and cultural perspectives on bodily activity, exercise, disability, and representations of the body to encourage students to critically examine relationships between sociocultural dynamics and health.",,HLTB15H3 and HLTC22H3 and an additional 1.0 credit at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society or enrolment in the Minor in Aging and Society,HLTD12H3 if taken in the Winter 2019 semester,Embodiment Across the Life Course,,Priority will be given to students enrolled in Health Studies programs offered by the Department of Health and Society,4th year +HLTD27H3,SOCIAL_SCI,Partnership-Based Experience,"Food security is an important determinant of health and well being, and yet in many areas of the world there are profound challenges to achieving it. Food sovereignty – the right of peoples to self-determined food production – has an important and complex relationship with food security. This course will examine the implications of food security and food sovereignty for health equity in the context of sub Saharan Africa.",,HLTC26H3 and an additional 1.0 credit at the C-level from the program requirements from the Major/Major Co-op programs in Health Studies- Population Health,HLTD22H3 if taken in Winter 2018 or Fall 2018 semester,"Food Security, Food Sovereignty, and Health",,,4th year +HLTD28H3,SOCIAL_SCI,Partnership-Based Experience,"This course is designed to provide students with an in-depth knowledge of the role of technological and social innovations in global health. Through lectures, case studies, group projects and exciting guest lectures, students will gain an understanding of the process of developing and scaling technological and social innovations in low- and middle- income countries, taking into account the unique socio- cultural, financial and logistical constraints that are present in such settings.",,HLTC26H3 and an additional 1.0 credit at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,"[HLTC47H3 if taken in Fall 2017 semester], [HLTD04H3 if taken in Winter 2019 semester]",Innovations for Global Health,,,4th year +HLTD29H3,NAT_SCI,,"An examination of a current topic in inequality, inequity, marginalization, social exclusion, and health outcomes. Topics may include: health and homelessness, poverty and sexual health, political conflict and refugee health. The course will provide students with relevant information about social context and health policy, but will focus on the physical and mental health impacts of various forms of inequity.",,Completion of 1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,"Advanced Topics in Inequality, Inequity, and Health",,,4th year +HLTD40H3,SOCIAL_SCI,Partnership-Based Experience,"Drawing on insights from critical social theory and on the experience of community partners, this course critically explores the ethics, economics, and politics of care and mutual aid. The course begins with a focus on informal care in our everyday lives, including self-care. We then move on to interrogate theories of care and care work in a variety of settings including schools, community health centres, hospitals, and long-term care facilities. The course is interdisciplinary, drawing on insights from scholarship across the humanities, social sciences, medicine, and public health.",Interest in the Social Sciences or prior coursework in the Social Sciences.,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health Studies- Health Policy,,"The Politics of Care, Self-Care, and Mutual Aid",,,4th year +HLTD44H3,NAT_SCI,University-Based Experience,"This course is designed to provide an in-depth understanding of the potential effects on human health of exposure to environmental contaminants, with special attention to population groups particularly vulnerable to toxic insults.",,"1.5 credits chosen from the following: ANTC67H3, [BIOA11H3 or BIOA01H3], [BIOB33H3 or HLTB33H3], BIOB35H3, BIOC14H3, BIOC65H3, HLTB22H3, HLTC22H3, HLTC24H3, or HLTC27H3",,"Environmental Contaminants, Vulnerability, and Toxicity",,,4th year +HLTD46H3,SOCIAL_SCI,,"Violence is a significant public health, human rights, and human development problem that impacts millions of people worldwide. Relying on a critical public health perspective, critical social theories, and local and global case studies on anti-oppression, this course explores structural (causes of) violence, the impact violence has on (public) health and human development, and societal responses to treatment, prevention, and social transformation.",HLTC02H3 and HLTC46H3,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health Studies - Health Policy,,Violence and Health: Critical Perspectives,,,4th year +HLTD47H3,SOCIAL_SCI,,"An examination of a current topic in health and wellness. Topics may include: disability, addiction, psychosocial wellbeing, social activism around health issues, Wellness Indices, Community Needs and Assets Appraisals. The course will focus on the contributing historical, social, and/or cultural factors, as well as relevant health policies.",,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,Advanced Topics in Health and Wellness,,,4th year +HLTD48H3,SOCIAL_SCI,University-Based Experience,"An examination of a current topic in global health, especially a disease or condition that predominantly impacts populations in low-income countries. The specific topic will vary from year to year. Topics may include: HIV/AIDS; war and violence, insect-borne diseases; policies and politics of water and sanitation; reproductive health and population policies, etc. The course will focus on historical factors, socio- political contexts, and health policies.",,1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,Advanced Topics in Global Health,,,4th year +HLTD49H3,SOCIAL_SCI,,"This advanced seminar course explores contemporary topics in global health governance as they are being discussed and debated by world leaders at key international summits, such as the World Health Summit. After developing an understanding of the historical and political economy context of the main actors and instruments involved in global health governance, contemporary global health challenges are explored. Topics and cases change based on global priorities and student interests, but can include: the impact of international trade regimes on global health inequities; the role transnational corporations and non-governmental organizations play in shaping the global health agenda; the impact globalization has had on universal health care and health human resources in low-income countries; and health care during complex humanitarian crises.",,0.5 credit from [HLTC02H3 or HLTC43H3 or HLTC46H3] and an additional 1.0 credits at the C-level from the program requirements from the Major/Major Co-op program in Health Studies - Health Policy,,Global Health Governance: Thinking Alongside the World's Leaders,,,4th year +HLTD50H3,ART_LIT_LANG,,"This advanced seminar will provide intensive study of a selected topic in and/or theoretical questions about the health humanities. Topics will vary by instructor and term but may include narrative medicine, stories of illness and healing, representations of older age and aging in literature and film, AIDS and/or cancer writing, representations of death and dying in literature and film, and the role of creative arts in health.",,HLTB50H3 and an additional 1.5 credits at the C-level from the program requirements from the Minor program in Health Humanities,,Advanced Topics in Health Humanities,,,4th year +HLTD51H3,ART_LIT_LANG,,"In this advanced seminar students will examine older age using the methods and materials of the humanities, with particular focus on: 1) the representation of aging and older age in the arts; and 2) the role of arts-based therapies and research initiatives involving older people and/or the aging process.",,HLTB50H3 and an additional 1.5 credits at the C-level from the program requirements from the Minor program in Health Humanities,,Aging and the Arts,,,4th year +HLTD52H3,HIS_PHIL_CUL,,"An examination of a health topic in historical perspective. The specific topics will vary from year to year, and may include: histories of race, racialization, and health policy; history of a specific medical tradition; or histories of specific health conditions, their medical and popular representations, and their treatment (e.g. historical changes in the understanding and representation of leprosy or depression).",,HLTB50H3 and an additional 1.5 credits at the C-level from the program requirements from the Minor program in Health Humanities,,Health Histories,,,4th year +HLTD53H3,ART_LIT_LANG,,An examination of a current topic in Health Humanities. The specific topic will vary from year to year.,,HLTB50H3 and an additional 1.5 credits at the C-level from the program requirements from the Minor program in Health Humanities,,Advanced Topics in Health Humanities,,,4th year +HLTD54H3,ART_LIT_LANG,University-Based Experience,"This seminar course explores stories of health, illness, and disability that are in some way tied to the City of Toronto. It asks how the Canadian healthcare setting impacts the creation of illness narratives. Topics will include major theorizations of illness storytelling (“restitution”, “chaos,” and “quest” narratives); narrative medicine; ethics and digital health storytelling.",,HLTB50H3 and an additional 1.5 credits at the C-level from the program requirements from the Minor program in Health Humanities,HLTD50H3 if taken in the Winter 2018 semester.,Toronto's Stories of Health and Illness,,,4th year +HLTD56H3,ART_LIT_LANG,,"Advanced students of Health Humanities already know that creative work about important contemporary issues in health can help doctors, patients, and the public understand and live through complex experiences. But now, as health humanities practitioners, do we go about making new creative works and putting them out into the world? This upper-level seminar explores Documentary and Memoir as a political practice and supports students already versed in the principles and methods of health humanities in developing their own original work. Through a workshop format, students encounter artistic and compositional practices of documentary and memoir writing, film, and theatre to draw conclusions about what makes a documentary voice compelling, and consider the impact of works as a modality for communicating human experiences of health, illness, and disability through these mediated expressions.",HLTB60H3 and HLTC55H3,1.5 credits at the C-level from the program requirements from the Minor program in Health Humanities,,Health Humanities Workshop: Documentary and Memoir,,,4th year +HLTD71Y3,SOCIAL_SCI,University-Based Experience,"In this year-long directed research course, the student will work with a faculty supervisor to complete an original undergraduate research project. During fall term the student will prepare the research proposal and ethics protocol, and begin data collection. In the winter term the student will complete data collection, analysis, and write-up.",HLTB27H3,HLTB15H3 and STAB23H3 and a minimum CGPA of 3.0 and permission of the faculty supervisor,,Directed Research in Health and Society,,,4th year +HLTD80H3,SOCIAL_SCI,,"This course will investigate school- and community-based health education efforts that approach health as a complex social, biological, and cultural experience; critique and challenge prevailing understandings of health; and offer alternative theoretical, pedagogical, and curricular approaches to health and illness. Issues such as sexuality, gender, nation, race, social class, age, ability, and indigeneity will be central concerns in this study of health pedagogy, curriculum, and promotion.",,HLTB41H3 and an additional 1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,Critical Health Education,,,4th year +HLTD81H3,SOCIAL_SCI,University-Based Experience,"The quality of our health care system is dependent on initial and ongoing education supporting our health professionals. In response to ongoing and new challenges in health care, governments and institutions respond with novel ideas of enacting health care in improved ways. Health care institutions, policy makers, and the public have expectations of highly skilled, knowledgeable, and prepared individuals. As our understanding of health and health systems change, these expectations also change. Keeping up is in part the work of health professions education. Preparing individuals for these dynamic, complex, in some cases unpredictable, and everchanging health care service demands is necessary and complex. In this course, we explore the role and governance, structure, and contemporary multidisciplinary scientific advances of initial and continuing health professions education as a means of supporting the practice and quality of health care. We also explore the future of health professions and how health professions education is working to keep up.",HLTC43H3,HLTB40H3 and 1.5 credits at the C-level from the program requirements from the Major/Major Co-op programs in Health and Society,,Health Professions Education,,"Whether students are in Health Policy, Population Health Sciences or Health Humanities streams, education of health professions/professionals provides a mechanism (of many) for how health is achieved. Students in all streams will be given an opportunity to understand why and how health professions education (a specialized branch of education) can contribute. This will assist students (and future graduates) explore the role education may play in their contributions to the health care system.",4th year +HLTD82H3,SOCIAL_SCI,University-Based Experience,"This course will delve into health promotion's inequities, notably those impacting Black communities. We examine how social determinants intersect with anti-Black racism, particularly during pandemics like HIV/AIDS and COVID-19. The Toronto Board of Health's 2020 declaration of anti-Black racism as a public health crisis underscores the urgency of addressing this issue, as Black Canadians continue to face disproportionate health disparities in areas such as life expectancy and chronic diseases.",HLTC27H3 and HLTC42H3,HLTB41H3 and completion of 1.5 credits at the C-level in HLT courses from the program requirements from one of the Major/Major Co-operative programs in Health and Society,,Black Community Health: Education and Promotion,,,4th year +HLTD96Y3,,,"This course is designed to permit critical analysis of current topics relevant to the broad topic of paramedicine. Students will work independently but under the supervision of an industry leader, practitioner and/or researcher involved in paramedicine, who will guide the in-depth study/research. Students report to the course instructor and paramedicine program supervisor to complete course information and their formal registration.",,Minimum of 14.0 credits including PMDC54Y3 and PMDC56H3 and [PSYB07H3 or STAB23H3],(BIOD96Y3),Directed Research in Paramedicine,,,4th year +IDSA01H3,SOCIAL_SCI,,"History, theory and practice of international development, and current approaches and debates in international development studies. The course explores the evolution of policy and practice in international development and the academic discourses that surround it. Lectures by various faculty and guests will explore the multi-disciplinary nature of international development studies. This course is a prerequisite for all IDS B-level courses.",,,,Introduction to International Development Studies,,,1st year +IDSA02H3,SOCIAL_SCI,Partnership-Based Experience,"This experiential learning course allows students to experience first hand the realities, challenges, and opportunities of working with development organizations in Africa. The goal is to allow students to actively engage in research, decision-making, problem solving, partnership building, and fundraising, processes that are the key elements of development work. Same as AFSA03H3",,,AFSA03H3,Experiencing Development in Africa,,,1st year +IDSB01H3,SOCIAL_SCI,,"Introduces students to major development problems, focusing on international economic and political economy factors. Examines trade, aid, international institutions such as the World Bank, the IMF and the WTO. Examines both conventional economic perspectives as well as critiques of these perspectives. This course can be counted for credit in ECM Programs.",,[MGEA01H3/(ECMA01H3) and MGEA05H3/(ECMA05H3)] or [MGEA02H3/(ECMA04H3) and MGEA06H3/(ECMA06H3)] and IDSA01H3,ECO230Y,Political Economy of International Development,,,2nd year +IDSB02H3,NAT_SCI,,"The environmental consequences of development activities with emphasis on tropical countries. Environmental change in urban, rainforest, semi-arid, wetland, and mountainous systems. The influences of development on the global environment; species extinction, loss of productive land, reduced access to resources, declining water quality and quantity, and climate change.",,IDSA01H3 or EESA01H3,,Development and Environment,,,2nd year +IDSB04H3,SOCIAL_SCI,,"This course offers an introduction to the political, institutional, social, economic, epidemiological, and ideological forces in the field of international/global health. While considerable reference will be made to “high-income” countries, major emphasis will be placed on the health conditions of “low- and middle-income” countries – and their interaction with the development “aid” milieu. After setting the historical and political economy context, the course explores key topics and themes in global health including: international/global health agencies and activities; data on health; epidemiology and the global distribution of health and disease; the societal determinants of health and health equity; health economics and the organization of health care systems in comparative perspective; globalization, trade, work, and health; health humanitarianism in the context of crisis, health and the environment; the ingredients of healthy societies across the world; and social justice approaches to global health.",,5.0 credits including IDSA01H3,,Introduction to International/Global Health,,,2nd year +IDSB06H3,HIS_PHIL_CUL,,"What constitutes equitable, ethical as well as socially and environmentally just processes and outcomes of development? This course explores these questions with particular emphasis on their philosophical and ideological foundations and on the challenges of negotiating global differences in cultural, political and environmental values in international development.",,IDSA01H3,,"Equity, Ethics and Justice in International Development",,,2nd year +IDSB07H3,HIS_PHIL_CUL,,"This course offers students an in-depth survey of the role race and racism plays in Development of Thought and Practice across the globe. Students will learn the multiple ways colonial imaginaries and classificatory schemes continue to shape International Development and Development Studies. A variety of conceptual frameworks for examining race, racism and racialization will also be introduced.",,,,Confronting Development’s Racist Past and Present,,,2nd year +IDSB10H3,SOCIAL_SCI,,"Examines in-depth the roles of information and communication technology (ICT) in knowledge production and their impact on development. Do new forms of social media make communication more effective, equitable, or productive in the globalized world? How has network media changed governance, advocacy, and information flow and knowledge exchange and what do these mean for development?",,IDSA01H3,(ISTB01H3),Political Economy of Knowledge Technology and Development,,"Effective Summer 2013 this course will not be delivered online; instead, it will be delivered as an in-class seminar.",2nd year +IDSB11H3,SOCIAL_SCI,,"This course will focus on the importance of historical, socio- economic, and political context in understanding the varying development experiences of different parts of the Global South. In addition to an introductory and concluding lecture, the course will be organized around two-week modules unpacking the development experience in four different regions of the Global South – Latin America/Caribbean, Africa, the Middle East, and South/South East Asia.",,IDSA01H3,,Global Development in Comparative Perspective,,,2nd year +IDSC01H3,SOCIAL_SCI,,"Examines research design and methods appropriate to development fieldwork. Provides `hands on' advice (practical, personal and ethical) to those preparing to enter ""the field""; or pursuing development work as a career. Students will prepare a research proposal as their main course assignment.",,[9.0 credits including: IDSA01H3 and IDSB07H3] and [at least 6.0 credits satisfying Specialist Co- op Program in International Development Studies Requirements 1 through 4],,Research Design for Development Fieldwork,,Limited to students enrolled in the Specialist (Co-op) Program in IDS. Students in other IDS programs may be admitted with permission of instructor subject to the availability of spaces.,3rd year +IDSC02H3,NAT_SCI,,"The role science plays in informing environmental policy is sometimes unclear. Students in this interdisciplinary class will examine key elements associated with generating scientific environmental knowledge, and learn how this understanding can be used to inform and critique environmental policy. Discussions of contemporary domestic and international examples are used to highlight concepts and applications.",IDSB02H3,8.0 credits including EESA01H3,,Environmental Science and Evidence-Based Policy,,,3rd year +IDSC03H3,SOCIAL_SCI,,"This course is intended as an advanced critical introduction to contemporary African politics. It seeks to examine the nature of power and politics, state and society, war and violence, epistemology and ethics, identity and subjectivities, history and the present from a comparative and historical perspective. It asks what the main drivers of African politics are, and how we account for political organization and change on the continent from a comparative and historical perspective. Same as AFSC03H3.",,[IDSA01H3 or AFSA01H3] or by instructor’s permission,AFSC03H3,"Contemporary Africa: State, Society, and Politics",,,3rd year +IDSC04H3,SOCIAL_SCI,University-Based Experience,"Studies the phases of the project management cycle with emphasis on situational analysis and identification of needs, project implementation, project monitoring and evaluation. Examines basic organizational development, the role of Canadian non-governmental organizations engaged in the delivery of development assistance as well as with CIDA's policies and practices.",,IDSA01H3 and [1.0 credit at the B-level in IDS courses],,Project Management I,,Restricted to students in the IDS Specialist and Major programs.,3rd year +IDSC06H3,,Partnership-Based Experience,Institutions and International Development This Directed Readings course is designed for students who already have an ongoing working relationship with a Canadian Development institution (both non-government organizations and private agencies). The course will run parallel to the work experience. Students interested in this course must contact and obtain permission from the CCDS Associate Director prior to the beginning of term.,IDSC04H3,IDSA01H3 and [1.0 credit at the B-level in IDS courses],,Directed Reading on Canadian,,,3rd year +IDSC07H3,SOCIAL_SCI,University-Based Experience,"A case study approach building on Project Management I. Examines: the art of effective communication and negotiation, visioning, participatory and rapid rural appraisal; survey design and implementation; advanced financial management and budgeting; basic bookkeeping and spreadsheet design; results based management; environmental impact assessments; cross-cultural effectiveness; and gender and development.",,IDSA01H3 and IDSC04H3,,Project Management II,,Limited to students in IDS Specialist and Major programs. Other students may be admitted with permission of instructor.,3rd year +IDSC08H3,SOCIAL_SCI,,"Critical perspectives on the effects of traditional and 'new' media on development policy and practice. The course examines the increasingly significant role the media plays in the development process, the ways in which media- generated images of development and developing countries affect development policy and the potential of 'new' media for those who are marginalized from the development process.",,IDSA01H3 and IDSB10H3,,Media and Development,,,3rd year +IDSC10H3,,,,,IDSA01H3,,Topics in International Development Studies Contents to be determined by instructor.,,,3rd year +IDSC11H3,SOCIAL_SCI,,"Key global and international health issues are explored in- depth in three learning phases. We begin with a reading and discussion seminar on international/global health policy and politics. (Exact topic changes each year based on student interest and developments in the field). Next, students develop group projects designed to raise awareness around particular global and international health problems, culminating in UTSC International Health Week in the Meeting Place. The third phase --which unfolds throughout the course-- involves individual research projects and class presentations.",,8.0 credits including IDSA01H3 and IDSB04H3,,Issues in Global and International Health,,,3rd year +IDSC12H3,SOCIAL_SCI,,"Considers the role of micro- and small/medium enterprise in the development process, as compared to the larger firms. Identifies the role of smaller enterprises in employment creation and a more equitable distribution of income. Examines policies which can contribute to these outcomes, including micro-credit. This course can be counted for credit in ECM Programs.",,IDSA01H3 and IDSB01H3,(IDSB05H3),Economics of Small Enterprise and Microcredit,,,3rd year +IDSC13H3,SOCIAL_SCI,,"The state has proven to be one of the key factors paving the way for some countries in the Global South to escape conditions of underdevelopment and launch successful development programs over time. But, why have effective states emerged in some countries in the Global South and not in others? This course seeks to answer this question by investigating processes of ""state formation"" using a comparative historical approach. The course will begin by introducing students to theories of state formation. These theories will raise important questions about state formation processes that include: What is a modern, ""rational-legal"" state in theory? What do states look like in practice? What is state capacity and what are its components? What is the infrastructural power of the state and how does it differ from the despotic power of a state? How do state efforts to extend infrastructural power ignite political battles for social control at both elite and popular sector levels of society? Finally, how do processes of state formation unfold over time? The course, then, dives into comparative examinations of state formation using examples from across the Global South – from Central and South America to Africa, the Middle East, South Asia, and East Asia.",POLB91H3,IDSA01H3 or POLB90H3,"IDSC10H3 if taken in Winter 2023; POLC90H3 if taken in Winter 2018, Winter 2019, Winter 2020, Winter 2021.",State Formation and the Politics of Development in the Global South: Explaining Divergent Outcomes,,,3rd year +IDSC14H3,SOCIAL_SCI,,"Examines how institutions and power relations shape the production and distribution of food, particularly in the global South. The course evaluates competing theories of hunger and malnutrition. It also explores the historical evolution of contemporary food provisioning and evaluates the viability and development potential of alternative food practices.",,IDSB01H3 or [FSTA01H3 and FSTB01H3],,The Political Economy of Food,,,3rd year +IDSC15H3,SOCIAL_SCI,,The topics presented in this course will represent a range of issues in international development studies. Topics will vary by instructor and term.,,10.0 credits including IDSA01H3,,Special Topics in International Development Studies,,,3rd year +IDSC16H3,SOCIAL_SCI,,The rise of populism has been widespread and often linked to processes of economic globalization. This course explores the historical and more recent economic and social factors shaping populist movements and leaderships in the Global South.,,IDSA01H3 or POLB90H3,POL492H1,"Populism, Development, and Globalization in the Global South",,,3rd year +IDSC17H3,SOCIAL_SCI,University-Based Experience,"Explores the question of citizenship through theories of citizen participation and action in dialogue with a wide range of recent empirical case studies from the global south. Going beyond formal rights and status, the course looks at deeper forms of political inclusion and direct participation in decision- making on political and policy issues.",,IDSA01H3 and [1.0 credit at the B-level in IDS courses],,"Development, Citizen Action and Social Change in the Global South",,,3rd year +IDSC18H3,SOCIAL_SCI,,"This course examines the growing role of the emerging powers - the BRICS countries grouping of Brazil, Russia, India, China and South Africa - in international development. The course examines recent development initiatives by these actors in Africa, Latin America and Asia. It also explores the question of whether BRICS-led development programs and practices challenge the top-down, expert led stances of past development interventions – from colonialism to the western aid era.",,IDSA01H3 and [1.0 credit at the B-level in IDS courses],,New Paradigms in Development: The Role of Emerging Powers,,,3rd year +IDSC19H3,SOCIAL_SCI,University-Based Experience,"This course introduces students to alternative business institutions (including cooperatives, credit unions, worker- owned firms, mutual aid, and social enterprises) to challenge development. It investigates the history and theories of the solidarity economy as well as its potential contributions to local, regional and international socio-economic development. There will be strong experiential education aspects in the course to debate issues. Students analyze case studies with attention paid to Africa and its diaspora to combat exclusion through cooperative structures. Same as AFSC19H3",,AFSA01H3 or IDSA01H3 or POLB90H3 or permission of the instructor,AFSC19H3,"Community-Driven Development: Cooperatives, Social Enterprises and the Black Social Economy",,,3rd year +IDSC20H3,SOCIAL_SCI,Partnership-Based Experience,"This course focuses on critical approaches to community engagement in international development. The first half of the course traces the history of critical and participatory approaches to community engagement in development. In the second half of the course students are trained in critical and ethical approaches to participatory community-engaged research. Student’s learning will be guided by an iterative pedagogical approach aimed at facilitating dialogue between theory, practice and experience. Students taking this course will learn about the challenges faced by communities in their interactions with a range of development actors, including international development agencies, local NGOs, state actors and universities.",,IDSA01H3 and IDSB06H3,,Critical Approaches to Community Engagement in Development,,,3rd year +IDSC21H3,SOCIAL_SCI,University-Based Experience,"The course introduces students to the history and ethics of community-based research in development. We will focus on critical debates in Action Research (AR), Participatory Action Research (PAR), and Community Based Participatory Research (CBPR). Cases will be used to illustrate the politics of community-based research.",,IDSC20H3,,Power and Community-Based Research in Development,,,3rd year +IDSD01Y3,,Partnership-Based Experience,"Normal enrolment in this course will be made up of IDS students who have completed their work placement. Each student will give at least one seminar dealing with their research project and/or placement. The research paper will be the major written requirement for the course, to be submitted no later than mid-March. The course will also include seminars by practicing professionals on a variety of development topics.",,"IDSA01H3 and students must have completed the first four years of the IDS Specialist Co-op Program or its equivalent and have completed their placement. Also, permission of the instructor is required.",,Post-placement Seminar and Thesis,,,4th year +IDSD02H3,SOCIAL_SCI,,An advanced seminar in critical development studies with an emphasis on perspectives and theories from the global South. The main purpose of the course is to help prepare students theoretically and methodologically for the writing of a major research paper based on secondary data collection. The theoretical focus on the course will depend on the interests of the faculty member teaching it.,,14.0 credits including IDSC04H3,,Advanced Research Seminar in Critical Development Studies,,"Restricted to students in the Specialist (non Co-op) Programs in IDS. If space is available, students from the Major Program in IDS may gain admission with the permission of the instructor.",4th year +IDSD05H3,SOCIAL_SCI,,"This seminar course examines the history of global/international health and invites students to contemplate the ongoing resonance of past ideologies, institutions, and practices of the field for the global health and development arena in the present. Through exploration of historical documents (primary sources, images, and films) and scholarly works, the course will cover themes including: the role of health in empire-building and capitalist expansion via invasion/occupation, missionary work, enslavement, migration, trade, and labor/resource extraction; perennial fears around epidemics/pandemics and their economic and social consequences; the ways in which international/global health has interacted with and reflected overt and embedded patterns of oppression and discrimination relating to race, Indigeneity, gender, and social class; and colonial and post- colonial health governance, research, and institution-building.",,"[12.0 credits, including IDSB04H3] or permission of the instructor",,Historical Perspectives on Global Health and Development,,,4th year +IDSD06H3,HIS_PHIL_CUL,,This interdisciplinary course traces the advance of feminist and postcolonial thinking in development studies. The course serves as a capstone experience for IDS students and social science majors looking to fully engage with feminist and postcolonial theories of development. This course combines short lectures with student led-discussions and critical analyses of development thought and practice.,IDSB06H3,12.0 credits,,Feminist and Postcolonial Perspectives in Development Studies,,,4th year +IDSD07H3,HIS_PHIL_CUL,,"This course examines resource extraction in African history. We examine global trade networks in precolonial Africa, and the transformations brought by colonial extractive economies. Case studies, from diamonds to uranium, demonstrate how the resource curse has affected states and economies, especially in the postcolonial period. Same as AFSD07H3",,[10.0 credits including [AFSA01H3 or IDSA01H3 or POLB90H3]] or permission of instructor,AFSD07H3,Extractive Industries in Africa,,,4th year +IDSD08H3,SOCIAL_SCI,Partnership-Based Experience,"This course explores the intersection of community-centered research, art, media, politics, activism and how they intertwine with grass-root social change strategies. Students will learn about the multiple forms of media tactics, including alternative and tactical media (fusion of art, media, and activism) that are being used by individuals and grass-root organizations to promote public debate and advocate for changes in development-related public policies. Through case studies, hands-on workshops, community-led learning events, and a capstone project in collaboration with community organizations, students will gain practical research, media and advocacy skills in formulating and implementing strategies for mobilizing public support for social change.",,IDSA01H3 and [1.0 credit in C-level IDS courses] and [0.5 credit in D-level IDS courses],"IDSD10H3 (if taken in the Winter 2018, 2019, 2020 or 2021 sessions)",Community-Centered Media Tactics for Development Advocacy and Social Change,,,4th year +IDSD10H3,,,The topics presented in this course will represent a range of issues in international development studies. Topics will vary by instructor and term.,,"12.0 credits, including IDSA01H3",,Topics in International Development Studies,,,4th year +IDSD12H3,,,The topics presented in this course will represent a range of issues in international development studies. Topics will vary by instructor and term.,,"12.0 credits, including IDSA01H3",,Topics in International Development Studies,,,4th year +IDSD13H3,,,The topics presented in this course will represent a range of issues in international development studies. Topics will vary by instructor and term.,,"12.0 credits, including IDSA01H3",,Topics in International Development Studies,,,4th year +IDSD14H3,,,"The goal of the course is for students to examine in a more extensive fashion the academic literature on a particular topic in International Development Studies not covered by existing course offering. Courses will normally only be available to students in their final year of study at UTSC. It is the student's responsibility to find a faculty member who is willing to supervise the course, and the students must obtain consent from the supervising instructor and from the Chair/Associate Chair of the Department of Global Development Studies before registering for this course.",,"12.0 credits, including IDSA01H3 and permission of the instructor",,Directed Reading,,,4th year +IDSD15H3,,University-Based Experience,"The goal of the course is for students to prepare and write a senior undergraduate research paper in International Development Studies. For upper-level students whose interests are not covered in one of the other courses normally offered. Courses will normally only be available to students in their final year of study at UTSC. It is the student's responsibility to find a faculty member who is willing to supervise the course, and the students must obtain consent from the supervising instructor and from the Chair/Associate Chair of the Department of Global Development Studies before registering for this course.",,12.0 credits including IDSA01H3 and permission of the instructor,,Directed Research,,,4th year +IDSD16H3,SOCIAL_SCI,University-Based Experience,"This course analyzes racial capitalism among persons of African descent in the Global South and Global North with a focus on diaspora communities. Students learn about models for self-determination, solidarity economies and cooperativism as well as Black political economy theory. Same as AFSD16H3",,[10.0 credits including [AFSA01H3 or IDSA01H3 or POLB90H3]] or permission of instructor,AFSD16H3,Africana Political Economy in Comparative Perspective,,,4th year +IDSD19H3,SOCIAL_SCI,University-Based Experience,"This course focuses on recent theories and approaches to researcher-practitioner engagement in development. Using case studies, interviews, and extensive literature review, students will explore whether such engagements offer opportunities for effective social change and improved theory.",IDSC04H3,"12.0 credits, including IDSA01H3",,The Role of Researcher- Practitioner Engagement in Development,,,4th year +IDSD20H3,SOCIAL_SCI,,"This course offers an advanced critical introduction to the security-development nexus and the political economy of conflict, security, and development. It explores the major issues in contemporary conflicts, the securitization of development, the transformation of the security and development landscapes, and the broader implications they have for peace and development in the Global South. Same as AFSD20H3.",,[12.0 including (IDSA01H3 or AFSA01H3 or POLC09H3)] or by instructor’s permission,AFSD20H3,"Thinking Conflict, Security, and Development",,,4th year +IDSD90H3,SOCIAL_SCI,,"While domestic and international political factors have discouraged pro human development public policies in much of the global south, there have been some important success stories. This course examines the economic and social policies most successful in contributing to human development and explores the reasons behind these rare cases of relatively successful human development. Same as POLD90H3",,"[1.0 credit from: IDSB01H3, IDSB04H3, IDSB06H3, POLB90H3 or POLB91H3] and [2.0 credits at the C-level in any courses]",POLD90H3,Public Policy and Human Development in the Global South,,,4th year +JOUA01H3,ART_LIT_LANG,,"An introduction to the social, historical, philosophical, and practical contexts of journalism. The course will examine the skills required to become news literate. The course will look at various types of media and the role of the journalist. Students will be introduced to specific techniques to distinguish reliable news from so-called fake news. Media coverage and analysis of current issues will be discussed.",,,(MDSA21H3),Introduction to Journalism and News Literacy I,,,1st year +JOUA02H3,ART_LIT_LANG,,,,(MDSA21H3) or JOUA01H3,(MDSA22H3),Introduction to Journalism II A continuation of JOUA01H3. Prerequisite: (MDSA21H3) or JOUA01H3,,,1st year +JOUA06H3,HIS_PHIL_CUL,,"An examination of the key legal and ethical issues facing Canadian journalists, with an emphasis on the practical: what a journalist needs to know to avoid legal problems and develop strategies for handling ethical challenges. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,10.0 credits including: JOUB01H3 and JOUB02H3 and ACMB02H3,(MDSB04H3),Contemporary Issues in Law and Ethics,JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3,,1st year +JOUB01H3,ART_LIT_LANG,,"An examination of Canadian coverage of immigration and transnational issues. With the shift in Canada's demographics, media outlets are struggling to adapt to new realities. We will explore how media frame the public policy debate on immigration, multiculturalism, diaspora communities, and transnational issues which link Canada to the developing world.",,JOUA01H3 and JOUA02H3,(MDSB26H3),Covering Immigration and Transnational Issues,,,2nd year +JOUB02H3,ART_LIT_LANG,,"The course examines the representation of race, gender, class and power in the media, traditional journalistic practices and newsroom culture. It will prepare students who wish to work in a media-related industry with a critical perspective towards understanding the marginalization of particular groups in the media.",,4.0 credits including JOUA01H3 and JOUA02H3,(MDSB27H3),Critical Journalism,,,2nd year +JOUB03H3,ART_LIT_LANG,,"Today’s ‘contract economy’ means full-time staff jobs are rare. Students will dissect models of distribution and engagement, discussing trends, predictions and future opportunities in media inside and outside the traditional newsroom. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"14.5 credits, including: [JOUB05H3 and JOUB19H3 and JOUC18H3 and JOUC19H3 and JOUC20H3] and [(JOUB09H3) or JOUB20H3]; students must have a minimum CGPA of 2.0",,Business of Journalism,JOUC13H3 and JOUC25H3,,2nd year +JOUB11H3,ART_LIT_LANG,,"Through research and practice, students gain an understanding of news judgment and value, finding and developing credible sources and developing interviewing, editing and curating skills. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,10.0 credits including: JOUB01H3 and JOUB02H3 and ACMB02H3,,News Reporting,JOUA06H3 and JOUB14H3 and JOUB18H3 and JOUB19H3,,2nd year +JOUB14H3,ART_LIT_LANG,,"Today, content creators and consumers both use mobile tools and technologies. Students will explore the principles of design, including responsive design, and how they apply to various platforms and devices. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,10.0 credits including: JOUB01H3 and JOUB02H3 and ACMB02H3; students must have a minimum CGPA of 2.0,,Mobile Journalism,JOUA06H3 and JOUB11H3 and JOUB18H3 and JOUB19H3,,2nd year +JOUB18H3,ART_LIT_LANG,,"Applying photo-journalism principles to the journalist's tool of choice, the smartphone. Students will take professional news and feature photos, video optimized for mobile use and will capture credible, shareable visual cross-platform stories. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"10.0 credits, including JOUB01H3 and JOUB02H3 and ACMB02H3",,Visual Storytelling: Photography and Videography,JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB19H3,,2nd year +JOUB19H3,ART_LIT_LANG,,"To develop stories from raw numbers, students will navigate spreadsheets and databases, and acquire raw data from web pages. Students will learn to use Freedom of Information requests to acquire data. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"[10.0 credits, including: JOUA01H3 and JOUA02H3 and JOUB01H3 and JOUB02H3 and ACMB02H3]andstudents must have a minimum CGPA of 2.0",,Data Management and Presentation,JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3,,2nd year +JOUB20H3,ART_LIT_LANG,,Building the blending of traditional skills in reporting and writing with interactive production protocols for digital news. The course provides an introduction to web development and coding concepts. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.,,"12.0 credits, including: JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3; students must have a minimum CGPA of 2.0",,Interactive: Data and Analytics,JOUB05H3 and JOUC18H3 and JOUC19H3 and JOUC20H3,,2nd year +JOUB21H3,SOCIAL_SCI,,"Journalists must observe and understand while responsibly contextualizing and communicating. This course critically examines the motivations and methods of how current events are witnessed but also how changing journalistic forms mediate the social function of bearing witness to communicate a diversity of experiences across matrices of time, space, power, and privilege.",,Enrollment in Major program in Media Studies and Journalism – Journalism Stream or Enrolment in the Specialist (Joint) Program in Journalism,(ACMB02H3),Witnessing and Bearing Witness,,,2nd year +JOUB24H3,ART_LIT_LANG,,"Journalism is undergoing a revolutionary change. Old trusted formats are falling away and young people are consuming, producing, exchanging, and absorbing news in a different way. The course will help students critically analyze new media models and give them the road map they will need to negotiate and work in New Media.",,,(MDSB24H3),Journalism in the Age of Digital Media,,,2nd year +JOUB39H3,ART_LIT_LANG,,"An overview of the standard rules and techniques of journalistic writing. The course examines the basics of good writing style including words and structures most likely to cause problems for writers. Students will develop their writing skills through assignments designed to help them conceive, develop, and produce works of journalism.",,[(MDSA21H3) or JOUA01H3] and [(MDSA22H3) or JOUA02H3] and (HUMA01H3).,(MDSB39H3),Fundamentals of Journalistic Writing,,,2nd year +JOUC13H3,ART_LIT_LANG,,"Working in groups under faculty supervision from the newsroom, students will create, present and share significant portfolio pieces of multiplatform content, demonstrating expertise in credible, verifiable storytelling for discerning audiences. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"14.5 credits, including: [JOUB05H3 and JOUC18H3 and JOUC19H3 and JOUC20H3] and [(JOUB09H3) or JOUB20H3]; students must have a minimum CGPA of 2.0",,Entrepreneurial Reporting,JOUB03H3 and JOUC25H3,,3rd year +JOUC18H3,ART_LIT_LANG,,"This experiential learning course provides practical experience in communication, media and design industries, supporting the student-to-professional transition in advance of work placements, and graduation towards becoming practitioners in the field. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"[12.0 credits, including: JOUA06H3, JOUB11H3, JOUB14H3, JOUB18H3 and JOUB19H3; students must have a minimum CGPA of 2.0",,Storyworks,JOUB05H3 and JOUB20H3 and JOUC19H3 and JOUC20H3,,3rd year +JOUC19H3,ART_LIT_LANG,,"Students will effectively use their mobile phones in the field to report, edit and share content, while testing emerging apps, storytelling tools and social platforms to connect with audiences. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"[12.0 credits, including: JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3; students must have a CGPA of 2.0",,Social Media and Mobile Storytelling,JOUB05H3 and JOUB20H3 and JOUC18H3 and JOUC20H3,,3rd year +JOUC21H3,ART_LIT_LANG,Partnership-Based Experience,"Students will learn the technical fundamentals and performance skills of audio storytelling and explore best practices before researching, interviewing, reporting, editing and producing original podcasts of professional journalistic quality.",,"12 credits, including: JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3",,Podcasting,"JOUB20H3, JOUC18H3, JOUC19H3, JOUC21H3, JOUC22H3",,3rd year +JOUC22H3,,University-Based Experience,Students will build on the skills in the Visual Storytelling course from the previous semester and focus on the creation and distribution of short- and long-form video for mobile devices and social platforms. Emphasis will be placed on refining interviewing skills and performance and producing documentary-style journalism.,,"12 credits, including: JOUA06H3 and JOUB11H3 and JOUB14H3 and JOUB18H3 and JOUB19H3",,Advanced Video and Documentary Storytelling,"JOUB20H3, JOUC18H3, JOUC19H3, JOUC21H3",,3rd year +JOUC25H3,ART_LIT_LANG,Partnership-Based Experience,"In Field Placement, students use theoretical knowledge and applied skills in professional journalistic environments. Through individual work and as team members, students create editorial content on various platforms and undertake academic research and writing assignments that require them to reflect upon issues arising from their work placement experience. This course is taught at Centennial College and is open only to students in the Specialist (Joint) program in Journalism.",,"Students must be in good standing and have successfully completed groups 1, 2, and be completing group 3 of the Centennial College phase of the Specialist (Joint) program in Journalism.",,Field Placement,,This course will be graded as a CR if a student successfully completes their internship; and as NCR is the internship was unsuccessful. The NCR will impact the CGPA and count as a 0.0 CGPA value on a transcript.,3rd year +JOUC30H3,ART_LIT_LANG,,"The forms of Journalism are being challenged as reporting styles diverge and change overtime, across genres and media. New forms of narrative experimentation are opened up by the Internet and multimedia platforms. How do participatory cultures challenge journalists to experiment with media and language to create new audience experiences?",,MDSB05H3 and JOUB39H3,,"Critical Approaches to Style, Form and Narrative",,Priority will be given to students in the Specialist (Joint) program in Journalism.,3rd year +JOUC31H3,ART_LIT_LANG,,"The nexus between journalism, civic engagement and changing technologies presents opportunities and challenges for the way information is produced, consumed and shared. Topics range from citizen and networked journalism, mobile online cultures of social movements and everyday life, to the complicated promises of the internet’s democratizing potential and data-based problem solving.",,JOUB24H3,,"Journalism, Information Sharing and Technological Change",,Priority will be given to students in the Specialist (Joint) program in Journalism.,3rd year +JOUC60H3,HIS_PHIL_CUL,,"New media technologies enable more production and distribution of culturally, ethnically and linguistically diverse voices than ever before. Who produces these diverse voices and how accessible are these media? This course explores various types of diasporic media from century-old newspapers to young and hip news and magazine blogs, produced by and for members of a multicultural society. Same as MDSC34H3",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"MDSC34H3, (MDSC60H3)",Diasporic Media,,,3rd year +JOUC62H3,ART_LIT_LANG,,"This course explores themes of labour in news media and new media. Topics include labour conditions for media workers across sectors; the labour impacts of media convergence; and the global distribution of media labour including content generation and management. The course is structured by intersectional analyses, studying how race and racism, class, gender, sex and sexism, sexuality, nationality, global location and citizenship status, Indigeneity and religion shape our experiences of media, journalism and labour. Same as MDSC37H3",,[MDSA01H3 and MDSB05H3] or [JOUA01H3 and JOUA02H3] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"MDSC37H3, (MDSC62H3)","Media, Journalism and Digital Labour",,,3rd year +JOUC80H3,HIS_PHIL_CUL,,"Understanding the interests and goals of audiences is a key part of media production. This course introduces communication research methods including ratings, metrics, in-depth interviews, and focus groups. The focus of class discussion and research project is to use these methods to be able to understand the nature of audiences’ media use in the digital age. Same as MDSC25H3",,[2.0 credits at the B level in MDS courses] or [2.0 credits at the B level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"MDSC25H3, (MDSC80H3)",Understanding Audiences in the Digital Age,,,3rd year +JOUD10H3,ART_LIT_LANG,University-Based Experience,A project-oriented capstone course requiring students to demonstrate the skills and knowledge necessary for contemporary journalism. Students will create a project that will serve as part of a portfolio or as a scholarly exploration of the state of the mass media. This course is open only to students in the Journalism Joint Program.,,JOUB03H3 and JOUC13H3 and JOUC25H3,,Senior Seminar in Journalism,,,4th year +JOUD11H3,ART_LIT_LANG,University-Based Experience,"Focusing on independent research, this course requires students to demonstrate the necessary analysis, research and writing skills required for advanced study. This seminar course provides the essential research skills for graduate work and other research-intensive contexts. Students will design and undertake unique and independent research about the state of journalism. Same as MDSD11H3",,"ACMB02H3 and [an additional 4.5 credits in MDS or JOU courses, 1.0 credit of which must be at the C- level]",MDSD11H3,Senior Research Seminar in Media and Journalism,,Priority will be given to students in the Specialist (Joint) program in Journalism.,4th year +JOUD12H3,ART_LIT_LANG,,"Journalism is a field that influences – and is influenced by – politics, finance, and civil society. This course raises contentious questions about power and responsibility at the core of journalism’s role in society. Challenges to the obligations of responsible journalism are examined through changing economic pressures and ties to political cultures.",,"[1.0 credit from the following: JOUC30H3, JOUC31H3, JOUC62H3, JOUC63H3]",,"Journalism at the Intersection of Politics, Economics and Ethics",,Priority will be given to students in the Specialist (Joint) program in Journalism.,4th year +JOUD13H3,ART_LIT_LANG,,"There is a technological and strategic arms race between governmental, military, and corporate entities on the one hand and citizens, human rights workers, and journalists on the other. Across diverse geopolitical contexts, journalistic work faces systematic surveillance alongside the censorship of free speech and a free internet. This course examines those threats to press freedom and how the same technologies support collaboration among citizens and journalists–across borders, languages, and legal regimes – to hold abuses of power to account.",,0.5 credits at JOU C-level,,"Surveillance, Censorship, and Press Freedom",,,4th year +LGGA10H3,ART_LIT_LANG,,"Beginner Korean I is an introductory course to the Korean language. Designed for students with no or minimal knowledge of the language, the course will first introduce the Hangeul alphabet (consonants and vowels) and how words are constructed (initial, medial, final sounds). Basic grammar patterns, frequently used vocabulary, and common everyday topics will be covered. Weekly cultural titbits will also be introduced to assist and enrichen the language learning experience. The overall aim of the course is to give students a strong grasp of the basics of the Korean language as well as elements of contemporary Korean culture.",,,"EAS110Y1 (UTSG) EAS211Y1 (UTSG) Not open to native speakers of Korean (more than minimal knowledge of Korean etc.); the instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, with support from program administration as needed.",Beginner Korean I,,,1st year +LGGA12H3,ART_LIT_LANG,,"Beginner Korean II is the continuation of Beginner Korean I. Designed for students who have completed Beginner Korean I, the course will build upon and help to solidify knowledge of the Korean language already learnt. Additional grammar patterns, as well as commonly used vocabulary and expressions will be covered. Further weekly cultural titbits will also be introduced to assist and enrichen the language learning experience. The overall aim of the course is to give students a stronger grasp of beginner level Korean, prepare them for higher levels of Korean language study, increase their knowledge of contemporary Korean culture and enable them to communicate with Korean native speakers about daily life.",,LGGA10H3: Beginner Korean I,"EAS110Y1 (UTSG) EAS211Y1 (UTSG) Not open to native speakers of Korean (more than minimal knowledge of Korean etc.); the instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, with support from program administration as needed.",Beginner Korean II,,,1st year +LGGA61H3,HIS_PHIL_CUL,,A continuation of LGGA60H3. This course will build on the skills learned in LGGA60H3.,,LGGA60H3 or (LGGA01H3),"All EAS, CHI and LGG Chinese courses except LGGA60H3 or (LGGA01H3). The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Introductory Standard Chinese II,,,1st year +LGGA64H3,ART_LIT_LANG,,"An introduction to Modern Standard Chinese for students who speak some Chinese (any dialect) because of their family backgrounds but have minimal or no literacy skills in the language. Emphasis is placed on Mandarin phonetics and written Chinese through reading, writing and translation.",,,"(LGGA62H3), (LGGB64H3). All EAS, CHI and LGG Chinese language courses. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Chinese I for Students with Prior Backgrounds,,,1st year +LGGA65H3,HIS_PHIL_CUL,,,,LGGA64H3 or (LGGA62H3),"(LGGA63H3), (LGGB65H3). All EAS, CHI and LGG Chinese language courses except LGGA64H3 or (LGGB64H3) or (LGGA62H3). The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Chinese II for Students with Prior Backgrounds A continuation of LGGA64H3.,,,1st year +LGGA70H3,ART_LIT_LANG,,An elementary course for students with no knowledge of Hindi. Students learn the Devanagari script and the Hindi sound system in order to start reading and writing in Hindi. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer-based activities.,,,"HIN212Y, NEW212Y, LGGA72Y3, or any knowledge of Hindi. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Introductory Hindi I,,Students who speak Hindi or Urdu as a home language should enrol in LGGB70H3 or LGGB71H3.,1st year +LGGA71H3,HIS_PHIL_CUL,,,,LGGA70H3,"HIN212Y, NEW212Y, LGGA72Y3, or knowledge of Hindi beyond materials covered in LGGA70H3. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Introductory Hindi II A continuation of LGGA70H3. Prerequisite: LGGA70H3,,,1st year +LGGA72Y3,ART_LIT_LANG,,This is an intensive elementary course for students with no knowledge of Hindi. It combines the materials taught in both LGGA70H3 and LGGA71H3. Students will learn the Devanagari script and the Hindi sound system in order to start reading and writing in Hindi. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer-based activities.,,,"LGGA70H, LGGA71H, HIN212Y, NEW212Y, any prior knowledge of Hindi. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Hindi,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute.,1st year +LGGA74H3,ART_LIT_LANG,,An elementary course for students with minimal or no knowledge of Tamil. Students learn the Tamil script and sound system. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer-based activities.,,,"NEW213Y, LGGA76Y3, or high school Tamil, more than minimal knowledge of Tamil. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Introductory Tamil I,,,1st year +LGGA75H3,HIS_PHIL_CUL,,,,LGGA74H3,"NEW213Y, LGGA76Y3, or knowledge of Tamil beyond materials covered in LGGA74H3. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Introductory Tamil II A continuation of LGGA74H3. Prerequisite: LGGA74H3,,,1st year +LGGA76Y3,ART_LIT_LANG,,An intensive elementary course for students with minimal or no knowledge of Tamil. Students learn the Tamil script and sound system. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer based activities.,,,"LGGA74H3, LGGA75H3, NEW213Y, high school Tamil, more than minimal knowledge of Tamil. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Tamil,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute.,1st year +LGGA78Y3,ART_LIT_LANG,,This is an elementary course for students with no knowledge of Bengali. Students will learn the Bengali script and sound system in order to start reading and writing in Bengali. The course also develops listening and speaking skills through culturally-based materials. Course materials are enhanced by audio-visual and computer based activities.,,,Any knowledge of Bengali. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Intensive Introductory Bengali,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute.,1st year +LGGA80H3,ART_LIT_LANG,,A beginning course for those with minimal or no knowledge of Japanese. The course builds proficiency in both language and culture. Language practice includes oral skills for simple daily conversation; students will be introduced to the Japanese writing systems and learn to read and write simple passages.,,,EAS120Y or LGGA82Y3. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Introductory Japanese I,,,1st year +LGGA81H3,HIS_PHIL_CUL,,,,LGGA80H3,"EAS120Y or LGGA82Y3. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Introductory Japanese II Continuation of Introductory Japanese I. Prerequisite: LGGA80H3,,,1st year +LGGA82Y3,ART_LIT_LANG,,"This course is an intensive elementary course for those with minimal or no knowledge of Japanese. It combines the materials taught in both LGGA80H3 and LGGA81H3, and builds on proficiency in both language and culture. Language practice includes oral skills for simple daily conversation. Students will also be introduced to the Japanese writing systems and learn to read and write simple passages.",,,"LGGA80H, LGGA81H, EAS120Y. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Japanese,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute.,1st year +LGGA90Y3,ART_LIT_LANG,,"This course is an intensive elementary course in written and spoken Spanish, including comprehension, speaking, reading, and writing. It is designed for students who have no previous knowledge of Spanish. The course will develop listening and speaking skills through culturally-based materials, which will be enhanced by audio-visual and computer-based activities.",,,"Grade 12 Spanish, LGGA30H, LGGA31H, SPA100Y, native or near-native proficiency in Spanish. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Spanish,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute at UTSC.,1st year +LGGA91Y3,ART_LIT_LANG,,"An introduction to the basic grammar and vocabulary of standard Arabic - the language common to the Arab world. Classroom activities will promote speaking, listening, reading, and writing. Special attention will be paid to reading and writing in the Arabic script.",,,"LGGA40H, LGGA41H, ARA212Y, (NMC210Y), NML210Y, Arabic instruction in high school, prior knowledge of spoken Arabic. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.",Intensive Introductory Modern Standard Arabic,,This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute.,1st year +LGGA95Y3,ART_LIT_LANG,,"This is an intensive elementary course for students with minimal to no knowledge of the featured language. Students will learn the script and sound system so they may begin to read and write in this language. The course will develop listening and speaking skills through culturally-based materials, which will be enhanced by audio-visual and computer-based activities. Students may not repeat this course for credit, including when the current featured language is different from previous featured languages.",,,"Exclusions will vary, dependent on the language offered; students are cautioned that duplicating their studies, whether inadvertently or otherwise, contravenes UTSC academic regulations.",Intensive Introduction to a Featured Language,,"This is a 1.0 credit course that will be offered only in the Summer semesters as part of the Summer Language Institute; it may not be offered every summer. When the course is offered, the featured language and exclusions will be indicated on the Course Timetable.",1st year +LGGB60H3,ART_LIT_LANG,,"This course will develop listening, speaking, reading, and writing skills in Standard Chinese. Writing tasks will help students to progress from characters to compositions and will include translation from Chinese to English and vice versa. The course is not open to students who have more than the rudiments of Chinese.",,LGGA61H3 or (LGGA02H3),"All EAS and CHI 200- and higher level Chinese language courses; all B- and higher level LGG Chinese language courses; native speakers of any variety of Chinese. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Intermediate Chinese I,,,2nd year +LGGB61H3,ART_LIT_LANG,,,,LGGB60H3,"All EAS and CHI 200- and higher level language Chinese courses; all B- and higher level LGG Chinese language courses except LGGB60H3, LGGA64H3, and (LGGB64H3). All native speakers of any variety of Chinese. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Intermediate Chinese II A continuation of LGGB60H3. Prerequisite: LGGB60H3,,,2nd year +LGGB62H3,ART_LIT_LANG,,"This course will further improve the literacy skills of heritage students by studying more linguistically sophisticated and topically extensive texts. Those who have not studied pinyin, the Mandarin pronunciation tool, but know about 600-800 complex or simplified Chinese characters should take this course instead of courses LGGA64H3 and LGGA65H3.",,LGGA65H3 or (LGGA63H3) or equivalent,"All EAS and CHI 200- and higher level language Chinese courses; all B- and higher level LGG language Chinese courses. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisite.",Intermediate Chinese for Heritage Students I,,,2nd year +LGGB63H3,HIS_PHIL_CUL,,,,LGGB62H3,All EAS and CHI 200- and higher level language Chinese courses; all B- and higher level LGG Chinese language courses except LGGB62H3.,Intermediate Chinese for Heritage Students II A continuation of LGGB62H3.,,,2nd year +LGGB70H3,ART_LIT_LANG,,"Develops language and literacy through the study of Hindi cinema, music and dance along with an introduction to theatrical and storytelling traditions. The course enhances acquisition of cultural competence in Hindi with composition and conversation, complemented by culture-based material, film and other media.",,,Not for students educated in India. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Hindi I for Students with Prior Background,,,2nd year +LGGB71H3,HIS_PHIL_CUL,,,,LGGB70H3,Not for students educated in India. The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course including those students who meet the prerequisite.,Hindi II for Students with Prior Background Continuation of LGGB70H3.,,,2nd year +LGGB74H3,ART_LIT_LANG,,"Tamil language taught through culture for students with heritage language skills or prior formal study. The cultures of South India, Sri Lanka and diaspora populations will be studied to build literacy skills in the Tamil script as well as further development of speaking and listening skills.",,LGGA75H3,Not for students educated in Tamil Naadu or Sri Lanka.,Intermediate Tamil,,,2nd year +LGGC60H3,ART_LIT_LANG,,"This course develops all language skills in speaking, listening, reading, writing, and translation, with special attention to idiomatic expressions. Through a variety of texts and interactive materials, students will be introduced to aspects of Chinese life and culture.",,LGGB61H3 or (LGGB04H3) or equivalent,"LGGC61H3 or higher at UTSC, and all third and fourth year Chinese language courses at FAS/UTSG and UTM",Advanced Chinese I,,,3rd year +LGGC61H3,HIS_PHIL_CUL,,,,LGGC60H3 or equivalent,LGGC62H3 or higher at UTSC and all third and fourth year Chinese language courses at FAS/UTSG and UTM.,Advanced Chinese II A continuation of LGGC60H3. Prerequisite: LGGC60H3 or equivalent,,,3rd year +LGGC62H3,ART_LIT_LANG,,"This course focuses on similarities and differences between Chinese and Western cultures through a variety of cultural and literary materials. Students will further develop their language skills and cultural awareness through reading, writing, and translation.",,,"(LGGB66H3), (LGGB67H3), LGGC64H3, LGGC65H3, LGGD66H3/(LGGC67H3), LGGD67H3/(LGGC66H3)",Cultures in the East and West,,1. This course is not required for the Minor program in English and Chinese Translation. 2. Students may take this course before or after LGGC63H3.,3rd year +LGGC63H3,HIS_PHIL_CUL,,"This course focuses on aspects of Canadian and Chinese societies, and related regions overseas. Through a variety of text and non-text materials, in Chinese with English translation and in English with Chinese translation, students will further improve their language skills and have a better understanding of Canada, China, and beyond.",,,"(LGGB66H3), (LGGB67H3), LGGC64H3, LGGC65H3, LGGD66H3/(LGGC67H3), and LGGD67H3/(LGGC66H3)","Canada, China, and Beyond",,1. This course is not required for the Minor program in English and Chinese Translation. 2. Students may take LGGC63H3 before or after LGGC62H3.,3rd year +LGGC64H3,ART_LIT_LANG,,"Intended for students who read Chinese and English well. Complex-simplified character conversion and vice versa, as well as English-Chinese and Chinese-English bilingual texts, are emphasized through reading, discussion, and translation in a variety of topics from, and outside of, Greater China, presentations, translation comparison, translation, and translation criticism.",,,(LGGB66H3). The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Reading Chinese and English: China Inside Out,,"1. This course is bilingual, and priority will be given to students enrolled in the Minor in English and Chinese Translation. 2. This course may be taken before or after LGGC65H3, LGGD66H3, and/or LGGD67H3. 3. Students who have taken this course should not subsequently take LGGC60H3, LGGC61H3, LGGC62H3, LGGC63H3, or any lower level LGG Chinese courses for credit.",3rd year +LGGC65H3,HIS_PHIL_CUL,,"Designed for students who read Chinese and English well. Complex-simplified Chinese character conversion and vice versa, as well as English-Chinese and Chinese-English bilingual texts are emphasized through reading, discussion, and translation in a variety of topics from global perspectives, presentations, translation and translation comparison, and translation criticism.",,,(LGGB67H3). The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course.,Reading Chinese and English: Global Perspectives,,"1. This course is bilingual and priority will be given to students enrolled in the Minor in English and Chinese Translation. 2. This course may be taken before or after LGGC64H3, LGGD66H3, and/or LGGD67H3. 3. Students who have taken this course may not subsequently take LGGC60H3, LGGC61H3, LGGC62H3, LGGC63H3, or any lower level LGG Chinese courses for credit.",3rd year +LGGC70H3,ART_LIT_LANG,,"Advanced language learning through an introduction to the historical development of the Hindi language. Students develop language skills through the study of educational structure, and literary and cultural institutions in colonial and postcolonial India. The course studies a variety of texts and media and integrates composition and conversation.",,LGGB70H3 and LGGB71H3,Not for students educated in India.,Advanced Hindi: From Hindustan to Modern India,,,3rd year +LGGD66H3,HIS_PHIL_CUL,,This course examines Chinese literary masterpieces of the pre-modern era and their English translations. They include the prose and poetry of many dynasties as well as examples in Literary Chinese of other genres that are still very much alive in Chinese language and society today. An in-depth review of the English translations will be strongly emphasized.,,A working knowledge of Modern Chinese and English,"(LGGC67H3), (EAS306Y), EAS358Y1, EAS455H1, EAS458H1, CHI311H5, CHI408H5, CHI409H5",Literary Chinese and English Translations,,"1. Priority will be given to students enrolled in the Minor in English and Chinese Translation. 2. Students who have taken this course should not subsequently take lower-level Chinese or Chinese/English bilingual courses for credit except LGGC64H3 and LGGC65H3. 3. This course may be taken before or after LGGC64H3, LGGC65H3, and/or LGGD67H3.",4th year +LGGD67H3,ART_LIT_LANG,,"This course examines Chinese classics and their English translations, such as The Book of Documents, The Analects of Confucius, The Mencius, The Dao De Jing, and other philosophical maxims, proverbial sayings, rhyming couplets, idioms and poems that still have an impact on Chinese language and culture today.",,A working knowledge of Modern Chinese and English,"(LGGC66H3), (EAS206Y), EAS218H1, (EAS306Y), EAS358Y1, EAS455H1, EAS458H1, CHI311H5, CHI408H5, CHI409H5",Classical Chinese and English Translations,,"1. Priority will be given to students enrolled in the Minor in English and Chinese Translation. 2. This course may be taken before or after LGGC64H3, LGGC65H3, and/or LGGD66H3 3. Students who have taken this course should not subsequently take lower-level Chinese or Chinese/English bilingual courses for credit except LGGC64H3 and/or LGGC65H3.",4th year +LINA01H3,ART_LIT_LANG,,"An introduction to the various methods and theories of analyzing speech sounds, words, sentences and meanings, both in particular languages and language in general.",,,"(LIN100Y), LIN101H, LIN102H",Introduction to Linguistics,,,1st year +LINA02H3,ART_LIT_LANG,,"Application of the concepts and methods acquired in LINA01H3 to the study of, and research into, language history and language change; the acquisition of languages; language disorders; the psychology of language; language and in the brain; and the sociology of language.",,LINA01H3,"(LIN100Y), LIN101H, LIN102H",Applications of Linguistics,,,1st year +LINB04H3,SOCIAL_SCI,,Practice in analysis of sound patterns in a broad variety of languages.,,LINB09H3,LIN229H,Phonology I,,,2nd year +LINB06H3,HIS_PHIL_CUL,,Practice in analysis of sentence structure in a broad variety of languages.,,LINA01H3,LIN232H,Syntax I,,,2nd year +LINB09H3,NAT_SCI,,An examination of physiological and acoustic bases of speech.,,LINA01H3,LIN228H,Phonetics: The Study of Speech Sounds,,,2nd year +LINB10H3,SOCIAL_SCI,,"Core issues in morphological theory, including properties of the lexicon and combinatorial principles, governing word formation as they apply to French and English words.",,LINA01H3,"LIN231H, LIN333H, (LINB05H3), (LINC05H3) FRE387H, (FREC45H3)",Morphology,LINB04H3 and LINB06H3,,2nd year +LINB18H3,ART_LIT_LANG,,"Description and analysis of the structure of English, including the sentence and word structure systems, with emphasis on those distinctive and characteristic features most of interest to teachers and students of the language.",,,LIN204H,English Grammar,,,2nd year +LINB19H3,QUANT,,"The course will provide an introduction to the use of computer theory and methods to advance the understanding of computational aspects of linguistics. It will provide basic training in computer programming techniques employed in linguistics such as corpus mining, modifying speech stimuli, experimental testing, and data analysis.",,LINA02H3,"Any computer science course except [CSCA20H3, PSYC03H3]",Computers in Linguistics,,"Priority will be given to students in Specialist/Specialist Co-op programs in Linguistics or Psycholinguistics, or Major/Major Co-op programs in Linguistics. Students in the Minor program in Linguistics, followed by students in other programs, will be admitted as space permits.",2nd year +LINB20H3,SOCIAL_SCI,,"The study of the relationship between language and society. Topics include: how language reflects and constructs aspects of social identity such as age, gender, socioeconomic class and ethnicity; ways in which social context affects speakers' use of language; and social factors which cause the spread or death of languages.",,LINA02H3,"(LINB21H3), (LINB22H3), LIN251H, LIN256H, FREC48H3",Sociolinguistics,,,2nd year +LINB29H3,QUANT,,"An introduction to experimental design and statistical analysis for linguists. Topics include both univariate and multivariate approaches to data analysis for acoustic phonetics, speech perception, psycholinguistics, language acquisition, language disorders, and sociolinguistics.",LINB19H3,LINA02H3,"LIN305H, (PLIC65H3), PSYB07H3, STAB23H3",Quantitative Methods in Linguistics,,,2nd year +LINB30H3,QUANT,,"This course provides students a practical, hands-on introduction to programming, with a focus on analyzing natural language text as quantitative data. This course will be taught in Python and is meant for students with no prior programming background. We will cover the basics of Python, and students will gain familiarity with existing tools and packages, along with algorithmic thinking skills such as abstraction and decomposition.",,LINA01H3,LINB19H3,Programming for Linguists,,,2nd year +LINB60H3,ART_LIT_LANG,,"This course is an investigation into the lexicon, morphology, syntax, semantics, discourse and writing styles in Chinese and English. Students will use the tools of linguistic analysis to examine the structural and related key properties of the two languages. Emphasis is on the comparison of English and Chinese sentences encountered during translation practice.",,LINB06H3 or LINB18H3,"LGGA60H3, LGGA61H3, (LINC60H3)",Comparative Study of English and Chinese,,Students are expected to be proficient in Chinese and English.,2nd year +LINB62H3,SOCIAL_SCI,,"An introduction to the structure of American Sign Language (ASL): Comparison to spoken languages and other signed languages, together with practice in using ASL for basic communication.",,LINA01H3 and LINA02H3,(LINA10H3),Structure of American Sign Language,,,2nd year +LINB98H3,SOCIAL_SCI,University-Based Experience,"This course provides an introduction to, and experience in, ongoing theoretical and empirical research in any field of linguistics. Supervision of the work is arranged by mutual agreement between student and instructor.",0.5 credit at the B-level in LIN or PLI courses,[4.0 credits including [LINA01H3 or LINA02H3]] and a CGPA of 3.3,PSYB90H3 and ROP299Y,Supervised Introductory Research in Linguistics,,"Enrolment is limited based on the research opportunities available with each faculty member and the interests of the students. Students must complete and submit a permission form available from the Registrar's Office, along with an outline of work to be performed, signed by the intended supervisor. Priority will be given to students enrolled in the Specialist/Specialist Co-op programs in Linguistics or Psycholinguistics, and the Major/Major Co-op programs in Linguistics.",2nd year +LINC02H3,SOCIAL_SCI,,"Basic issues in phonological theory. This course assumes familiarity with phonetic principles, as discussed in LINB09H3, and with phonological problem-solving methods, as discussed in LINB04H3.",,LINB04H3 and LINB09H3,LIN322H,Phonology II,,,3rd year +LINC10H3,ART_LIT_LANG,,"In this course, students will develop skills that are needed in academic writing by reading and analyzing articles regarding classic and current issues in Linguistics. They will also learn skills including summarizing, paraphrasing, making logical arguments, and critically evaluating linguistic texts. They will also learn how to make references in their wiring using the APA style.",,LINA02H3 and LINB04H3 and LINB06H3 and LINB10H3,"LIN410H5, LIN481H1",Linguistic Analysis and Argumentation,,Priority will be given to students enrolled in any Linguistics programs.,3rd year +LINC11H3,HIS_PHIL_CUL,,"Core issues in syntactic theory, with emphasis on universal principles and syntactic variation.",,LINB06H3,"FREC46H3, LIN232H, LIN331H, FRE378H",Syntax II,,,3rd year +LINC12H3,HIS_PHIL_CUL,,"An introduction to the role of meaning in the structure, function, and use of language. Approaches to the notion of meaning as applied to English data will be examined.",,LINA01H3 or [FREB44H3 and FREB45H3],"FREC12H3, FREC44H3, FRE386H, LIN241H, LIN247H, LIN341H",Semantics: The Study of Meaning,,,3rd year +LINC13H3,ART_LIT_LANG,,"An introduction to linguistic typology with special emphasis on cross-linguistic variation and uniformity in phonology, morphology, and syntax.",,LINB04H3 and LINB06H3 and LINB10H3,"LIN306H, (LINB13H3)",Language Diversity and Universals,,,3rd year +LINC28H3,SOCIAL_SCI,,"An introduction to the research on differences between women and men in how they use language and how they behave in conversational interaction, together with an examination of the role of language in reflecting and perpetuating cultural attitudes towards gender. Same as WSTC28H3",,"LINA01H3 and one full credit at the B-level in ANT, LIN, SOC or WST","JAL355H, WSTC28H3",Language and Gender,,,3rd year +LINC29H3,QUANT,Partnership-Based Experience,"This course provides students with advanced statistical methods in linguistics and psycholinguistics. Specifically, an introduction to multiple linear regression (MLR) and its applications in linguistic and psycholinguistic research are presented. The course covers the data analysis process from data collection, to visualization, to interpretation. The goal is to provide students with the theoretical and practical skills needed to reason about and conduct MLR analyses.",Any prior math or statistics course,[LINB29H3 or STAB22H3 or STAB23H3 or PSYB07H3] and an additional 1.0 FCE at the B-level or above in Linguistics or Psycholinguistics,"PSYC09H3, MGEC11H3",Advanced Quantitative Methods in Linguistics,,"Priority will be given to students enrolled in a Linguistics or Psycholinguistics Specialist or Major degree. If additional space remains, the course will be open to all students who meet the prerequisites. This course will be run in an experiential learning format with students alternating between learning advanced statistical methods and applying that theory using a computer to inspect and analyze data in a hands-on manner. If the possibility exists, students will also engage in a consultancy project with a partner or organization in Toronto or a surrounding community that will provide students with data that require analysis to meet certain goals/objectives or to guide future work. Care will be taken to ensure that the project is of linguistic/psycholinguistic relevance. If no such opportunity exists, students will conduct advanced exploration, visualization, and analysis of data collected in our laboratories. Together, managing the various aspects of the course and sufficient interactions with students leads to this course size restriction.",3rd year +LINC35H3,QUANT,,This course focuses on computational methods in linguistics. It is geared toward students with a background in linguistics but minimal background in computer science. This course offers students a foundational understanding of two domains of computational linguistics: cognitive modeling and natural language processing. Students will be introduced to the tools used by computational linguists in both these domains and to the fundamentals of computer programming in a way that highlights what is important for working with linguistic data.,,LINB30H3 or with permission of instructor,"(LINB35H3), LIN340H5(UTM), LIN341H5(UTM)",Introduction to Computational Linguistics,LINB29H3,,3rd year +LINC47H3,ART_LIT_LANG,,"A study of pidgin and Creole languages worldwide. The course will introduce students to the often complex grammars of these languages and examine French, English, Spanish, and Dutch-based Creoles, as well as regional varieties. It will include some socio-historical discussion. Same as FREC47H3.",,[LINA01H3 and LINA02H3] or [FREB44H3 and FREB45H3],"FREC47H3, LIN366H",Pidgin and Creole Languages,,,3rd year +LINC61H3,ART_LIT_LANG,,"An introduction to the phonetics, phonology, word-formation rules, syntax, and script of a featured language other than English or French. Students will use the tools of linguistic analysis learned in prior courses to examine the structural properties of this language. No prior knowledge of the language is necessary.",,LINB04H3 and LINB06H3,LIN409H,Structure of a Language,,,3rd year +LINC98H3,SOCIAL_SCI,,"This course provides an opportunity to build proficiency and experience in ongoing theoretical and empirical research in any field of linguistics. Supervision of the work is arranged by mutual agreement between student and instructor. For any additional requirements, please speak with your intended faculty supervisor. Students must download the Supervised Study Form, that is to be completed with the intended faculty supervisor, along with an agreed-upon outline of work to be performed., The form must then be signed by the student and the intended supervisor and submitted to the Program Coordinator by email or in person.",,5.0 credits including: [LINA01H3 or LINA02H3] and [1.0 credits at the B-level or higher in Linguistics or Psycholinguistics]; and a minimum cGPA of 3.3,,Supervised Research in Linguistics,,1. Priority will be given to students enrolled in a Specialist or Major program in Linguistics or Psycholinguistics. 2. Students who have taken the proposed course cannot enroll in LINB98H3. 3. Enrollment will depend each year on the research opportunities available with each individual faculty member and the interests of the students who apply for enrollment.,3rd year +LIND01H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Linguistics for further information.,,At least 1.0 credit at the C-level in LIN courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Linguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar.,4th year +LIND02H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Linguistics for further information.,,At least 1.0 credit at the C-level in LIN courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Linguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar.,4th year +LIND03H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Program Supervisor for Linguistics.,,At least 1.0 credit at the C-level in LIN courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Linguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar.,4th year +LIND07Y3,,University-Based Experience,A reading and research independent study course on a topic of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Linguistics for further information.,,At least 1.0 credit at the C-level in LIN courses; and a CGPA of 3.3; and permission of the supervising instructor.,LIN495Y,Independent Study in Linguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar.,4th year +LIND09H3,NAT_SCI,,Practical application of phonetic theory with special emphasis on instrumental and experimental techniques.,,LINB09H3 and LINB29H3,"LIN423H, (LINC09H3)",Phonetic Analysis,,,4th year +LIND11H3,SOCIAL_SCI,,"This course is concerned with modern sociolinguistic theory as well as methods of conducting sociolinguistic research including data collection and the analysis of sociolinguistic data. The theoretical approaches learned include discourse analysis, language variation, conversation analysis, and variationist sociolinguistics.",,LINB20H3,"LIN456H1, LIN351H1, LIN458H",Advanced Sociolinguistic Theory and Method,,Priority will be given to students in the Linguistics program.,4th year +LIND29H3,ART_LIT_LANG,,"This course focuses on research methodologies (interviews, corpus collection, surveys, ethnography, etc.). Students conduct individual research studies in real-life contexts.",,LINB04H3 and LINB06H3 and LINB10H3,,Linguistic Research Methodologies,,Topics will vary each time the course is offered. Please check with the department's Undergraduate Assistant or on the Web Timetable on the Office of the Registrar website for details regarding the proposed subject matter.,4th year +LIND46H3,ART_LIT_LANG,,"Practice in language analysis based on elicited data from second language learners and foreign speakers. Emphasis is put on procedures and techniques of data collection, as well as theoretical implications arising from data analysis.",LINC02H3 and LINC11H3,[FREB44H3 and FREC46H3] or LINB10H3,"(FRED46H3), JAL401H",Field Methods in Linguistics,,,4th year +MATA02H3,QUANT,,"A selection from the following topics: the number sense (neuroscience of numbers); numerical notation in different cultures; what is a number; Zeno’s paradox; divisibility, the fascination of prime numbers; prime numbers and encryption; perspective in art and geometry; Kepler and platonic solids; golden mean, Fibonacci sequence; elementary probability.",,,"MATA29H3, MATA30H3, MATA31H3, (MATA32H3), MATA34H3 (or equivalent). These courses cannot be taken previously or concurrently with MATA02H3.",The Magic of Numbers,,MATA02H3 is primarily intended as a breadth requirement course for students in the Humanities and Social Sciences.,1st year +MATA22H3,QUANT,,"A conceptual and rigorous approach to introductory linear algebra that focuses on mathematical proofs, the logical development of fundamental structures, and essential computational techniques. This course covers complex numbers, vectors in Euclidean n-space, systems of linear equations, matrices and matrix algebra, Gaussian reduction, structure theorems for solutions of linear systems, dependence and independence, rank equation, linear transformations of Euclidean n-space, determinants, Cramer's rule, eigenvalues and eigenvectors, characteristic polynomial, and diagonalization.",,Grade 12 Calculus and Vectors or [Grade 12 Advanced Functions and Introductory Calculus and Geometry and Discrete Mathematics],"MATA23H3, MAT223H, MAT240H",Linear Algebra I for Mathematical Sciences,,Students are cautioned that MAT223H cannot be used as a substitute for MATA22H3 in any courses for which MATA22H3 appears as a prerequisite.,1st year +MATA23H3,QUANT,,"Systems of linear equations, matrices, Gaussian elimination; basis, dimension; dot products; geometry to Rn; linear transformations; determinants, Cramer's rule; eigenvalues and eigenvectors, diagonalization.",,Grade 12 Calculus and Vectors or [Grade 12 Advanced Functions and Introductory Calculus and Geometry and Discrete Mathematics],"MATA22H3, MAT223H",Linear Algebra I,,,1st year +MATA29H3,QUANT,,"A course in differential calculus for the life sciences. Algebraic and transcendental functions; semi-log and log-log plots; limits of sequences and functions, continuity; extreme value and intermediate value theorems; approximation of discontinuous functions by continuous ones; derivatives; differentials; approximation and local linearity; applications of derivatives; antiderivatives and indefinite integrals.",,Grade 12 Calculus and Vectors,"(MATA20H3), (MATA27H3), MATA30H3, MATA31H3, (MATA32H3), MATA34H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus I for the Life Sciences,,,1st year +MATA30H3,QUANT,,"An introduction to the basic techniques of Calculus. Elementary functions: rational, trigonometric, root, exponential and logarithmic functions and their graphs. Basic calculus: limits, continuity, derivatives, derivatives of higher order, analysis of graphs, use of derivatives; integrals and their applications.",,Grade 12 Calculus and Vectors,"(MATA20H3), (MATA27H3), MATA29H3, MATA31H3, (MATA32H3), MATA34H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus I for Physical Sciences,,,1st year +MATA31H3,QUANT,,"A conceptual introduction to Differential Calculus of algebraic and transcendental functions of one variable; focus on logical reasoning and fundamental notions; first introduction into a rigorous mathematical theory with applications. Course covers: real numbers, set operations, supremum, infimum, limits, continuity, Intermediate Value Theorem, derivative, differentiability, related rates, Fermat's, Extreme Value, Rolle's and Mean Value Theorems, curve sketching, optimization, and antiderivatives.",,Grade 12 Calculus and Vectors,"(MATA20H3), (MATA27H3), MATA29H3, MATA30H3, (MATA32H3), MATA34H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus I for Mathematical Sciences,,,1st year +MATA34H3,QUANT,,This is a calculus course designed primarily for students in management. The main concepts of calculus of one and several variables are studied with interpretations and applications to business and economics. Systems of linear equations and matrices are covered with applications in business.,,Ontario Grade 12 Calculus and Vectors or approved equivalent.,"MATA30H3, MATA31H3, MATA33H3, MAT133Y",Calculus for Management,,"Students who are pursuing a BBA degree or who are interested in applying to the BBA programs or the Major Program in Economics must take MATA34H3 for credit (i.e., they should not take the course as CR/NCR).",1st year +MATA35H3,QUANT,,"A calculus course emphasizing examples and applications in the biological and environmental sciences. Discrete probability; basic statistics: hypothesis testing, distribution analysis. Basic calculus: extrema, growth rates, diffusion rates; techniques of integration; differential equations; population dynamics; vectors and matrices in 2 and 3 dimensions; genetics applications.",,MATA29H3,"(MATA21H3), (MATA33H3), MATA34H3, MATA36H3, MATA37H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y,(MATA27H3)",Calculus II for Biological Sciences,,"This course will not satisfy the Mathematics requirements for any Program in Computer and Mathematical Sciences, nor will it normally serve as a prerequisite for further courses in Mathematics. Students who are not sure which Calculus II course they should choose are encouraged to consult with the supervisor(s) of Programs in their area(s) of interest.",1st year +MATA36H3,QUANT,,"This course is intended to prepare students for the physical sciences. Topics to be covered include: techniques of integration, Newton's method, approximation of functions by Taylor polynomials, numerical methods of integration, complex numbers, sequences, series, Taylor series, differential equations.",,MATA30H3,"(MATA21H3), MATA35H3, MATA37H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus II for Physical Sciences,,Students who have completed MATA34H3 must still take MATA30H3,1st year +MATA37H3,QUANT,,"A rigorous introduction to Integral Calculus of one variable and infinite series; strong emphasis on combining theory and applications; further developing of tools for mathematical analysis. Riemann Sum, definite integral, Fundamental Theorem of Calculus, techniques of integration, improper integrals, numerical integration, sequences and series, absolute and conditional convergence of series, convergence tests for series, Taylor polynomials and series, power series and applications.",,MATA31H3 and [MATA67H3 or CSCA67H3],"(MATA21H3), (MATA33H3), MATA34H3, MATA35H3, MATA36H3, MAT123H, MAT124H, MAT125H, MAT126H, MAT133Y, MAT137H5 and MAT139H5, MAT157H5 and MAT159H5, JMB170Y",Calculus II for Mathematical Sciences,,,1st year +MATA67H3,QUANT,,"Introduction to discrete mathematics: Elementary combinatorics; discrete probability including conditional probability and independence; graph theory including trees, planar graphs, searches and traversals, colouring. The course emphasizes topics of relevance to computer science, and exercises problem-solving skills and proof techniques such as well ordering, induction, contradiction, and counterexample. Same as CSCA67H3",CSCA08H3 or CSCA20H3,Grade 12 Calculus and Vectors and one other Grade 12 mathematics course,"CSCA67H3, (CSCA65H3), CSC165H, CSC240H, MAT102H",Discrete Mathematics,,,1st year +MATB24H3,QUANT,,"Fields, vector spaces over a field, linear transformations; inner product spaces, coordinatization and change of basis; diagonalizability, orthogonal transformations, invariant subspaces, Cayley-Hamilton theorem; hermitian inner product, normal, self-adjoint and unitary operations. Some applications such as the method of least squares and introduction to coding theory.",,MATA22H3 or MAT240H,MAT224H,Linear Algebra II,,Students are cautioned that MAT224H cannot be used as a substitute for MATB24H3 in any courses for which MATB24H3 appears as a prerequisite.,2nd year +MATB41H3,QUANT,,"Partial derivatives, gradient, tangent plane, Jacobian matrix and chain rule, Taylor series; extremal problems, extremal problems with constraints and Lagrange multipliers, multiple integrals, spherical and cylindrical coordinates, law of transformation of variables.",,[MATA22H3 or MATA23H3 or MAT223H] and [[MATA36H3 or MATA37H3] or [MAT137H5 and MAT139H5] or [MAT157H5 and MAT159H5]],"MAT232H, MAT235Y, MAT237Y, MAT257Y",Techniques of the Calculus of Several Variables I,,,2nd year +MATB42H3,QUANT,,"Fourier series. Vector fields in Rn, Divergence and curl, curves, parametric representation of curves, path and line integrals, surfaces, parametric representations of surfaces, surface integrals. Green's, Gauss', and Stokes' theorems will also be covered. An introduction to differential forms, total derivative.",,MATB41H3,"MAT235Y, MAT237Y, MAT257Y, MAT368H",Techniques of the Calculus of Several Variables II,,,2nd year +MATB43H3,QUANT,,"Generalities of sets and functions, countability. Topology and analysis on the real line: sequences, compactness, completeness, continuity, uniform continuity. Topics from topology and analysis in metric and Euclidean spaces. Sequences and series of functions, uniform convergence.",,[MATA37H3 or [MAT137H5 and MAT139H5]] and MATB24H3,MAT246Y,Introduction to Analysis,,,2nd year +MATB44H3,QUANT,,"Ordinary differential equations of the first and second order, existence and uniqueness; solutions by series and integrals; linear systems of first order; non-linear equations; difference equations.",,[MATA36H3 or MATA37H3] and [MATA22H3 or MATA23H3],"MAT244H, MAT267H",Differential Equations I,MATB41H3,,2nd year +MATB61H3,QUANT,,"Linear programming, simplex algorithm, duality theory, interior point method; quadratic and convex optimization, stochastic programming; applications to portfolio optimization and operations research.",,[MATA22H3 or MATA23H3] and MATB41H3,APM236H,Linear Programming and Optimization,,,2nd year +MATC01H3,QUANT,,"Congruences and fields. Permutations and permutation groups. Linear groups. Abstract groups, homomorphisms, subgroups. Symmetry groups of regular polygons and Platonic solids, wallpaper groups. Group actions, class formula. Cosets, Lagrange's theorem. Normal subgroups, quotient groups. Emphasis on examples and calculations.",,[MATA36H3 or MATA37H3] and [MATB24H3 or MAT224H],"MAT301H, MAT347Y",Groups and Symmetry,,,3rd year +MATC09H3,QUANT,,Predicate calculus. Relationship between truth and provability; Gödel's completeness theorem. First order arithmetic as an example of a first-order system. Gödel's incompleteness theorem; outline of its proof. Introduction to recursive functions.,,MATB24H3 and [MATB43H3 or CSCB36H3],"MAT309H, CSC438H",Introduction to Mathematical Logic,,,3rd year +MATC15H3,QUANT,,"Elementary topics in number theory; arithmetic functions; polynomials over the residue classes modulo m, characters on the residue classes modulo m; quadratic reciprocity law, representation of numbers as sums of squares.",,MATB24H3 and MATB41H3,MAT315H,Introduction to Number Theory,,,3rd year +MATC27H3,QUANT,,"Fundamentals of set theory, topological spaces and continuous functions, connectedness, compactness, countability, separatability, metric spaces and normed spaces, function spaces, completeness, homotopy.",,MATB41H3 and MATB43H3,MAT327H,Introduction to Topology,,,3rd year +MATC32H3,QUANT,,"Graphs, subgraphs, isomorphism, trees, connectivity, Euler and Hamiltonian properties, matchings, vertex and edge colourings, planarity, network flows and strongly regular graphs; applications to such problems as timetabling, personnel assignment, tank form scheduling, traveling salesmen, tournament scheduling, experimental design and finite geometries.",,[MATB24H3 or CSCB36H3] and at least one other B-level course in Mathematics or Computer Science,,Graph Theory and Algorithms for its Applications,,,3rd year +MATC34H3,QUANT,,"Theory of functions of one complex variable, analytic and meromorphic functions. Cauchy's theorem, residue calculus, conformal mappings, introduction to analytic continuation and harmonic functions.",,MATB42H3,"MAT334H, MAT354H",Complex Variables,,,3rd year +MATC37H3,QUANT,,"Topics in measure theory: the Lebesgue integral, Riemann- Stieltjes integral, Lp spaces, Hilbert and Banach spaces, Fourier series.",MATC27H3,MATB43H3,"MAT337H, (MATC38H3)",Introduction to Real Analysis,,,3rd year +MATC44H3,QUANT,,"Basic counting principles, generating functions, permutations with restrictions. Fundamentals of graph theory with algorithms; applications (including network flows). Combinatorial structures including block designs and finite geometries.",,MATB24H3,MAT344H,Introduction to Combinatorics,,,3rd year +MATC46H3,QUANT,,"Sturm-Liouville problems, Green's functions, special functions (Bessel, Legendre), partial differential equations of second order, separation of variables, integral equations, Fourier transform, stationary phase method.",,MATB44H3,APM346H,Differential Equations II,MATB42H3,,3rd year +MATC58H3,QUANT,,"Mathematical analysis of problems associated with biology, including models of population growth, cell biology, molecular evolution, infectious diseases, and other biological and medical disciplines. A review of mathematical topics: linear algebra (matrices, eigenvalues and eigenvectors), properties of ordinary differential equations and difference equations.",,MATB44H3,,An Introduction to Mathematical Biology,,,3rd year +MATC63H3,QUANT,,"Curves and surfaces in Euclidean 3-space. Serret-Frenet frames and the associated equations, the first and second fundamental forms and their integrability conditions, intrinsic geometry and parallelism, the Gauss-Bonnet theorem.",,MATB42H3 and MATB43H3,MAT363H,Differential Geometry,,,3rd year +MATC82H3,QUANT,,"The course discusses the Mathematics curriculum (K-12) from the following aspects: the strands of the curriculum and their place in the world of Mathematics, the nature of proofs, the applications of Mathematics, and its connection to other subjects.",,[MATA67H3 or CSCA67H3 or (CSCA65H3)] and [MATA22H3 or MATA23H3] and [MATA37H3 or MATA36H3],MAT382H,Mathematics for Teachers,,,3rd year +MATC90H3,QUANT,,"Mathematical problems which have arisen repeatedly in different cultures, e.g. solution of quadratic equations, Pythagorean theorem; transmission of mathematics between civilizations; high points of ancient mathematics, e.g. study of incommensurability in Greece, Pell's equation in India.",,"10.0 credits, including 2.0 credits in MAT courses [excluding MATA02H3], of which 0.5 credit must be at the B-level",MAT390H,Beginnings of Mathematics,,,3rd year +MATD01H3,QUANT,,"Abstract group theory: Sylow theorems, groups of small order, simple groups, classification of finite abelian groups. Fields and Galois theory: polynomials over a field, field extensions, constructibility; Galois groups of polynomials, in particular cubics; insolvability of quintics by radicals.",MATC34H3,MATC01H3,"(MAT302H), MAT347Y, (MATC02H3)",Fields and Groups,,,4th year +MATD02H3,QUANT,,"An introduction to geometry with a selection of topics from the following: symmetry and symmetry groups, finite geometries and applications, non-Euclidean geometry.",,[MATA22H3 or MATA23H3],"MAT402H, (MAT365H), (MATC25H3)",Classical Plane Geometries and their Transformations,MATC01H3,,4th year +MATD09H3,QUANT,,"This course is an introduction to axiomatic set theory and its methods. Set theory is a foundation for practically every other area of mathematics and is a deep, rich subject in its own right. The course will begin with the Zermelo-Fraenkel axioms and general set constructions. Then the natural numbers and their arithmetic are developed axiomatically. The central concepts of cardinality, cardinal numbers, and the Cantor- Bernstein theorem are studied, as are ordinal numbers and transfinite induction. The Axiom of Choice and its equivalents are presented along with applications.",,MATB43H3 and [MATC09H3 or MATC27H3 or MATC37H3].,MAT409H1,Set Theory,,,4th year +MATD10H3,,,"A variety of topics from geometry, analysis, combinatorics, number theory and algebra, to be chosen by the instructor.",,"Permission from the instructor is required. Typically, this will require that the student has completed courses such as: MATC01H3 and MATC34H3 and [(MATC35H3) or MATC37H3] and [MATC15H3 or MATD02H3] but, depending on the topics covered, the instructor may specify alternative course requirements.",,Topics in Mathematics,,,4th year +MATD11H3,,,"A variety of topics from geometry, analysis, combinatorics, number theory and algebra, to be chosen by the instructor.",,"Permission from the instructor is required. Typically this will require that the student has completed courses such as MATC01H3 and MATC34H3 and [(MATC35H3) or MATC37H3] and [MATC15H3 or MATD02H3] but, depending on the topics covered, the instructor may specify alternative course requirements.",,Topics in Mathematics,,,4th year +MATD12H3,,,"A variety of topics from geometry, analysis, combinatorics, number theory and algebra, to be chosen by the instructor.",,"Permission from the instructor is required. Typically this will require that the student has completed courses such as MATC01H3 and MATC34H3 and [(MATC35H3) or MATC37H3] and [MATC15H3 or MATD02H3] but, depending on the topics covered, the instructor may specify alternative course requirements.",,Topics in Mathematics,,,4th year +MATD16H3,QUANT,,"The main problems of coding theory and cryptography are defined. Classic linear and non-linear codes. Error correcting and decoding properties. Cryptanalysis of classical ciphers from substitution to DES and various public key systems [e.g. RSA] and discrete logarithm based systems. Needed mathematical results from number theory, finite fields, and complexity theory are stated.",,MATC15H3 and [STAB52H3 or STAB53H3],(MATC16H3),Coding Theory and Cryptography,,,4th year +MATD26H3,QUANT,,"An intuitive and conceptual introduction to general relativity with emphasis on a rigorous treatment of relevant topics in geometric analysis. The course aims at presenting rigorous theorems giving insights into fundamental natural phenomena. Contents: Riemannian and Lorentzian geometry (parallelism, geodesics, curvature tensors, minimal surfaces), Hyperbolic differential equations (domain of dependence, global hyperbolicity). Relativity (causality, light cones, inertial observes, trapped surfaces, Penrose incompleteness theorem, black holes, gravitational waves).",,MATC63H3,APM426H1,Geometric Analysis and Relativity,,,4th year +MATD34H3,QUANT,,"Applications of complex analysis to geometry, physics and number theory. Fractional linear transformations and the Lorentz group. Solution to the Dirichlet problem by conformal mapping and the Poisson kernel. The Riemann mapping theorem. The prime number theorem.",,MATB43H3 and MATC34H3,(MATC65H3),Complex Variables II,,,4th year +MATD35H3,QUANT,,"This course provides an introduction and exposure to dynamical systems, with particular emphasis on low- dimensional systems such as interval maps and maps of the plane. Through these simple models, students will become acquainted with the mathematical theory of chaos and will explore strange attractors, fractal geometry and the different notions of entropy. The course will focus mainly on examples rather than proofs; students will be encouraged to explore dynamical systems by programming their simulations in Mathematica.",,[[MATA37H3 or MATA36H3] with a grade of B+ or higher] and MATB41H3 and MATC34H3,,Introduction to Discrete Dynamical Systems,,,4th year +MATD44H3,QUANT,,This course will focus on combinatorics. Topics will be selected by the instructor and will vary from year to year.,,[MATC32H3 or MATC44H3],,Topics in Combinatorics,,,4th year +MATD46H3,QUANT,,"This course provides an introduction to partial differential equations as they arise in physics, engineering, finance, optimization and geometry. It requires only a basic background in multivariable calculus and ODEs, and is therefore designed to be accessible to most students. It is also meant to introduce beautiful ideas and techniques which are part of most analysts' bag of tools.",,[[MATA37H3 or MATA36H]3 with grade of at least B+] and MATB41H3 and MATB44H3,,Partial Differential Equations,,,4th year +MATD50H3,QUANT,,"This course introduces students to combinatorial games, two- player (matrix) games, Nash equilibrium, cooperative games, and multi-player games. Possible additional topics include: repeated (stochastic) games, auctions, voting schemes and Arrow's paradox. Numerous examples will be analyzed in depth, to offer insight into the mathematical theory and its relation to real-life situations.",,MATB24H3 and [STAB52H3 or STAB53H3],MAT406H,Mathematical Introduction to Game Theory,,,4th year +MATD67H3,QUANT,,"Manifolds, vector fields, tangent spaces, vector bundles, differential forms, integration on manifolds.",,MATB43H3,MAT367H1,Differentiable Manifolds,,,4th year +MATD92H3,QUANT,,A significant project in any area of mathematics. The project may be undertaken individually or in small groups. This course is offered by arrangement with a mathematics faculty member. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken.,,[1.5 credits at the C-level in MAT courses] and [permission of the Supervisor of Studies] and [a CGPA of at least 3.0 or enrolment in a Mathematics Subject POSt],,Mathematics Project,,Enrolment procedures: the project supervisor's note of agreement must be presented to the Supervisor of Studies who will issue permission for registration.,4th year +MATD93H3,QUANT,,A significant project in any area of mathematics. The project may be undertaken individually or in small groups. This course is offered by arrangement with a mathematics faculty member. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken.,,[1.5 credits at the C-level in MAT courses] and [permission of the Supervisor of Studies] and [a CGPA of at least 3.0 or enrolment in a Mathematics Subject POSt],,Mathematics Project,,Enrolment procedures: the project supervisor's note of agreement must be presented to the Supervisor of Studies who will issue permission for registration.,4th year +MATD94H3,,,Independent study under direction of a faculty member.,,[1.5 credits at the C-level in MAT courses] and [permission of the Supervisor of Studies] and [a CGPA of at least 3.0 or enrolment in a Mathematics Subject POSt],,Readings in Mathematics,,Enrolment procedures: the project supervisor's note of agreement must be presented to the Supervisor of Studies who will issue permission for registration.,4th year +MATD95H3,,,Independent study under direction of a faculty member.,,[1.5 credits at the C-level in MAT courses] and permission of the Supervisor of Studies] and [a CPGA of at least 3.0 or enrolment in a Mathematics Subject POSt],,Readings in Mathematics,,Enrolment procedures: the project supervisor's note of agreement must be presented to the Supervisor of Studies who will issue permission for registration.,4th year +MBTB13H3,ART_LIT_LANG,University-Based Experience,"In this course students explore a variety of topics relating to songwriting. Advanced techniques relating to melody, lyric, and chord writing will be discussed and applied creatively to original songs. This course is taught at Centennial College.",,MUZA80H3 and MUZB40H3 and MUZB41H3 and MUZB80H3 and 1.0 credit in performance ensembles,,Songwriting 2,MBTB41H3 and MBTB50H3 and [[MBTC62H3 and MBTC63H3] or [MBTC70H3 and MBTC72H3]],Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology.,2nd year +MBTB41H3,ART_LIT_LANG,University-Based Experience,This course will introduce students to live and studio sound by giving them hands-on experience on equipment in a professional recording studio. This course is taught at Centennial College.,,MUZA80H3 and MUZB40H3 and MUZB41H3 and MUZB80H3 and 1.0 credit in performance ensembles,,Introduction to Audio Engineering,MBTB13H3 and MBTB50H3 and [[MBTC62H3 and MBTC63H3] or [MBTC70H3 and MBTC72H3]],Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology.,2nd year +MBTB50H3,ART_LIT_LANG,,"Students will develop a foundational knowledge of the music industry that will serve as a base for all other music business- related courses. Students will be introduced to the terminology, history, infrastructure, and careers of the music industry. Students will be introduced to fundamental areas of business management. Legal issues and the future of the music industry will also be discussed. All material will be taught from a uniquely Canadian perspective.",,MUZA80H3 and MUZB40H3 and MUZB41H3 and MUZB80H3 and 1.0 credit in performance ensembles,,Music Business Fundamentals,MBTB13H3 and MBTB50H3 and [[MBTC62H3 and MBTC63H3] or [MBTC70H3 and MBTC72H3]],Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology.,2nd year +MBTC62H3,ART_LIT_LANG,University-Based Experience,"This course focuses specifically on sound mixing and editing – all stages of post-production. Students will learn how to work efficiently with a variety of different musical content. This course will help students with regard to software proficiency, and to develop a producer's ear. This course is taught at Centennial College.",,MUZA80H3 and MUZB80H3 and MUZB40H3 and MUZB41H3 and 1.0 credit in performance ensembles,,Advanced Sound Mixing and Editing,,Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology.,3rd year +MBTC63H3,ART_LIT_LANG,University-Based Experience,"This course focuses on a variety of techniques for achieving the best possible sound quality during the sound recording process. Topics discussed include acoustics, microphone selection and placement, drum tuning, guitar and bass amplifiers, preamplifiers, and dynamics processors. This course will help prepare students for work as recording studio engineers, and to be self-sufficient when outputting recorded works as a composer/musician. This course is taught at Centennial College.",,MUZA80H3 and MUZB80H3 and MUZB40H3 and MUZB41H3 and 1.0 credit in performance ensembles,,Advanced Sound Production and Recording,,Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology.,3rd year +MBTC70H3,ART_LIT_LANG,University-Based Experience,"This course will delve deeper into the overlapping areas of copyright, royalties, licensing, and publishing. These topics will be discussed from an agency perspective. Students will learn about the processes and activities that occur at publishing and licensing agencies in order to prepare for careers at such businesses. This course is taught at Centennial College.",,MUZA80H3 and MUZB80H3 and MUZB40H3 and MUZB41H3 and 1.0 credit in performance ensembles,,"Copyright, Royalties, Licensing, and Publishing",,Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology,3rd year +MBTC72H3,ART_LIT_LANG,University-Based Experience,"Students will delve deeper into a variety of topics relating to working in the music industry. Topics include grant writing, bookkeeping, contracts, and the future of the music industry. Students will be taught how to be innovative, flexible team players in a rapidly changing industry. This course is taught at Centennial College.",,MUZA80H3 and MUZB80H3 and MUZB40H3 and MUZB41H3 and 1.0 credit in performance ensembles,,Advanced Music Business,,Enrollment is restricted to students enrolled in Specialist (Joint) program in Music Industry and Technology.,3rd year +MDSA10H3,HIS_PHIL_CUL,,"A survey of foundational critical approaches to media studies, which introduces students to transnational and intersectional perspectives on three core themes in Media Studies: arts, society, and institutions.",,,(MDSA01H3),Media Foundations,MDSA12H3,,1st year +MDSA11H3,HIS_PHIL_CUL,,"Introduces students to ethical issues in media. Students learn theoretical aspects of ethics and apply them to media industries and practices in the context of advertising, public relations, journalism, mass media entertainment, and online culture.",,,"(JOUC63H3), (MDSC43H3)",Media Ethics,,,1st year +MDSA12H3,ART_LIT_LANG,,"An introduction to diverse forms and genres of writing in Media Studies, such as blog entries, Twitter essays, other forms of social media, critical analyses of media texts, histories, and cultures, and more. Through engagement with published examples, students will identify various conventions and styles in Media Studies writing and develop and strengthen their own writing and editing skills.",,,ACMB01H3,Writing for Media Studies,,,1st year +MDSA13H3,HIS_PHIL_CUL,,"This course surveys the history of media and communication from the development of writing through the printing press, newspaper, telegraph, radio, film, television and internet. Students examine the complex interplay among changing media technologies and cultural, political and social changes, from the rise of a public sphere to the development of highly- mediated forms of self identity.",,MDSA10H3 or (MDSA01H3),(MDSA02H3),Media History,,,1st year +MDSB05H3,HIS_PHIL_CUL,,"This course examines the role of technological and cultural networks in mediating and facilitating the social, economic, and political processes of globalization. Key themes include imperialism, militarization, global political economy, activism, and emerging media technologies. Particular attention is paid to cultures of media production and reception outside of North America. Same as GASB05H3",,4.0 credits and MDSA01H3,GASB05H3,Media and Globalization,,,2nd year +MDSB09H3,ART_LIT_LANG,,"Around the world, youth is understood as liminal phase in our lives. This course examines how language and new media technologies mark the lives of youth today. We consider social media, smartphones, images, romance, youth activism and the question of technological determinism. Examples drawn fromm a variety of contexts. Same as ANTB35H3",,"ANTA02H3 or MDSA01H3 or [any 4.0 credits in ANT, HLT, IDS, CIT, GGR, POL, SOC or HCS courses]",ANTB35H3,"Kids These Days: Youth, Language and Media",,,2nd year +MDSB11H3,ART_LIT_LANG,,"A course that explores the media arts, with a focus on the creation and circulation of artistic and cultural works including photographs, films, games, gifs, memes and more. Through this exploration, students will develop critical skills to engage with these forms and genres, and investigate their capacity to produce meaning and shape our political, cultural, and aesthetic realities. This course will also introduce students to creation-based research (research-creation) methods.",,Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3],,Media and the Arts,,,2nd year +MDSB12H3,ART_LIT_LANG,,"Visual Culture studies the construction of the visual in art, media, technology and everyday life. Students learn the tools of visual analysis; investigate how visual depictions such as YouTube and advertising structure and convey ideologies; and study the institutional, economic, political, social, and market factors in the making of contemporary visual culture.",,MDSA01H3 and MDSA02H3,(MDSB62H3) (NMEB20H3),Visual Culture,,,2nd year +MDSB14H3,HIS_PHIL_CUL,,"What makes humans humans, animals animals, and machines machines? This course probes the leaky boundaries between these categories through an examination of various media drawn from science fiction, contemporary art, film, TV, and the critical work of media and posthumanist theorists on cyborgs, genetically-modified organisms, and other hybrid creatures.",,,"(IEEB01H3), (MDSB01H3)","Human, Animal, Machine",MDSB10H3 or (MDSA01H3),,2nd year +MDSB16H3,ART_LIT_LANG,,"This course centres Indigenous critical perspectives on media studies to challenge the colonial foundations of the field. Through examination of Indigenous creative expression and critique, students will analyze exploitative approaches, reexamine relationships to land, and reorient connections with digital spaces to reimagine Indigenous digital world- making.",,[MDSA10H3 or (MDSA01H3)] or VPHA46H3,,Indigenous Media Studies,,"Priority enrolment is for MDS, VPH and JOU students",2nd year +MDSB17H3,ART_LIT_LANG,,"An exploration of critical approaches to the study of popular culture that surveys diverse forms and genres, including television, social media, film, photography, and more. Students will learn key concepts and theories with a focus on the significance of processes of production, representation, and consumption in mediating power relations and in shaping identity and community in local, national, and global contexts.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Popular Culture and Media Studies,,,2nd year +MDSB20H3,HIS_PHIL_CUL,,"This course offers an introduction to the field of Science and Technology Studies (STS) as it contributes to the field of media studies. We will explore STS approaches to media technologies, the materiality of communication networks, media ecologies, boundary objects and more. This will ask students to consider the relationship between things like underground cables and colonialism, resource extraction (minerals for media technologies) and economic exploitation, plants and border violences, Artificial Intelligence and policing.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],(MDSB20H3),"Media, Science and Technology Studies",,,2nd year +MDSB21H3,ART_LIT_LANG,,"This course introduces students to perspectives and frameworks to critically analyze complex media-society relations. How do we understand media in its textual, cultural technological, institutional forms as embedded in and shaped by various societal forces? How do modern media and communication technologies impact the ways in which societies are organized and social interactions take place? To engage with these questions, we will be closely studying contemporary media texts, practices and phenomena while drawing upon insights from various disciplines such as sociology, anthropology, art history and visual culture, and cultural studies.",,Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ],,Media and Society,,,2nd year +MDSB22H3,ART_LIT_LANG,,"This course offers an introduction to the major topics, debates and issues in contemporary Feminist Media Studies – from digital coding and algorithms to film, television, music and social networks – as they interact with changing experiences, expressions and possibilities for gender, race, sexuality, ethnicity and economic power in their social and cultural contexts. We will explore questions such as: how do we study and understand representations of gender, race and sexuality in various media? Can algorithms reproduce or interrupt racism and sexism? What roles can media play in challenging racial, gendered, sexual and economic violence? How can media technologies normalize or transform relations of oppression and exploitation in specific social and cultural contexts?",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Feminist Media Studies,,,2nd year +MDSB23H3,ART_LIT_LANG,,"Media not only represents war; it has also been deployed to advance the ends of war, and as part of antiwar struggles. This course critically examines the complex relationship between media and war, with focus on historicizing this relationship in transnational contexts.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Media and Militarization,,,2nd year +MDSB25H3,ART_LIT_LANG,,"This course follows money in media industries. It introduces a variety of economic theories and methods to analyse cultural production and circulation, and the organization of media and communication companies. These approaches are used to better understand the political economy of digital platforms, apps, television, film, and games.",,MDSA01H3 and MDSA02H3,,Political Economy of Media,,,2nd year +MDSB29H3,HIS_PHIL_CUL,,"This course introduces students to the key terms and concepts in new media studies as well as approaches to new media criticism. Students examine the myriad ways that new media contribute to an ongoing reformulation of the dynamics of contemporary society, including changing concepts of community, communication, identity, privacy, property, and the political.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],(MDSB61H3),Mapping New Media,,,2nd year +MDSB30H3,ART_LIT_LANG,,"This course introduces students to the interdisciplinary and transnational field of media studies that helps us to understand the ways that social media and digital culture have impacted social, cultural, political, economic and ecological relations. Students will be introduced to Social Media and Digital Cultural studies of social movements, disinformation, changing labour conditions, algorithms, data, platform design, environmental impacts and more",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],"CCT331H5, (MDSB15H3)",Social Media and Digital Culture,,,2nd year +MDSB31H3,ART_LIT_LANG,,"This course follows the money in the media industries. It introduces a variety of economic theories, histories, and methods to analyse the organization of media and communication companies. These approaches are used to better understand the critical political economy of media creation, distribution, marketing and monetization.",,Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ],,Media and Institutions,,,2nd year +MDSB33H3,HIS_PHIL_CUL,,"This course introduces students to the study of advertising as social communication and provides a historical perspective on advertising's role in the emergence and perpetuation of ""consumer culture"". The course examines the strategies employed to promote the circulation of goods as well as the impact of advertising on the creation of new habits and expectations in everyday life.",,MDSA10H3 or SOCB58H3 or (MDSA01H3),(MDSB03H3),Media and Consumer Cultures,,,2nd year +MDSB34H3,ART_LIT_LANG,,"This course provides an overview of various segments of the media industries, including music, film, television, social media entertainment, games, and digital advertising. Each segment’s history, business models, and labour practices will be examined taking a comparative media approach.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Comparative Media Industries,,,2nd year +MDSB35H3,ART_LIT_LANG,,"The course explores the different types of platform labour around the world, including micro-work, gig work and social media platforms. It presents aspects of the platformization of labour, as algorithmic management, datafication, work conditions and platform infrastructures. The course also emphasizes workers' organization, platform cooperativism and platform prototypes.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],,Platform Labour,,,2nd year +MDSC01H3,HIS_PHIL_CUL,,This is an advanced seminar for third and fourth year students on theories applied to the study of media.,,2.0 credits at the B-level in MDS courses,,Theories in Media Studies,,,3rd year +MDSC02H3,SOCIAL_SCI,,"This course explores the centrality of mass media such as television, film, the Web, and mobile media in the formation of multiple identities and the role of media as focal points for various cultural and political contestations.",,2.0 credits at the B-level in MDS courses,,"Media, Identities and Politics",,,3rd year +MDSC10H3,ART_LIT_LANG,,A seminar that explores historical and contemporary movements and issues in media art as well as creation-based research methods that integrate media studies inquiry and analysis through artistic and media-making practice and experimentation.,,"Enrollment in the Major program in Media and Communication Studies and 3.0 credits at MDS B-level and a minimum GPA of 3.3 in MDS A-, B- and C-level courses",,Advanced Studies in Media and the Arts,,,3rd year +MDSC12H3,ART_LIT_LANG,,"This course builds on a foundation in Feminist Media Studies to engage the scholarly field of Trans-Feminist Queer (TFQ) Media Studies. While these three terms (trans, feminist and queer) can bring us to three separate areas of media studies, this course immerses students in scholarship on media and technology that is shaped by and committed to their shared critical, theoretical and political priorities. This scholarship centers transgender, feminist and queer knowledges and experiences to both understand and reimagine the ways that media and communication technologies contribute to racial, national, ethnic, gender, sexual and economic relations of power and possibility.",,[Enrolment in the Major program in Media and Communication Studies and 3.0 credits at the MDS B-level including MDSB22H3] or [Enrolment in the Minor in Media Studies and 2.0 credits at the MDS B-level including MDSB22H3],(MDSC02H3),Trans-Feminist Queer Media Studies,,,3rd year +MDSC13H3,ART_LIT_LANG,,"This course explores the importance of sound and sound technology to visual media practices by considering how visuality in cinema, video, television, gaming, and new media art is organized and supported by aural techniques such as music, voice, architecture, and sound effects.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],(MDSB63H3),Popular Music and Media Cultures,,,3rd year +MDSC20H3,ART_LIT_LANG,,"This seminar provides students with a theoretical toolkit to understand, analyze and evaluate media-society relations in the contemporary world. Students will, through reading and writing, become familiar with social theories that intersect with questions and issues related to media production, distribution and consumption. These theories range from historical materialism, culturalism, new materialism, network society, public sphere, feminist and queer studies, critical race theory, disability media theories, and so on. Special attention is paid to the mutually constitutive relations between digital media and contemporary societies and cultures.",,"Enrollment in the Major program in Media and Communication Studies, and 3.0 credits at MDS B-level and a minimum GPA of 3.3 in MDS A-, B- and C-level courses",,Advanced Studies in Media and Society,,,3rd year +MDSC21H3,ART_LIT_LANG,,"Anthropology studies language and media in ways that show the impact of cultural context. This course introduces this approach and also considers the role of language and media with respect to intersecting themes: ritual, religion, gender, race/ethnicity, power, nationalism, and globalization. Class assignments deal with lectures, readings, and students' examples. Same as ANTC59H3",,[ANTB19H3 and ANTB20H3] or [MDSA01H3 and MDSB05H3],"(MDSB02H3), (ANTB21H3), ANTC59H3",Anthropology of Language and Media,,,3rd year +MDSC22H3,HIS_PHIL_CUL,,"This course focuses on modern-day scandals, ranging from scandals of politicians, corporate CEOs, and celebrities to scandals involving ordinary people. It examines scandals as conditioned by technological, social, cultural, political, and economic forces and as a site where meanings of deviances of all sorts are negotiated and constructed. It also pays close attention to media and journalistic practices at the core of scandals.",,[Enrolment in the Major program in Media and Communication Studies and [MDSA10H3 or (MDSA01H3)] and MDSA11H3 and [MDSA12H3 and [MDSA13H3 or (MDSA02H3)] ] or [JOUA01H3 and JOUA02H3] ] or [Enrolment in the Minor Program in Media Studies and MDSA11H3 and [MDSA13H3 or (MDSA02H3)] ],"SOC342H5, (MDSC35H3)",Understanding Scandals,,,3rd year +MDSC23H3,,,"This course explores Black media production, representation, and consumption through the analytical lenses of Black diaspora studies, critical race studies, political economy of media and more. Themes include, Black media histories, radical traditions, creative expression, and social movements. Students will explore various forms of media production created and influenced by Black communities globally. The course readings and assignments examine the interconnection between the lived cultural, social, and historical experiences of the African diaspora and the media artefacts they create as producers, or they are referenced as subjects. Students will critically examine media artefacts (music, television shows, movies, social media content) through various lenses, including race and gender theory, rhetoric, visual communication, and digital media analysis.",,[Enrolment in the Major program in Media and Communication Studies - Media Studies stream and 3.0 credits at the MDS B-level] or [Enrolment in the Major program in Media and Communication Studies - Journalism stream and 3.0 credits at the MDS B-level/JOU B-level] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level],,Black Media Studies,,,3rd year +MDSC24H3,HIS_PHIL_CUL,,"Selfies are an integral component of contemporary media culture and used to sell everyone from niche celebrities to the Prime Minister. This class examines the many meanings of selfies to trace their importance in contemporary media and digital cultures as well as their place within, and relationship to, historically and theoretically grounded concepts of photography and self portraiture.",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],(MDSC66H3),Selfies and Society,,,3rd year +MDSC25H3,HIS_PHIL_CUL,,"Understanding the interests and goals of audiences is a key part of media production. This course introduces communication research methods including ratings, metrics, in-depth interviews, and focus groups. The focus of class discussion and research project is to use these methods to be able to understand the nature of audiences’ media use in the digital age. Same as JOUC80H3",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"JOUC80H3, (MDSC80H3)",Understanding Audiences in the Digital Age,,,3rd year +MDSC26H3,ART_LIT_LANG,,"This course will examine Critical Disability Studies as it intersects with and informs Media Studies and Science & Technology Studies with a focus on the advancement of disability justice goals as they relate to topics that may include: interspecies assistances and co-operations, military/medical technologies that enhance ""ability,"" the possibilities and limitations of cyborg theory for a radical disabilities politics and media practice informed by the disability justice ethics of “nothing about us without us.”",,[Enrolment in the Major program in Media and Communication Studies and 3.0 credits at the MDS B-level including MDSB21H3] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level including MDSB21H3],,"Media, Technology & Disability Justice",,,3rd year +MDSC27H3,ART_LIT_LANG,,"This course will examine ethical considerations for conducting digital research with a focus on privacy, consent, and security protections, especially as these issues affect underrepresented and minoritized communities.",,[Enrolment in the Major program in Media and Communication Studies and 3.0 credits at the MDS B-level] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level],,Digital Research Ethics,,,3rd year +MDSC28H3,ART_LIT_LANG,,"The course explores critical data studies and considers critical understandings of artificial intelligence, with a focus on topics that may include algorithmic fairness, data infrastructures, AI colonialism, algorithmic resistance, and interplays between race/gender/sexuality issues and data/artificial intelligence.",,[3.0 credits at MDS B-level and enrolment in Major program in Media and Communication Studies - Media Studies stream] or [3.0 credits at MDS B-level/JOU B-level and enrolment in Major program in Media and Communication Studies - Journalism Studies stream] or [2.0 credits at the MDS B-level and enrolment in the Minor program in Media Studies],,Data and Artificial Intelligence,,,3rd year +MDSC29H3,HIS_PHIL_CUL,,"The advancement of religious concepts and movements has consistently been facilitated - and contested - by contemporaneous media forms, and this course considers the role of media in the creation, development, and transmission of religion(s), as well as the challenges posed to modern religiosities in a digital era.",,2.0 credits at the B-level in MDS courses,,Media and Religion,,,3rd year +MDSC30H3,ART_LIT_LANG,,"This seminar elaborates on foundational concepts and transformations in the media industries, such as conglomeration, platformization, datafication, and digitization. Taking a global perspective, emerging industry practices will be discussed, such as gig labour, digital advertising, and cryptocurrency.",,"Enrollment in Major program in Media and Communication Studies; and 3.0 credits at MDS B-level and a minimum GPA of 3.3 in MDS A-, B- and C-level courses",,Advanced Studies in Media and Institutions,,,3rd year +MDSC31H3,ART_LIT_LANG,,"This course focuses on the process of platformization and how it impacts cultural production. It provides an introduction into the fields of software, platform, and app studies. The tenets of institutional platform power will be discussed, such as economics, infrastructure, and governance, as well as questions pertaining to platform labour, digital creativity, and democracy.",,[Enrolment in the Major program in Media and Communication Studies - Media Studies stream and 3.0 credits at the MDS B-level] or [Enrolment in the Major program in Media and Communication Studies - Journalism stream and 3.0 credits at the MDS B-level/JOU B-level] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level],,Platforms and Cultural Production,,,3rd year +MDSC32H3,ART_LIT_LANG,,"The course introduces students to contemporary Chinese media. It explores the development of Chinese media in terms of production, regulation, distribution and audience practices, in order to understand the evolving relations between the state, the market, and society as manifested in China’s news and entertainment industries. The first half of the course focuses on how journalistic practices have been impacted by the changing political economy of Chinese media. The second half examines China’s celebrity culture, using it as a crucial lens to examine contemporary Chinese media.",,[Enrolment in the Major program in Media and Communication Studies and 3.0 credits at the MDS B-level] or [Enrolment in the Minor program in Media Studies and 2.0 credits at the MDS B-level],,Chinese Media and Politics,,,3rd year +MDSC33H3,ART_LIT_LANG,,"This course introduces students to academic perspectives on games and play. Students develop a critical understanding of a variety of topics and discussions related to games, gamification, and play in the physical and virtual world.",,[2.0 credits at the B-level in MDS courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],(MDSC65H3),Games and Play,,,3rd year +MDSC34H3,HIS_PHIL_CUL,,"New media technologies enable more production and distribution of culturally, ethnically and linguistically diverse voices than ever before. Who produces these diverse voices and how accessible are these media? This course explores various types of diasporic media from century-old newspapers to young and hip news and magazine blogs, produced by and for members of a multicultural society. Same as JOUC60H3",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"JOUC60H3, (MDSC60H3)",Diasporic Media,,,3rd year +MDSC37H3,ART_LIT_LANG,,"This course explores themes of labour in news media and new media. Topics include labour conditions for media workers across sectors; the labour impacts of media convergence; and the global distribution of media labour including content generation and management. The course is structured by intersectional analyses, studying how race and racism, class, gender, sex and sexism, sexuality, nationality, global location and citizenship status, Indigeneity and religion shape our experiences of media, journalism and labour. Same as JOUC62H3",,[ [MDSA10H3 or (MDSA01H3)] and MDSB05H3] or [JOUA01H3 and JOUA02H3]] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],"JOUC62H3, (MDSC62H3)","Media, Journalism and Digital Labour",,,3rd year +MDSC40H3,HIS_PHIL_CUL,,This course examines the complex and dynamic interplay of media and politics in contemporary China and the role of the government in this process. Same as GASC40H3,,Any 4.0 credits,GASC40H3,Chinese Media and Politics,,,3rd year +MDSC41H3,HIS_PHIL_CUL,,"This course introduces students to media industries and commercial popular cultural forms in East Asia. Topics include reality TV, TV dramas, anime and manga, as well as issues such as regional cultural flows, global impact of Asian popular culture, and the localization of global media in East Asia. Same as GASC41H3",,Any 4.0 credits,GASC41H3,Media and Popular Culture in East Asia,,,3rd year +MDSC53H3,ART_LIT_LANG,,"How do media work to circulate texts, images, and stories? Do media create unified publics? How is the communicative process of media culturally-distinct? This course examines how anthropologists have studied communication that occurs through traditional and new media. Ethnographic examples drawn from several contexts. Same as ANTC53H3",,[ANTB19H3 and ANTB20H3] or [MDSA01H3 and MDSB05H3],ANTC53H3,Anthropology of Media and Publics,,,3rd year +MDSC61H3,HIS_PHIL_CUL,,"This course examines the history, organization and social role of a range of independent, progressive, and oppositional media practices. It emphasizes the ways alternative media practices, including the digital, are the product of and contribute to political movements and perspectives that challenge the status quo of mainstream consumerist ideologies.",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in JOU courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],,Alternative Media,,,3rd year +MDSC64H3,ART_LIT_LANG,,Media are central to organizing cultural discourse about technology and the future. This course examines how the popularization of both real and imagined technologies in various media forms contribute to cultural attitudes that attend the introduction and social diffusion of new technologies.,,[2.0 credits at the B-level in MDS courses] or [4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses],,Media and Technology,,,3rd year +MDSC85H3,ART_LIT_LANG,,"This course examines the synergistic relationship between the moving image and music and how these synergies result in processes of meaning-making and communication. Drawing on readings in cultural theory, cultural studies, musicology and film studies, the course considers examples from the feature film, the Hollywood musical, and the animated cartoon. Same as MUZC20H3/(VPMC85H3)",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in MUZ/(VPM) courses],MUZC20H3/(VPMC85H3),"Movies, Music and Meaning",,No Specialist knowledge in Musicology or Film Studies required.,3rd year +MDSD10H3,,University-Based Experience,"This is a senior seminar that focuses on the connections among media and the arts. Students explore how artists use the potentials offered by various media forms, including digital media, to create new ways of expression. Topics vary.",,"3.0 credits in MDS courses, including 1.0 credit at the C-level",(MDSD01H3),Senior Seminar: Topics in Media and Arts,,,4th year +MDSD11H3,ART_LIT_LANG,University-Based Experience,"Focusing on independent research, this course requires students to demonstrate the necessary analysis, research and writing skills required for advanced study. This seminar course provides the essential research skills for graduate work and other research-intensive contexts. Students will design and undertake unique and independent research about the state of journalism. Same as JOUD11H3",,"ACMB02H3 and [an additional 4.5 credits in MDS or JOU courses, 1.0 credit of which must be at the C- level]",JOUD11H3,Senior Research Seminar in Media and Journalism,,,4th year +MDSD20H3,,University-Based Experience,"This is a senior seminar that focuses on media and society. It explores the social and political implications of media, including digital media, and how social forces shape their development. Topics vary.",,"3.0 credits in MDS courses, including 1.0 credit at the C-level",(MDSD02H3),Senior Seminar: Topics in Media and Society,,,4th year +MDSD30H3,ART_LIT_LANG,,"This is a senior seminar that closely examines media as institutions such as media regulatory bodies, firms, and organizations, as well as media in relation to other institutions in broader political economies. In this course, students will have the opportunity to interrogate key theoretical concepts developed in critical media industry studies and apply them to real-life cases through research and writing.",,Enrollment in Major program in Media and Communication Studies and 2.5 credits at MDS C-level,,Senior Seminar: Topics in Media and Institutions,,,4th year +MGAB01H3,SOCIAL_SCI,,"Together with MGAB02H3, this course provides a rigorous introduction to accounting techniques and to the principles and concepts underlying these techniques. The preparation of financial statements is addressed from the point of view of both preparers and users of financial information.",,,"VPAB13H3, MGT120H5, RSM219H1",Introductory Financial Accounting I,,,2nd year +MGAB02H3,SOCIAL_SCI,,"This course is a continuation of MGAB01H3. Students are encouraged to take it immediately after completing MGAB01H3. Technical topics include the reporting and interpretation of debt and equity issues, owners' equity, cash flow statements and analysis. Through cases, choices of treatment and disclosure are discussed, and the development of professional judgment is encouraged.",,MGAB01H3,"VPAB13H3, MGT220H5, RSM220H1",Introductory Financial Accounting II,,,2nd year +MGAB03H3,SOCIAL_SCI,,"An introduction to management and cost accounting with an emphasis on the use of accounting information in managerial decision-making. Topics include patterns of cost behaviour, transfer pricing, budgeting and control systems.",,[[MGEA02H3 and MGEA06H3] or [MGEA01H3 and MGEA05H3]] and MGAB01H3,"VPAB13H3, MGT223H5, MGT323H5, RSM222H1, RSM322H1",Introductory Management Accounting,,,2nd year +MGAC01H3,SOCIAL_SCI,,"Together with MGAC02H3, this course examines financial reporting in Canada. Through case analysis and the technical material covered, students will build on their knowledge covered in MGAB01H3, MGAB02H3 and, to a lesser extent, MGAB03H3.",,MGAB03H3 and MGAB02H3 and [MGTA38H3 or (MGTA35H3) or (MGTA36H3)],"MGT224H5, MGT322H5, RSM221H1, RSM320H1",Intermediate Financial Accounting I,,,3rd year +MGAC02H3,SOCIAL_SCI,,"This course is a continuation of MGAC01H3. Students will further develop their case writing, technical skills and professional judgment through the study of several complex topics. Topics include leases, bonds, pensions, future taxes and earnings per share.",,MGAC01H3,"MGT224H5, MGT322H5, RSM221H1, RSM320H1",Intermediate Financial Accounting II,,,3rd year +MGAC03H3,SOCIAL_SCI,,"An examination of various cost accumulation and performance evaluation systems and decision-making tools. Topics include job and process costing, flexible budgeting, and variance analysis and cost allocations.",,MGAB03H3,"MGT323H5, RSM322H1",Intermediate Management Accounting,,,3rd year +MGAC10H3,SOCIAL_SCI,,"An introduction to the principles and practice of auditing. The course is designed to provide students with a foundation in the theoretical and practical approaches to auditing by emphasizing auditing theory and concepts, with some discussion of audit procedures and the legal and professional responsibilities of the auditor.",,MGAC01H3,,Auditing,,,3rd year +MGAC50H3,SOCIAL_SCI,,"First of two courses in Canadian income taxation. It provides the student with detailed instruction in income taxation as it applies to individuals and small unincorporated businesses. Current tax laws are applied to practical problems and cases. Covers employment income, business and property income, and computation of tax for individuals.",MGAC01H3 is highly recommended.,Completion of at least 10.0 credits including MGAB01H3 and MGAB02H3 and MGAB03H3.,"MGT423H5, RSM324H1",Canadian Income Taxation I,,,3rd year +MGAC70H3,SOCIAL_SCI,University-Based Experience,"This course is intended to help students understand the information systems that are a critical component of modern organizations. The course covers the technology, design, and application of data processing and information systems, with emphasis on managerial judgment and decision-making. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAB03H3 and MGHB02H3,"MGT371H5, RSM327H1",Management Information Systems,,,3rd year +MGAC80H3,SOCIAL_SCI,,"This course covers special topics in the area of accounting. The specific topics will vary from year to year, but could include topics in: data analytics for accounting profession, accounting for finance professionals, forensic accounting, bankruptcy management and integrated reporting, etc. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,MGAB02H3 and MGAB03H3,,Special Topics in Accounting,,,3rd year +MGAD20H3,SOCIAL_SCI,,"An extension of the study of areas covered in the introductory audit course and will include the application of risk and materiality to more advanced topic areas such as pension and comprehensive auditing. Other topics include special reports, future oriented financial information and prospectuses. This will include a review of current developments and literature.",,MGAC10H3,,Advanced Auditing,,,4th year +MGAD40H3,SOCIAL_SCI,Partnership-Based Experience,"An examination of how organizations support the implementation of strategy through the design of planning processes, performance evaluation, reward systems and HR policies, as well as corporate culture. Class discussion will be based on case studies that illustrate a variety of system designs in manufacturing, service, financial, marketing and professional organizations, including international contexts. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAB03H3 and MGHB02H3,"MGT428H5, RSM422H1",Management Control Systems,,,4th year +MGAD45H3,SOCIAL_SCI,University-Based Experience,"This course examines issues in Corporate Governance in today’s business environment. Through case studies of corporate “ethical scandals”, students will consider workplace ethical risks, opportunities and legal issues. Students will also examine professional accounting in the public interest as well as accounting and planning for sustainability. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAC01H3 and MGSC30H3,,Corporate Governance and Strategy - CPA Perspective,,,4th year +MGAD50H3,SOCIAL_SCI,,An in-depth study of advanced financial accounting topics: long-term inter-corporate investment; consolidation (including advanced measurements and reporting issues); foreign currency translation and consolidation of foreign subsidiaries and non-profit and public sector accounting. This course is critical to the education of students preparing for a career in accounting.,,MGAC01H3 and MGAC02H3,,Advanced Financial Accounting,,,4th year +MGAD60H3,SOCIAL_SCI,,"Through case analysis and literature review, this seminar addresses a variety of controversial reporting issues, impression management, the politics of standard setting and the institutional context. Topics may include: international harmonization, special purpose entities, whistle-blowing, the environment and social responsibility and professional education and career issues.",,MGAC01H3 and MGAC02H3,,Controversial Issues in Accounting,,,4th year +MGAD65H3,SOCIAL_SCI,,"This course is designed to give the student an understanding of the more complex issues of federal income taxation, by applying current tax law to practical problems and cases. Topics include: computation of corporate taxes, corporate distributions, corporate re-organizations, partnerships, trusts, and individual and corporate tax planning.",,MGAC50H3,"MGT429H5, RSM424H1",Canadian Income Taxation II,,,4th year +MGAD70H3,HIS_PHIL_CUL,,"A capstone case course integrating critical thinking, problem solving, professional judgement and ethics. Business simulations will strategically include the specific technical competency areas and the enabling skills of the CPA Competency Map. This course should be taken as part of the last 5.0 credits of the Specialist/Specialist Co-op in Management and Accounting.",,MGAC02H3 and MGAC03H3 and MGAC10H3 and MGAC50H3,,Advanced Accounting Case Analysis: A Capstone Course,,,4th year +MGAD80H3,SOCIAL_SCI,,"An overview of international accounting and financial reporting practices with a focus on accounting issues related to international business activities and foreign operations. Understanding the framework used in establishing international accounting standards, preparation and translation of financial statements, transfer pricing and taxation, internal and external auditing issues and discussion of the role of accounting and performance measurement for multinational corporations.",,MGAB02H3 and MGAB03H3,,Accounting Issues in International Business,,,4th year +MGAD85H3,SOCIAL_SCI,,"This course covers special topics in the area of accounting. The special topics will vary from year to year but could include topics in bankruptcies, forensic accounting, controversial issues in financial reporting, accounting principles for non-accounting students, accounting for international business, accounting for climate change, ESG accounting and Accounting for general financial literacy. The specific topics to be covered will be set out in the syllabus for the course for the term in which the course is offered.",,MGAB02H3 and MGAB03H3,,Advanced Special Topics in Accounting,,,4th year +MGEA01H3,SOCIAL_SCI,,"Economic theory of the firm and the consumer. Although calculus is not used in this course, algebra and graphs are used extensively to illuminate economic analysis.",,,"MGEA02H3, ECO100Y1, ECO105Y1, ECO101H5",Introduction to Microeconomics,,This course is not for students interested in applying to the Specialists in Management and Economics leading to the B.B.A or for the Major program in Economics.,1st year +MGEA02H3,SOCIAL_SCI,,"Economic theory of the firm and the consumer. Calculus, algebra and graphs are used extensively. The course is oriented towards students interested in the Specialist Program in Management, the Specialist program in Economics for Management Studies, and the Major Program in Economics for Management Studies.",Completion of Grade 12 Calculus is strongly recommended. It is also recommended that MATA34H3 (or equivalents) be taken simultaneously with MGEA02H3 and MGEA06H3.,,"MGEA01H3, ECO100Y1, ECO105Y1, ECO101H5",Introduction to Microeconomics: A Mathematical Approach,,,1st year +MGEA05H3,SOCIAL_SCI,,"Topics include output, employment, prices, interest rates and exchange rates. Although calculus is not used in this course, algebra and graphs are used extensively to illuminate economic analysis.",,,"MGEA06H3, ECO100Y1, ECO105Y1, ECO102H5",Introduction to Macroeconomics,,This course is not for students interested in applying to the Specialists in Management and Economics leading to the B.B.A or for the Major program in Economics.,1st year +MGEA06H3,SOCIAL_SCI,,"Study of the determinants of output, employment, prices, interest rates and exchange rates. Calculus, algebra and graphs are used extensively. The course is oriented towards students interested in the Specialist Program in Management, the Specialist program in Economics for Management Studies, and the Major Program in Economics for Management Studies.",Completion of Grade 12 Calculus is strongly recommended. It is also recommended that MATA34H3 (or equivalents) be taken simultaneously with MGEA02H3 and MGEA06H3.,,"MGEA05H3, ECO100Y1, ECO105Y1, ECO102H5",Introduction to Macroeconomics: A Mathematical Approach,,,1st year +MGEB01H3,SOCIAL_SCI,,"This course covers the intermediate level development of the principles of microeconomic theory. The emphasis is on static partial equilibrium analysis. Topics covered include: consumer theory, theory of production, theory of the firm, perfect competition and monopoly. This course does not qualify as a credit for either the Major in Economics for Management Studies or the B.B.A.",,[MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],"MGEB02H3, ECO200Y1, ECO204Y1, ECO206Y1",Price Theory,,,2nd year +MGEB02H3,SOCIAL_SCI,,Intermediate level development of the principles of microeconomic theory. The course will cover the same topics as MGEB01H3 but will employ techniques involving calculus so as to make the theory clearer to students. Enrolment is limited to students registered in programs requiring this course.,,[MGEA02H3 and MGEA06H3 and MATA34H3] or [MGEA02H3 and MGEA06H3 and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]].,"MGEB01H3, ECO200Y1, ECO204Y1, ECO206Y1",Price Theory: A Mathematical Approach,,"1. Students who have completed [MGEA01H3 and MGEA05H3 and MATA34H3] or [[MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3]] and [[MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]] may be admitted with the permission of the Academic Director, Economics. 2. MGEB01H3 is not equivalent to MGEB02H3",2nd year +MGEB05H3,SOCIAL_SCI,,"Intermediate level development of the principles of macroeconomic theory. Topics covered include: theory of output, employment and the price level. This course does not qualify as a credit for either the Major in Economics for Management Studies or for the B.B.A.",,[MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],"MGEB06H3, ECO202Y1, ECO208Y1, ECO209Y1",Macroeconomic Theory and Policy,,,2nd year +MGEB06H3,SOCIAL_SCI,,Intermediate level development of the principles of macroeconomic theory. The course will cover the same topics as MGEB05H3 but will employ techniques involving calculus so as to make the theory clearer to students. Enrolment is limited to students registered in programs requiring this course.,,[MGEA02H3 and MGEA06H3 and MATA34H3] or [MGEA02H3 and MGEA06H3 and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]].,"MGEB05H3, ECO202Y1, ECO208Y1, ECO209Y1",Macroeconomic Theory and Policy: A Mathematical Approach,,"Students who have completed: [MGEA01H3 and MGEA05H3 and MATA34H3] or [[MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]] may be admitted with the permission of the Academic Director, Economics.",2nd year +MGEB11H3,QUANT,,"An introduction to probability and statistics as used in economic analysis. Topics to be covered include: descriptive statistics, probability, special probability distributions, sampling theory, confidence intervals. Enrolment is limited to students registered in programs requiring this course.",,[MGEA02H3 and MGEA06H3 and MATA34H3] or [MGEA02H3 and MGEA06H3 and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]].,"ANTC35H3, ECO220Y1, ECO227Y1, PSYB07H3, (SOCB06H3), STAB22H3, STAB23H3, STAB52H3, STAB53H3, STAB57H3, STA107H5, STA237H1, STA247H1, STA246H5, STA256H5, STA257H1",Quantitative Methods in Economics I,,"Students who have completed: [MGEA01H3 and MGEA05H3 and MATA34H3] or [[MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]] may be admitted with the permission of the Academic Director, Economics.",2nd year +MGEB12H3,QUANT,,"A second course in probability and statistics as used in economic analysis. Topics to be covered include: confidence intervals, hypothesis testing, simple and multiple regression. Enrolment is limited to students registered in programs requiring this course.",,MGEB11H3 or STAB57H3,"ECO220Y1, ECO227Y1, STAB27H3, STAC67H3",Quantitative Methods in Economics II,,1. STAB27H3 is not equivalent to MGEB12H3. 2. Students are expected to have completed MGEA02H3 and MGEA06H3 (or equivalent) before taking MGEB12H3.,2nd year +MGEB31H3,SOCIAL_SCI,,A study of decision-making by governments from an economic perspective. The course begins by examining various rationales for public involvement in the economy and then examines a number of theories explaining the way decisions are actually made in the public sector. The course concludes with a number of case studies of Canadian policy making.,,[MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],,Public Decision Making,,,2nd year +MGEB32H3,SOCIAL_SCI,,"Cost-Benefit Analysis (CBA) is a key policy-evaluation tool developed by economists to assess government policy alternatives and provide advice to governments. In this course, we learn the key assumption behind and techniques used by CBA and how to apply these methods in practice.",,[MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],,Economic Aspects of Public Policy,MGEB01H3 or MGEB02H3,,2nd year +MGEC02H3,SOCIAL_SCI,,"Continuing development of the principles of microeconomic theory. This course will build on the theory developed in MGEB02H3. Topics will be chosen from a list which includes: monopoly, price discrimination, product differentiation, oligopoly, game theory, general equilibrium analysis, externalities and public goods. Enrolment is limited to students registered in programs requiring this course.",,MGEB02H3,"MGEC92H3, ECO200Y1, ECO2041Y, ECO206Y1",Topics in Price Theory,,,3rd year +MGEC06H3,SOCIAL_SCI,,"Continuing development of the principles of macroeconomic theory. The course will build on the theory developed in MGEB06H3. Topics will be chosen from a list including consumption theory, investment, exchange rates, rational expectations, inflation, neo-Keynesian economics, monetary and fiscal policy. Enrolment is limited to students registered in programs requiring this course.",,MGEB06H3,"ECO202Y1, ECO208Y1, ECO209Y1",Topics in Macroeconomic Theory,,,3rd year +MGEC08H3,SOCIAL_SCI,,"This course covers key concepts and theories in both microeconomics and macroeconomics that are relevant to businesses and investors. Topics to be covered include the market structures; the economics of regulations; the foreign exchange market; economic growth; and policy mix under different macro settings. Aside from enhancing students' understanding of economic analyses, this course also helps students prepare for the economics components in all levels of the CFA exams.",,MGEB02H3 and MGEB06H3,"MGEC41H3, MGEC92H3, MGEC93H3, ECO200Y1, ECO204Y1, ECO206Y1, ECO310H1, ECO364H1, ECO365H1",Economics of Markets and Financial Decision Making,,,3rd year +MGEC11H3,QUANT,,"This course builds on the introductory regression analysis learned in MGEB12H3 to develop the knowledge and skills necessary to obtain and analyze cross-sectional economic data. Topics includes, multiple regression, Instrumental variables, panel data, maximum likelihood estimation, probit regression & logit regression. “ R”, a standard software for econometric and statistical analysis, will be used throughout the course. By the end of the course students will learn how to estimate economic relations in different settings, and critically assess statistical results.",,MGEB12H3,"ECO374H5, ECM375H5, STA302H; MGEC11H3 may not be taken after STAC67H3.",Introduction to Regression Analysis,,,3rd year +MGEC20H3,SOCIAL_SCI,,"An examination of the role and importance of communications media in the economy. Topics to be covered include: the challenges media pose for conventional economic theory, historical and contemporary issues in media development, and basic media-research techniques. The course is research-oriented, involving empirical assignments and a research essay.",,MGEB01H3 or MGEB02H3,,Economics of the Media,,,3rd year +MGEC22H3,SOCIAL_SCI,,Intermediate level development of the principles of behavioural economics. Behavioural economics aims to improve policy and economic models by incorporating psychology and cognitive science into economics. The course will rely heavily on the principles of microeconomic analysis.,Grade B or higher in MGEB02H3. MGEC02H3 and the basics of game theory would be helpful.,MGEB02H3,,Behavioural Economics,,Priority will be given to students who have completed MGEC02H3.,3rd year +MGEC25H3,SOCIAL_SCI,,"This course covers special topics in an area of Economics. The specific topics will vary from year to year. It will provide students with an opportunity to explore a range of topics through the application of different economic methodologies and analyses. Also, it will highlight current faculty research expertise, and will also allow faculty to present material not covered in our existing course offerings in greater detail.",,MGEB02H3 and MGEB06H3,,Special Topics in Economics,,,3rd year +MGEC26H3,SOCIAL_SCI,,This course covers special topics an area of economics. The specific topics will vary from year to year. It will provide students with an opportunity to explore a range of topics through the application of different economic methodologies and analyses. It will also highlight current faculty research expertise and provide an opportunity to present material not covered in our existing course offerings in greater detail.,,MGEB02H3 and MGEB06H3,,Special Topics in Economics,,,3rd year +MGEC31H3,SOCIAL_SCI,,"A course concerned with the revenue side of government finance. In particular, the course deals with existing tax structures, in Canada and elsewhere, and with criteria for tax design.",,MGEB01H3 or MGEB02H3,"MGEC91H3, ECO336H1, ECO337H1",Economics of the Public Sector: Taxation,,,3rd year +MGEC32H3,SOCIAL_SCI,,"A study of resource allocation in relation to the public sector, with emphasis on decision criteria for public expenditures. The distinction between public and private goods is central to the course.",,MGEB01H3 or MGEB02H3,"MGEC91H3, ECO336H1, ECO337H1",Economics of the Public Sector: Expenditures,,,3rd year +MGEC34H3,SOCIAL_SCI,,"A study of the economic principles underlying health care and health insurance. This course is a survey of some of the major topics in health economics. Some of the topics that will be covered will include the economic determinants of health, the market for medical care, the market for health insurance, and health and safety regulation.",,MGEB02H3,ECO369H1,Economics of Health Care,,,3rd year +MGEC37H3,SOCIAL_SCI,,"A study of laws and legal institutions from an economic perspective. It includes the development of a positive theory of the law and suggests that laws frequently evolve so as to maximize economic efficiency. The efficiency of various legal principles is also examined. Topics covered are drawn from: externalities, property rights, contracts, torts, product liability and consumer protection, and procedure.",,MGEB01H3 or MGEB02H3,ECO320H1,Law and Economics,,,3rd year +MGEC38H3,SOCIAL_SCI,,"This course provides a comprehensive study of selected Canadian public policies from an economic point of view. Topics may include environmental policy, competition policy, inflation and monetary policy, trade policy and others. We will study Canadian institutions, decision-making mechanisms, implementation procedures, policy rationales, and related issues.",,[MGEB01H3 or MGEB02H3] and [MGEB05H3 or MGEB06H3],"ECO336H1, ECO337H1",The Economics of Canadian Public Policy,,,3rd year +MGEC40H3,SOCIAL_SCI,,"This course examines the economics of the internal organization of the firm. Emphasis will be on economic relationships between various parties involved in running a business: managers, shareholders, workers, banks, and government. Topics include the role of organizations in market economies, contractual theory, risk sharing, property rights, corporate financial structure and vertical integration.",,MGEB01H3 or MGEB02H3,"ECO310H1, ECO370Y5, ECO380H5",Economics of Organization and Management,,,3rd year +MGEC41H3,SOCIAL_SCI,,"This course covers the economics of the firm in a market environment. The aim is to study business behaviour and market performance as influenced by concentration, entry barriers, product differentiation, diversification, research and development and international trade. There will be some use of calculus in this course.",,MGEB02H3,"MGEC08H3, MGEC92H3, ECO310H1",Industrial Organization,,,3rd year +MGEC45H3,SOCIAL_SCI,,"This course is intended to apply concepts of analytic management and data science to the sports world. Emphasis on model building and application of models studied previously, including economics and econometrics, is intended to deepen the students’ ability to apply these skills in other areas as well. The course will address papers at the research frontier, since those papers are an opportunity to learn about the latest thinking. The papers will both be interested in sports intrinsically, and interested in sports as a way to assess other theories that are a part of business education.",,MGEB12H3,RSM314H3,"Sports Data, Analysis and Economics",,,3rd year +MGEC51H3,SOCIAL_SCI,,Applications of the tools of microeconomics to various labour market issues. The topics covered will include: labour supply; labour demand; equilibrium in competitive and non- competitive markets; non-market approaches to the labour market; unemployment. Policy applications will include: income maintenance programs; minimum wages; and unemployment.,,MGEB02H3,ECO339H1,Labour Economics I,,,3rd year +MGEC54H3,SOCIAL_SCI,,"This course studies the economic aspects of how individuals and firms make decisions: about education and on-the-job training. Economics and the business world consider education and training as investments. In this class, students will learn how to model these investments, and how to create good policies to encourage individuals and firms to make wise investment decisions.",,MGEB01H3 or MGEB02H3,"ECO338H1, ECO412Y5",Economics of Training and Education,,,3rd year +MGEC58H3,SOCIAL_SCI,,"This course focuses on the various methods that firms and managers use to pay, recruit and dismiss employees. Topics covered may include: training decisions, deferred compensation, variable pay, promotion theory, incentives for teams and outsourcing.",,MGEB02H3,"(MGEC52H3), ECO381H5",Economics of Human Resource Management,,,3rd year +MGEC61H3,SOCIAL_SCI,,"Macroeconomic theories of the balance of payments and the exchange rate in a small open economy. Recent theories of exchange-rate determination in a world of floating exchange rates. The international monetary system: fixed ""versus"" flexible exchange rates, international capital movements, and their implications for monetary policy.",,MGEB05H3 or MGEB06H3,"ECO230Y1, ECO365H1",International Economics: Finance,,,3rd year +MGEC62H3,SOCIAL_SCI,,"An outline of the theories of international trade that explain why countries trade with each other, and the welfare implications of this trade, as well as empirical tests of these theories. The determination and effects of trade policy instruments (tariffs, quotas, non-tariff barriers) and current policy issues are also discussed.",,MGEB02H3 or [MGEB01H3 and MATA34H3] or [MGEB01H3 and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3] and [MATA33H3 or MATA35H3 or MATA36H3 or MATA37H3]],"MGEC93H3, ECO230Y1, ECO364H1",International Economics: Trade Theory,,,3rd year +MGEC65H3,SOCIAL_SCI,,"This course provides an Economic framework to understand issues around the environment and climate change. The economic toolkit to understand these issues includes externalities, tradeoffs, cost-benefit analysis, marginal analysis, and dynamic accounting. The course will cover optimal policy approaches to pollution, carbon emissions, and resource extraction. These include carbon taxes, subsidies, cap-and-trade systems, bans, and quotas. Both theoretical and empirical approaches in Economics will be discussed.",,MGEB02H3 and MGEB12H3,,Economics of the Environment and Climate Change,,,3rd year +MGEC71H3,SOCIAL_SCI,,"There will be a focus on basic economic theory underlying financial intermediation and its importance to growth in the overall economy. The interaction between domestic and global financial markets, the private sector, and government will be considered.",,MGEB05H3 or MGEB06H3,ECO349H1,Money and Banking,,,3rd year +MGEC72H3,SOCIAL_SCI,,"This course introduces students to the theoretical underpinnings of financial economics. Topics covered include: intertemporal choice, expected utility, the CAPM, Arbitrage Pricing, State Prices (Arrow-Debreu security), market efficiency, the term structure of interest rates, and option pricing models. Key empirical tests are also reviewed.",,MGEB02H3 and MGEB06H3 and MGEB12H3,ECO358H1,Financial Economics,,,3rd year +MGEC81H3,SOCIAL_SCI,,"An introduction to the processes of growth and development in less developed countries and regions. Topics include economic growth, income distribution and inequality, poverty, health, education, population growth, rural and urban issues, and risk in a low-income environment.",,MGEB01H3 or MGEB02H3,ECO324H1,Economic Development,,,3rd year +MGEC82H3,SOCIAL_SCI,,"This course will use the tools of economics to understand international aspects of economic development policy. Development policy will focus on understanding the engagement of developing countries in the global economy, including the benefits and challenges of that engagement. Topics to be discussed will include globalization and inequality, foreign aid, multinational corporations, foreign direct investment, productivity, regional economic integration, and the environment.",,MGEB01H3 or MGEB02H3,"ECO324H1, ECO362H5",International Aspects of Development Policy,,,3rd year +MGEC91H3,SOCIAL_SCI,,"This course provides an overview of what governments can do to benefit society, as suggested by economic theory and empirical research. It surveys what governments actually do, especially Canadian governments. Efficient methods of taxation and methods of controlling government are also briefly covered.",,MGEB01H3 or MGEB02H3,"MGEC31H3, MGEC32H3, ECO336Y5, ECO336H1, ECO337H1",Economics and Government,,"This course may be applied to the C-level course requirements of the Minor Program in Economics for Management Studies. It may not, however, be used to meet the requirements of any program that leads to a B.B.A. or of the Major Program in Economics for Management Studies.",3rd year +MGEC92H3,SOCIAL_SCI,,"The course builds on MGEB01H3 or MGEB02H3 by exposing students to the economics of market structure and pricing. How and why certain market structures, such as monopoly, oligopoly, perfect competition, etc., arise. Attention will also be given to how market structure, firm size and performance and pricing relate. Role of government will be discussed.",,MGEB01H3 or MGEB02H3,"MGEC02H3, MGEC08H3, MGEC41H3, ECO200Y1, ECO204Y1, ECO206Y1, ECO310H1, ECO310Y5",Economics of Markets and Pricing,,"This course may be applied to the C-level course requirements of the Minor Program in Economics for Management Studies. It may not, however, be used to meet the requirements of any program that leads to a B.B.A. or of the Major Program in Economics for Management Studies.",3rd year +MGEC93H3,SOCIAL_SCI,,"This course provides general understanding on issues related to open economy and studies theories in international trade and international finance. Topics include why countries trade, implications of various trade policies, theories of exchange rate determination, policy implications of different exchange rate regimes and other related topics.",,[MGEB01H3 or MGEB02H3] and [MGEB05H3 or MGEB06H3],"MGEC08H3, MGEC62H3, ECO230Y1, ECO364H1, ECO365H1",International Economics,,"This course may be applied to the C-level course requirements of the Minor Program in Economics for Management Studies. It may not, however, be used to meet the requirements of any program that leads to a B.B.A. or of the Major Program in Economics for Management Studies.",3rd year +MGED02H3,SOCIAL_SCI,,"An upper-level extension of the ideas studied in MGEC02H3. The course offers a more sophisticated treatment of such topics as equilibrium, welfare economics, risk and uncertainty, strategic and repeated interactions, agency problems, and screening and signalling problems. Enrolment is limited to students registered in programs requiring this course.",,MGEB12H3 and MGEC02H3,ECO326H1,Advanced Microeconomic Theory,,,4th year +MGED06H3,SOCIAL_SCI,,"This course will review recent developments in macroeconomics, including new classical and new Keynesian theories of inflation, unemployment and business cycles. Enrolment is limited to students registered in programs requiring this course.",,MGEB12H3 and MGEC06H3,ECO325H1,Advanced Macroeconomic Theory,,,4th year +MGED11H3,QUANT,,"This is an advanced course building on MGEC11H3. Students will master regression theory, hypothesis and diagnostic tests, and assessment of econometric results. Treatment of special statistical problems will be discussed. Intensive computer-based assignments will provide experience in estimating and interpreting regressions, preparing students for MGED50H3. Enrolment is limited to students registered in programs requiring this course.",,MGEB02H3 and MGEB06H3 and MGEB11H3 and MGEB12H3 and MGEC11H3,ECO475H1,Theory and Practice of Regression Analysis,,,4th year +MGED25H3,SOCIAL_SCI,,"This course covers more advanced special topics an area of economics. That is, the topics covered will be more advanced than those covered by a C-level special topics course and thus have at least one specified C-level course as a listed prerequisite. The specific topics will vary from year to year. This course will provide students with an opportunity to explore a range of topics through the application of different economic methodologies and analyses. It will highlight current faculty research expertise and provide an opportunity to present material not covered in our existing course offerings in greater detail.",,At least 0.5 credit at the C-level in MGE courses,,Advanced Special Topics in Economics,,,4th year +MGED26H3,SOCIAL_SCI,,"This course covers more advanced special topics an area of economics. That is, the topics covered will be more advanced than those covered by a C-level special topics course and thus have at least one specified C-level course as a listed prerequisite. The specific topics will vary from year to year. This course will provide students with an opportunity to explore a range of topics through the application of different economic methodologies and analyses. It will highlight current faculty research expertise and provide an opportunity to present material not covered in our existing course offerings in greater detail.",,At least 0.5 credit at the C-level in MGE courses,,Advanced Special Topics in Economics,,,4th year +MGED43H3,SOCIAL_SCI,,"Explores the issue of outsourcing, and broadly defines which activities should a firm do ""in-house"" and which should it take outside? Using a combination of cases and economic analysis, it develops a framework for determining the ""best"" firm organization.",,MGEB02H3 and [MGEC40H3 or MGEC41H3],RSM481H1,Organization Strategies,,,4th year +MGED50H3,SOCIAL_SCI,University-Based Experience,"This course introduces to students the techniques used by economists to define research problems and to do research. Students will choose a research problem, write a paper on their topic and present their ongoing work to the class.",,MGEB02H3 and MGEC02H3 and MGEB06H3 and MGEC06H3 and MGEB11H3 and MGEB12H3 and MGEC11H3. This course should be taken among the last 5.0 credits of a twenty-credit degree.,ECO499H1,Workshop in Economic Research,MGED11H3,,4th year +MGED63H3,SOCIAL_SCI,,"This course studies the causes, consequences and policy implications of recent financial crises. It studies key theoretical concepts of international finance such as exchange-rate regimes, currency boards, common currency, banking and currency crises. The course will describe and analyze several major episodes of financial crises, such as East Asia, Mexico and Russia in the 1990s, Argentina in the early 2000s, the U.S. and Greece in the late 2000s, and others in recent years.",,MGEC61H3,,"Financial Crises: Causes, Consequences and Policy Implications",,,4th year +MGED70H3,QUANT,,"Financial econometrics applies statistical techniques to analyze the financial data in order to solve problems in Finance. In doing so, this course will focus on four major topics: Forecasting returns, Modeling Univariate and Multivariate Volatility, High Frequency and market microstructure, Simulation Methods and the application to risk management.",,MGEC11H3 and [MGEC72H3 or MGFC10H3],ECO462H`,Financial Econometrics,,,4th year +MGED90H3,,,These courses will normally be made available only to upper- level students whose interests are not covered by other courses and whose performance in Economics courses has been well above average. Not all faculty will be available for these courses in any single session.,,,,Supervised Reading,,"Students must obtain consent from the Economic, Academic Director, the supervising instructor and the Department of Management before registering for this course.",4th year +MGED91H3,,,These courses will normally be made available only to upper- level students whose interests are not covered by other courses and whose performance in Economics courses has been well above average. Not all faculty will be available for these courses in any single session.,,,,Supervised Reading,,"Students must obtain consent from the Economic, Academic Director, the supervising instructor and the Department of Management before registering for this course.",4th year +MGFB10H3,SOCIAL_SCI,,"An introduction to basic concepts and analytical tools in financial management. Building on the fundamental concept of time value of money, the course will examine stock and bond valuations and capital budgeting under certainty. Also covered are risk-return trade-off, financial planning and forecasting, and long-term financing decisions.",,MGEB11H3 and MGAB01H3 and [MGTA38H3 or (MGTA35H3) or (MGTA36H3)],"MGT338H5, RSM332H1, MGM230H5, RSM230H1",Principles of Finance,,,2nd year +MGFC10H3,SOCIAL_SCI,,"This course covers mainstream finance topics. Besides a deeper examination of certain topics already covered in MGFB10H3, the course will investigate additional subjects such as working capital management, capital budgeting under uncertainty, cost of capital, capital structure, dividend policy, leasing, mergers and acquisitions, and international financial management.",,MGFB10H3,"MGT339H5, RSM333H1, MGM332H5",Intermediate Finance,,,3rd year +MGFC20H3,SOCIAL_SCI,,"This course covers goal setting, personal financial statements, debt and credit management, risk management, investing in financial markets, real estate appraisal and mortgage financing, tax saving strategies, retirement and estate planning. The course will benefit students in managing their personal finances, and in their future careers with financial institutions.",,MGFB10H3,,Personal Financial Management,,,3rd year +MGFC30H3,SOCIAL_SCI,,"This course introduces students to the fundamentals of derivatives markets covering futures, swaps, options and other financial derivative securities. Detailed descriptions of, and basic valuation techniques for popular derivative securities are provided. As each type of derivative security is introduced, its applications in investments and general risk management will be discussed.",,,"MGT438H5, RSM435H1",Introduction to Derivatives Markets,MGFC10H3,,3rd year +MGFC35H3,SOCIAL_SCI,,"This course deals with fundamental elements of investments. Basic concepts and techniques are introduced for various topics such as risk and return characteristics, optimal portfolio construction, security analysis, investments in stocks, bonds and derivative securities, and portfolio performance measurements.",,,"(MGFD10H3), MGT330H5, RSM330H1",Investments,MGFC10H3,,3rd year +MGFC45H3,QUANT,,"This course introduces students to both the theoretical and practical elements of portfolio management. On the theoretical side, students learn the investment theories and analytic models applicable to portfolio management. Students gain fundamental knowledge of portfolio construction, optimization, and performance attribution. The hands-on component of the course aims to provide students with a unique experiential learning opportunity, through participation in the different stages of the portfolio management process. The investment exercises challenge students to apply and adapt to different risk and return scenarios, time horizons, legal and other unique investment constraints. Classes are conducted in the experiential learning lab, where students explore academic, research and practical components of Portfolio Management.",,,,Portfolio Management: Theory and Practice,MGFC35H3,,3rd year +MGFC50H3,SOCIAL_SCI,,"This course provides students with a framework for making financial decisions in an international context. It discusses foreign exchange markets, international portfolio investment and international corporate finance. Next to covering the relevant theories, students also get the opportunity to apply their knowledge to real world issues by practicing case studies.",,MGFC10H3,"MGT439H5, RSM437H1",International Financial Management,,,3rd year +MGFC60H3,SOCIAL_SCI,,This course introduces the tools and skills required to perform a comprehensive financial statement analysis from a user perspective. Students will learn how to integrate the concepts and principles in accounting and finance to analyze the financial statements and to utilize that information in earnings-based security valuation.,,MGFC10H3,RSM429H1,Financial Statement Analysis and Security Valuation,,,3rd year +MGFC85H3,SOCIAL_SCI,,"This course covers special topics in the area of finance. The specific topics will vary from year to year, but could include topics in Financial Markets, Financial Intermediation, Corporate Governance, Real Estate Finance, Retirement Planning, and Sustainable Finance. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,MGFB10H3 and MGFC10H3,,Special Topics in Finance,,,3rd year +MGFD15H3,SOCIAL_SCI,,"This course explores the private equity asset class and the private equity acquisition process. It covers both the academic and practical components of private equity investing, including: deal sourcing, financial modelling and valuations, transaction structuring, financing, diligence, negotiations, post transaction corporate strategy and governance.",,MGAB02H3 and MGFC10H3,"RSM439H1, MGT495H5",Private Equity,,,4th year +MGFD25H3,QUANT,,"Financial Technologies (FinTech) are changing our everyday lives and challenging many financial institutions to evolve and adapt. The course explores disruptive financial technologies and innovations such as mobile banking, cryptocurrencies, Robo-advisory and the financial applications of artificial intelligence (AI) etc. The course covers the various areas within the financial industry that are most disrupted, thus leading to discussions on the challenges and opportunities for both the financial institutions and the regulators. Classes are conducted in the experiential learning lab where students explore academic, research and practical components of FinTech.",CSCA20H3,MGFC10H3,"RSM316H1, MGT415H5",Financial Technologies and Applications (FinTech),MGFC35H3/(MGFD10H3),,4th year +MGFD30H3,SOCIAL_SCI,,"This course develops analytical skills in financial risk management. It introduces techniques used for evaluating, quantifying and managing financial risks. Among the topics covered are market risk, credit risk, operational risk, liquidity risk, bank regulations and credit derivatives.",,MGFC10H3,"ECO461H1, RSM432H1",Risk Management,,,4th year +MGFD40H3,SOCIAL_SCI,University-Based Experience,"This course is designed to help students understand how different psychological biases can affect investor behaviours and lead to systematic mispricing in the financial market. With simulated trading games, students will learn and practice various trading strategies to take advantage of these market anomalies.",,MGFC10H3 and MGEB12H3,MGT430H5,Investor Psychology and Behavioural Finance,,,4th year +MGFD50H3,SOCIAL_SCI,,"This course provides a general introduction to the important aspects of M&A, including valuation, restructuring, divestiture, takeover defences, deal structuring and negotiations, and legal issues.",,MGFC10H3,MGT434H5,Mergers and Acquisitions: Theory and Practice,,,4th year +MGFD60H3,SOCIAL_SCI,,This course integrates finance theories and practice by using financial modeling and simulated trading. Students will learn how to apply the theories they learned and to use Excel and VBA to model complex financial decisions. They will learn how the various security markets work under different simulated information settings.,,,"MGT441H5, RSM434H1",Financial Modeling and Trading Strategies,MGFC30H3 and MGFC35H3/(MGFD10H3),,4th year +MGFD70H3,SOCIAL_SCI,,"This course reinforces and expands upon the topics covered in MGFB10H3/(MGTB09H3), (MGTC03H3) and MGFC10H3/(MGTC09H3). It examines more advanced and complex decision making situations a financial manager faces in such areas as capital budgeting, capital structure, financing, working capital management, dividend policy, leasing, mergers and acquisitions, and risk management.",,MGFC10H3,"MGT431H5, MGT433H5, RSM433H1",Advanced Financial Management,,,4th year +MGFD85H3,SOCIAL_SCI,,"This course covers special topics in the area of finance. The specific topics will vary from year to year but could include topics in Financial Markets, Financial Intermediation, Corporate Governance, Real Estate Finance, Retirement Planning, Sustainable Finance, and Fixed Income. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,MGFB10H3 and MGFC10H3,,Advanced Special Topics in Finance,,,4th year +MGHA12H3,SOCIAL_SCI,,"An introduction to current human resource practices in Canada, emphasizing the role of Human Resource Management in enhancing performance, productivity and profitability of the organization. Topics include recruitment, selection, training, career planning and development, diversity and human rights issues in the work place.",,,"(MGHB12H3), (MGIB12H3), MGIA12H3, MGT460H5, RSM460H1",Human Resource Management,,,1st year +MGHB02H3,SOCIAL_SCI,,"An introduction to micro- and macro-organizational behaviour theories from both conceptual and applied perspectives. Students will develop an understanding of the behaviour of individuals and groups in different organizational settings. Topics covered include: individual differences, motivation and job design, leadership, organizational design and culture, group dynamics and inter-group relations.",,MGTA38H3 or (MGTA35H3) or (MGTA36H3),"MGIB02H3, MGT262H5, RSM260H1, PSY332H",Managing People and Groups in Organizations,,,2nd year +MGHC02H3,SOCIAL_SCI,Partnership-Based Experience,"This course will help students develop the critical skills required by today's managers. Topics covered include self- awareness, managing stress and conflict, using power and influence, negotiation, goal setting, and problem-solving. These skills are important for leadership and will enable students to behave more effectively in their working and personal lives. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,[MGHB02H3 or MGIB02H3] and [MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3)],MGIC02H3,Management Skills,,,3rd year +MGHC23H3,SOCIAL_SCI,Partnership-Based Experience,"Examines the nature and effects of diversity in the workplace. Drawing on theories and research from psychology, the course will examine topics like stereotyping, harassment, discrimination, organizational climate for diversity, conflict resolution within diverse teams, and marketing to a diverse clientele.",,MGHB02H3 or MGIB02H3,,Diversity in the Workplace,,,3rd year +MGHC50H3,SOCIAL_SCI,,"This course covers special topics in the area of organizational behaviour. The specific topics will vary from year to year but could include topics in organizational culture, motivation, leadership, communication, organizational design, work attitudes, or equity, diversity and inclusion at work. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",[MGHA12H3 or MGIA12H3] and [MGTA35H3 or MGTA36H3 or MGTA38H3],7.5 credits including MGHB02H3,,Special Topics in Human Resources,,,3rd year +MGHC51H3,SOCIAL_SCI,,"This course covers special topics in the area of organizational behaviour. The specific topics will vary from year to year but could include topics in organizational culture, motivation, leadership, communication, organizational design, work attitudes, or equity, diversity and inclusion at work. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",MGTA35H3 or MGTA36H3 or [MGTA38H3 and MGHA12H3] or MGIA12H3,7.5 credits including MGHB02H3 or MGIB02H3,,Special Topics in Organizational Behaviour,,,3rd year +MGHC52H3,SOCIAL_SCI,University-Based Experience,"An introduction to the theory and practice of negotiation in business. This course develops approaches and tactics to use in different forums of negotiation, and an introduction to traditional and emerging procedures for resolving disputes. To gain practical experience, students will participate in exercises which simulate negotiations.",,MGHB02H3 or MGIB02H3,,Business Negotiation,,,3rd year +MGHC53H3,SOCIAL_SCI,University-Based Experience,"An overview of the industrial system and process. The course will introduce students to: industrial relations theory, the roles of unions and management, law, strikes, grievance arbitration, occupational health and safety, and the history of the industrial relations system. Students will participate in collective bargaining simulations. This course includes work- integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,Completion of at least 10.0 credits including [[MGEA01H3 and MGEA05H3] or [MGEA02H3 and MGEA06H3]].,,Introduction to Industrial Relations,,,3rd year +MGHD14H3,SOCIAL_SCI,,"This advanced leadership seminar builds on MGHC02H3/(MGTC90H3) Management Skills, focusing on leadership theories and practices. Through case studies, skill-building exercises, and world-class research, students will learn critical leadership theories and concepts while gaining an understanding of how effective leaders initiate and sustain change at the individual and corporate levels, allowing each student to harness their full leadership potential.",,[MGHB02H3 or MGIB02H3] or MGHC02H3 or MGIC02H3,,Leadership,,,4th year +MGHD24H3,SOCIAL_SCI,,"Occupational health and safety is a management function, however, many managers are not prepared for this role when they arrive in their first jobs. This course will consider the physical, psychological, social, and legal environments relevant to health and safety in the workplace.",,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Occupational Health and Safety Management,,,4th year +MGHD25H3,SOCIAL_SCI,,"An in-depth look at recruitment and selection practices in organizations. Students will learn about organizational recruitment strategies, the legal issues surrounding recruitment and selection, how to screen job applicants, and the role of employee testing and employee interviews in making selection decisions.",,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Human Resources Recruitment and Selection,,,4th year +MGHD26H3,SOCIAL_SCI,,"This course is designed to teach students about the training and development process. Topics include how training and development fits within the larger organizational context as well as learning, needs analysis, the design and delivery of training programs, on and off-the-job training methods, the transfer of training, and training evaluation.",,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Training and Development,,,4th year +MGHD27H3,SOCIAL_SCI,,"This course is designed to provide students with an understanding of strategic human resources management and the human resource planning process. Students will learn how to forecast, design, and develop human resource plans and requirements using both qualitative and quantitative techniques.",,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Human Resources Planning and Strategy,,,4th year +MGHD28H3,SOCIAL_SCI,University-Based Experience,This course is designed to provide students with an understanding of compensation programs and systems. Students will learn how to design and manage compensation and benefit programs; individual and group reward and incentive plans; and how to evaluate jobs and assess employee performance.,,MGHA12H3/(MGHB12H3) or MGIA12H3/(MGIB12H3),,Compensation,,,4th year +MGHD60H3,SOCIAL_SCI,,"This course covers advanced special topics in the area of organizational behaviour and human resources. The specific topics will vary from year to year, but could include topics in: organizational culture, motivation, leadership, communication, organizational design, work attitudes, job analysis, employee well-being and performance, performance management, selection, training, or equity, diversity and inclusion at work. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",MGTA38H3 or MGTA35H3 or MGTA36H3,[MGHA12H3 or MGIA12H3] and [MGHB02H3 or MGIB02H3] and 7.5 credits,,Advanced Special Topics in Organizational Behaviour and Human Resources,,,4th year +MGIA01H3,SOCIAL_SCI,,"An introduction to basic marketing concepts and tools that provide students with a conceptual framework for analyzing marketing problems facing global managers. Topics are examined from an international marketing perspective and include: buyer behaviour, market segmentation and basic elements of the marketing mix.",,Enrolment in the MIB program,"MGMA01H3, MGT252H5, RSM250H1",Principles of International Marketing,,,1st year +MGIA12H3,SOCIAL_SCI,,"This course examines how human resource practices are different across cultures and how they are affected when they ""go global."" It examines how existing organizational structures and human resource systems need to adapt to globalization, in order to succeed domestically and internationally.",,,"(MGIB12H3), (MGHB12H3), MGT460H5, RSM406H1, MGHA12H3",International Human Resources,,,1st year +MGIB01H3,SOCIAL_SCI,,"This course examines the challenge of entering and operating in foreign markets. Topics such as international marketing objectives, foreign market selection, adaptation of products, and communication and cultural issues, are examined through case discussions and class presentations. The term project is a detailed plan for marketing a specific product to a foreign country.",,MGMA01H3 or MGIA01H3,MGMB01H3,Global Marketing,,,2nd year +MGIB02H3,SOCIAL_SCI,,"Examines how and why people from different cultures differ in their workplace behaviours, attitudes, and in how they behave in teams. Uses discussion and case studies to enable students to understand how employees who relocate or travel to a different cultural context, can manage and work in that context.",,,"MGHB02H3, RSM260H1",International Organizational Behaviour,,,2nd year +MGIC01H3,SOCIAL_SCI,,"International Corporate Strategy examines the analyses and choices that corporations make in an increasingly globalized world. Topics will include: recent trends in globalization, the notion of competitive advantage, the choice to compete through exports or foreign direct investment, and the risks facing multinational enterprises.",,Minimum of 10.0 credits including MGAB02H3 and MGIA01H3 and MGFB10H3 and MGIB02H3,MGSC01H3,International Corporate Strategy,,,3rd year +MGIC02H3,SOCIAL_SCI,,"Leaders who work internationally must learn how to customize their leadership competencies to the different cultures in which they practice. By using role plays, simulations, cases, and class discussions, students will develop the culturally appropriate leadership skills of articulating a vision, planning and implementing goals, negotiation, and providing effective feedback.",,MGIB02H3,MGHC02H3,International Leadership Skills,,,3rd year +MGID40H3,SOCIAL_SCI,,"This course offers an introduction to key topics in the law governing international trade and business transactions, including the law and conventions governing foreign investment, and the legal structure of doing business internationally, the international sale and transportation of goods, international finance, intellectual property and international dispute settlement.",,Completion of 10.0 credits,,Introduction to International Business Law,,,4th year +MGID79H3,SOCIAL_SCI,Partnership-Based Experience,"This course focuses on critical thinking and problem solving skills through analyzing, researching and writing comprehensive business cases, and is offered in the final semester of the MIB specialist program. It is designed to provide students the opportunity to apply the knowledge acquired from each major area of management studies to international real-world situations.",,MGAB03H3 and MGIA01H3 and MGIA12H3/(MGIB12H3) and MGIB02H3 and MGFC10H3 and MGIC01H3,MGSD01H3,International Capstone Case Analysis,,,4th year +MGMA01H3,SOCIAL_SCI,University-Based Experience,"An introduction to basic concepts and tools of marketing designed to provide students with a conceptual framework for the analysis of marketing problems. The topics include an examination of buyer behaviour, market segmentation; the basic elements of the marketing mix. Enrolment is limited to students registered in Programs requiring this course. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,Enrolment in any Bachelor of Business Administration (BBA) program.,"MGIA01H3, RSM250H1",Principles of Marketing,,,1st year +MGMB01H3,SOCIAL_SCI,,"This course builds on the introductory course in marketing and takes a pragmatic approach to develop the analytical skills required of marketing managers. The course is designed to help improve skills in analyzing marketing situations, identifying market opportunities, developing marketing strategies, making concise recommendations, and defending these recommendations. It will also use case study methodology to enable students to apply the concepts learned in the introductory course to actual issues facing marketing managers.",,[MGMA01H3 or MGIA01H3] and [MGTA38H3 or (MGTA35H3) or (MGTA36H3)],MGIB01H3,Marketing Management,,,2nd year +MGMC01H3,SOCIAL_SCI,,"A decision oriented course, which introduces students to the market research process. It covers different aspects of marketing research, both quantitative and qualitative, and as such teaches some essential fundamentals for the students to master in case they want to specialize in marketing. And includes alternative research approaches (exploratory, descriptive, causal), data collection, sampling, analysis and evaluation procedures are discussed. Theoretical and technical considerations in design and execution of market research are stressed. Instruction involves lectures and projects including computer analysis.",,MGMA01H3 or MGIA01H3,"MGT453H5, RSM452H1",Market Research,,,3rd year +MGMC02H3,SOCIAL_SCI,Partnership-Based Experience,"This course provides an overview of the role of products in the lives of consumers. Drawing on theories from psychology, sociology and economics, the course provides (1) a conceptual understanding of consumer behaviour (e.g. why people buy), and (2) an experience in the application of these concepts to marketing decisions. This course includes work- integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGMA01H3/(MGTB04H3) or MGIA01H3/(MGTB07H3),(MGTD13H3),Consumer Behaviour,,,3rd year +MGMC11H3,SOCIAL_SCI,Partnership-Based Experience,"Managing products and brands is one of the most important functions of a successful marketer. Product lines and extensions and other issues of product portfolio will be covered in this course. This course also examines issues about brand equity, its measurement and contemporary challenges faced by marketers about branding product management.",,MGMA01H3 or MGIA01H3,,Product Management and Branding,,,3rd year +MGMC12H3,SOCIAL_SCI,Partnership-Based Experience,"An introduction to the basic communication tools used in planning, implementing and evaluating promotional strategies .The course reviews basic findings of the behavioural sciences dealing with perception, personality, psychological appeals, and their application to advertising as persuasive communication. Students will gain experience preparing a promotional plan for a small business. The course will rely on lectures, discussions, audio-visual programs and guest speakers from the local advertising industry.",,MGMA01H3 or MGIA01H3,,Advertising: From Theory to Practice,,,3rd year +MGMC13H3,SOCIAL_SCI,,"Pricing right is fundamental to a firm's profitability. This course draws on microeconomics to develop practical approaches for optimal pricing decision-making. Students develop a systematic framework to think about, analyze and develop strategies for pricing right. Key issues covered include pricing new product, value pricing, behavioural issues, and price segmentation.",,[MGMA01H3 or MGIA01H3] and MGEB02H3,,Pricing Strategy,,,3rd year +MGMC14H3,SOCIAL_SCI,,"Sales and distribution are critical components of a successful marketing strategy. The course discusses key issues regarding sales force management and distribution structure and intermediaries. The course focuses on how to manage sales force rather than how to sell, and with the design and management of an effective distribution network.",,MGMA01H3 or MGIA01H3,,Sales and Distribution Management,,,3rd year +MGMC20H3,SOCIAL_SCI,Partnership-Based Experience,"This course covers the advantages/disadvantages, benefits and limitations of E-commerce. Topics include: E-commerce business models; Search Engine Optimization (SEO); Viral marketing; Online branding; Online communities and Social Networking; Mobile and Wireless E-commerce technologies and trends; E-Payment Systems; E-commerce security issues; Identity theft; Hacking; Scams; Social Engineering; Biometrics; Domain name considerations and hosting issues. Students will also gain valuable insight from our guest speakers.",,MGMA01H3 or MGIA01H3,,Marketing in the Information Age,,,3rd year +MGMC30H3,SOCIAL_SCI,,"Event and Sponsorship Management involves the selection, planning and execution of specific events as well as the management of sponsorship rights. This will involve the integration of management skills, including finance, accounting, marketing and organizational behaviour, required to produce a successful event.",,Completion of at least 10.0 credits in any B.B.A. program,,Event and Sponsorship Management,,,3rd year +MGMC40H3,SOCIAL_SCI,,"This course covers special topics in the area of Marketing. The specific topics will vary from year to year but could include topics in consumer behaviour, marketing management, marketing communication, new developments in the marketing area and trends. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,[MGMA01H3 or MGIA01H3] and [MGMB01H3 or MGIB01H3],,Special Topics in Marketing,,,3rd year +MGMD01H3,QUANT,,"Marketing is a complex discipline incorporating not only an “art” but also a “science”. This course reviews the “science” side of marketing by studying multiple models used by companies. Students will learn how to assess marketing problems and use appropriate models to collect, analyze and interpret marketing data.",,[MGMA01H3 or MGIA01H3] and MGEB11H3 and MGEB12H3,MGT455H5,Applied Marketing Models,,,4th year +MGMD02H3,SOCIAL_SCI,,"This course combines the elements of behavioural research as applied to consumers' decision making models and how this can be used to predict decisions within the marketing and consumer oriented environment. It also delves into psychology, economics, statistics, and other disciplines.",,MGMA01H3 or MGIA01H3,PSYC10H3,Judgement and Decision Making,,,4th year +MGMD10H3,SOCIAL_SCI,University-Based Experience,"This seminar style course has advanced discussions that will go in-depth into a variety of topics in consumer psychology. Students will read papers from academic journals each week, lead the discussions, and share their ideas. Students are expected to submit a research paper at the end of the term. This course is appropriate for senior marketing students who are keen on getting insights into consumer psychology and/or those who want to get exposure to academic research in consumer psychology.",,[MGMA01H3 or MGIA01H3] and MGMB01H3,,Seminar in Consumer Psychology I,,,4th year +MGMD11H3,SOCIAL_SCI,,"This seminar style course has advanced discussions that will go in-depth into a variety of topics in consumer psychology. Students will read papers from academic journals each week, lead the discussions, and share their ideas. Students are expected to submit a research paper at the end of the term. This course is appropriate for senior marketing students who are keen on getting insights into consumer psychology and/or those who want to get exposure to academic research in consumer psychology.",,[MGMA01H3 or MGIA01H3] and MGMB01H3,,Seminar in Consumer Psychology II,,,4th year +MGMD19H3,SOCIAL_SCI,,"This course focuses on current faculty research in areas like consumer behaviour and choice, pricing, promotions, etc. and their importance to marketing and research methodology. Topics covered will include specific theoretical or functional areas in marketing. The particular content in any given year will depend on the faculty member.",Some interest in or additional knowledge of different aspects of Marketing,[MGMA01H3 or MGIA01H3] and [MGMB01H3 or MGIB01H3],MGMD21H3,Advanced Special Topics in Marketing II,,"This course can be taken as CR/NCR only for degree requirements, not program requirements.",4th year +MGMD20H3,SOCIAL_SCI,,"This course focuses on current faculty research in areas like consumer behaviour and choice, pricing, promotions etc. and their importance to marketing and research methodology. Topics covered will include specific theoretical or functional areas in marketing. The particular content in any given year will depend on the faculty member.",Some interest in or additional knowledge of different aspects of Marketing,[MGMA01H3 or MGIA01H3] and [MGMB01H3 or MGIB01H3],,Advanced Special Topics in Marketing I,,,4th year +MGMD21H3,SOCIAL_SCI,,"This course focuses on the analysis required to support marketing decisions and aid in the formation of marketing strategy. This is a Marketing simulation course which will challenge students to make real-time decisions with realistic consequences in a competitive market scenario. As part of a team, students will make decisions on Pricing, branding, distribution strategy, commissioning and using market research, new product launches and a variety of related marketing actions while competing with other teams in a simulation that will dynamically unfold over the semester. This is an action-packed capstone course and will give students the chance to apply what they have learned and to polish their skills in a realistic environment.",Some interest in or additional knowledge of different aspects of Marketing,[MGMA01H3 or MGIA01H3] and [MGMB01H3 or MGIB01H3],,Competitive Marketing in Action,,,4th year +MGOC10H3,QUANT,,"The course develops understanding and practical skills of applying quantitative analysis for making better management decisions. Studied analytics methodologies include linear programming; multi-criteria optimization; network and waiting- line models; decision analysis. Methodologies are practiced in a broad range of typical business problems drawn from different areas of management, using spreadsheet modelling tools.",,MGEB02H3 and MGEB12H3 and [MGTA38H3 or (MGTA36H3) or (MGTA35H3)],,Analytics for Decision Making,,,3rd year +MGOC15H3,QUANT,,"The course lays the foundation of business data analytics and its application to Management. Using state-of-the-art computational tools, students learn the fundamentals of processing, visualizing, and identifying patterns from data to draw actionable insights and improve decision making in business processes.",,MGEB12H3,"MGT458H5, (MGOD30H3)",Introductory Business Data Analytics,MGOC10H3,,3rd year +MGOC20H3,QUANT,,"An introduction to a broad scope of major strategic and tactical issues in Operations Management. Topics include project management, inventory management, supply chain management, forecasting, revenue management, quality management, lean and just-in-time operations, and production scheduling.",,MGOC10H3,"MGT374H5, RSM370H1",Operations Management,,,3rd year +MGOC50H3,QUANT,,"This course will focus on topics in Analytics and Operations Management that are not covered or are covered only lightly in regularly offered courses. The particular content in any given year will depend on the faculty member. Possible topics include (but are not limited to) production planning, revenue management, project management, logistics planning, operations management in shared economy, and health care operations management.",,MGEB02H3 and MGEB12H3,,Special Topics in Analytics and Operations,MGOC10H3,,3rd year +MGOD31H3,QUANT,Partnership-Based Experience,"The course covers advanced Management concepts of Big Data analytics via state-of-the-art computational tools and real-world case studies. By the end of the course, students will be able to conceptualize, design, and implement a data- driven project to improve decision-making.",,MGOC10H3 and MGOC15H3,(MGOD30H3),Advanced Business Data Analytics,,,4th year +MGOD40H3,QUANT,,"Students will learn how to construct and implement simulation models for business processes using a discrete-event approach. They will gain skills in the statistical analysis of input data, validation and verification of the models. Using these models, they can evaluate the alternative design and make system improvements. Students will also learn how to perform a Monte Carlo simulation. Spreadsheet and simulation software are integral components to this course and will enhance proficiency in Excel.",,MGOC10H3,MIE360H1,Simulation and Analysis of Business Processes,MGOC20H3,,4th year +MGOD50H3,QUANT,,This course will focus on topics in Analytics and Operations Management that are not covered in regularly offered courses. The particular content in any given year will depend on the faculty member.,,MGOC10H3,,Advanced Special Topics in Analytics and Operations Management,,,4th year +MGSB01H3,SOCIAL_SCI,University-Based Experience,"This course offers an introduction to strategic management. It analyzes strategic interactions between rival firms in the product market, provides conceptual tools for analyzing these interactions, and highlights the applications of these tools to key elements of business strategy. The course then moves beyond product market competition and considers (among other things) strategic interactions inside the organization, and with non-market actors.",MGAB01H3,Minimum 4.0 credits including MGEA02H3 and MATA34H3 or [[MATA29H3 or MATA30H3 or MATA31H3 or (MATA32H3)] and [(MATA33H3) or MATA35H3 or MATA36H3 or MATA37H3]],RSM392H1 and MGT492H5,Introduction to Strategy,,,2nd year +MGSB22H3,SOCIAL_SCI,University-Based Experience,"This course focuses on the skills required and issues such as personal, financial, sales, operational, and personnel, which entrepreneurs face as they launch and then manage their early-stage ventures. Particular focus is placed on developing the analytical skills necessary to assess opportunities, and applying the appropriate strategies and resources in support of an effective business launch. This course includes work- integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAB01H3 and [MGHB02H3 or MGIB02H3],"MGT493H5, RSM493H1",Entrepreneurship,,,2nd year +MGSC01H3,SOCIAL_SCI,,"Begins with an examination of the concept of business mission. Students are then challenged to evaluate the external and industry environments in which businesses compete, to identify sources of competitive advantage and value creation, and to understand and evaluate the strategies of active Canadian companies.",,MGHB02H3 and [MGEB02H3 or MGEB06H3],"MGIC01H3, VPAC13H3, MGT492H5, RSM392H1",Strategic Management I,,,3rd year +MGSC03H3,SOCIAL_SCI,,"An introduction to key public sector management processes: strategic management at the political level, planning, budgeting, human resource management, and the management of information and information technology. Makes use of cases, and simulations to develop management skills in a public sector setting.",,MGHB02H3 or [POLB56H3 and POLB57H3/(POLB50Y3)],,Public Management,,POLB56H3 and POLB57H3 are prerequisites only for students enrolled in Public Policy programs,3rd year +MGSC05H3,SOCIAL_SCI,,"How regulation, privatization and globalization are affecting today's managers. Most major management issues and business opportunities involve government (domestic or foreign) at some level - whether as lawmaker, customer, partner, investor, tax- collector, grant-giver, licensor, dealmaker, friend or enemy. This course provides students with an understanding of the issues and introduces some of the skills necessary to successfully manage a business's relationship with government.",,4.0 credits or [POLB56H3 and POLB57H3/(POLB50Y3)],,The Changing World of Business - Government Relations,,POLB56H3 and POLB57H3 are prerequisites only for students enrolled in Public Policy programs,3rd year +MGSC07H3,SOCIAL_SCI,,This course focuses on the theory and techniques of analyzing and writing business cases. The main focus is to assist students in developing their conceptual and analytical skills by applying the theory learned from each major area of management studies to practical situations. Critical thinking and problem solving skills are developed through extensive use of case analysis.,,MGAB03H3 and MGFB10H3 and MGHB02H3,,Introduction to Case Analysis Techniques,MGMA01H3 and MGAB02H3,,3rd year +MGSC10H3,SOCIAL_SCI,,"This course teaches students the ways in which business strategy and strategic decisions are affected by the recent explosion of digital technologies. Key considerations include the market and organizational context, process design, and managerial practices that determine value from data, digital infrastructures, and AI. It provides classic frameworks augmented by frontier research to make sense of digital transformation from the perspective of a general manager. Leaning on case study analysis and in-class discussion, this course will surface both practical and ethical pitfalls that can emerge in an increasingly digital world and equip students to operate effectively in professional contexts affected by these fast-moving trends.","Introductory Logic, Probability and Statistics Econometrics (Linear Regression)",Completion of 10.0 credits including MGEB11H3 and MGEB12H3,,Business Strategy in the Digital Age,,,3rd year +MGSC12H3,ART_LIT_LANG,,"Through the analysis of fiction and non-fiction narratives, particularly film, dealing with managers in both private and public sector organizations, the course explores the ethical dilemmas, organizational politics and career choices that managers can expect to face.",,MGHB02H3 or ENGD94H3 or [2.0 credits at the C-level in POL courses],,Narrative and Management,,,3rd year +MGSC14H3,HIS_PHIL_CUL,,"Increasingly, the marketplace has come to reward, and government regulators have come to demand a sophisticated managerial approach to the ethical problems that arise in business. Topics include ethical issues in international business, finance, accounting, advertising, intellectual property, environmental policy, product and worker safety, new technologies, affirmative action, and whistle-blowing.",,MGTA38H3 or (MGTA35H3) or (MGTA36H3),"(MGIC14H3), PHLB06H3",Management Ethics,,,3rd year +MGSC20H3,SOCIAL_SCI,University-Based Experience,"Tomorrow's graduates will enjoy less career stability than previous generations. Technology and demography are changing the nature of work. Instead of having secure progressive careers, you will work on contract or as consultants. You will need to think, and act like entrepreneurs. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGAB03H3 and MGHB02H3,,Consulting and Contracting: New Ways of Work,,,3rd year +MGSC26H3,SOCIAL_SCI,,"Venture capital and other sources of private equity play a critical role in the founding and development of new enterprises. In this course, we will review all aspects of starting and operating a venture capital firm. At the end of the course, students will better understand how the venture capital industry works; what types of businesses venture capitalists invest in and why; how contract structures protect investors; how venture capitalists create value for their investors and for the companies in which they invest; and how the North American venture capital model ports to other contexts.",,MGFB10H3 and MGEC40H3,,Venture Capital,,Priority will be given to students enrolled in the Specialist program in Strategic Management: Entrepreneurship Stream. Additional students will be admitted as space permits.,3rd year +MGSC30H3,SOCIAL_SCI,,"An introduction to the Canadian legal system and its effects on business entities. The course includes an examination of the Canadian court structure and a discussion of the various forms of business ownership, tort law, contract law, and property law.",,Completion of at least 10.0 credits including MGAB01H3 and MGAB02H3 and [MGTA38H3 or (MGTA35H3) or (MGTA36H3)],"MGT393H5, RSM225H1",The Legal Environment of Business I,,,3rd year +MGSC35H3,SOCIAL_SCI,Partnership-Based Experience,"This course introduces students to the nature and elements of innovation and explores the application of innovation to various stages of business evolution and to different business sectors. The course has a significant practical component, as student groups will be asked to provide an innovation plan for a real company. This course includes work-integrated- learning components, and satisfies the WIL requirement of the BBA degree.",,Completion of 10.0 credits and [MGSB22H3 or MGSC01H3 or MGSC20H3],,Innovation,,Priority will be given to students enrolled in the Entrepreneurship Stream of the Specialist/Specialist Co-op programs in Strategic Management.,3rd year +MGSC44H3,SOCIAL_SCI,Partnership-Based Experience,"This Course deals with: political risk & contingency planning; human threats; weather extremes; NGOs (WTO, IMF and World Bank); government influences - dumping, tariffs, subsidies; cultures around the world; foreign exchange issues; export financing for international business; international collaborative arrangements; and pro-active/re- active reasons for companies going international. There will also be guest speakers.",,MGHB02H3,"MGT491H1, RSM490H1",International Business Management,,,3rd year +MGSC91H3,SOCIAL_SCI,,"This course covers special topics in the area of strategy. The specific topics will vary from year to year, but could include topics in business or corporate strategy, strategy and technology, strategy for sustainability, international business strategy, entrepreneurship, or managing emerging enterprises. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",,MGSB01H3,,Special Topics in Strategy,,,3rd year +MGSD01H3,SOCIAL_SCI,,This course allows 4th-year Specialists students in Strategic Management to deepen and broaden their strategic skills by strengthening their foundational knowledge of the field and by highlighting applications to key strategic management issues facing modern organizations. It will improve students’ ability to think strategically and understand how strategic decisions are made at the higher levels of management.,,"Completion of at least 11.0 credits, including MGSC01H3 and one of [MGSC03H3 or MGSC05H3]",MGID79H3,Senior Seminar in Strategic Management,,,4th year +MGSD05H3,SOCIAL_SCI,,"Topics include competitive advantage, organizing for competitive advantage, and failures in achieving competitive advantage. Through case analysis and class discussion, the course will explore competitive positioning, sustainability, globalization and international expansion, vertical integration, ownership versus outsourcing, economies of scale and scope, and the reasons for failure.",,MGSC01H3 or MGIC01H3,,Strategic Management II,,Admission is restricted to students enrolled in a BBA subject POSt. Priority will be given to students enrolled in the Management Strategy stream of the Specialist/Specialist Co- op in Strategic Management.,4th year +MGSD15H3,HIS_PHIL_CUL,University-Based Experience,"Topics include identifying, managing and exploiting information assets, the opportunities and limits of dealing with Big Data, the impact of digitalization of information, managing under complexity, globalization, and the rise of the network economy. Students will explore a topic in greater depth through the writing of a research paper.",,MGSC01H3 or MGIC01H3 or enrolment in the Specialist/Specialist (Co-op) program in Management and Information Technology (BBA).,,Managing in the Information Economy,,Admission is restricted to students enrolled in a BBA subject POSt.,4th year +MGSD24H3,SOCIAL_SCI,University-Based Experience,"Aimed at students interested in launching their own entrepreneurial venture. The core of the course is the development of a complete business plan which details the student's plans for the venture's initial marketing, finance and growth. This course provides a framework for the evaluation of the commercial potential of business ideas. This course includes work-integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,MGMA01H3 and MGAB01H3 and MGAB02H3,,New Venture Creation and Planning,,,4th year +MGSD30H3,SOCIAL_SCI,,"This course considers patents, trademarks, copyright and confidential information. Canada's international treaty obligations as well as domestic law will be covered. Policy considerations, such as the patentability of life forms, copyright in an Internet age of easy copying and patents and international development will be included.",9.5 credits in addition to the prerequisite.,MGSC30H3,,Intellectual Property Law,,,4th year +MGSD32H3,SOCIAL_SCI,,"This course further examines the issues raised in Legal Environment of Business I. It focuses on relevant areas of law that impact business organizations such as consumer protection legislation and agency and employment law, and it includes a discussion of laws affecting secured transactions and commercial transactions.",,MGSC30H3,"MGT394H5, RSM325H1",The Legal Environment of Business II,,,4th year +MGSD40H3,HIS_PHIL_CUL,,"This course will examine the role of business in society including stakeholder rights and responsibilities, current important environmental and social issues (e.g., climate change, ethical supply chains, etc.) and management practices for sustainable development. It is designed for students who are interested in learning how to integrate their business skills with a desire to better society.",,Completion of 10.0 credits,,Principles of Corporate Social Responsibility,,,4th year +MGSD55H3,SOCIAL_SCI,,"This is an advanced course tackling critical issues in technology and information strategy. We focus on the theory and application of platform, screening, and AI strategies",,MGAB02H3 and MGEB02H3 and MGSB01H3 and [MGIC01H3 or MGSC01H3],MGSD15H3 and [MGSD91H3 if taken in Fall 2023],Strategy and Technology,,,4th year +MGSD91H3,SOCIAL_SCI,University-Based Experience,"This course covers special topics in the area of strategy. The specific topics will vary from year to year but could include topics in corporate strategy, strategy for public organizations, strategy for sustainability, international business strategy or entrepreneurship. The specific topics to be covered will be set out in the syllabus for the course for each semester in which it is offered.",MGSC01H3 or MGIC01H3,Completion of 10.0 credits,,Advanced Special Topics in Strategy,,,4th year +MGTA01H3,SOCIAL_SCI,,"This course serves as an introduction to the organizations called businesses. The course looks at how businesses are planned, organized and created, and the important role that businesses play within the Canadian economic system.",,,"MGTA05H3, MGM101H1, RSM100Y1",Introduction to Business,,,1st year +MGTA02H3,SOCIAL_SCI,,"This course serves as an introduction to the functional areas of business, including accounting, finance, production and marketing. It builds on the material covered in MGTA01H3.",,MGTA01H3,"MGTA05H3, MGM101H5, MGM102H5, RSM100Y1",Managing the Business Organization,,,1st year +MGTA38H3,ART_LIT_LANG,Partnership-Based Experience,"In this course, students will learn skills and techniques to communicate effectively in an organization. Creativity, innovation and personal style will be emphasized. Students will build confidence in their ability to communicate effectively in every setting while incorporating equity, diversity, and inclusion considerations. This course is a mandatory requirement for all management students. It includes work- integrated-learning components, and satisfies the WIL requirement of the BBA degree.",,,(MGTA35H3) and (MGTA36H3),Management Communications,,,1st year +MGTB60H3,SOCIAL_SCI,,"This course provides an introductory overview to the business of sport as it has become one of the largest industries in the world. Drawing from relevant theories applied to sports management, the course will incorporate practical case studies, along with critical thinking assignments and guest speakers from the industry.",,,(HLTB05H3),Introduction to the Business of Sport,,,2nd year +MGTC28H3,QUANT,,"This is an introductory coding course for Management students who have little programming experience. Beginning with the introduction to the fundamentals of computer scripting languages, students will then learn about the popular tools and libraries often used in various business areas. The case studies used in the course prepare students for some Management specializations that require a certain level of computer programming skills.",,MGEB12H3,"CSCA20H3, CSC120H1, MGT201H1",Computer Programming Applications for Business,,"Students are expected to know introductory algebra, calculus, and statistics to apply coding solutions to these business cases successfully.",3rd year +MGTD80H3,,,These courses are intended for upper level students whose interests are not covered in one of the other Management courses normally offered. The courses will only be offered when a faculty member is available for supervision and to students whose Management performance has been well above average. Students interested in these courses should consult with the Management Academic Director well in advance.,,,,Supervised Reading In Management,,"Students must obtain consent from the Management, Academic Director, the supervising instructor and the Department of Management before registering for this course.",4th year +MGTD81H3,,,These courses are intended for upper level students whose interests are not covered in one of the other Management courses normally offered. The courses will only be offered when a faculty member is available for supervision and to students whose Management performance has been well above average. Students interested in these courses should consult with the Management Academic Director well in advance.,,,,Supervised Reading In Management,,"Students must obtain consent from the Management, Academic Director, the supervising instructor and the Department of Management before registering for this course.",4th year +MGTD82Y3,,,These courses are intended for upper level students whose interests are not covered in one of the other Management courses normally offered. The courses will only be offered when a faculty member is available for supervision and to students whose Management performance has been well above average. Students interested in these courses should consult with the Management Academic Director well in advance.,,,,Supervised Reading In Management,,"Students must obtain consent from the Management, Academic Director, the supervising instructor and the Department of Management before registering for this course.",4th year +MUZA60H3,ART_LIT_LANG,University-Based Experience,The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone but is not a course to learn an instrument for the first time.,,,(VPMA73H3),Concert Band Ia,,,1st year +MUZA61H3,ART_LIT_LANG,University-Based Experience,The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone but is not a course to learn an instrument for the first time.,,MUZA60H3/(VPMA73H3),(VPMA74H3),Concert Band Ib,,,1st year +MUZA62H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,,(VPMA70H3),Concert Choir Ia,,,1st year +MUZA63H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Place interview required. Concert Choir attempts to accommodate everyone.,,MUZA62H3/(VPMA70H3),(VPMA71H3),Concert Choir Ib,,,1st year +MUZA64H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,,(VPMA66H3),String Orchestra Ia,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits.,1st year +MUZA65H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZA64H3/(VPMA66H3),(VPMA67H3),String Orchestra 1b,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits.,1st year +MUZA66H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,,(VPMA68H3),Small Ensembles Ia,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02.",1st year +MUZA67H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZA66H3/(VPMA68H3),(VPMA69H3),Small Ensembles Ib,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02.",1st year +MUZA80H3,ART_LIT_LANG,,"A practical introduction to musicianship through music- making and creation, with an emphasis on aural skills, rhythmic fluency, notation, and basic vocal and instrumental techniques. This course is open to students with no musical training and background.",,,(VPMA95H3),Foundations in Musicianship,,"Priority will be given to first and second-year students in Major and Minor Music and Culture programs. Additional students will be admitted as space permits. A placement test will be held in Week 1 of the course. Students who pass this test do not have to take MUZA80H3, and can move on to B-levels directly. Contact acm- pa@utsc.utoronto.ca for more information",1st year +MUZA81H3,ART_LIT_LANG,University-Based Experience,"This course will provide a broad overview of the music industry and fundamentals in audio theory and engineering. It will cover the physics of sound, psychoacoustics, the basics of electricity, and music business and audio engineering to tie into the Centennial College curriculum.",,Enrollment in the SPECIALIST (JOINT) PROGRAM IN MUSIC INDUSTRY AND TECHNOLOGY,,Introduction to Music Industry and Technology,,,1st year +MUZA99H3,HIS_PHIL_CUL,,"An introduction to music through active listening and the consideration of practical, cultural, historical and social contexts that shape our aural appreciation of music. No previous musical experience is necessary.",,,(VPMA93H3),Listening to Music,,,1st year +MUZB01H3,SOCIAL_SCI,,"Music within communities functions in ways that differ widely from formal models. Often the defining activity, it blurs boundaries between amateur, professional, audience and performer, and stresses shared involvement. Drawing upon their own experience, students will examine a variety of community practices and current research on this rapidly evolving area.",,MUZA80H3/(VPMA95H3),(VPMB01H3),Introduction to Community Music,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits.,2nd year +MUZB02H3,SOCIAL_SCI,,"An introduction to the theory and practice of music teaching, facilitation, and learning. Students will develop practical skills in music leadership, along with theoretical understandings that distinguish education, teaching, facilitation, and engagement as they occur in formal, informal, and non formal spaces and contexts.",,MUZA80H3/(VPMA95H3) or successful clearance of the MUZA80H3 exemption test,(VPMB02H3),"Introduction to Music Teaching, Facilitation, and Learning",,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits.,2nd year +MUZB20H3,HIS_PHIL_CUL,,"An examination of art and popular musics. This course will investigate the cultural, historical, political and social contexts of music-making and practices as experienced in the contemporary world.",,,(VPMB82H3),Music in the Contemporary World,,,2nd year +MUZB21H3,HIS_PHIL_CUL,,"A critical investigation of a wide range of twentieth and twenty-first-century music. This interdisciplinary course will situate music in its historical, social, and cultural environments.",,MUZB20H3/(VPMB82H3),,Exploring Music in Social and Cultural Contexts,,,2nd year +MUZB40H3,ART_LIT_LANG,,"A comprehensive study of the technologies in common use in music creation, performance and teaching. This course is lab and lecture based.",,,(VPMB91H3),Music and Technology,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits.,2nd year +MUZB41H3,HIS_PHIL_CUL,,"This course explores the aesthetic innovations of DJs from various musical genres, from disco to drum’n’bass to dub. We also spend time exploring the political, legal, and social aspects of DJs as their production, remixes, touring schedules, and community involvement reveal what is at stake when we understand DJs as more than entertainers. The course utilizes case studies and provides a hands-on opportunity to explore some of the basic elements of DJ-ing, while simultaneously providing a deep dive into critical scholarly literature.",,MUZA80H3/(VPMA95H3),(VPMC88H3) if taken in Winter 2020 session,DJ Cultures: Analogue Innovations and Digital Aesthetics,,,2nd year +MUZB60H3,ART_LIT_LANG,University-Based Experience,The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone but is not a course to learn an instrument for the first time.,,MUZA61H3 /(VPMA74H3),(VPMB73H3),Concert Band IIa,,,2nd year +MUZB61H3,ART_LIT_LANG,University-Based Experience,The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone but is not a course to learn an instrument for the first time.,,MUZB60H3/(VPMB73H3),(VPMB74H3),Concert Band IIb,,,2nd year +MUZB62H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,MUZA63H3/(VPMA71H3),(VPMB70H3),Concert Choir IIa,,,2nd year +MUZB63H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,MUZB62H3 /(VPMB70H3),(VPMB71H3),Concert Choir IIb,,,2nd year +MUZB64H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZA65H3/(VPMA67H3),(VPMB66H3),String Orchestra IIa,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits.,2nd year +MUZB65H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZB64H3/(VPMB66H3),(VPMB67H3),String Orchestra IIb,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits.,2nd year +MUZB66H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone but is not a course to learn an instrument for the first time.",,MUZA67H3/(VPMA69H3),(VPMB68H3),Small Ensembles IIa,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02.",2nd year +MUZB67H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone but is not a course to learn an instrument for the first time.",,MUZB66H3/(VPMB68H3),(VPMB69H3),Small Ensembles IIb,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02.",2nd year +MUZB80H3,ART_LIT_LANG,,"The continuing development of musicianship through music- making and creation, including elementary harmony, musical forms, introductory analytical and compositional techniques, and aural training.",,MUZA80H3/(VPMA95H3) or successful clearance of the MUZA80H3 exemption test.,(VPMA90H3),Developing Musicianship,,,2nd year +MUZB81H3,ART_LIT_LANG,,"Building upon Developing Musicianship, this course involves further study of musicianship through music-making and creation, with increased emphasis on composition. The course will provide theory and formal analysis, dictation, notation methods, and ear-training skills.",,MUZB80H3/(VPMB88H3),(VPMB90H3),The Independent Music-Maker,,,2nd year +MUZC01H3,SOCIAL_SCI,Partnership-Based Experience,"Our local communities are rich with music-making engagement. Students will critically examine community music in the GTA through the lenses of intergenerational music-making, music and social change, music and wellbeing, and interdisciplinary musical engagement. Off- campus site visits are required.",,MUZB01H3/(VPMB01H3),(VPMC01H3),Exploring Community Music,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits.,3rd year +MUZC02H3,SOCIAL_SCI,,"This course introduces the histories, contexts, and theories of music in relation to health and wellness. Students will develop deeper understandings of how music can be used for therapeutic and non-therapeutic purposes.",Prior musical experience is recommended,Any 7.0 credits,(VPMC02H3),"Music, Health, and Wellness",,Priority will be given to students enrolled in the Minor and Major programs in Music and Culture. Additional students will be admitted as space permits.,3rd year +MUZC20H3,ART_LIT_LANG,,"This course examines the synergistic relationship between the moving image and music and how these synergies result in processes of meaning-making and communication. Drawing on readings in cultural theory, cultural studies, musicology and film studies, the course considers examples from the feature film, the Hollywood musical, and the animated cartoon. Same as MDSC85H3",,[2.0 credits at the B-level in MDS courses] or [2.0 credits at the B-level in MUZ/(VPM) courses],"MDSC85H3, (VPMC85H3)","Movies, Music and Meaning",,No Specialist knowledge in Musicology or Film Studies required.,3rd year +MUZC21H3,SOCIAL_SCI,,"This course examines the unique role of music and the arts in the construction and maintenance of transnational identity in the diaspora. The examples understudy will cover a wide range of communities (e.g. Asian, Caribbean and African) and places.",,MUZB80H3/(VPMB88H3) and [an additional 0.5 credit at the B-level in MUZ/(VPM) courses],(VPMC95H3),Musical Diasporas,,,3rd year +MUZC22H3,HIS_PHIL_CUL,,"A history of jazz from its African and European roots to present-day experiments. Surveys history of jazz styles, representative performers and contexts of performance.",,MUZB20H3/(VPMB82H3) and [an additional 1.0 credit at the B-level in MUZ/(VPM) courses],(VPMC94H3),Jazz Roots and Routes,,,3rd year +MUZC23H3,HIS_PHIL_CUL,,"An investigation into significant issues in music and society. Topics will vary but may encompass art, popular and world music. Issues may include music’s relationship to technology, commerce and industry, identity, visual culture, and performativity. Through readings and case studies we consider music's importance to and place in society and culture.",,MUZB20H3/(VPMB82H3) and 1.0 credit at the C-level in MUZ/(VPM) courses,(VPMC65H3),Critical Issues in Music and Society,,,3rd year +MUZC40H3,ART_LIT_LANG,,Students will write original works for diverse styles and genres while exploring various compositional methods. The class provides opportunities for students to work with musicians and deliver public performances of their own work.,,MUZB81H3/(VPMB90H3) and an additional 1.0 credit at the B-level in MUZ/(VPM) courses,(VPMC90H3),The Composer's Studio,,,3rd year +MUZC41H3,ART_LIT_LANG,,"This course will explore various techniques for digital audio production including recording, editing, mixing, sequencing, signal processing, and sound synthesis. Students will develop creative skills for electronic media through theoretical, aesthetic, and practical perspectives.",,MUZB40H3/(VPMB91H3) and MUZB80H3/(VPMB88H3),(VPMC91H3),Digital Music Creation,,,3rd year +MUZC42H3,ART_LIT_LANG,,"This course will explore music production and sound design techniques while examining conceptual underpinnings for creating works that engage with space and live audiences. Students will develop creative skills for electronic media through theoretical, aesthetic, and practical perspectives.",,MUZB40H3/(VPMB91H3) and MUZB80H3/(VPMB88H3),,Creative Audio Design Workshop,,,3rd year +MUZC43H3,HIS_PHIL_CUL,,This course examines critical issues of music technology and the ways in which digital technology and culture impact the ideologies and aesthetics of musical artists. Students will become familiar with contemporary strategies for audience building and career development of technology-based musicians.,,[2.0 credits at the B-level in MUZ/(VPM) courses] or [2.0 credits at the B-level in MDS courses],(VPMC97H3),"Music, Technologies, Media",,,3rd year +MUZC60H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZB61H3/(VPMB74H3),(VPMC73H3),Concert Band IIIa,,,3rd year +MUZC61H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the Concert Band setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Concert Band attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZC60H3/(VPMC73H3),(VPMC74H3),Concert Band IIIb,,,3rd year +MUZC62H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,MUZB63H3/(VPMB71H3),(VPMC70H3),Concert Choir IIIa,,,3rd year +MUZC63H3,ART_LIT_LANG,University-Based Experience,The practical study of vocal ensemble performance in the Concert Choir setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement Interview required. Concert Choir attempts to accommodate everyone.,,MUZC62H3/(VPMC70H3),(VPMC71H3),Concert Choir IIIb,,,3rd year +MUZC64H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZB65H3/(VPMB67H3),(VPMC66H3),String Orchestra IIIa,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits.,3rd year +MUZC65H3,ART_LIT_LANG,University-Based Experience,"The practical study of instrumental ensemble performance in the String Orchestra setting. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. String Orchestra attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZC64H3/(VPMC66H3),(VPMC67H3),String Orchestra IIIb,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits.,3rd year +MUZC66H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZB67H3/(VPMB69H3),(VPMC68H3),Small Ensembles IIIa,,"1. Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits. 2. Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02.",3rd year +MUZC67H3,ART_LIT_LANG,University-Based Experience,"The practical study of small ensemble performance, including public presentations and group recitals. Students are normally expected to complete both Fall and Winter sessions in the same ensemble. Placement interview required. Small Ensembles attempts to accommodate everyone, but is not a course to learn an instrument for the first time.",,MUZC66H3/(VPMC68H3),(VPMC69H3),Small Ensembles IIIb,,"Students interested in popular, rock, jazz, or other contemporary styles should register for LEC 01. Students interested in classical, folk, ""world,"" or other acoustic-based styles should register for LEC 02.",3rd year +MUZC80H3,HIS_PHIL_CUL,,The investigation of an area of current interest and importance in musical scholarship. The topic to be examined will change from year to year and will be available in advance on the ACM department website.,,"1.0 credit at the B-level from the following: MUZB01H3, MUZB20H3, or MUZB80H3",(VPMC88H3),Topics in Music and Culture,,,3rd year +MUZC81H3,HIS_PHIL_CUL,,"Popular music, especially local music, are cultural artifacts that shape local communities and the navigation of culturally hybrid identities. Music is also a significant technology of “remembering in everyday life,” a storehouse of our memories. In this course we examine acts of popular music preservation and consider questions such as: what happens when museums house popular music exhibitions? Who has the authority to narrate popular music, and how does popular music become a site of cultural heritage? Throughout this course, we will work with a notion of “heritage” as an act that brings the past into conversation with the present and can powerfully operate to bring people together while simultaneously excluding others or strategically forgetting. We will spend time with bottom-up heritage projects and community archives to better understand how memory is becoming democratized beyond large cultural institutions. As more and more cultural heritage becomes digitally born, new possibilities and new risks emerge for the preservation of popular music cultures.",,"1.0 credit at the B-level from the following: MUZB01H3, MUZB20H3, or MUZB80H3",,"Issues in Popular Music: Heritage, Preservation & Archives",,,3rd year +MUZD01H3,SOCIAL_SCI,Partnership-Based Experience,"Through advanced studies in community music, students will combine theory and practice through intensive seminar-style discussions and an immersive service-learning placement with a community music partner. Off-campus site visits are required.",,MUZC01H3/(VPMC01H3),(VPMD01H3),Senior Seminar: Music in Our Communities,,Priority will be given to students enrolled in the Major and Minor programs in Music and Culture. Additional students will be admitted as space permits.,4th year +MUZD80H3,ART_LIT_LANG,University-Based Experience,"This course will help students develop their self-directed projects that will further their research and interests. This project is intended to function as a capstone in the Major program in Music and Culture, reflecting rigorous applied and/or theoretical grounding in one or more areas of focus in the Music and Culture program.",,1.5 credits at the C-level in VPM/MUZ courses.,(VPMD02H3),Music and Culture Senior Project,,,4th year +MUZD81H3,,,"A directed research, composition or performance course for students who have demonstrated a high level of academic maturity and competence. Students in performance combine a directed research project with participation in one of the performance ensembles.",,"A minimum overall average of B+ in MUZ/VPM courses, and at least 1.0 full credit in music at the C-level. Students in the Composition option must also have completed MUZC40H3/(VPMC90H3). Students in the Performance/research option must complete at least one course in performance at the C-level.",(VPMD80H3),Independent Study in Music,,"Students must submit a proposed plan of study for approval in the term prior to the beginning of the course, and must obtain consent from the supervising instructor and the Music Program Director.",4th year +NMEA01H3,SOCIAL_SCI,,"This course introduces basic hardware and software for new media. Students will learn basics of HTML (tags, tables and frames) and JavaScript for creation of new media. Discusses hardware requirements including storage components, colour palettes and different types of graphics (bitmap vs. vector- based). Students will be introduced to a variety of software packages used in new media production. This course is taught at Centennial College.",,5.0 credits including MDSA01H3 and MDSA02H3,,Digital Fundamentals,"NMEA02H3, NMEA03H3, NMEA04H3",This course is only open to students registered in the Joint Major Program in New Media.,1st year +NMEA02H3,HIS_PHIL_CUL,,"This course enables students to develop strong written communications skills for effective project proposals and communications, as well as non-linear writing skills that can be applied to a wide range of interactive media projects. The course examines the difference between successful writing for print and for new media, and how to integrate text and visual material. This course is taught at Centennial College.",,5.0 credits including MDSA01H3 and MDSA02H3,,Introduction to New Media Communications,"NMEA01H3, NMEA03H3, NMEA04H3",This course is only open to students registered in the Joint Major Program in New Media.,1st year +NMEA03H3,ART_LIT_LANG,,"This course introduces the fundamentals of two-dimensional design, graphic design theory, graphic design history, colour principles, typographic principles and visual communication theories applied to New Media Design. Working from basic form generators, typography, two-dimensional design principles, colour and visual communication strategies, learners will be introduced to the exciting world of applied graphic design and multi-media. This course is taught at Centennial College.",,10 full credits,,The Language of Design,5.0 credits including MDSA01H3 and MDSA02H3,This course is only open to students registered in the Joint Major Program in New Media.,1st year +NMEA04H3,ART_LIT_LANG,,"This course introduces students to the discipline of user interface and software design, and in particular their impact and importance in the world of new media. The course uses theory and research in combination with practical application, to bring a user-centred design perspective to developing new media software. This course is taught at Centennial College.",,5.0 credits including MDSA01H3 and MDSA02H3,,"Interface Design, Navigation and Interaction I","NMEA01H3, NMEA02H3, NMEA03H3",This course is only open to students registered in the Joint Major Program in New Media.,1st year +NMEB05H3,ART_LIT_LANG,,"Extends work on interface design. Students have opportunities to gain real world experience in the techniques of user interface design. Participants learn to do a ""requirements document"" for projects, how to design an interface which meets the needs of the requirements of the document and how to test a design with real world users.",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,"Interface Design, Navigation and Interaction II",,This course is only open to students registered in the Joint Major Program in New Media.,2nd year +NMEB06H3,SOCIAL_SCI,,"This course enables the participant to understand the new media production process. Learners will develop the skills to conduct benchmarking, scoping and testing exercises that lead to meaningful project planning documents. Learners will develop and manage production schedules for their group projects that support the development efforts using the project planning documents.",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,Project Development and Presentation,NMEB05H3 and NMEB08H3 and NMEB09H3 and NMEB10H3,This course is only open to students registered in the Joint Major Program in New Media.,2nd year +NMEB08H3,SOCIAL_SCI,,"This course builds on NMEA01H3. It enables learners to extend their understanding of software requirements and of advanced software techniques. Software used may include Dreamweaver, Flash, Director, and animation (using Director).",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,Application Software for Interactive Media,,This course is only open to students registered in the Joint Major Program in New Media.,2nd year +NMEB09H3,ART_LIT_LANG,,"This course introduces students to the scope of sound design - creative audio for new media applications. Students will work with audio applications software to sample, create and compress files, and in the planning and post-production of new media. Students will also learn to use audio in interactive ways such as soundscapes.",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,Sound Design,NMEB05H3 and NMEB06H3 and NMEB08H3 and NMEB10H3,This course is only open to students registered in the Joint Major Program in New Media.,2nd year +NMEB10H3,ART_LIT_LANG,,"This course discusses the integration of multiple media with the art of good design. The course examines the conventions of typography and the dynamics between words and images, with the introduction of time, motion and sound. The course involves guest speakers, class exercises, assignments, field trips, group critiques and major projects.",,NMEA01H3 and NMEA02H3 and NMEA03H3 and NMEA04H3,,New Media Design,NMEB05H3 and NMEB06H3 and NMEB08H3 and NMEB09H3,This course is only open to students registered in the Joint Major Program in New Media.,2nd year +NMEC01H3,HIS_PHIL_CUL,,"This seminar examines the ideological, political, structural, and representational assumptions underlying new media production and consumption from both theoretical and practice-based perspectives. Students critically reflect on and analyze digital media applications and artefacts in contemporary life, including business, information, communication, entertainment, and creative practices.",,4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses,(NMED20H3),Theory and Practice of New Media,,,3rd year +NMED10Y3,,University-Based Experience,"Students develop a new media project that furthers their research into theoretical issues around digital media practices and artefacts. Projects may focus on digital media ranging from the internet to gaming, to social networking and the Web, to CD-ROMS, DVDs, mobile apps, and Virtual and Augmented Reality technologies.",,Completion of 15.0 credits including 4.5 credits from the Major (Joint) program in New Media Studies Group I and Group II courses,(NMED01H3),New Media Senior Project,,,4th year +NROB60H3,NAT_SCI,University-Based Experience,"This course focuses on functional neuroanatomy of the brain at both the human and animal level. Topics include gross anatomy of the brain, structure and function of neurons and glia, neurotransmitters and their receptors, and examples of major functional systems. Content is delivered through lecture and laboratories.",,BIOA01H3 and BIOA02H3 and CHMA10H3 and [CHMA11H3 or CHMA12H3] and PSYA01H3 and PSYA02H3,"CSB332H, HMB320H, PSY290H, PSY391H, (ZOO332H)",Neuroanatomy Laboratory,,,2nd year +NROB61H3,NAT_SCI,University-Based Experience,"This course focuses on the electrical properties of neurons and the ways in which electrical signals are generated, received, and integrated to underlie neuronal communication. Topics include principles of bioelectricity, the ionic basis of the resting potential and action potential, neurotransmission, synaptic integration, and neural coding schemes. Content will be delivered through lectures, labs, and tutorials.",,BIOA01H3 and BIOA02H3 and CHMA10H3 and [CHMA11H3 or CHMA12H3] and PSYA01H3 and PSYA02H3,,Neurophysiology,NROB60H3,,2nd year +NROC34H3,NAT_SCI,,"Neural basis of natural behaviour; integrative function of the nervous system; motor and sensory systems; mechanisms of decision-making, initiating action, co-ordination, learning and memory. Topics may vary from year to year.",,BIOB34H3 or NROB60H3 or NROB61H3,,Neuroethology,,,3rd year +NROC36H3,NAT_SCI,,"This course will focus on the molecular mechanisms underlying neuronal communication in the central nervous system. The first module will look into synaptic transmission at the molecular level, spanning pre and postsynaptic mechanisms. The second module will focus on molecular mechanisms of synaptic plasticity and learning and memory. Additional topics will include an introduction to the molecular mechanisms of neurodegenerative diseases and channelopathies.",BIOC13H3,BIOB11H3 and NROB60H3 and NROB61H3 and [PSYB55H3 or (PSYB65H3) ] and [PSYB07H3 or STAB22H3] and [(PSYB01H3) or (PSYB04H3) or PSYB70H3 ],,Molecular Neuroscience,,Priority will be given to students enrolled in the Specialist/Specialist Co-op programs in Neuroscience Cellular/Molecular stream. Students enrolled in the Specialist/Specialist Co-op programs in Neuroscience Systems/Behavioural or Cognitive streams or the Major program in Neuroscience will be admitted as space permits.,3rd year +NROC60H3,NAT_SCI,University-Based Experience,"This course involves a theoretical and a hands-on cellular neuroscience laboratory component. Advanced systems, cellular and molecular neuroscience techniques will be covered within the context of understanding how the brain processes complex behaviour. Practical experience on brain slicing, immunohistochemistry and cell counting will feature in the completion of a lab project examining the cellular mechanisms underlying schizophrenia-like behavioural deficits. These experiments do not involve contact with animals.",,BIOB10H3 and NROB60H3 and NROB61H3 and PSYB55H3 and PSYB70H3 and [PSYB07H3 or STAB22H3],,Cellular Neuroscience Laboratory,NROC69H3 and PSYC08H3,Priority will be given to students enrolled in the Cellular/Molecular stream Specialist and Specialist Co-op programs in Neuroscience. Students enrolled in the Systems/Behavioural stream Specialist and Specialist Co-op programs in Neuroscience and the Major program in Neuroscience will be admitted as space permits.,3rd year +NROC61H3,NAT_SCI,,"This course will explore the neural and neurochemical bases of learning and motivation. Topics covered under the category of learning include: Pavlovian learning, instrumental learning, multiple memory systems, and topics covered under motivation include: regulation of eating, drinking, reward, stress and sleep.",,BIOB10H3 and NROB60H3 and NROB61H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3] and [PSYB55H3 or (PSYB65H3)],,Learning and Motivation,,"Priority will be given to students enrolled in the Specialist/Specialist Co-op program in Neuroscience (Stage 2, all streams) and the Major program in Neuroscience.",3rd year +NROC63H3,NAT_SCI,University-Based Experience,"This is a lecture and hands-on laboratory course that provides instruction on various experimental approaches, design, data analysis and scientific communication of research outcomes in the field of systems/behavioural neuroscience, with a focus on the neural basis of normal and abnormal learning and cognition. Topics covered include advanced pharmacological and neurological manipulation techniques, behavioural techniques and animal models of psychological disease (e.g., anxiety, schizophrenia). The class involves the use of experimental animals.",,BIOB10H3 and NROB60H3 and NROB61H3 and PSYB55H3 and PSYB70H3 and [PSYB07H3 or STAB22H3],,Behavioural Neuroscience Laboratory,NROC61H3 and PSYC08H3,Priority will be given to students enrolled in the Systems/Behavioural stream Specialist and Specialist Co-op programs in Neuroscience. Students enrolled in the Cellular/Molecular stream Specialist and Specialist Co-op programs in Neuroscience and the Major program in Neuroscience will be admitted as space permits.,3rd year +NROC64H3,NAT_SCI,,"A focus on the mechanisms by which the nervous system processes sensory information and controls movement. The topics include sensory transduction and the physiology for sensory systems (visual, somatosensory, auditory, vestibular). Both spinal and central mechanisms of motor control are also covered.",,BIOB10H3 and NROB60H3 and NROB61H3 and [ (PSYB01H3) or (PSYB04H3) or PSYB70H3 ] and [PSYB07H3 or STAB22H3] and [ PSYB55H3 or (PSYB65H3) ],,Sensorimotor Systems,,"Priority will be given to students enrolled in the Specialist/Specialist Co-op program in Neuroscience (Stage 2, all streams) and students enrolled in the Major program in Neuroscience.",3rd year +NROC69H3,NAT_SCI,,"The course will provide an in-depth examination of neural circuits, synaptic connectivity and cellular mechanisms of synaptic function. Similarities and differences in circuit organization and intrinsic physiology of structures such as the thalamus, hippocampus, basal ganglia and neocortex will also be covered. The goal is to engender a deep and current understanding of cellular mechanisms of information processing in the CNS.",,BIOB10H3 and NROB60H3 and NROB61H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3] and [PSYB55H3 or (PSYB65H3)],,Synaptic Organization and Physiology of the Brain,,Priority will be given to students enrolled in the Specialist/Specialist Co-op program in Neuroscience Systems/Behavioural and Cellular/Molecular streams. Students enrolled in the Specialist/Specialist Co-op program in Neuroscience Cognitive Neuroscience stream or the Major program in Neuroscience will be admitted as space permits.,3rd year +NROC90H3,,University-Based Experience,"An intensive research project intended to provide laboratory/field experience in data collection and analysis. The project must be completed over 2 consecutive terms. NROC90H and NROC93H3 provide an opportunity to engage in research in an area after completing basic coverage in regularly scheduled courses. The student must demonstrate a background adequate for the project proposed and should present a clear rationale to prospective supervisors. Regular consultation with the supervisor is necessary, and extensive data collection and analysis will be required. Such a project will culminate in a written research report. Students must first find a supervisor before the start of the academic term in which the project will be initiated. They must then obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and returned to the Psychology Office. Students seeking supervision off campus are further advised to check the appropriateness of the proposed advisor with the Program Supervisor. If the proposed supervisor is not appointed to the Neuroscience faculty at UTSC then a secondary supervisor who is a member of the Neuroscience group at UTSC will be required.",,BIOB10H3 and NROB60H3 and NROB61H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3] and [PSYB55H3 or (PSYB65H3)] and permission of the proposed supervisor.,PSYC90H3,Supervised Study in Neuroscience,,,3rd year +NROC93H3,,University-Based Experience,"An intensive research project intended to provide laboratory/field experience in data collection and analysis. The project must be completed over 2 consecutive terms. NROC90H3 and NROC93H3 provide an opportunity to engage in research in an area after completing basic coverage in regularly scheduled courses. The student must demonstrate a background adequate for the project proposed and should present a clear rationale to prospective supervisors. Regular consultation with the supervisor is necessary, and extensive data collection and analysis will be required. Such a project will culminate in a written research report. Students must first find a supervisor before the start of the academic term in which the project will be initiated. They must then obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and returned to the Psychology Office. Students seeking supervision off campus are further advised to check the appropriateness of the proposed advisor with the Program Supervisor. If the proposed supervisor is not appointed to the Neuroscience faculty at UTSC then a secondary supervisor who is a member of the Neuroscience group at UTSC will be required.",,BIOB10H3 and NROB60H3 and NROB61H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3] and [PSYB55H3 or (PSYB65H3)] and permission of the proposed supervisor.,PSYC93H3,Supervised Study in Neuroscience,,,3rd year +NROD08H3,NAT_SCI,,"A seminar covering topics in the theory of neural information processing, focused on perception, action, learning and memory. Through reading, discussion and working with computer models students will learn fundamental concepts underlying current mathematical theories of brain function including information theory, population codes, deep learning architectures, auto-associative memories, reinforcement learning and Bayesian optimality. Same as BIOD08H3",,[NROC34H3 or NROC64H3 or NROC69H3] and [MATA29H3 or MATA30H3 or MATA31H3] and [PSYB07H3 or STAB22H3],BIOD08H3,Theoretical Neuroscience,,,4th year +NROD60H3,NAT_SCI,,An intensive examination of selected issues and research problems in the Neurosciences.,,"1.0 credit from the following: [NROC34H3, or NROC36H3 or NROC61H3 or NROC64H3 or NROC69H3]",,Current Topics in Neuroscience,,,4th year +NROD61H3,NAT_SCI,,"A seminar based course covering topics on emotional learning based on animal models of fear and anxiety disorders in humans. Through readings, presentations and writing students will explore the synaptic, cellular, circuit and behavioural basis of fear memory processing, learning how the brain encodes fearful and traumatic memories, how these change with time and developmental stage, as well as how brain circuits involved in fear processing might play a role in depression and anxiety.",NROC60H3,NROC61H3 and NROC64H3 and NROC69H3,[NROD60H3 if taken in Fall 2018],Emotional Learning Circuits,,,4th year +NROD66H3,NAT_SCI,,"An examination of the major phases of the addiction cycle, including drug consumption, withdrawal, and relapse. Consideration will be given to what basic motivational and corresponding neurobiological processes influence behaviour during each phase of the cycle. Recent empirical findings will be examined within the context of major theoretical models guiding the field.",PSYC08H3,[NROC61H3 or NROC64H3] and PSYC62H3,,Drug Addiction,,,4th year +NROD67H3,NAT_SCI,,"This course will characterize various anatomical, biochemical, physiological, and psychological changes that occur in the nervous system with age. We will examine normal aging and age-related cognitive deterioration (including disease states) with a focus on evaluating the validity of current theories and experimental models of aging.",,NROC61H3 and NROC64H3,,Neuroscience of Aging,,,4th year +NROD98Y3,,University-Based Experience,"This course offers the opportunity to engage in a year long research project under the supervision of an interested member of the faculty in Neuroscience. The project will culminate in a written report in the form of a thesis and a poster presentation. During the course of the year, at appropriate times, students will meet to present their own research proposals, to appraise the proposals of others, and to discuss the results of their investigation. Students must first find a supervisor, which is usually confirmed before the start of the academic term in which the project will be initiated. Students will meet as a group with the coordinator as well as individually with their supervisor. Students planning to pursue graduate studies are especially encouraged to enrol in the course. Students must obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and submitted to the Psychology Office. Students seeking supervision off campus will need to arrange co supervision with a faculty member in Neuroscience at UTSC.",,"BIOB10H3 and NROB60H3 and NROB61H3 and [PSYB07H3 or STAB22H3] and PSYB55H3 and PSYB70H3 and [0.5 credits from the NRO C-level courses or PSY 50-series C-level courses] and [enrolment in the Specialist Co-op, Specialist, or Major Program in Neuroscience] and [GPA of 3.3 or higher over the last 5.0 credit equivalents completed] and permission of the proposed neuroscience faculty supervisor.","BIOD98Y3, BIOD99Y3, PSYD98Y3",Thesis in Neuroscience,[PSYC08H3 or PSYC09H3],,4th year +PHLA10H3,HIS_PHIL_CUL,University-Based Experience,"An introduction to philosophy focusing on issues of rationality, metaphysics and the theory of knowledge. Topics may include: the nature of mind, freedom, the existence of God, the nature and knowability of reality. These topics will generally be introduced through the study of key texts from the history of philosophy.",,,"PHL100Y1, PHL101Y1",Reason and Truth,,,1st year +PHLA11H3,HIS_PHIL_CUL,University-Based Experience,Ethics is concerned with concrete questions about how we ought to treat one another as well as more general questions about how to justify our ethical beliefs. This course is an introduction that both presents basic theories of ethics and considers their application to contemporary moral problems.,,,"PHL275H, PHL100Y1, PHL101Y1",Introduction to Ethics,,,1st year +PHLB02H3,HIS_PHIL_CUL,,"This course examines ethical issues raised by our actions and our policies for the environment. Do human beings stand in a moral relationship to the environment? Does the environment have moral value and do non-human animals have moral status? These fundamental questions underlie more specific contemporary issues such as sustainable development, alternative energy, and animal rights.",PHLA11H3,,PHL273H,Environmental Ethics,,,2nd year +PHLB03H3,ART_LIT_LANG,,"An examination of challenges posed by the radical changes and developments in modern and contemporary art forms. For example, given the continuously exploding nature of art works, what do they have in common - what is it to be an artwork?",,,PHL285H,Philosophy of Aesthetics,,,2nd year +PHLB04H3,ART_LIT_LANG,,"This course examines some of the classic problems concerning literary texts, such as the nature of interpretation, questions about the power of literary works and their relationship to ethical thought, and problems posed by fictional works - how can we learn from works that are fictional and how can we experience genuine emotions from works that we know are fictional?",,,,Philosophy and Literature,,,2nd year +PHLB05H3,SOCIAL_SCI,,"An examination of contemporary or historical issues that force us to consider and articulate our values and commitments. The course will select issues from a range of possible topics, which may include globalization, medical ethics, war and terrorism, the role of government in a free society, equality and discrimination.",,,,Social Issues,,,2nd year +PHLB06H3,HIS_PHIL_CUL,,"An examination of philosophical issues in ethics, social theory, and theories of human nature as they bear on business. What moral obligations do businesses have? Can social or environmental costs and benefits be calculated in a way relevant to business decisions? Do political ideas have a role within business?",,,"MGSC14H3/(MGTC59H3), PHL295H",Business Ethics,,,2nd year +PHLB07H3,HIS_PHIL_CUL,,"What is the difference between right and wrong? What is 'the good life'? What is well-being? What is autonomy? These notions are central in ethical theory, law, bioethics, and in the popular imagination. In this course we will explore these concepts in greater depth, and then consider how our views about them shape our views about ethics.",,,,Ethics,,,2nd year +PHLB09H3,HIS_PHIL_CUL,,"This course is an examination of moral and legal problems in medical practice, in biomedical research, and in the development of health policy. Topics may include: concepts of health and disease, patients' rights, informed consent, allocation of scarce resources, euthanasia, risks and benefits in research and others.",,,"PHL281H, (PHL281Y)",Biomedical Ethics,,,2nd year +PHLB11H3,HIS_PHIL_CUL,,"A discussion of right and rights, justice, legality, and related concepts. Particular topics may include: justifications for the legal enforcement of morality, particular ethical issues arising out of the intersection of law and morality, such as punishment, freedom of expression and censorship, autonomy and paternalism, constitutional protection of human rights.",,,PHL271H,Philosophy of Law,,,2nd year +PHLB12H3,HIS_PHIL_CUL,,"Philosophical issues about sex and sexual identity in the light of biological, psychological and ethical theories of sex and gender; the concept of gender; male and female sex roles; perverse sex; sexual liberation; love and sexuality.",,,PHL243H,Philosophy of Sexuality,,,2nd year +PHLB13H3,HIS_PHIL_CUL,,"What is feminism? What is a woman? Or a man? Are gender relations natural or inevitable? Why do gender relations exist in virtually every society? How do gender relations intersect with other social relations, such as economic class, culture, race, sexual orientation, etc.?",,,PHL267H,Philosophy and Feminism,,,2nd year +PHLB17H3,HIS_PHIL_CUL,,"This course will introduce some important concepts of and thinkers in political philosophy from the history of political philosophy to the present. These may include Plato, Aristotle, Augustine, Aquinas, Thomas Hobbes, John Locke, Jean- Jacques Rousseau, G.W.F. Hegel, John Stuart Mill, or Karl Marx. Topics discussed may include political and social justice, liberty and the criteria of good government.",,,"PHL265H, (POLB71H3); in addition, PHLB17H3 may not be taken after or concurrently with POLB72H3",Introduction to Political Philosophy,,,2nd year +PHLB18H3,HIS_PHIL_CUL,University-Based Experience,"This course will provide an accessible understanding of AI systems, such as ChatGPT, focusing on the ethical issues raised by ongoing advances in AI. These issues include the collection and use of big data, the use of AI to manipulate human beliefs and behaviour, its application in the workplace and its impact on the future of employment, as well as the ethical standing of autonomous AI systems.","PHLA10H3 or PHLA11H3. These courses provide an introductory background of philosophical reasoning and core background concepts, which would assist students taking a B level course in Philosophy.",,,Ethics of Artificial Intelligence,,,2nd year +PHLB20H3,HIS_PHIL_CUL,,"An examination of the nature of knowledge, and our ability to achieve it. Topics may include the question of whether any of our beliefs can be certain, the problem of scepticism, the scope and limits of human knowledge, the nature of perception, rationality, and theories of truth.",,,(PHL230H),"Belief, Knowledge, and Truth",,,2nd year +PHLB30H3,HIS_PHIL_CUL,,"A study of the views and approaches pioneered by such writers as Kierkegaard, Husserl, Jaspers, Heidegger and Sartre. Existentialism has had influence beyond philosophy, impacting theology, literature and psychotherapy. Characteristic topics include the nature of the self and its relations to the world and society, self-deception, and freedom of choice.",,,PHL220H,Existentialism,,,2nd year +PHLB31H3,HIS_PHIL_CUL,,"A survey of some main themes and figures of ancient philosophical thought, concentrating on Plato and Aristotle. Topics include the ultimate nature of reality, knowledge, and the relationship between happiness and virtue.",,,"PHL200Y, PHL202H",Introduction to Ancient Philosophy,,,2nd year +PHLB33H3,HIS_PHIL_CUL,,"This course is a thematic introduction to the history of metaphysics, focusing on topics such as the nature of God, our own nature as human beings, and our relation to the rest of the world. We will read a variety of texts, from ancient to contemporary authors, that will introduce us to concepts such as substance, cause, essence and existence, mind and body, eternity and time, and the principle of sufficient reason. We will also look at the ethical implications of various metaphysical commitments.",,,,"God, Self, World",,,2nd year +PHLB35H3,HIS_PHIL_CUL,,"This course is an introduction to the major themes and figures of seventeenth and eighteenth century philosophy, from Descartes to Kant, with emphasis on metaphysics, epistemology, and ethics.",,,PHL210Y,Introduction to Early Modern Philosophy,,,2nd year +PHLB50H3,QUANT,,"An introduction to formal, symbolic techniques of reasoning. Sentential logic and quantification theory (or predicate logic), including identity will be covered. The emphasis is on appreciation of and practice in techniques, for example, the formal analysis of English statements and arguments, and for construction of clear and rigorous proofs.",,,PHL245H,Symbolic Logic I,,,2nd year +PHLB55H3,QUANT,,"Time travel, free will, infinity, consciousness: puzzling and paradoxical issues like these, brought under control with logic, are the essence of philosophy. Through new approaches to logic, we will find new prospects for understanding philosophical paradoxes.",,,,Puzzles and Paradoxes,,,2nd year +PHLB58H3,QUANT,,"Much thought and reasoning occur in a context of uncertainty. How do we know if a certain drug works against a particular illness? Who will win the next election? This course examines various strategies for dealing with uncertainty. Topics include induction and its problems, probabilistic reasoning and the nature of probability, the assignment of causes and the process of scientific confirmation and refutation. Students will gain an appreciation of decision making under uncertainty in life and science.",,,"PHL246H1, PHL246H5",Reasoning Under Uncertainty,,,2nd year +PHLB60H3,HIS_PHIL_CUL,,"A consideration of problems in metaphysics: the attempt to understand 'how everything fits together' in the most general sense of this phrase. Some issues typically covered include: the existence of God, the nature of time and space, the nature of mind and the problem of the freedom of the will.",,,(PHL231H),Introduction to Metaphysics,,,2nd year +PHLB81H3,HIS_PHIL_CUL,,"An examination of questions concerning the nature of mind. Philosophical questions considered may include: what is consciousness, what is the relation between the mind and the brain, how did the mind evolve and do animals have minds, what is thinking, what are feelings and emotions, and can machines have minds.",,,PHL240H,Theories of Mind,,,2nd year +PHLB91H3,HIS_PHIL_CUL,,"An exploration of theories which provide answers to the question 'What is a human being?', answers that might be summarized with catchphrases such as: 'Man is a rational animal,' 'Man is a political animal,' 'Man is inherently individual,' 'Man is inherently social,' etc. Authors studied are: Aristotle, Hobbes, Rousseau, Darwin, Marx, Freud and Sartre.",,,"PHL244H, (PHLC91H3)",Theories of Human Nature,,,2nd year +PHLB99H3,HIS_PHIL_CUL,,"In this writing-intensive course, students will become familiar with tools and techniques that will enable them to competently philosophize, on paper and in person. Students will learn how to write an introduction and how to appropriately structure philosophy papers, how to accurately present someone else's position or argumentation, how to critically assess someone else's view or argumentation, and how to present and defend their own positive proposal or argumentation concerning a given topic. Students will learn many more specific skills, such as, how to `signpost' what students are doing, how to identify and charitably interpret ambiguities in another discussion, and how to recognize and apply various argumentative strategies.",,"0.5 credit in PHL courses, excluding [PHLB50H3 and PHLB55H3]",,Philosophical Writing and Methodology,,This course is strongly recommended for students enrolled in the Specialist and Major program in Philosophy. It is open to students enrolled in the Minor program in Philosophy as well as all other students by permission of the instructor.,2nd year +PHLC03H3,ART_LIT_LANG,,"An exploration of some current issues concerning the various forms of art such as: the role of the museum, the loss of beauty and the death of art.",,Any 4.5 credits and [PHLB03H3 and an additional 1.0 credit in PHL courses],,Topics in the Philosophy of Aesthetics,,,3rd year +PHLC05H3,HIS_PHIL_CUL,,"Philosophers offer systematic theories of ethics: theories that simultaneously explain what ethics is, why it matters, and what it tells us to do. This course is a careful reading of classic philosophical texts by the major systematic thinkers in the Western tradition of ethics. Particular authors read may vary from instructor to instructor.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus – see Table 1.0 for reference]","(PHLC01H3), PHL375H",Ethical Theory,,,3rd year +PHLC06H3,HIS_PHIL_CUL,,"Philosophical ethics simultaneously aims to explain what ethics is, why it matters, and what it tells us to do. This is what is meant by the phrase 'ethical theory.' In this class we will explore specific topics in ethical theory in some depth. Specific topics may vary with the instructor.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus – see Table 1.0 for reference]",(PHLC01H3),Topics in Ethical Theory,,,3rd year +PHLC07H3,HIS_PHIL_CUL,,"An intermediate-level study of the ethical and legal issues raised by death and dying. Topics may vary each year, but could include the definition of death and the legal criteria for determining death, the puzzle of how death can be harmful, the ethics of euthanasia and assisted suicide, the relationship between death and having a meaningful life, and the possibility of surviving death.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus, see Table 1.0 for reference]",PHL382H1,Death and Dying,,,3rd year +PHLC08H3,HIS_PHIL_CUL,,"This is an advanced, reading and discussion intensive course in the history of Arabic and Jewish thought, beginning with highly influential medieval thinkers such as Avicenna (Ibn Sīnā), al-Ghazālī, Al Fārābī, Averroes (Ibn Rushd), and Maimonides, and ending with 20th century philosophers (among them Arendt, Freud and Levinas).",,"Any 4.5 credits and [and additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus – see Table 1.0 for reference]",,Topics in Arabic and Jewish Philosophy,,,3rd year +PHLC09H3,HIS_PHIL_CUL,,"This course is a reading and discussion intensive course in 20th century German and French European Philosophy. Among the movements we shall study will be phenomenology, existentialism, and structuralism. We will look at the writings of Martin Heidegger, Jean-Paul Sartre, Maurice Merleau-Ponty, Michel Foucault, and Gilles Deleuze, among others.",,Any 4.5 credits and [an additional 1.5 credits in PHL courses],,Topics in Continental Philosophy,,,3rd year +PHLC10H3,HIS_PHIL_CUL,,"An intermediate-level study of bioethical issues. This course will address particular issues in bioethics in detail. Topics will vary from year to year, but may include such topics as reproductive ethics, healthcare and global justice, ethics and mental health, the patient-physician relationship, or research on human subjects.",PHLB09H3 is strongly recommended,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus, see Table 1.0 for reference]",,Topics in Bioethics,,,3rd year +PHLC13H3,HIS_PHIL_CUL,,"Feminist philosophy includes both criticism of predominant approaches to philosophy that may be exclusionary for women and others, and the development of new approaches to various areas of philosophy. One or more topics in feminist philosophy will be discussed in some depth. Particular topics will vary with the instructor.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory sub-discipline area of focus – see Table 1.0 for reference]",,Topics in Philosophy and Feminism,,,3rd year +PHLC14H3,HIS_PHIL_CUL,,"Contemporary Philosophy, as taught in North America, tends to focus on texts and problematics associated with certain modes of philosophical investigation originating in Greece and developed in Europe and North America. There are rich alternative modes of metaphysical investigation, however, associated with Arabic, Indian, East Asian, and African philosophers and philosophizing. In this course, we will explore one or more topics drawn from metaphysics, epistemology, or value theory, from the points of view of these alternative philosophical traditions.",PHLB99H3,Any 4.5 credits and an additional 1.5 credits in PHL courses,,Topics in Non-Western Philosophy,,,3rd year +PHLC20H3,HIS_PHIL_CUL,,"A follow up to PHLB20H3. This course will consider one or two epistemological topics in depth, with an emphasis on class discussion.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",PHL332H,Theory of Knowledge,,,3rd year +PHLC22H3,HIS_PHIL_CUL,,"This course addresses particular issues in the theory of knowledge in detail. Topics will vary from year to year but may typically include such topics as The Nature of Knowledge, Scepticism, Epistemic Justification, Rationality and Rational Belief Formation.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",PHL332H,Topics in Theory of Knowledge,,,3rd year +PHLC31H3,HIS_PHIL_CUL,,"This course examines the foundational work of Plato in the major subject areas of philosophy: ethics, politics, metaphysics, theory of knowledge and aesthetics.",PHLB31H3 is strongly recommended,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus, see Table 1.0 for reference]",PHL303H1,Topics in Ancient Philosophy: Plato,,,3rd year +PHLC32H3,HIS_PHIL_CUL,,"This course examines the foundational work of Aristotle in the major subject areas of philosophy: metaphysics, epistemology, ethics, politics, and aesthetics.",PHLB31H3 strongly recommended,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus, see Table 1.0 for reference]",PHL304H1,Topics in Ancient Philosophy: Aristotle,,,3rd year +PHLC35H3,HIS_PHIL_CUL,,"In this course we study the major figures of early modern rationalism, Descartes, Spinoza, and Leibniz, with a particular emphasis on topics such as substance, knowledge and sense perception, the mind-body problem, and the existence and nature of God.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus – see Table 1.0 for reference]",PHL310H,Topics in Early Modern Philosophy: Rationalism,,,3rd year +PHLC36H3,HIS_PHIL_CUL,,"In this course we study major figures of early modern empiricism, Locke, Berkeley, Hume, with a particular emphasis on topics such as substance, knowledge and sense perception, the mind-body problem, and the existence and nature of God.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the History of Philosophy area of focus – see Table 1.0 for reference]",PHL311H,Topics in Early Modern Philosophy: Empiricism,,,3rd year +PHLC37H3,HIS_PHIL_CUL,,"This course focuses on the thought of Immanuel Kant, making connections to some of Kant’s key predecessors such as Hume or Leibniz. The course will focus either on Kant’s metaphysics and epistemology, or his ethics, or his aesthetics.",,Any 4.5 credits and [[PHLB33H3 or PHLB35H3] and additional 1.0 credit in PHL courses],PHL314H,Kant,,,3rd year +PHLC43H3,HIS_PHIL_CUL,,"This course explores the foundation of Analytic Philosophy in the late 19th and early 20th century, concentrating on Frege, Russell, and Moore. Special attention paid to the discovery of mathematical logic, its motivations from and consequences for metaphysics and the philosophy of mind.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, including PHLB50H3 and 0.5 credit from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",PHL325H,History of Analytic Philosophy,,,3rd year +PHLC45H3,HIS_PHIL_CUL,University-Based Experience,This course critically examines advanced topics in philosophy.,,Any 4.5 credits and [an additional 1.0 credit in PHL courses],,Advanced Topics in Philosophy,,,3rd year +PHLC51H3,QUANT,,"After consolidating the material from Symbolic Logic I, we will introduce necessary background for metalogic, the study of the properties of logical systems. We will introduce set theory, historically developed in parallel to logic. We conclude with some basic metatheory of the propositional logic learned in Symbolic Logic I.",,PHLB50H3 or CSCB36H3 or MATB24H3 or MATB43H3,"MATC09H3, PHL345H",Symbolic Logic II,,,3rd year +PHLC60H3,HIS_PHIL_CUL,,"A follow up to PHLB60H3. This course will consider one or two metaphysical topics in depth, with an emphasis on class discussion.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]","PHL331H, PHL332H (UTM only)",Metaphysics,,,3rd year +PHLC72H3,HIS_PHIL_CUL,,"This course will consider one or two topics in the Philosophy of Science in depth, with an emphasis on class discussion.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Philosophy of Science,,,3rd year +PHLC80H3,HIS_PHIL_CUL,,"An examination of philosophical issues about language. Philosophical questions to be covered include: what is the relation between mind and language, what is involved in linguistic communication, is language an innate biological feature of human beings, how do words manage to refer to things, and what is meaning.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Philosophy of Language,,,3rd year +PHLC86H3,HIS_PHIL_CUL,,"Advance Issues in the Philosophy of Mind. For example, an examination of arguments for and against the idea that machines can be conscious, can think, or can feel. Topics may include: Turing's test of machine intelligence, the argument based on Gödel's theorem that there is an unbridgeable gulf between human minds and machine capabilities, Searle's Chinese Room thought experiment.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Issues in the Philosophy of Mind,,,3rd year +PHLC89H3,HIS_PHIL_CUL,,"Advanced topic(s) in Analytic Philosophy. Sample contemporary topics: realism/antirealism; truth; interrelations among metaphysics, epistemology, philosophy of mind and of science.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Topics in Analytic Philosophy,,,3rd year +PHLC92H3,HIS_PHIL_CUL,,An examination of some central philosophical problems of contemporary political philosophy.,,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus – see Table 1.0 for reference]",,Political Philosophy,,,3rd year +PHLC93H3,HIS_PHIL_CUL,,"This course will examine some contemporary debates in recent political philosophy. Topics discussed may include the nature of justice, liberty and the criteria of good government, and problems of social coordination.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Value Theory area of focus – see Table 1.0 for reference]",,Topics in Political Philosophy,,,3rd year +PHLC95H3,HIS_PHIL_CUL,,"Advanced topics in the Philosophy of mind, such as an exploration of philosophical problems and theories of consciousness. Topics to be examined may include: the nature of consciousness and 'qualitative experience', the existence and nature of animal consciousness, the relation between consciousness and intentionality, as well as various philosophical theories of consciousness.",,"Any 4.5 credits and [an additional 1.5 credits in PHL courses, of which 0.5 credit must be from the Mind, Metaphysics and Epistemology area of focus – see Table 1.0 for reference]",,Topics in the Philosophy of Mind,,,3rd year +PHLC99H3,HIS_PHIL_CUL,,"This course aims to foster a cohesive cohort among philosophy specialists and majors. The course is an intensive seminar that will develop advanced philosophical skills by focusing on textual analysis, argumentative techniques, writing and oral presentation. Students will work closely with the instructor and their peers to develop a conference-style, research-length paper. Each year, the course will focus on a different topic drawn from the core areas of philosophy for its subject matter. This course is strongly recommended for students in the Specialist and Major programs in Philosophy.",,Any 4.5 credits and [an additional 1.5 credits in PHL courses],,Philosophical Development Seminar,,,3rd year +PHLD05H3,HIS_PHIL_CUL,,This course offers an in-depth investigation into selected topics in moral philosophy.,,"3.5 credits in PHL courses, including [[PHLC05H3 or PHLC06H3] and 0.5 credit at the C-level]","PHL407H, PHL475H",Advanced Seminar in Ethics,,,4th year +PHLD09H3,HIS_PHIL_CUL,,This advanced seminar will delve deeply into an important topic in bioethics. The topics will vary from year to year. Possible topics include: a detailed study of sperm and ovum donation; human medical research in developing nations; informed consent; classification of mental illness.,,"3.5 credits in PHL courses, including [PHLC10H3 and 0.5 credit at the C-level]",,Advanced Seminar in Bioethics,,,4th year +PHLD20H3,HIS_PHIL_CUL,,"This courses addresses core issues in the theory of knowledge at an advanced level. Topics to be discussed may include The Nature of Knowledge, Scepticism, Epistemic Justification, Rationality and Rational Belief Formation.",,"3.5 credits in PHL courses, including [[PHLC20H3 or PHLC22H3] and 0.5 credit at the C-level]",,Advanced Seminar in Theory of Knowledge,,,4th year +PHLD31H3,HIS_PHIL_CUL,,"This course offers in-depth examination of selected topics from the philosophy of Plato and Aristotle, as well as the Epicurean and Stoic schools of thought. Topics will range from the major areas of philosophy: metaphysics, epistemology, ethics, politics and aesthetics.",It is strongly recommended that students take both PHLC31H3 and PHLC32H3.,"3.5 credits in PHL courses, including [[PHLC31H3 or PHLC32H3] and [an additional 0.5 credit at the C-level]]",,Advanced Seminar in Ancient Philosophy,,,4th year +PHLD35H3,HIS_PHIL_CUL,,"This course offers in-depth examination of the philosophical approach offered by one of the three principal Rationalist philosophers, Descartes, Spinoza or Leibniz.",,"3.5 credits in PHL courses, including [PHLC35H3 and 0.5 credit at the C-level]",,Advanced Seminar in Rationalism,,,4th year +PHLD36H3,HIS_PHIL_CUL,,"In this course, we will explore in depth certain foundational topics in the philosophy of Berkeley and Hume, with an eye to elucidating both the broadly Empiricist motivations for their approaches and how their approaches to key topics differ. Topics may address the following questions: Is there a mind- independent world? What is causation? Is the ontological or metaphysical status of persons different from that of ordinary objects? Does God exist?",,"3.5 credits in PHL courses, including [PHLC36H3 and an additional 0.5 credit at the C-level]",,Advanced Seminar in Empiricism,,,4th year +PHLD43H3,HIS_PHIL_CUL,,"This course examines Analytic Philosophy in the mid-20th century, concentrating on Wittgenstein, Ramsey, Carnap, and Quine. Special attention paid to the metaphysical foundations of logic, and the nature of linguistic meaning, including the relations between ""truth-conditional"" and ""verificationist"" theories.",,"3.5 credits in PHL courses, including [PHLC43H3 and 0.5 credit at the C-level]","PHL325H, (PHLC44H3)",Advanced Seminar in History of Analytic Philosophy,,,4th year +PHLD51H3,QUANT,,"Symbolic Logic deals with formal languages: you work inside formal proof systems, and also consider the ""semantics"", dealing with truth, of formal languages. Instead of working inside formal systems, Metalogic treats systems themselves as objects of study, from the outside.",,PHLC51H3,"PHL348H, (PHLC54H3)",Metalogic,,,4th year +PHLD78H3,HIS_PHIL_CUL,,"This advanced seminar will delve more deeply into an issue in political philosophy. Topics will vary from year to year, but some examples include: distributive justice, human rights, and the political morality of freedom. Students will be required to present material to the class at least once during the semester.",,"3.5 credits in PHL courses, including 1.0 credit at the C-level",,Advanced Seminar in Political Philosophy,,,4th year +PHLD79H3,,,"This seminar addresses core issues in metaphysics. Topics to be discussed may include the nature of persons and personal identity, whether physicalism is true, what is the relation of mind to reality in general, the nature of animal minds and the question of whether machines can possess minds.",,"3.5 credits in PHL courses, including 1.0 credit at the C-level",,Advanced Seminar in Metaphysics,,,4th year +PHLD85H3,HIS_PHIL_CUL,University-Based Experience,"The Socrates Project Mentorship Seminar is a half-year seminar course that provides experiential learning in philosophy in conjunction with a teaching assignment to lead tutorials and mark assignments in PHLA10H3. This course is designed for a select number of returning Socrates Project participants chosen to mentor new Project participants. These students will solidify their teaching/grading skills and advise new participants in the Project. The seminar course will further enhance their philosophical abilities in an extension of PHLD88Y3. Roughly 75% of the seminar will be devoted to a more in-depth study of the topics taken up in the PHLA10H3 Reason and Truth. Students will write a seminar paper on one of these topics under the supervision of a UTSC Philosophy faculty member working in the relevant area, and they will give an oral presentation on their research topic each semester. The remaining 25% of the seminar will focus on the further exploration of the methods and challenges of teaching philosophy, benchmark grading, and grading generally and, most distinctively, issues of mentorship of new participants to the Socrates Project.",,PHLD88Y3,"PHL489Y1, PHL489Y5",Advanced Seminar in Philosophy: Socrates Project Mentorship,,"The teaching component of the Socrates Project will consist of the following components. Students will optionally attend two 1-hour PHLA10H3 lectures each week, and teach one tutorial of approximately 25 students, meeting with them for 1 hour every other week. Students will grade papers, hold office hours, and meet with the relevant professor as needed as well as provide mentorship to new participants in the Socrates Project.",4th year +PHLD86H3,HIS_PHIL_CUL,University-Based Experience,"The Socrates Project Mentorship Seminar is a half-year seminar course that provides experiential learning in philosophy in conjunction with a teaching assignment to lead tutorials and mark assignments in PHLA11H3. This course is designed for a select number of returning Socrates Project participants chosen to mentor new Project participants. These students will solidify their teaching/grading skills and advise new participants in the Project. The seminar course will further enhance their philosophical abilities in an extension of PHLD88Y3. Roughly 75% of the seminar will be devoted to a more in-depth study of the topics taken up in the PHLA11H3 Introduction to Ethics. Students will write a seminar paper on one of these topics under the supervision of a UTSC Philosophy faculty member working in the relevant area, and they will give an oral presentation on their research topic each semester. The remaining 25% of the seminar will focus on the further exploration of the methods and challenges of teaching philosophy, benchmark grading, and grading generally and, most distinctively, issues of mentorship of new participants to the Socrates Project.",,PHLD88Y3,"PHL489Y1, PHL489Y5",Advanced Seminar in Philosophy: Socrates Project Mentorship,,"The teaching component of the Socrates Project will consist of the following components. Students will optionally attend two 1-hour PHLA11H3 lectures each week, and teach one tutorial of approximately 25 students, meeting with them for 1 hour every other week. Students will grade papers, hold office hours, and meet with the relevant professor as needed as well as provide mentorship to new participants in the Socrates Project.",4th year +PHLD87H3,HIS_PHIL_CUL,,"This course offers in-depth examination of selected contemporary theories and issues in philosophy of mind, such as theories of perception or of consciousness, and contemporary research examining whether minds must be embodied or embedded in a larger environment.",PHLC95H3,"3.5 credits in PHL courses, including [[PHLC95H3 or PHLC86H3] and 0.5 credit at the C-level]",PHL405H,Advanced Seminar in Philosophy of Mind,,,4th year +PHLD88Y3,HIS_PHIL_CUL,University-Based Experience,"The Socrates Project Seminar is a full-year seminar course that provides experiential learning in philosophy in conjunction with a teaching assignment to lead tutorials and mark assignments in PHLA10H3 and PHLA11H3. Roughly 75% of the seminar will be devoted to more in-depth study of the topics taken up in PHLA10H3 and PHLA11H3. Students will write a seminar paper on one of these topics under the supervision of a UTSC Philosophy faculty member working in the relevant area, and they will give an oral presentation on their research topic each semester. The remaining 25% of the seminar will focus on the methods and challenges of teaching philosophy, benchmark grading, and grading generally.",,Permission of the instructor and Department.,"PHL489Y1, PHL489Y5",Advanced Seminar in Philosophy: Socrates Project,,,4th year +PHLD89Y3,HIS_PHIL_CUL,University-Based Experience,"The Socrates Project for Applied Ethics is a seminar course which occurs over two terms that provides experiential learning in philosophy in conjunction with a teaching assignment to lead tutorials and mark assignments in PHLB09H3. Roughly 75% of the seminar will be devoted to a more in-depth study of the topics taken up in PHLB09H3. Students will write a seminar paper on one of these topics under the supervision of a UTSC Philosophy faculty member working in the relevant area, and they will give an oral presentation on their research topic each semester. The remaining 25% of the seminar will focus on the methods and challenges of teaching philosophy, benchmark grading, and grading generally.",,Permission of the instructor and Department.,,Advanced Seminar in Philosophy: The Socrates Project for Applied Ethics,,,4th year +PHLD90H3,,,,,,,Independent Study,,,4th year +PHLD91H3,,,,,,,Independent Study,,,4th year +PHLD92H3,,,,,,,Independent Study,,,4th year +PHLD93H3,,,,,,,Independent Study,,,4th year +PHLD94H3,,,,,,,Independent Study,,,4th year +PHLD95H3,,,,,,,Independent Study,,,4th year +PHLD96H3,,,,,,,Independent Study,,,4th year +PHLD97H3,,,,,,,Independent Study,,,4th year +PHLD98H3,,,,,,,Independent Study,,,4th year +PHLD99H3,,,,,,,Independent Study,,,4th year +PHYA10H3,NAT_SCI,,"The course is intended for students in physical, environmental and mathematical sciences. The course introduces the basic concepts used to describe the physical world with mechanics as the working example. This includes mechanical systems (kinematics and dynamics), energy, momentum, conservation laws, waves, and oscillatory motion.",,Physics 12U - SPH4U (Grade 12 Physics) and Calculus and Vectors (MCV4U) and Advanced Functions (MHF4U),"PHYA11H3, PHY131H, PHY135Y, PHY151H, (PHY110Y), (PHY138Y)",Physics I for the Physical Sciences,MATA30H3 or MATA31H3,,1st year +PHYA11H3,NAT_SCI,,This first course in Physics at the university level is intended for students enrolled in the Life sciences. It covers fundamental concepts of classical physics and its applications to macroscopic systems. It deals with two main themes; which are Particle and Fluid Mechanics and Waves and Oscillations. The approach will be phenomenological with applications related to life and biological sciences.,Grade 12 Physics (SPH4U),Grade 12 Advanced Functions (MHF4U) and Grade 12 Calculus and Vectors (MCV4U),"PHYA10H3, PHY131H, PHY135Y, PHY151H, (PHY110Y), (PHY138Y)",Physics I for the Life Sciences,MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3 or (MATA20H3),,1st year +PHYA21H3,NAT_SCI,,This second physics course is intended for students in physical and mathematical sciences programs. Topics include electromagnetism and special relativity.,,PHYA10H3 and [MATA30H3 or MATA31H3],"PHYA22H3, (PHY110Y1), PHY132H1, PHY135Y1, (PHY138Y1), PHY152H1",Physics II for the Physical Sciences,[MATA36H3 or MATA37H3],,1st year +PHYA22H3,NAT_SCI,,"The course covers the main concepts of Electricity and Magnetism, Optics, and Atomic and Nuclear Physics. It provides basic knowledge of these topics with particular emphasis on its applications in the life sciences. It also covers some of the applications of modern physics such as atomic physics and nuclear radiation.",,[PHYA10H3 or PHYA11H3 or (PHYA01H3)] and [MATA29H3 or MATA30H3 or MATA31H3 or MATA32H3],"PHYA21H3, (PHY110Y), PHY132H, PHY135Y, (PHY138Y), PHY152H",Physics II for the Life Sciences,MATA35H3 or MATA36H3 or MATA37H3 or MATA33H3 or (MATA21H3).,Students interested in completing programs in science are cautioned that (MATA21H3) and MATA35H3 do not fulfill the program completion requirements of most science programs.,1st year +PHYB01H3,NAT_SCI,,A conceptual overview of some of the most interesting advances in physics and the intellectual background in which they occurred. The interrelationship of the actual practice of physics and its cultural and intellectual context is emphasized. (Space time; Symmetries; Quantum Worlds; Chaos.),,4.0 credits,,Modern Physics for Non- Scientists,,,2nd year +PHYB10H3,NAT_SCI,,Experimental and theoretical study of AC and DC circuits with applications to measurements using transducers and electronic instrumentation. Practical examples are used to illustrate several physical systems.,,PHYA21H3 and [MATA36H3 or MATA37H3],(PHYB23H3),Intermediate Physics Laboratory I,MATB41H3,,2nd year +PHYB21H3,NAT_SCI,,"A first course at the intermediate level in electricity and magnetism. The course provides an in-depth study of electrostatics and magnetostatics. Topics examined include Coulomb's Law, Gauss's Law, electrostatic energy, conductors, Ampere's Law, magnetostatic energy, Lorentz Force, Faraday's Law and Maxwell's equations.",,PHYA21H3 and MATB41H3,"PHY241H, PHY251H",Electricity and Magnetism,MATB42H3,,2nd year +PHYB52H3,NAT_SCI,,"The quantum statistical basis of macroscopic systems; definition of entropy in terms of the number of accessible states of a many particle system leading to simple expressions for absolute temperature, the canonical distribution, and the laws of thermodynamics. Specific effects of quantum statistics at high densities and low temperatures.",,PHYA21H3 and MATB41H3,PHY252H1,Thermal Physics,MATB42H3,,2nd year +PHYB54H3,NAT_SCI,,"The linear, nonlinear and chaotic behaviour of classical mechanical systems such as oscillators, rotating bodies, and central field systems. The course will develop analytical and numerical tools to solve such systems and determine their basic properties. The course will include mathematical analysis, numerical exercises (Python), and demonstrations of mechanical systems.",,PHYA21H3 and MATB41H3 and MATB44H3,"PHY254H, (PHYB20H3)",Mechanics: From Oscillations to Chaos,MATB42H3,,2nd year +PHYB56H3,NAT_SCI,,The course introduces the basic concepts of Quantum Physics and Quantum Mechanics starting with the experimental basis and the properties of the wave function. Schrödinger's equation will be introduced with some applications in one dimension. Topics include Stern-Gerlach effect; harmonic oscillator; uncertainty principle; interference packets; scattering and tunnelling in one-dimension.,,PHYA21H3 and [MATA36H3 or MATA37H3],"PHY256H1, (PHYB25H3)",Introduction to Quantum Physics,MATB41H3,,2nd year +PHYB57H3,QUANT,,"Scientific computing is a rapidly growing field because computers can solve previously intractable problems and simulate natural processes governed by equations that do not have analytic solutions. During the first part of this course, students will learn numerical algorithms for various standard tasks such as root finding, integration, data fitting, interpolation and visualization. In the second part, students will learn how to model physical systems. At the end of the course, students will be expected to write small programs by themselves. Assignments will regularly include programming exercises.",,[MATA36H3 or MATA37H3] and [MATA22H3 or MATA23H3] and PHYA21H3,(PSCB57H3),Introduction to Scientific Computing,MATB44H3,,2nd year +PHYC11H3,NAT_SCI,,"The main objective of this course is to help students develop skills in experimental physics by introducing them to a range of important measuring techniques and associated physical phenomena. Students will carry on several experiments in Physics and Astrophysics including electricity and magnetism, optics, solid state physics, atomic and nuclear physics.",,PHYB10H3 and PHYB21H3 and PHYB52H3,(PHYB11H3),Intermediate Physics Laboratory II,,,3rd year +PHYC14H3,NAT_SCI,,"This course provides an introduction to atmospheric physics. Topics include atmospheric structure, atmospheric thermodynamics, convection, general circulation of the atmosphere, radiation transfer within atmospheres and global energy balance. Connections will be made to topics such as climate change and air pollution.",,PHYB21H3 and PHYB52H3 and MATB42H3 and MATB44H3,"PHY392H1, PHY315H1, PHY351H5",Introduction to Atmospheric Physics,,,3rd year +PHYC50H3,NAT_SCI,,"Solving Poisson and Laplace equations via method of images and separation of variables, Multipole expansion for electrostatics, atomic dipoles and polarizability, polarization in dielectrics, Ampere and Biot-Savart laws, Multipole expansion in magnetostatics, magnetic dipoles, magnetization in matter, Maxwell’s equations in matter.",,PHYB54H3 and PHYB21H3 and [MATA22H3 or MATA23H3] and MATB42H3 and MATB44H3,PHY350H1,Electromagnetic Theory,,,3rd year +PHYC54H3,NAT_SCI,,"A course that will concentrate in the study of symmetry and conservation laws, stability and instability, generalized co- ordinates, Hamilton’s principle, Hamilton’s equations, phase space, Liouville’s theorem, canonical transformations, Poisson brackets, Noether’s theorem.",,PHYB54H3 and MATB44H3,PHY354H,Classical Mechanics,,,3rd year +PHYC56H3,NAT_SCI,,The course builds on the basic concepts of quantum theory students learned in PHYB56H3. Topics include the general structure of wave mechanics; eigenfunctions and eigenvalues; operators; orbital angular momentum; spherical harmonics; central potential; separation of variables; hydrogen atom; Dirac notation; operator methods; harmonic oscillator and spin.,,PHYB56H3 and PHYB21H3 and [MATA22H3 or MATA23H3] and MATB42H3 and MATB44H3,PHY356H1,Quantum Mechanics I,,,3rd year +PHYC83H3,NAT_SCI,,"An introduction to the basic principles and mathematics of General Relativity. Tensors will be presented after a review of Special Relativity. The metric, spacetime, curvature, and Einstein's field equations will be studied and applied to the Schwarzschild solution. Further topics include the Newtonian limit, classical tests, and black holes.",,MATB42H3 and MATB44H3 and PHYB54H3,,Introduction to General Relativity,MATC46H3,,3rd year +PHYD01H3,NAT_SCI,University-Based Experience,"Introduces students to current research in physics or astrophysics under the supervision of a professorial faculty member. Students undertake an independent project that can be of a theoretical, computational or experimental nature. Evaluation is by the supervising faculty member in consultation with the course supervisor. Students must obtain consent of the course supervisor to enroll in this course.",,14.0 credits and cGPA of at least 2.5 and permission from the coordinator.,"PHY478H, PHY479Y1",Research Project in Physics and Astrophysics,,,4th year +PHYD02Y3,NAT_SCI,University-Based Experience,"Introduces students to a current research topic in physics or astrophysics under the supervision of a faculty member. Students undertake an independent project that can be of a theoretical, computational, or experimental nature. Evaluation is by the supervising faculty member in consultation with the course supervisor. Students must obtain consent from the course supervisor to enroll in this course.",,14.0 credits and cGPA of at least 3.0 and permission from the coordinator.,"PHY478H, PHY479Y1, PHYD01H3",Extended Research Project in Physics and Astrophysics,,"This supervised research course should only be undertaken if the necessary background is satisfied, a willing supervisor has been found, and the department/course coordinator approves the project. This enrolment limit should align with other supervised research courses (i.e., PHYD01H3), which are: Enrolment Control A: Supervised Study/Research & Independent Study Courses In order to qualify for a Supervised Study course, students must locate a professor who will agree to supervise the course, and then follow the steps outlined below. Step 1: Request the course on ACORN. Your status will be INT. You will not be officially enrolled until you complete the remaining steps. Step 2: Fill the 'Student' section on a 'Supervised Study Form' available at: https://www.utsc.utoronto.ca/registrar/supervised-study- form. Step 3: Once you fill-in the 'Student' section, contact your Supervisor and provide them with the form. Your supervisor will complete their section and forward the form for departmental approval. Step 4: Once the project is approved at the departmental level, the form will be submitted to the Registrar's Office and your status on ACORN will be updated from interim (INT) to approved (APP).",4th year +PHYD26H3,NAT_SCI,,"A course introducing some of the key physical processing governing the evolution of planets and moons. Topics covered will include: planetary heat sources and thermal evolution, effects of high temperature and pressure in planetary interiors, planetary structure and global shape; gravity, rotation, composition and elasticity.",,Completion of at least 1.0 credit at the C-level in PHY or AST courses,,Planetary Geophysics,,No previous knowledge of Earth Sciences or Astrophysics is assumed.,4th year +PHYD27H3,NAT_SCI,,"A course focusing on physical and numerical methods for modelling the climate systems of Earth and other planets. Topics covered will include: the primitive equations of meteorology, radiative transfer in atmospheres, processes involved in atmosphere-surface exchanges, and atmospheric chemistry (condensable species, atmospheric opacities).",,PHYB57H3 and MATC46H3 and PHYC14H3,,Physics of Climate Modeling,,,4th year +PHYD28H3,NAT_SCI,,"A course introducing the basic concepts of magnetohydrodynamics (broadly defined as the hydrodynamics of magnetized fluids). Topics covered will include: the essentials of hydrodynamics, the magnetohydrodynamics (MHD) approximation, ideal and non- ideal MHD regimes, MHD waves and shocks, astrophysical and geophysical applications of MHD.",,PHYB57H3 and PHYC50H3 and MATC46H3,,Introduction to Magnetohydrodynamics for Astrophysics and Geophysics,,,4th year +PHYD37H3,NAT_SCI,,"A course describing and analyzing the dynamics of fluids. Topics include: Continuum mechanics; conservation of mass, momentum and energy; constituitive equations; tensor calculus; dimensional analysis; Navier-Stokes fluid equations; Reynolds number; Inviscid and viscous flows; heat conduction and fluid convection; Bernoulli's equation; basic concepts on boundary layers, waves, turbulence.",,PHYB54H3 and MATC46H3,,Introduction to Fluid Mechanics,,,4th year +PHYD38H3,NAT_SCI,,"The theory of nonlinear dynamical systems with applications to many areas of physics and astronomy. Topics include stability, bifurcations, chaos, universality, maps, strange attractors and fractals. Geometric, analytical and computational methods will be developed.",,PHYC54H3,PHY460H,Nonlinear Systems and Chaos,,,4th year +PHYD57H3,NAT_SCI,,"Intermediate and advanced topics in numerical analysis with applications to physical sciences. Ordinary and partial differential equations with applications to potential theory, particle and fluid dynamics, multidimensional optimization and machine intelligence, are explained. The course includes programming in Python, and C or Fortran, allowing multi- threading and vectorization on multiple platforms.",,PHYB57H3,,Advanced Computational Methods in Physics,,Priority will be given to students enrolled in the Specialist in Physical and Mathematical Sciences and the Major in Physical Sciences.,4th year +PHYD72H3,NAT_SCI,University-Based Experience,"An individual study program chosen by the student with the advice of, and under the direction of a faculty member. A student may take advantage of this course either to specialize further in a field of interest or to explore interdisciplinary fields not available in the regular syllabus.",,14.0 credits and cGPA of at least 2.5 and permission from the coordinator.,PHY371H and PHY372H and PHY471H and PHY472H,Supervised Reading in Physics and Astrophysics,,,4th year +PLIC24H3,NAT_SCI,,"Descriptions of children's pronunciation, vocabulary and grammar at various stages of learning their first language. Theories of the linguistic knowledge and cognitive processes that underlie and develop along with language learning.",,LINB06H3 and LINB09H3,JLP315H,First Language Acquisition,,,3rd year +PLIC25H3,NAT_SCI,,"The stages adults and children go through when learning a second language. The course examines linguistic, cognitive, neurological, social, and personality variables that influence second language acquisition.",,[LINB06H3 and LINB09H3] or [FREB44H3 and FREB45H3],"(LINB25H3), (PLIB25H3)",Second Language Acquisition,,,3rd year +PLIC54H3,NAT_SCI,,"An introduction to the physics of sound and the physiology of speech perception and production for the purpose of assessing and treating speech disorders in children and adults. Topics will include acoustic, perceptual, kinematic, and aerodynamic methods of assessing speech disorders as well as current computer applications that facilitate assessment.",,LINB09H3,,Speech Physiology and Speech Disorders in Children and Adults,,,3rd year +PLIC55H3,NAT_SCI,,"Experimental evidence for theories of how humans produce and understand language, and of how language is represented in the mind. Topics include speech perception, word retrieval, use of grammar in comprehension and production, discourse comprehension, and the role of memory systems in language processing.",,LINB06H3 or LINB09H3,JLP374H,Psycholinguistics,LINB29H3,,3rd year +PLIC75H3,SOCIAL_SCI,,"An introduction to neurolinguistics, emphasizing aphasias and healthy individuals. We will introduce recent results understanding how the brain supports language comprehension and production. Students will be equipped with necessary tools to critically evaluate the primary literature. No prior knowledge of brain imaging is necessary.",,PLIC55H3,,Language and the Brain,,,3rd year +PLID01H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Psycholinguistics for further information.,,At least 1.0 credit at the C-level in PLI courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Psycholinguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar.,4th year +PLID02H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Psycholinguistics for further information.,,At least 1.0 credit at the C-level in PLI courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Psycholinguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar.,4th year +PLID03H3,,University-Based Experience,Independent study and research in an area of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Psycholinguistics for further information.,,At least 1.0 credit at the C-level in PLI courses; and a CGPA of 3.3; and permission of the supervising instructor.,,Independent Study in Psycholinguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar.,4th year +PLID07Y3,,University-Based Experience,A reading and research independent study course on a topic of interest to the student. Students must obtain consent from a supervising instructor before registering. Interested students should contact the Undergraduate Assistant for Psycholinguistics for further information.,,At least 1.0 credit at the C-level in PLI courses; and a CGPA of 3.3; and permission of the supervising instructor.,LIN495Y,Independent Study in Psycholinguistics,,Students must complete and submit a Supervised Study Form available at the Office of the Registrar.,4th year +PLID34H3,NAT_SCI,,"An examination of linguistic and psycholinguistic issues pertinent to reading, as well as the role of a language's writing system and orthography in the learning process.",,[LINA01H3 or [FREB44H3 and FREB45H3]] and [PLIC24H3 or PLIC25H3 or PLIC55H3],"(LINC34H3), (PLIC34H3)",The Psycholinguistics of Reading,,,4th year +PLID44H3,NAT_SCI,,An examination of L1 (first language) and L2 (second language) lexical (vocabulary) acquisition. Topics include: the interaction between linguistic and cognitive development; the role of linguistic/non-linguistic input; the developing L2 lexicon and its links with the L1 lexicon; the interface between lexical and syntactic acquisition within psycholinguistic and linguistic frameworks.,,PLIC24H3 or PLIC55H3,,Acquisition of the Mental Lexicon,,,4th year +PLID50H3,SOCIAL_SCI,,"An examination of the acoustics and perception of human speech. We will explore how humans cope with the variation found in the auditory signal, how infants acquire their native language sound categories, the mechanisms underlying speech perception and how the brain encodes and represents speech sounds. An emphasis will be placed on hands-on experience with experimental data analysis.",,LINB29H3 and PLIC55H3,(PLIC15H3),Speech Perception,,,4th year +PLID53H3,SOCIAL_SCI,,"This course focuses on how humans process sentences in real-time. The course is intended for students interested in psycholinguistics above the level of speech perception and lexical processing. The goals of this course are to (i) familiarize students with classic and recent findings in sentence processing research and (ii) give students a hands- on opportunity to conduct an experiment. Topic areas will include, but are not limited to, incrementality, ambiguity resolution, long-distance dependencies, and memory.",LINC11H3: Syntax II or PLIC75H3 Language and the Brain,LINB06H3 and PLIC55H3,,Sentence Processing,,,4th year +PLID56H3,NAT_SCI,,"An in-depth investigation of a particular type of language or communication disorder, for example, impairment due to hearing loss, Down syndrome, or autism. Topics will include: linguistic and non-linguistic differences between children with the disorder and typically-developing children; diagnostic tools and treatments for the disorder; and its genetics and neurobiology.",,PLIC24H3 or (PLID55H3),,Special Topics in Language Disorders in Children,,,4th year +PLID74H3,NAT_SCI,,"A seminar-style course on language and communication in healthy and language-impaired older adults. The course covers normal age-related neurological, cognitive, and perceptual changes impacting language, as well as language impairments resulting from dementia, strokes, etc. Also discussed are the positive aspects of aging, bilingualism, ecologically valid experimentation, and clinical interventions.",,PLIC24H3 and PLIC55H3,,Language and Aging,,,4th year +PMDB22H3,SOCIAL_SCI,,"Allows students to develop the critical thinking skills and problem solving approaches needed to provide quality pre- hospital emergency care. Emphasizes the components of primary and second assessment, and the implementation of patient care based on interpretation of assessment findings. Discusses principles of physical and psycho-social development, and how these apply to the role of the paramedic. Students must pass each component (theory and lab) of the course to be successful. This course is taught at the Centennial HP Science and Technology Centre.",,BIOA01H3 and BIOA02H3,,Pre-hospital Care 1: Theory and Lab,PMDB25H3 and PMDB41H3 and PMDB33H3,Enrolment is restricted to students in the Specialist Program in Paramedicine.,2nd year +PMDB25H3,HIS_PHIL_CUL,Partnership-Based Experience,"Focuses on the utilization of effective communication tools when dealing with persons facing health crisis. Students will learn about coping mechanisms utilized by patients and families, and the effects of death and dying on the individual and significant others. Students will have the opportunity to visit or examine community services and do class presentations. This course is taught at the Centennial HP Science and Technology Centre.",,BIOA01H3 and BIOA02H3,,Therapeutic Communications and Crisis Intervention,,Enrolment is restricted to students in the Specialist Program in Paramedicine.,2nd year +PMDB30H3,NAT_SCI,,"Discusses how human body function is affected by a variety of patho-physiological circumstances. The theoretical framework includes the main concepts of crisis, the adaptation of the body by way of compensatory mechanisms, the failure of these compensatory mechanisms and the resulting physiological manifestations. Students will learn to identify such manifestations. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB22H3 and PMDB25H3 and PMDB41H3 and PMDB33H3,,Alterations of Human Body Function I,PMDB32Y3 and PMDB36H3,Enrolment is limited to students in the Specialist Program in Paramedicine,2nd year +PMDB32Y3,NAT_SCI,,"Provides the necessary knowledge, skill and value base that will enable the student to establish the priorities of assessment and management for persons who are in stress or crisis due to the effects of illness or trauma. The resulting patho-physiological or psychological manifestations are assessed to determine the degree of crisis and/or life threat. Students must pass each component (theory, lab and clinical) of the course to be successful. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB22H3 and PMDB25H3 and PMDB41H3 and PMDB33H3,,"Pre-hospital Care 2: Theory, Lab and Clinical",PMDB30H3 and PMDB36H3,Enrolment is limited to students in the Specialist Program in Paramedicine,2nd year +PMDB33H3,NAT_SCI,,"The basic anatomy of all the human body systems will be examined. The focus is on the normal functioning of the anatomy of all body systems and compensatory mechanisms, where applicable, to maintain homeostasis. Specific differences with respect to the pediatric/geriatric client will be highlighted. This course is taught at the Centennial HP Science and Technology Centre.",,BIOA01H3 and BIOA02H3,"ANA300Y, ANA301H, BIOB33H3",Anatomy,PMDB22H3,Restricted to students in the Specialist (Joint) Program in Paramedicine.,2nd year +PMDB36H3,NAT_SCI,,"Introduces principles of Pharmacology, essential knowledge for paramedics who are expected to administer medications in Pre-hospital care. Classifications of drugs will be discussed in an organized manner according to their characteristics, purpose, physiologic action, adverse effects, precautions, interactions and Pre-hospital applications. Students will use a step-by-step process to calculate drug dosages. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB22H3 and PMDB25H3 and PMDB41H3 and PMDB33H3,,Pharmacology for Allied Health,,Enrolment is limited to students in the Specialist Program in Paramedicine,2nd year +PMDB41H3,SOCIAL_SCI,,"Discusses the changing role of the paramedic and introduces the student to the non-technical professional expectations of the profession. Introduces fundamental principles of medical research and professional principles. Topics covered include the role of professional organizations, the role of relevant legislation, the labour/management environment, the field of injury prevention, and basic concepts of medical research. This course is taught at the Centennial HP Science and Technology Centre.",,BIOA01H3 and BIOA02H3,,"Professional and Legal Issues, Research, Responsibilities and Leadership",,Enrolment is restricted to students in the Specialist Program in Paramedicine.,2nd year +PMDC40H3,NAT_SCI,,"Strengthens students' decision-making skills and sound clinical practices. Students continue to develop an understanding of various complex alterations in human body function from a variety of patho-physiological topics. Physiologic alterations will be discussed in terms of their potential life threat, their effect on the body's compensatory and decompensatory mechanisms, their manifestations and complications and treatment. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB30H3 and PMDB32Y3 and PMDB36H3 and BIOB11H3,,Alterations of Human Body Function II,PMDC42Y3 and PMDC43H3,Enrolment is limited to students in the Specialist Program in Paramedicine,3rd year +PMDC42Y3,NAT_SCI,,"Provides students with the necessary theoretical concepts and applied knowledge and skills for managing a variety of pre-hospital medical and traumatic emergencies. Particular emphasis is placed on advanced patient assessment, ECG rhythm interpretation and cardiac emergencies, incorporation of symptom relief pharmacology into patient care and monitoring of intravenous fluid administration. Students must pass each component (theory, lab and field) of the course to be successful. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB30H3 and PMDB32Y3 and PMDB36H3 and BIOB11H3,,"Pre-hospital Care 3: Theory, Lab and Field",PMDC40H3 and PMDC43H3,Enrolment is limited to students in the Specialist Program in Paramedicine,3rd year +PMDC43H3,HIS_PHIL_CUL,,"Applies concepts and principles from pharmacology, patho- physiology and pre-hospital care to make decisions and implementation of controlled or delegated medical acts for increasingly difficult case scenarios in a class and lab setting. Ethics and legal implications/responsibilities of actions will be integrated throughout the content. Patient care and monitoring of intravenous fluid administration. This course is taught at the Centennial HP Science and Technology Centre.",,PMDB30H3 and PMDB32Y3 and PMDB36H3 and BIOB11H3,,Medical Directed Therapeutics and Paramedic Responsibilities,PMDC40H3 and PMDC42Y3,Enrolment is limited to students in the Specialist Program in Paramedicine,3rd year +PMDC54Y3,NAT_SCI,,"Combines theory, lab and field application. New concepts of paediatric trauma and Basic Trauma Life Support will be added to the skill and knowledge base. Students will be guided to develop a final portfolio demonstrating experiences, reflection and leadership. Students must pass each component (theory, lab and field) of the course to be successful. This course is taught at the Centennial HP Science and Technology Centre.",,PMDC40H3 and PMDC42Y3 and PMDC43H3,,"Pre-hospital Care 4: Theory, Lab and Field",PMDC56H3,Enrolment is limited to students in the Specialist Program in Paramedicine,3rd year +PMDC56H3,NAT_SCI,,"Challenges students with increasingly complex decisions involving life-threatening situations, ethical-legal dilemmas, and the application of sound foundational principles and knowledge of pharmacology, patho-physiology, communication, assessment and therapeutic interventions. Students will analyze and discuss real field experiences and case scenarios to further develop their assessment, care and decision-making. This course is taught at the Centennial HP Science and Technology Centre.",,PMDC40H3 and PMDC42Y3 and PMDC43H3,,Primary Care Paramedic Integration and Decision Making,PMDC54Y3,Enrolment is limited to students in the Specialist Program in Paramedicine,3rd year +POLA01H3,SOCIAL_SCI,,"An introduction to crucial political issues of the day (e.g. globalization, migration, political violence, corruption, democracy, global justice, climate change, human rights, revolution, terrorism) and key concepts in Political Science. Students will be introduced to and practice techniques of critical reading and analytic essay writing. Topics will vary by semester and professor.",,,"POL101Y, POL115H, POL112H, POL113H, POL114H",Critical Issues in Politics I,,POLA01H3 and POLA02H3 are not sequential courses and can be taken out of order or concurrently.,1st year +POLA02H3,SOCIAL_SCI,,"An introduction to crucial political issues of the day (e.g. globalization, migration, political violence, corruption, democracy, global justice, climate change, human rights, revolution, terrorism) and key concepts in Political Science. Students will develop techniques of critical reading and analytic essay writing. Topics will vary by semester and professor.",,,"POL101Y, POL115H, POL112H, POL113H, POL114H",Critical Issues in Politics II,,POLA01H3and POLA02H3 are not sequential courses and can be taken out of order or concurrently.,1st year +POLB30H3,HIS_PHIL_CUL,,"This is a lecture course that helps students understand the theoretical justifications for the rule of law. We will study different arguments about the source and limitations of law: natural law, legal positivism, normative jurisprudence and critical theories. The course will also examine some key court cases in order to explore the connection between theory and practice. This is the foundation course for the Minor program in Public Law. Areas of Focus: Political Theory and Public Law",0.5 credit in Political Science,Any 4.0 credits,PHLB11H3 (students who have taken PHLB11H3 prior to POLB30H3 may count PHLB11H3 in place of POLB30H3 in the Minor in Public Law),"Law, Justice and Rights",,Priority will be given to students enrolled in the Minor program in Public Law. Additional students will be admitted as space permits.,2nd year +POLB40H3,QUANT,,"This course introduces students to tools and foundational strategies for developing evidence-based understandings of politics and public policy. The course covers cognitive and other biases that distort interpretation. It then progresses to methodological approaches to evidence gathering and evaluation, including sampling techniques, statistical uncertainty, and deductive and inductive methods. The course concludes by introducing tools used in advanced political science and public policy courses. Areas of Focus: Public Policy, and Quantitative and Qualitative Analysis",,Any 4.0 credits,"POL222H1, SOCB35H3",Quantitative Reasoning for Political Science and Public Policy,,,2nd year +POLB56H3,SOCIAL_SCI,,"The objective of this course is to introduce students to the fundamentals of the Canadian political system and the methods by which it is studied. Students will learn about the importance of Parliament, the role of the courts in Canada’s democracy, federalism, and the basics of the constitution and the Charter of Rights and Freedoms, and other concepts and institutions basic to the functioning of the Canadian state. Students will also learn about the major political cleavages in Canada such as those arising from French-English relations, multiculturalism, the urban-rural divide, as well as being introduced to settler-Indigenous relations. Students will be expected to think critically about the methods that are used to approach the study of Canada along with their strengths and limitations. Area of Focus: Canadian Government and Politics",,Any 4.0 credits,"(POLB50Y3), (POL214Y), POL214H",Canadian Politics and Government,,,2nd year +POLB57H3,SOCIAL_SCI,,"This class will introduce students to the Canadian constitution and the Charter of Rights and Freedoms. Students will learn the history of and constitutional basis for parliamentary democracy, Canadian federalism, judicial independence, the role of the monarchy, and the origins and foundations of Indigenous rights. The course will also focus specifically on the role of the Charter of Rights and Freedoms, and students will learn about the constitutional rights to expression, equality, assembly, free practice of religion, the different official language guarantees, and the democratic rights to vote and run for office. Special attention will also be paid to how rights can be constitutionally limited through an examination of the notwithstanding clause and the Charter’s reasonable limits clause. Areas of Focus: Canadian Government and Politics and Public Law",,Any 4.0 credits,"(POLB50Y3), (POLC68H3), (POL214Y)",The Canadian Constitution and the Charter of Rights,,,2nd year +POLB72H3,HIS_PHIL_CUL,,"This course presents a general introduction to political theory and investigates central concepts in political theory, such as liberty, equality, democracy, and the state. Course readings will include classic texts such as Plato, Aristotle, Hobbes, Rousseau, and Marx, as well as contemporary readings. Area of Focus: Political Theory",,Any 4.0 credits,PHLB17H3,Introduction to Political Theory,,,2nd year +POLB80H3,SOCIAL_SCI,,"This course examines different approaches to international relations, the characteristics of the international system, and the factors that motivate foreign policies. Area of Focus: International Relations",,Any 4.0 credits,(POL208Y),Introduction to International Relations I,,,2nd year +POLB81H3,SOCIAL_SCI,,"This course examines how the global system is organized and how issues of international concern like conflict, human rights, the environment, trade, and finance are governed. Area of Focus: International Relations",,POLB80H3,(POL208Y),Introduction to International Relations II,,It is strongly recommended that students take POLB80H3 and POLB81H3 in consecutive semesters.,2nd year +POLB90H3,SOCIAL_SCI,,"This course examines the historical and current impact of the international order on the development prospects and politics of less developed countries. Topics include colonial conquest, multi-national investment, the debt crisis and globalization. The course focuses on the effects of these international factors on domestic power structures, the urban and rural poor, and the environment. Area of Focus: Comparative Politics",,Any 4.0 credits,POL201H or (POL201Y),Comparative Development in International Perspective,,,2nd year +POLB91H3,SOCIAL_SCI,,"This course examines the role of politics and the state in the processes of development in less developed countries. Topics include the role of the military and bureaucracy, the relationship between the state and the economy, and the role of religion and ethnicity in politics. Area of Focus: Comparative Politics",,Any 4.0 credits,(POL201Y),Introduction to Comparative Politics,,,2nd year +POLC09H3,SOCIAL_SCI,,"This course explores the causes and correlates of international crises, conflicts, and wars. Using International Relations theory, it examines why conflict occurs in some cases but not others. The course examines both historical and contemporary cases of inter-state conflict and covers conventional, nuclear, and non-traditional warfare. Area of Focus: International Relations",,POLB80H3 and POLB81H3,,"International Security: Conflict, Crisis and War",,,3rd year +POLC11H3,QUANT,,"In this course, students learn to apply data analysis techniques to examples drawn from political science and public policy. Students will learn to complete original analyses using quantitative techniques commonly employed by political scientists to study public opinion and government policies. Rather than stressing mathematical concepts, the emphasis of the course will be on the application and interpretation of the data as students learn to communicate their results through papers and/or presentations. Area of Focus: Quantitative and Qualitative Analysis",,STAB23H3 or equivalent,(POLB11H3),Applied Statistics for Politics and Public Policy,,,3rd year +POLC12H3,SOCIAL_SCI,Partnership-Based Experience,"This course will introduce students to the global policymaking process, with an emphasis on the Sustainable Development Goals (SDGs). Students will make practical contributions to the policy areas under the SDGs through partnerships with community not-for-profit organizations, international not-for- profit organizations, or international governmental organizations. Students will learn about problem definition and the emergence of global policy positions in the SDG policy areas. They will assess the roles of non-state actors in achieving the SDGs and analyze the mechanisms that drive the global partnership between developing countries and developed countries. Area of Focus: Public Policy",,"8.0 credits including [1.0 credit from POLB80H3, POLB81H3, POLB90H3 or POLB91H3]",,Global Public Policy and the Sustainable Development Goals (SDGs),,,3rd year +POLC13H3,SOCIAL_SCI,Partnership-Based Experience,This course introduces students to the frameworks and practice of program evaluation. It focuses on the policy evaluation stage of the policy cycle. The course explains the process of assessing public programs to determine if they achieved the expected change. Students will learn about program evaluation methods and tools and will apply these in practical exercises. They will also learn about the use of indicators to examine if the intended outcomes have been met and to what extent. Students will engage in critical analysis of program evaluation studies and reports. Areas of Focus: Public Policy and Quantitative and Qualitative Analysis,,PPGB66H3 and a minimum CGPA of 2.5,,Program Evaluation,,,3rd year +POLC16H3,SOCIAL_SCI,,This course covers a range of topics in contemporary Chinese politics and society post 1989. It exposes students to state of the art literature and probes beyond the news headlines. No prior knowledge of China required. Area of Focus: Comparative Politics,,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, or POLB91H3","JPA331Y, JMC031Y",Chinese Politics,,,3rd year +POLC21H3,SOCIAL_SCI,,"Why do some citizens vote when others do not? What motivates voters? This course reviews theories of voting behaviour, the social and psychological bases of such behaviour, and how candidate and party campaigns influence the vote. By applying quantitative methods introduced in STAB23H3 or other courses on statistical methods, students will complete assignments examining voter behaviour in recent Canadian and/or foreign elections using survey data and election returns. Areas of Focus: Canadian Government and Politics; Comparative Politics",,[STAB23H3 or equivalent] or POL222H1 or (POL242Y),"(POL314H), (POL314Y)",Voting and Elections,,,3rd year +POLC22H3,SOCIAL_SCI,,"This course explores post-Cold War politics in Europe through an examination of democratization and ethnic conflict since 1989 - focusing in particular on the role of the European Union in shaping events in Eastern Europe and the former Soviet Union. The first part of the course will cover theories of democratization, ethnic conflict as well as the rise of the European Union while the second part of the course focuses on specific cases, including democratization and conflict in the Balkans and Ukraine. Area of Focus: Comparative Politics",,Any 8.0 credits,(POLB93H3),Ethnic Conflict and Democratization in Europe After the Cold War,,,3rd year +POLC30H3,SOCIAL_SCI,,"Today's legal and political problems require innovative solutions and heavily rely on the extensive use of technology. This course will examine the interaction between law, politics, and technology. It will explore how technological advancements shape and are shaped by legal and political systems. Students will examine the impact of technology on the legal and political landscape, and will closely look at topics such as cybersecurity, privacy, intellectual property, social media, artificial intelligence and the relationship of emerging technologies with democracy, human rights, ethics, employment, health and environment. The course will explore the challenges and opportunities that technology poses to politics and democratic governance. The topics and readings take a wider global perspective – they are not confined only on a Canadian context but look at various countries’ experiences with technology. Area of Focus: Public Law","POLC32H3, POLC36H3",POLB30H3 and POLB56H3,,"Law, Politics and Technology",,,3rd year +POLC31H3,HIS_PHIL_CUL,,"This course investigates the relationship between three major schools of thought in contemporary Africana social and political philosophy: the African, Afro-Caribbean, and Afro- North American intellectual traditions. We will discuss a range of thinkers including Dionne Brand, Aimé Césaire, Angela Davis, Édouard Glissant, Kwame Gyekye, Cathy Cohen, Paget Henry, Katherine McKittrick, Charles Mills, Nkiru Nzegwu, Oyèrónke Oyewùmí, Ngũgĩ wa Thiong’o, Cornel West, and Sylvia Wynter. Area of Focus: Political Theory",,8.0 credits including 1.0 credit in Political Science [POL or PPG courses],,Contemporary Africana Social and Political Philosophy,,,3rd year +POLC32H3,SOCIAL_SCI,,"This course explores the structure, role and key issues associated with the Canadian judicial system. The first section provides the key context and history associated with Canada’s court system. The second section discusses the role the courts have played in the evolution of the Canadian constitution and politics – with a particular focus on the Supreme Court of Canada. The final section analyzes some of the key debates and issues related to the courts in Canada, including their democratic nature, function in establishing public policy and protection of civil liberties. Areas of Focus: Canadian Government and Politics and Public Law",POLB30H3,[POLB56H3 and POLB57H3] or (POLB50Y3),,The Canadian Judicial System,,,3rd year +POLC33H3,SOCIAL_SCI,,"This course aims to provide students with an overview of the way human rights laws, norms, and institutions have evolved. In the first half of the class, we will examine the legal institutions and human rights regimes around the world, both global and regional. In the second half, we will take a bottom- up view by exploring how human rights become part of contentious politics. Special attention will be given to how human rights law transform with mobilization from below and how it is used to contest, challenge and change hierarchical power relationships. The case studies from the Middle East, Latin America, Europe and the US aim at placing human rights concerns in a broader sociopolitical context. Areas of Focus: International Relations and Public Law",POLB90H3 and POLB91H3,POLB30H3,,Politics of International Human Rights,,,3rd year +POLC34H3,SOCIAL_SCI,,"This course will explore how the world of criminal justice intersects with the world of politics. Beginning with a history of the “punitive turn” in the criminal justice policy of the late 1970s, this course will look at the major political issues in criminal justice today. Topics studied will include the constitutional context for legislating the criminal and quasi- criminal law, race and class in criminal justice, Canada’s Indigenous peoples and the criminal justice system, the growth of restorative justice, drug prohibition and reform, the value of incarceration, and white-collar crime and organizational liability. More broadly, the class aims to cover why crime continues to be a major political issue in Canada and the different approaches to addressing its control. Areas of Focus: Comparative Politics and Public Law",,POLB30H3 and [[POLB56H3 and POLB57H3] or (POLB50Y3)],,The Politics of Crime,,,3rd year +POLC35H3,SOCIAL_SCI,,"This course examines different methods and approaches to the study of law and politics. Students will learn how the humanities-based study of law traditionally applied by legal scholars interacts or contradicts more empirically driven schools of thought common in social science, such as law and economics or critical race theory. Students will understand the substantive content of these different approaches and what can be gained from embracing multiple perspectives. Areas of Focus: Quantitative and Qualitative Analysis, Political Theory, and Public Law",,POLB30H3 and POLB56H3 and POLB57H3,,"Law and Politics: Contradictions, Approaches, and Controversies",,Enrolment is limited to students enrolled in the Major Program in Public Law.,3rd year +POLC36H3,SOCIAL_SCI,,This course examines how different types of legal frameworks affect processes and outcomes of policy-making. It contrasts policy-making in Westminster parliamentary systems and separation of powers systems; unitary versus multi-level or federal systems; and systems with and without constitutional bills of rights. Areas of Focus: Public Policy and Public Law,PPGB66H3/(POLC66H3)/(PPGC66H3),[POLB56H3 and POLB57H3] or (POLB50Y3),,Law and Public Policy,,,3rd year +POLC37H3,HIS_PHIL_CUL,,"This course examines theoretical debates about the extent of moral and political obligations to non-citizens. Topics include human rights, immigration, global poverty, development, terrorism, and just war. Area of Focus: Political Theory",,[(POLB70H3) and (POLB71H3)] or POLB72H3 or [1.0 credit at the B-level in IDS courses],(PHLB08H3),Global Justice,,,3rd year +POLC38H3,SOCIAL_SCI,,"This course introduces students to the foundations of international law, its sources, its rationale, and challenges to its effectiveness and implementation. Areas of international law discussed include the conduct of war, trade, and diplomacy, as well as the protection of human rights and the environment. Areas of Focus: International Relations and Public Law",,POLB30H3 or POLB80H3,POL340Y,International Law,,,3rd year +POLC39H3,SOCIAL_SCI,,"This course examines the interaction between law, courts, and politics in countries throughout the world. We begin by critically examining the (alleged) functions of courts: to provide for “order,” resolve disputes, and to enforce legal norms. We then turn to examine the conditions under which high courts have expand their powers by weighing into contentious policy areas and sometimes empower individuals with new rights. We analyze case studies from democracies, transitioning regimes, and authoritarian states. Areas of Focus: Comparative Politics and Public Law",,POLB30H3,,Comparative Law and Politics,,,3rd year +POLC40H3,SOCIAL_SCI,,Topics and Area of Focus will vary depending on the instructor.,,One B-level full credit in Political Science,,Current Topics in Politics,,,3rd year +POLC42H3,SOCIAL_SCI,,Topics will vary depending on the regional interests and expertise of the Instructor. Area of Focus: Comparative Politics,,One B-level full credit in Political Science,,Topics in Comparative Politics,,,3rd year +POLC43H3,SOCIAL_SCI,,"To best understand contemporary political controversies, this course draws from a variety of disciplines and media to understand the politics of racial and ethnic identity. The class will explore historical sources of interethnic divisions, individual level foundations of prejudice and bias, and institutional policies that cause or exacerbate inequalities.",,Any 8.0 credits,,Prejudice and Racism,,,3rd year +POLC52H3,SOCIAL_SCI,,"This course is an introduction to Indigenous/Canadian relations and will give students a chance to begin learning and understanding an important component of Canadian politics and Canadian political science. A vast majority of topics in Canadian politics and Canadian political science can, and do, have a caveat and component that reflects, or should reflect, Indigenous nations and peoples that share territory with the Canadian state. Both Indigenous and Settler contexts will be used to guide class discussion. The course readings will also delve into Canadian/Indigenous relationships, their development, histories, contemporary existence, and potential futures.",,[POLB56H3 and POLB57H3] or (POLB50Y3),POL308H1,Indigenous Nations and the Canadian State,,,3rd year +POLC53H3,SOCIAL_SCI,,"This course examines the ideas and success of the environmental movement in Canada. The course focuses on how environmental policy in Canada is shaped by the ideas of environmentalists, economic and political interests, public opinion, and Canada's political-institutional framework. Combined lecture-seminar format. Areas of Focus: Canadian Government and Politics; Public Policy",,(POLB50Y3) or [POLB56H3 and POLB57H3] or ESTB01H3 or [1.5 credits at the B-level in CIT courses],,Canadian Environmental Policy,,,3rd year +POLC54H3,SOCIAL_SCI,,"This course examines relations between provincial and federal governments in Canada, and how they have been shaped by the nature of Canada's society and economy, judicial review, constitutional amendment, and regionalisation and globalization. The legitimacy and performance of the federal system are appraised. Lecture-seminar format. Areas of Focus: Canadian Government and Politics; Public Policy",,[POLB56H3 and POLB57H3] or (POLB50Y3),POL316Y,Intergovernmental Relations in Canada,,,3rd year +POLC56H3,SOCIAL_SCI,,"This course explores key historical and contemporary issues in indigenous politics. Focusing on the contemporary political and legal mobilization of Indigenous peoples, it will examine their pursuit of self-government, land claims and resource development, treaty negotiations indigenous rights, and reconciliation. A primary focus will be the role of Canada’s courts, its political institutions, and federal and provincial political leaders in affecting the capacity of indigenous communities to realize their goals. Areas of Focus: Canadian Government and Politics, and Public Law",,[POLB56H3 and POLB57H3] or (POLB50Y3),"POL308H, ABS353H, ABS354H",Indigenous Politics and Law,,,3rd year +POLC57H3,SOCIAL_SCI,,"This course examines intergovernmental relations in various areas of public policy and their effects on policy outcomes. It evaluates how federalism affects the capacity of Canadians to secure desirable social, economic, environmental and trade policies. Lecture-seminar format. Areas of Focus: Canadian Government and Politics; Public Policy",,[[(POLB50Y3) or [POLB56H3 and POLB57H3]],POL316Y,Intergovernmental Relations and Public Policy,,,3rd year +POLC58H3,SOCIAL_SCI,,"This course explores the foundational concepts of nation and nationalism in Canadian and comparative politics, and the related issues associated with diversity. The first section looks at the theories related to nationalism and national identity, while the second applies these to better understand such pressing issues as minorities, multiculturalism, conflict and globalization. Areas of Focus: Canadian Government and Politics; Comparative Politics",,(POLB92H3) or [POLB56H3 and POLB57H3] or (POLB50Y3),,The Politics of National Identity and Diversity,,,3rd year +POLC59H3,SOCIAL_SCI,,"Who are we as a people today? What role have consecutive vice regals played in more than 400 years of shaping our nation and its institutions? This course examines how the vice regal position in general, and how selected representatives in particular, have shaped Canada’s political system. Areas of Focus: Canadian Government and Politics",,[POLB56H3 and POLB57H3] or (POLB50Y3),POLC40H3 (if taken in 2014-Winter or 2015- Winter sessions),"Sources of Power: The Crown, Parliament and the People",,,3rd year +POLC65H3,SOCIAL_SCI,,"This course focuses on analyzing and influencing individual and collective choices of political actors to understand effective strategies for bringing about policy changes. We will draw on the psychology of persuasion and decision-making, as well as literature on political decision-making and institutions, emphasizing contemporary issues. During election years in North America, special attention will be paid to campaign strategy. There may be a service-learning requirement. Area of Focus: Public Policy",,Any 4.0 credits,,Political Strategy,,,3rd year +POLC69H3,SOCIAL_SCI,,"This course provides an introduction to the field of political economy from an international and comparative perspective. The course explores the globalization of the economy, discusses traditional and contemporary theories of political economy, and examines issues such as trade, production, development, and environmental change. Areas of Focus: Comparative Politics; International Relations",,"[1.0 credit from: POLB80H3, POLB81H3, POLB90H3, POLB91H3, or (POLB92H3)]",POL361H1,Political Economy: International and Comparative Perspectives,,,3rd year +POLC70H3,HIS_PHIL_CUL,,This course introduces students to central concepts in political theory. Readings will include classical and contemporary works that examine the meaning and justification of democracy as well as the different forms it can take. Students will also explore democracy in practice in the classroom and/or in the local community. Area of Focus: Political Theory,,POLB72H3 or PHLB17H3,"POL200Y, (POLB70H3)","Political Thought: Democracy, Justice and Power",,,3rd year +POLC71H3,HIS_PHIL_CUL,,"This course introduces students to central concepts in political theory, such as sovereignty, liberty, and equality. Readings will include modern and contemporary texts, such as Hobbes' Leviathan and Locke's Second Treatise of Government. Area of Focus: Political Theory",,POLB72H3 or PHLB17H3,"POL200Y, (POLB71H3)","Political Thought: Rights, Revolution and Resistance",,,3rd year +POLC72H3,HIS_PHIL_CUL,,"The course investigates the concept of political liberty in various traditions of political thought, especially liberalism, republicanism, and Marxism. The course will investigate key studies by such theorists as Berlin, Taylor, Skinner, Pettit, and Cohen, as well as historical texts by Cicero, Machiavelli, Hobbes, Hegel, Constant, Marx, and Mill. Area of Focus: Political Theory",,POLB72H3 or (POLB70H3) or (POLB71H3),,Liberty,,,3rd year +POLC73H3,HIS_PHIL_CUL,,"This course is a study of the major political philosophers of the nineteenth century, including Hegel, Marx, J.S. Mill and Nietzsche. Area of Focus: Political Theory",,[(POLB70H3) and (POLB71H3)] or POLB72H3,POL320Y,Modern Political Theory,,,3rd year +POLC74H3,HIS_PHIL_CUL,,This course is a study of the major political philosophers of the twentieth century. The theorists covered will vary from year to year. Area of Focus: Political Theory,,[(POLB70H3) and (POLB71H3)] or POLB72H3,POL320Y,Contemporary Political Thought,,,3rd year +POLC78H3,SOCIAL_SCI,University-Based Experience,This course examines the principles of research design and methods of analysis employed by researchers in political science. Students will learn to distinguish between adequate and inadequate use of evidence and between warranted and unwarranted conclusions. Area of Focus: Quantitative and Qualitative Analysis,,"8.0 credits including 0.5 credit in POL, PPG, or IDS courses",,Political Analysis I,,,3rd year +POLC79H3,HIS_PHIL_CUL,,"This course examines the challenges and contributions of feminist political thought to the core concepts of political theory, such as rights, citizenship, democracy, and social movements. It analyzes the history of feminist political thought, and the varieties of contemporary feminist thought, including: liberal, socialist, radical, intersectional, and postcolonial. Area of Focus: Political Theory",,POLB72H3 or [(POLB70H3) and (POLB71H3)] or PHLB13H3 or WSTA03H3,POL432H,Feminist Political Thought,,,3rd year +POLC80H3,SOCIAL_SCI,,"This course introduces students to the International Relations of Africa. This course applies the big questions in IR theory to a highly understudied region. The first half of the course focuses on security and politics, while the latter half pays heed to poverty, economic development, and multilateral institutions. Area of Focus: International Relations",,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, or POLB91H3",,International Relations of Africa,,,3rd year +POLC83H3,SOCIAL_SCI,University-Based Experience,"This course examines the foreign policy of the United States by analyzing its context and application to a specific region, regions or contemporary problems in the world. Areas of Focus: International Relations; Public Policy; Comparative Politics",,Any 4.0 credits,,Applications of American Foreign Policy,,,3rd year +POLC87H3,SOCIAL_SCI,,This course explores the possibilities and limits for international cooperation in different areas and an examination of how institutions and the distribution of power shape bargained outcomes. Area of Focus: International Relations,,POLB80H3 and POLB81H3,,Great Power Politics,,,3rd year +POLC88H3,SOCIAL_SCI,,"Traditional International Relations Theory has concentrated on relations between states, either failing to discuss, or missing the complexities of important issues such as terrorism, the role of women, proliferation, globalization of the world economy, and many others. This course serves as an introduction to these issues - and how international relations theory is adapting in order to cover them. Area of Focus: International Relations",,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, or POLB91H3",,The New International Agenda,,,3rd year +POLC90H3,SOCIAL_SCI,,"This course provides students with a more advanced examination of issues in development studies, including some of the mainstream theoretical approaches to development studies and a critical examination of development practice in historical perspective. Seminar format. Area of Focus: Comparative Politics",,POLB90H3 and POLB91H3,,Development Studies: Political and Historical Perspectives,,,3rd year +POLC91H3,SOCIAL_SCI,,This course explores the origins of Latin America's cycles of brutal dictatorship and democratic rule. It examines critically the assumption that Latin American countries have made the transition to democratic government. Area of Focus: Comparative Politics,,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, or POLB91H3",POL305Y,Latin America: Dictatorship and Democracy,,,3rd year +POLC92H3,SOCIAL_SCI,,This course analyses the American federal system and the institutions and processes of government in the United States. Area of Focus: Comparative Politics,,Any 8.0 credits,(POL203Y) and POL386H1,U.S. Government and Politics,,,3rd year +POLC93H3,SOCIAL_SCI,University-Based Experience,This course focuses on selected policy issues in the United States. Areas of Focus: Comparative Politics; Public Policy,,One full credit in Political Science at the B-level,POL203Y,Public Policies in the United States,,,3rd year +POLC94H3,SOCIAL_SCI,,"This course explores the gendered impact of economic Globalization and the various forms of resistance and mobilization that women of the global south have engaged in their efforts to cope with that impact. The course pays particular attention to regional contextual differences (Latin America, Africa, Asia and the Middle East) and to the perspectives of global south women, both academic and activist, on major development issues. Area of Focus: Comparative Politics",,POLB90H3,,"Globalization, Gender and Development",,,3rd year +POLC96H3,SOCIAL_SCI,,"This course examines the origins of, and political dynamics within, states in the contemporary Middle East. The first part of the course analyses states and state formation in historical perspective - examining the legacies of the late Ottoman and, in particular, the colonial period, the rise of monarchical states, the emergence of various forms of ""ethnic"" and/or ""quasi"" democracies, the onset of ""revolutions from above"", and the consolidation of populist authoritarian states. The second part of the course examines the resilience of the predominantly authoritarian state system in the wake of socio-economic and political reform processes. Area of Focus: Comparative Politics",,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, POLB91H3 or (POLB92H3)",,State Formation and Authoritarianism in the Middle East,,,3rd year +POLC97H3,SOCIAL_SCI,,"This course examines various forms of protest politics in the contemporary Middle East. The course begins by introducing important theoretical debates concerning collective action in the region - focusing on such concepts as citizenship, the public sphere, civil society, and social movements. The second part of the course examines case studies of social action - examining the roles played by crucial actors such as labour, the rising Islamist middle classes/bourgeoisie, the region's various ethnic and religious minority groups, and women who are entering into the public sphere in unprecedented numbers. The course concludes by examining various forms of collective and non-collective action in the region from Islamist social movements to everyday forms of resistance. Area of Focus: Comparative Politics",,"1.0 credit from POLB80H3, POLB81H3, POLB90H3, POLB91H3 or (POLB92H3)",,Protest Politics in the Middle East,,,3rd year +POLC98H3,SOCIAL_SCI,,"The course explains why financial markets exist, and their evolution, by looking at the agents, actors and institutions which generate demand for them. We also consider the consequences of increasingly integrated markets, the causes of systemic financial crises, as well as the implications and feasibility of regulation. Area of Focus: International Relations",,[POLB80H3 and POLB81H3] and [MGEA01H3 or MGEA02H3] and [MGEA05H3 or MGEA06H3],POL411H1,International Political Economy of Finance,,,3rd year +POLD01H3,,University-Based Experience,"This course provides an opportunity to design and carry out individual or small-group research on a political topic. After class readings on the topic under study, research methods and design, and research ethics, students enter ""the field"" in Toronto. The seminar provides a series of opportunities to present and discuss their unfolding research.",,1.5 credits at the C-level in POL courses,,Research Seminar in Political Science,,,4th year +POLD02Y3,SOCIAL_SCI,University-Based Experience,"This course provides an opportunity for students to propose and carry out intensive research on a Political Science topic of the student’s choosing under the supervision of faculty with expertise in that area. In addition to research on the topic under study, class readings and seminar discussions focus on the practice of social science research, including methods, design, ethics, and communication.",,Open to 4th Year students with a CGPA of at least 3.3 in the Specialist and Major programs in Political Science or Public Policy or from other programs with permission of the instructor.,,Senior Research Seminar in Political Science,,,4th year +POLD09H3,SOCIAL_SCI,,"This seminar course investigates the most urgent topics in the field of International Security, including American hegemonic decline, rising Chinese power, Russian military actions in Eastern Europe, great power competition, proxy wars, and international interventions. The readings for this course are drawn from the leading journals in International Relations, which have been published within the past five years. The major assignment for this course is the production of an original research paper on any topic in international security, which would meet the standard of publication in a reputable student journal. Area of Focus: International Relations",,POLC09H3 and [an additional 1.0 credit at the C-level in POL or IDS courses],"POL466H1, POL468H1",Advanced Topics in International Security,,,4th year +POLD30H3,SOCIAL_SCI,University-Based Experience,"This course will introduce students to the ideas and methods that guide judges and lawyers in their work. How does the abstract world of the law get translated into predictable, concrete decisions? How do judges decide what is the “correct” decision in a given case? The class will begin with an overview of the legal system before delving into the ideas guiding statute drafting and interpretation, judicial review and administrative discretion, the meaning of “evidence” and “proof,” constitutionalism, and appellate review. Time will also be spent exploring the ways that foreign law can impact and be reconciled with Canadian law in a globalizing world. Areas of Focus: Public Law, and Quantitative and Qualitative Analysis",,POLB30H3 and an additional 1.5 credits at the C-level in POL courses,,Legal Reasoning,,Priority will be given to students enrolled in the Minor in Public Law.,4th year +POLD31H3,SOCIAL_SCI,Partnership-Based Experience,"This course will offer senior students the opportunity to engage in a mock court exercise based around a contemporary legal issue. Students will be expected to present a legal argument both orally and in writing, using modern templates for legal documents and argued under similar circumstances to those expected of legal practitioners. The class will offer students an opportunity to understand the different stages of a court proceeding and the theories that underpin oral advocacy and procedural justice. Experiential learning will represent a fundamental aspect of the course, and expertise will be sought from outside legal professionals in the community who can provide further insight into the Canadian legal system where available. Area of Focus: Public Law",,POLB30H3 and POLC32H3 and an additional 1.5 credits at the C-level in POL courses,,Mooting Seminar,,Enrolment is limited to students enrolled in the Major Program in Public Law.,4th year +POLD38H3,SOCIAL_SCI,University-Based Experience,"This course examines how law both constitutes and regulates global business. Focusing on Canada and the role of Canadian companies within a global economy, the course introduces foundational concepts of business law, considering how the state makes markets by bestowing legal personality on corporations and facilitating private exchange. The course then turns to examine multinational businesses and the laws that regulate these cross-border actors, including international law, extra-territorial national law, and private and hybrid governance tools. Using real-world examples from court decisions and business case studies, students will explore some of the “governance gaps” produced by the globalization of business and engage directly with the tensions that can emerge between legal, ethical, and strategic demands on multinational business. Areas of Focus: International Relations and Public Law",POLB80H3,POLC32H3 and 1.0 credit at the C-level in POL courses,,Law and Global Business,,,4th year +POLD41H3,,,Topics and Area of Focus will vary depending on the instructor.,,1.5 credits at the C-level in POL courses,(POLC41H3),Advanced Topics in Politics,,,4th year +POLD42H3,SOCIAL_SCI,University-Based Experience,"Topics and area of focus will vary depending on the instructor and may include global perspectives on social and economic rights, judicial and constitutional politics in diverse states and human rights law in Canada. Area of Focus: Public Law",,"1.0 credits from the following [POLC32H3, POLC36H3, POLC39H3]",,Advanced Topics in Public Law,,,4th year +POLD43H3,HIS_PHIL_CUL,,"Some of the most powerful political texts employ literary techniques such as narrative, character, and setting. This class will examine political themes in texts drawn from a range of literary genres (memoire, literary non-fiction, science fiction). Students will learn about the conventions of these genres, and they will also have the opportunity to write an original piece of political writing in one of the genres. This course combines the academic analysis of political writing with the workshop method employed in creative writing courses.",At least one course in creative writing at the high school or university level.,"[1.5 credits at the C-level in POL, CIT, PPG, GGR, ANT, SOC, IDS, HLT courses] or [JOUB39H3 or ENGB63H3]",,Writing about Politics,,,4th year +POLD44H3,SOCIAL_SCI,,This seminar examines how legal institutions and legal ideologies influence efforts to produce or prevent social change. The course will analyze court-initiated action as well as social actions “from below” (social movements) with comparative case studies. Areas of Focus: Comparative Politics and Public Law,,POLB30H3 and [POLC33H3 or POLC38H3 or POLC39H3] and [0.5 credit in Comparative Politics],POL492H1,Comparative Law and Social Change,,Priority will be given to students enrolled in the Minor Program in Public Law.,4th year +POLD45H3,HIS_PHIL_CUL,,"This course studies the theory of constitutionalism through a detailed study of its major idioms such as the rule of law, the separation of powers, sovereignty, rights, and limited government. Areas of Focus: Political Theory and Public Law",,[[(POLB70H3) and (POLB71H3)] or POLB72H3 or POLB30H3] and [1.5 credits at the C-level in POL courses],,Constitutionalism,,,4th year +POLD46H3,SOCIAL_SCI,University-Based Experience,"Immigration is one of the most debated and talked about political issues in the 21st century. Peoples’ movement across continents for a whole host of reasons is not new; however, with the emergence of the nation-state, the drawing of borders, and the attempts to define and shape of membership in a political and national community, migration became a topic for public debate and legal challenge. This course dives into Canada’s immigration system and looks at how it was designed, what values and objectives it tries to meet, and how global challenges affect its approach and attitude toward newcomers. The approach used in this course is that of a legal practitioner, tasked with weighing the personal narratives and aspirations of migrants as they navigate legal challenges and explore the available programs and pathways to complete their migration journey in Canada. Areas of Focus: Canadian Government and Politics, and Public Law",,"1.0 credits from the following: POLC32H3, POLC36H3, POLC39H3",,Public Law and the Canadian Immigration System,,,4th year +POLD50H3,SOCIAL_SCI,,"This course examines the interrelationship between organized interests, social movements and the state in the formulation and implementation of public policy in Canada and selected other countries. Areas of Focus: Canadian Government and Politics; Public Policy",,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL or PPG courses],,"Political Interests, Political Identity, and Public Policy",,,4th year +POLD51H3,SOCIAL_SCI,,This seminar course explores selected issues of Canadian politics from a comparative perspective. The topics in this course vary depending on the instructor. Areas of Focus: Canadian Government and Politics; Comparative Politics,,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL courses],,Topics in Canadian and Comparative Politics,,,4th year +POLD52H3,SOCIAL_SCI,,"Immigration has played a central role in Canada's development. This course explores how policies aimed at regulating migration have both reflected and helped construct conceptions of Canadian national identity. We will pay particular attention to the politics of immigration policy- making, focusing on the role of the state and social actors. Areas of Focus: Canadian Government and Politics; Public Policy",,[[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL or PPG courses]] or [15.0 credits including SOCB60H3],,Immigration and Canadian Political Development,,,4th year +POLD53H3,SOCIAL_SCI,,"Why do Canadians disagree in their opinions about abortion, same-sex marriage, crime and punishment, welfare, taxes, immigration, the environment, religion, and many other subjects? This course examines the major social scientific theories of political disagreement and applies these theories to an analysis of political disagreement in Canada. Area of Focus: Canadian Government and Politics",STAB23H3 or equivalent,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL courses],,Political Disagreement in Canada,,,4th year +POLD54H3,SOCIAL_SCI,University-Based Experience,"The campuses of the University of Toronto are situated on the territory of the Michi-Saagiig Nation (one of the nations that are a part of the Nishnaabeg). This course will introduce students to the legal, political, and socio-economic structures of the Michi-Saagiig Nishnaabeg Nation and discuss its relations with other Indigenous nations and confederacies, and with the Settler societies with whom the Michi-Saagiig Nishnaabeg have had contact since 1492. In an era of reconciliation, it is imperative for students to learn and understand the Indigenous nation upon whose territory we are meeting and learning. Therefore, course readings will address both Michi-Saagiig Nishnaabeg and Settler contexts. In addition to literature, there will be guest speakers from the current six (6) Michi-Saagiig Nishnaabeg communities that exist: Alderville, Mississaugas of the Credit, Mississaugi 8, Oshkigamig (Curve Lake), Pamitaashkodeyong (Burns/Hiawatha), and Scugog.",POLC52H3 or POL308H1,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in Political Science (POL and PPG courses)],,Michi-Saagiig Nishnaabeg Nation Governance and Politics,,,4th year +POLD55H3,SOCIAL_SCI,,"This seminar provides an in-depth examination of the politics of inequality in Canada, and the role of the Canadian political-institutional framework in contributing to political, social and economic (in)equality. The focus will be on diagnosing how Canada’s political institutions variously impede and promote equitable treatment of different groups of Canadians (such as First Nations, women, racial and minority groups) and the feasibility of possible institutional and policy reforms to promote goals of social and economic equity. Area of Focus: Canadian Government and Politics",,[(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL courses],,The Politics of Equality and Inequality in Canada,,,4th year +POLD56H3,QUANT,,"This course applies tools from computational social science to the collection and analysis of political data, with a particular focus on the computational analysis of text. Students are expected to propose, develop, carry out, and present a research project in the field of computational social science. Area of Focus: Quantitative and Qualitative Analysis",,[STAB23H3 or equivalent] and 1.5 credit at the C-level,,Politics and Computational Social Science,,,4th year +POLD58H3,SOCIAL_SCI,,"This course examines the recent rise of ethnic nationalism in western liberal democracies, with a particular focus on the US, Canada, UK and France. It discusses the different perspectives on what is behind the rise of nationalism and populism, including economic inequality, antipathy with government, immigration, the role of political culture and social media. Areas of Focus: Canadian Government and Politics",POLC58H3,1.0 credit at the C-level in POL or PPG courses,,The New Nationalism in Liberal Democracies,,,4th year +POLD59H3,SOCIAL_SCI,,"An in-depth analysis of the place and rights of disabled persons in contemporary society. Course topics include historic, contemporary, and religious perspectives on persons with disabilities; the political organization of persons with disabilities; media presentation of persons with disabilities; and the role of legislatures and courts in the provision of rights of labour force equality and social service accessibility for persons with disabilities. Area of Focus: Canadian Government and Politics",,"8.0 credits, of which at least 1.5 credits must be at the C- or D-level",,Politics of Disability,,,4th year +POLD67H3,SOCIAL_SCI,,"This course critically examines the relationship between politics, rationality, and public policy-making. The first half of the course surveys dominant rational actor models, critiques of these approaches, and alternative perspectives. The second half of the course explores pathological policy outcomes, arrived at through otherwise rational procedures. Areas of Focus: Comparative Politics; Political Theory; Public Policy",,PPGB66H3/(PPGC66H3/(POLC67H3) or [(POLB70H3) and (POLB71H3)] or POLB72H3] or [POLB90H3 and POLB91H3] and [1.0 additional credit at the C-level in POL or PPG courses],,The Limits of Rationality,,,4th year +POLD70H3,,,This seminar explores the ways in which political theory can deepen our understanding of contemporary political issues. Topics may include the following: cities and citizenship; multiculturalism and religious pluralism; the legacies of colonialism; global justice; democratic theory; the nature of power. Area of Focus: Political Theory,,[(POLB70H3) or (POLB71H3) or POLB72H3] and [1.5 credits at the C-level in POL courses],,Topics in Political Theory,,,4th year +POLD74H3,HIS_PHIL_CUL,,"The Black radical tradition is a modern tradition of thought and action which began after transatlantic slavery’s advent. Contemporary social science and the humanities overwhelmingly portray the Black radical tradition as a critique of Black politics in its liberal, libertarian, and conservative forms. This course unsettles that framing: first by situating the Black radical tradition within Black politics; second, through expanding the boundaries of Black politics to include, yet not be limited to, theories and practices emanating from Canada and the United States; and third, by exploring whether it is more appropriate to claim the study of *the* Black radical tradition or a broader network of intellectual traditions underlying political theories of Black radicalism. Area of Focus: Political Theory",,[POLB72H3 or POLC31H3] and [1.0 credit at the C-level in Political Science (POL and PPG courses)],,The Black Radical Tradition,,,4th year +POLD75H3,SOCIAL_SCI,,"This course examines the concept of property as an enduring theme and object of debate in the history of political thought and contemporary political theory. Defining property and justifying its distribution has a significant impact on how citizens experience authority, equality, freedom, and justice. The course will analyze different theoretical approaches to property in light of how they shape and/or challenge relations of class, race, gender, and other lines of difference and inequality.",,"0.5 credit from: [POLB72H3, POLC70H3, POLC71H3 or POLC73H3]",,Property and Power,,,4th year +POLD78H3,SOCIAL_SCI,,This seminar course is intended for students interested in deepening their understanding of methodological issues that arise in the study of politics or advanced research techniques.,,POLC78H3 and [1.0 credit at the C-level in POL courses],,Advanced Political Analysis,,,4th year +POLD82H3,SOCIAL_SCI,,"Examines political dynamics and challenges through exploration of fiction and other creative works with political science literature. Topics and focus will vary depending on the instructor but could include subjects like climate change, war, migration, gender, multiculturalism, colonialism, etc.",,1.5 credits at the C-level in POL courses,,Politics and Literature,,,4th year +POLD87H3,SOCIAL_SCI,,This course is an introduction to rational choice theories with applications to the international realm. A main goal is to introduce analytical constructs frequently used in the political science and political economy literature to understand strategic interaction among states. Area of Focus: International Relations,,POLB80H3 and POLB81H3 and [1.5 credits at the C-level in POL courses],,Rational Choice and International Cooperation,,,4th year +POLD89H3,SOCIAL_SCI,,"Examines the challenges faced by humanity in dealing with global environmental problems and the politics of addressing them. Focuses on both the underlying factors that shape the politics of global environmental problems - such as scientific uncertainty, North-South conflict, and globalization - and explores attempts at the governance of specific environmental issues. Area of Focus: International Relations; Public Policy",,[[POLB80H3 and POLB81H3] or ESTB01H3]] and [2.0 credits at the C-level in any courses],POL413H1,Global Environmental Politics,,,4th year +POLD90H3,SOCIAL_SCI,,"While domestic and international political factors have discouraged pro human development public policies in much of the global south, there have been some important success stories. This course examines the economic and social policies most successful in contributing to human development and explores the reasons behind these rare cases of relatively successful human development. Areas of Focus: Comparative Politics; Public Policy Same as IDSD90H3",,"[1.0 credit from: IDSB01H3, IDSB04H3, POLB90H3, POLB91H3] and [2.0 credits at the C-level in any courses]",IDSD90H3,Public Policy and Human Development in the Global South,,,4th year +POLD91H3,SOCIAL_SCI,,"This course examines contentious politics from a comparative perspective, beginning with the foundational theories of Charles Tilly, Sidney Tarrow, and Doug McAdam. It explores questions such as why people protest, how they organize, and the outcomes of contention. The second half of the course challenges students to examine popular contention across a range of states in Asia, the Middle East, Europe, and Latin America. It asks students to interrogate the applicability of the dynamics of contention framework to illiberal states in a comparative context. Area of Focus: Comparative Politics",,1.5 credits at the C-level in POL courses,POL451H1,Protests and Social Movements in Comparative Perspective,,,4th year +POLD92H3,SOCIAL_SCI,,"This course will provide an introduction to theories of why some dictatorships survive while others do not. We will explore theories rooted in regime type, resources, state capacity, parties, popular protest, and leadership. We will then examine the utility of these approaches through in-depth examinations of regime crises in Ethiopia, Iran, China, the USSR, and South Africa. Area of Focus: Comparative Politics",,[POLB90H3 or POLB91H3] and [an additional 2.0 credits at the C-level in any courses],,Survival and Demise of Dictatorships,,,4th year +POLD94H3,SOCIAL_SCI,,Area of Focus: Comparative Politics,,POLB90H3 and [POLB91H3 or 0.5 credit at the B-level in IDS courses] and [2.0 credits at the C-level in any courses],,Selected Topics on Developing Areas Topics vary according to instructor.,,,4th year +POLD95H3,,University-Based Experience,"A research project under the supervision of a member of faculty that will result in the completion of a substantial report or paper acceptable as an undergraduate senior thesis. Students wishing to undertake a supervised research project in the Winter Session must register in POLD95H3 during the Fall Session. It is the student's responsibility to find a faculty member who is willing to supervise the project, and the student must obtain consent from the supervising instructor before registering for this course. During the Fall Session the student must prepare a short research proposal, and both the supervising faculty member and the Supervisor of Studies must approve the research proposal prior to the first day of classes for the Winter Session.",,Permission of the instructor,,Supervised Research,,,4th year +POLD98H3,,,"Advanced reading in special topics. This course is meant only for those students who, having completed the available basic courses in a particular field of Political Science, wish to pursue further intensive study on a relevant topic of special interest. Students are advised that they must obtain consent from the supervising instructor before registering for this course.",,Permission of the instructor.,POL495Y,Supervised Reading,,,4th year +PPGB11H3,QUANT,,"Policy analysts frequently communicate quantitative findings to decision-makers and the public in the form of graphs and tables. Students will gain experience finding data, creating effective graphs and tables, and integrating those data displays in presentations and policy briefing notes. Students will complete assignments using Excel and/or statistical programs like Tableau, STATA, SPSS and/or R.",STAB23H3 or equivalent,,,Policy Communications with Data,,,2nd year +PPGB66H3,SOCIAL_SCI,,"This course provides an introduction to the study of public policy. The course will address theories of how policy is made and the influence of key actors and institutions. Topics include the policy cycle (agenda setting, policy information, decision making, implementation, and evaluation), policy durability and change, and globalization and policy making. Areas of Focus: Public Policy, Comparative Politics, Canadian Government and Politics",,Any 4.0 credits,"(POLC66H3), (PPGC66H3)",Public Policy Making,,,2nd year +PPGC67H3,SOCIAL_SCI,,"This course is a survey of contemporary patterns of public policy in Canada. Selected policy studies including managing the economy from post-war stabilization policies to the rise of global capitalism, developments in the Canadian welfare state and approaches to external relations and national security in the new international order. Areas of Focus: Canadian Government and Politics; Public Policy",,[(POLB50Y3) or [POLB56H3 and POLB57H3]] or 1.5 credits at the B-level in CIT courses,(POLC67H3),Public Policy in Canada,,,3rd year +PPGD64H3,SOCIAL_SCI,,"This seminar course explores some of the major theoretical approaches to the comparative analysis of public policies across countries. The course explores factors that influence a country’s policy-making process and why countries’ policies diverge or converge. Empirically, the course examines several contemporary issue areas, such as economic, social or environmental policies. Areas of Focus: Comparative Politics; Public Policy",PPGC67H3,PPGB66H3/(PPGC66H3) and [[(POLB50Y3) or [POLB56H3 and POLB57H3]] or [(POLB92H3) and (POLB93H3)]] and [1.5 credits at the C-level in POL or PPG courses],(POLD64H3),Comparative Public Policy,,,4th year +PPGD68H3,SOCIAL_SCI,,"A review and application of theories of public policy. A case- based approach is used to illuminate the interplay of evidence (scientific data, etc.) and political considerations in the policy process, through stages of agenda-setting, formulation, decision-making, implementation and evaluation. Cases will be drawn from Canada, the United States and other industrialized democracies, and include contemporary and historical policies.",,PPGB66H3 and [(POLB50Y3) or [POLB56H3 and POLB57H3]] and [1.5 credits at the C-level in POL courses],,Capstone: The Policy Process in Theory and Practice,,,4th year +PSCB90H3,NAT_SCI,,"This course provides an opportunity for students to work with a faculty member, Students will provide assistance with one of the faculty member's research projects, while also earning credit. Students will gain first-hand exposure to current research methods, and share in the excitement of discovery of knowledge acquisition. Progress will be monitored by regular meetings with the faculty member and through a reflective journal. Final results will be presented in a written report and/or a poster presentation at the end of the term. Approximately 120 hours of work is expected for the course.",Completion of at least 4.0 credits in a relevant discipline.,Permission of the Course Coordinator,,Physical Sciences Research Experience,,"Students must send an application to the course Coordinator for admission into this course. Applications must be received by the end of August for Fall enrolment, December 15th for Winter enrolment, and end of April for Summer enrolment. Typically, students enrolled in a program offered by the Department of Physical and Environmental Sciences and students who have a CGPA of at least 2.5 or higher are granted admission. Approved students will receive a signed course enrolment form that will be submitted to the Office of the Registrar. Applications will include: 1) A letter of intent indicating the student's wish to enrol in the course; 2) A list of relevant courses successfully completed by the student, as well as any relevant courses to be taken during the upcoming semester; 3) Submission of the preferred project form, indicating the top four projects of interest to the student. This form is available from the Course Coordinator, along with the project descriptions.",2nd year +PSCD01H3,SOCIAL_SCI,,"Current issues involving physical science in modern society. Topics include: complex nature of the scientific method; inter- connection between theory, concepts and experimental data; characteristics of premature, pathological and pseudo- science; organization and funding of scientific research in Canada; role of communication and publishing; public misunderstanding of scientific method. These will be discussed using issues arising in chemistry, computer science, earth sciences, mathematics and physics.",,Completion of at least one-half of the credits required in any one of the programs offered by the Department of Physical & Environmental Sciences.,PHY341H,The Physical Sciences in Contemporary Society,Continued participation in one of the Physical and Environmental Sciences programs.,"Where PSCD01H3 is a Program requirement, it may be replaced by PHY341H with the approval of the Program supervisor.",4th year +PSCD02H3,NAT_SCI,,"Topics of current prominence arising in chemistry, computer science, earth sciences, mathematics and physics will be discussed, usually by faculty or outside guests who are close to the areas of prominence. Topics will vary from year to year as the subject areas evolve.",,Completion of at least 3.5 credits of a Physical Sciences program,PHY342H,Current Questions in Mathematics and Science,Continued participation in one of the Physical Sciences programs or enrolment in the Minor Program in Natural Sciences and Environmental Management,,4th year +PSCD11H3,ART_LIT_LANG,,"Communicating complex science issues to a wider audience remains a major challenge. This course will use film, media, journalism and science experts to explore the role of science and scientists in society. Students will engage with media and academic experts to get an insight into the ‘behind the scenes’ world of filmmaking, media, journalism, and scientific reporting. The course will be of interest to all students of environmental science, media, education, journalism and political science.",,Any 14.5 credits,(PSCA01H3),"Communicating Science: Film, Media, Journalism, and Society",,,4th year +PSCD50H3,NAT_SCI,,"This course provides exposure to a variety of theoretical concepts and practical methods for treating various problems in quantum mechanics. Topics include perturbation theory, variational approach, adiabatic approximation, mean field approximation, Hamiltonian symmetry implementation, light- matter interaction, second quantization.",,Any one of the following courses [PHYC56H3 or CHMC20H3 or (CHMC25H3)],"PHY456H, CHM423H, CHM421H, JCP421H",Advanced Topics in Quantum Mechanics,,,4th year +PSYA01H3,NAT_SCI,Partnership-Based Experience,"This course provides a general overview of topics including research techniques in psychology, evolutionary psychology, the biology of behaviour, learning and behaviour, sensation, perception, memory and consciousness. The most influential findings from each of these areas will be highlighted.",,,"PSY100H, PSY100Y",Introduction to Biological and Cognitive Psychology,,,1st year +PSYA02H3,SOCIAL_SCI,Partnership-Based Experience,"This course provides a general overview of topics including language, intelligence, development, motivation and emotion, personality, social psychology, stress, mental disorders and treatments of mental disorders. The most influential findings from each of these areas will be highlighted.",,,"PSY100H, PSY100Y","Introduction to Clinical, Developmental, Personality and Social Psychology",,,1st year +PSYB03H3,QUANT,,"The course will provide introductory knowledge and hands-on training in computer-based implementations of experimental design, data processing and result interpretation in psychology. The course covers implementations of experimental testing paradigms, computational explorations of empirical data structure and result visualization with the aid of specific programming tools (e.g., Matlab).",,PSYA01H3 and PSYA02H3,,Introduction to Computers in Psychological Research,PSYB07H3 or STAB22H3 or STAB23H3,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, and Neuroscience (Cognitive stream). Students in the Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits.",2nd year +PSYB07H3,QUANT,,"This course focuses on the fundamentals of the theory and the application of statistical procedures used in research in the field of psychology. Topics will range from descriptive statistics to simple tests of significance, such as Chi-Square, t-tests, and one-way Analysis-of-Variance. A working knowledge of algebra is assumed.",,,"ANTC35H3, LINB29H3, MGEB11H3/(ECMB11H3), MGEB12H3/(ECMB12H3), PSY201H, (SOCB06H3), STAB22H3, STAB23H3, STAB52H3, STA220H, STA221H, STA250H, STA257H",Data Analysis in Psychology,,"Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology, Mental Health Studies, Neuroscience, and Paramedicine. Students in the Minor program in Psychology and Mental Health Studies will be admitted as space permits.",2nd year +PSYB10H3,SOCIAL_SCI,,"Surveys a wide range of phenomena relating to social behaviour. Social Psychology is the study of how feelings, thoughts, and behaviour are influenced by the presence of others. The course is designed to explore social behaviour and to present theory and research that foster its understanding.",,PSYA01H3 and PSYA02H3,PSY220H,Introduction to Social Psychology,,,2nd year +PSYB20H3,SOCIAL_SCI,,"Developmental processes during infancy and childhood. This course presents students with a broad and integrative overview of child development. Major theories and research findings will be discussed in order to understand how the child changes physically, socially, emotionally, and cognitively with age. Topics are organized chronologically beginning with prenatal development and continuing through selected issues in adolescence and life-span development.",,PSYA01H3 and PSYA02H3,PSY210H,Introduction to Developmental Psychology,,,2nd year +PSYB30H3,SOCIAL_SCI,,"This course is intended to introduce students to the scientific study of the whole person in biological, social, and cultural contexts. The ideas of classical personality theorists will be discussed in reference to findings from contemporary personality research.",,PSYA01H3 and PSYA02H3,PSY230H,Introduction to Personality,,,2nd year +PSYB32H3,SOCIAL_SCI,University-Based Experience,"Clinical psychology examines why people behave, think, and feel in unexpected, sometimes bizarre, and typically self- defeating ways. This course will focus on the ways in which clinicians have been trying to learn the causes of various clinical disorders and what they know about preventing and alleviating it.",,PSYA01H3 and PSYA02H3,"PSY240H, PSY340H",Introduction to Clinical Psychology,,,2nd year +PSYB38H3,SOCIAL_SCI,,"An introduction to behaviour modification, focusing on attempts to regulate human behaviour. Basic principles and procedures of behaviour change are examined, including their application across different domains and populations. Topics include operant and respondent conditioning; reinforcement; extinction; punishment; behavioural data; ethics; and using behaviourally-based approaches (e.g., CBT) to treat psychopathology.",,PSYA01H3 and PSYA02H3,"PSY260H1, (PSYB45H3)",Introduction to Behaviour Modification,,,2nd year +PSYB51H3,NAT_SCI,,"Theory and research on perception and cognition, including visual, auditory and tactile perception, representation, and communication. Topics include cognition and perception in the handicapped and normal perceiver; perceptual illusion, noise, perspective, shadow patterns and motion, possible and impossible scenes, human and computer scene-analysis, ambiguity in perception, outline representation. The research is on adults and children, and different species. Demonstrations and exercises form part of the course work.",,PSYA01H3 and PSYA02H3,"NROC64H3, PSY280H1",Introduction to Perception,,,2nd year +PSYB55H3,NAT_SCI,,"The course explores how the brain gives rise to the mind. It examines the role of neuroimaging tools and brain-injured patients in helping to uncover cognitive networks. Select topics include attention, memory, language, motor control, decision-making, emotion, and executive functions.",,PSYA01H3 and PSYA02H3,PSY493H1,Introduction to Cognitive Neuroscience,,,2nd year +PSYB57H3,NAT_SCI,,"A discussion of theories and experiments examining human cognition. This includes the history of the study of human information processing and current thinking about mental computation. Topics covered include perception, attention, thinking, memory, visual imagery, language and problem solving.",,PSYA01H3 and PSYA02H3,PSY270H,Introduction to Cognitive Psychology,,,2nd year +PSYB64H3,NAT_SCI,,"A survey of the biological mechanisms underlying fundamental psychological processes intended for students who are not in a Neuroscience program. Topics include the biological basis of motivated behaviour (e.g., emotional, ingestive, sexual, and reproductive behaviours; sleep and arousal), sensory processes and attention, learning and memory, and language.",,PSYA01H3 and PSYA02H3,"NROC61H3, PSY290H",Introduction to Behavioural Neuroscience,,,2nd year +PSYB70H3,SOCIAL_SCI,,"This course focuses on scientific literacy skills central to effectively consuming and critiquing research in psychological science. Students will learn about commonly used research designs, how to assess whether a design has been applied correctly, and whether the conclusions drawn from the data are warranted. Students will also develop skills to effectively find and consume primary research in psychology.",,PSYA01H3 and PSYA02H3,"(PSYB01H3), (PSYB04H3)",Methods in Psychological Science,,,2nd year +PSYB80H3,SOCIAL_SCI,,"This course builds upon foundational concepts from Introduction to Psychology and examines the field of psychological science from a critical perspective. Students will explore the contextual underpinnings of the field and learn about current debates and challenges facing various subfields of psychology. Specific topics will vary by term according to the interests and expertise of the course instructor and guest lecturers. Examination of these topics will include considerations such as bias in the sciences, demographic representation in participant pools, methodological diversity, replicability, and ecological validity.",PSYB70H3,"PSYA01H3, PSYA02H3",,Psychology in Context,,"Priority will be given to students in the Specialist/Specialist Co-op, Major/Major Co-op and Minor programs in Psychology, Mental Health Studies, and Neuroscience. This course uses a Credit/No Credit (CR/NCR) grading scheme.",2nd year +PSYB90H3,SOCIAL_SCI,University-Based Experience,"This course provides an introduction to, and experience in, ongoing theoretical and empirical research in any field of psychology. Supervision of the work is arranged by mutual agreement between student and instructor. Students will typically engage in an existing research project within a supervisor’s laboratory. Regular consultation with the supervisor is necessary, which will enhance communication skills and enable students to develop proficiency in speaking about scientific knowledge with other experts in the domain. Students will also develop documentation and writing skills through a final report and research journal. This course requires students to complete a permission form obtained from the Department of Psychology. This form must outline agreed-upon work that will be performed, must be signed by the intended supervisor, and returned to the Department of Psychology.",B-level courses in Psychology or Psycholinguistics,"[PSYA01H3 and PSYA02H3 with at least an 80% average across both courses] and [a minimum of 4.0 credits [including PSYA01H3 and PSYA02H3] in any discipline, with an average cGPA of 3.0] and [a maximum of 9.5 credits completed] and [enrolment in a Psychology, Mental Health Studies, Neuroscience or Psycholinguistics program].",ROP299Y and LINB98H3,Supervised Introductory Research in Psychology,,"Students receive a half credit spread across two-terms; therefore, the research in this course must take place across two consecutive terms. Priority will be given to students in the Specialist and Major programs in Psychology and Mental Health Studies, followed by students in the Specialist and Major programs in Neuroscience and Psycholinguistics. Enrolment will depend each year on the research opportunities available with each individual faculty member and the interests of the students who apply.",2nd year +PSYC02H3,SOCIAL_SCI,University-Based Experience,"How we communicate in psychology and why. The differences between scientific and non-scientific approaches to behaviour and their implications for communication are discussed. The focus is on improving the student's ability to obtain and organize information and to communicate it clearly and critically, using the conventions of the discipline.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Scientific Communication in Psychology,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, and Neuroscience (Cognitive stream), and the Specialist Co-op program in Neuroscience (Stage 1). Students in the Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits.",3rd year +PSYC03H3,QUANT,,"The course will provide advanced knowledge and hands-on training in computer-based implementations of experimental design, data processing and result interpretation in psychology. The course covers implementations of experimental testing paradigms, computational explorations of empirical data structure, and result visualization with the aid of specific programming tools (e.g., Matlab).",,PSYB03H3,,Computers in Psychological Research: Advanced Topics,,Priority will be given to students in the Specialist/Specialist Co-op program in Neuroscience (Cognitive stream). Students in the Specialist/Specialist Co- op and Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits.,3rd year +PSYC08H3,QUANT,,"The primary focus of this course is on the understanding of Analysis-of-Variance and its application to various research designs. Examples will include a priori and post hoc tests. Finally, there will be an introduction to multiple regression, including discussions of design issues and interpretation problems.",,[PSYB07H3 or STAB23H3 or STAB22H3] and PSYB70H3,"(STAC52H3), PSY202H",Advanced Data Analysis in Psychology,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, Neuroscience, and Paramedicine. Students in the Major/Major Co-op programs in Psychology, Mental Health Studies, and Neuroscience will be permitted if space permits.",3rd year +PSYC09H3,QUANT,University-Based Experience,"An introduction to multiple regression and its applications in psychological research. The course covers the data analysis process from data collection to interpretation: how to deal with missing data, the testing of assumptions, addressing problem of multicolinearity, significance testing, and deciding on the most appropriate model. Several illustrative data sets will be explored in detail. The course contains a brief introduction to factor analysis. The goal is to provide the students with the skills and understanding to conduct and interpret data analysis in non-experimental areas of psychology.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"LINC29H3, MGEC11H3",Applied Multiple Regression in Psychology,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, and Neuroscience (Cognitive stream). Students in the Major/Major Co-op programs in Psychology, Mental Health Studies, and Neuroscience will be permitted if space permits.",3rd year +PSYC10H3,SOCIAL_SCI,,"This course examines the psychology of judgment and decision making, incorporating perspectives from social psychology, cognitive psychology, and behavioral economics. Understanding these topics will allow students to identify errors and systematic biases in their own decisions and improve their ability to predict and influence the behavior of others.",,[PSYB10H3 or PSYB57H3 or PSYC57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Judgment and Decision Making,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC12H3,SOCIAL_SCI,,"A detailed examination of selected social psychological topics introduced in PSYB10H3. This course examines the nature of attitudes, stereotypes and prejudice, including their development, persistence, and automaticity. It also explores the impact of stereotypes on their targets, including how stereotypes are perceived and how they affect performance, attributions, and coping.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY322H,The Psychology of Prejudice,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC13H3,SOCIAL_SCI,University-Based Experience,"A comprehensive survey of how cognitive processes (e.g., perception, memory, judgment) influence social behaviour. Topics include the construction of knowledge about self and others, attitude formation and change, influences of automatic and controlled processing, biases in judgment and choice, interactions between thought and emotion, and neural specializations for social cognition.",,[PSYB10H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY326H, PSY473H, PSY417H",Social Cognition: Understanding Ourselves and Others,,"Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology, Mental Health Studies, and Neuroscience. Students in the Minor program in Psychology will be admitted as space permits.",3rd year +PSYC14H3,SOCIAL_SCI,,"A survey of the role of culture in social thought and behaviour. The focus is on research and theory that illustrate ways in which culture influences behaviour and cognition about the self and others, emotion and motivation. Differences in individualism and collectivism, independence and interdependence as well as other important orientations that differ between cultures will be discussed. Social identity and its impact on acculturation in the context of immigration will also be explored.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY321H,Cross-Cultural Social Psychology,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC15H3,SOCIAL_SCI,,"Community psychology is an area of psychology that examines the social, cultural, and structural influences that promote positive change, health, and empowerment among communities and community members. This course will offer an overview of the foundational components of community psychology including its theories, research methods, and applications to topics such as community mental health, prevention programs, interventions, the community practitioner as social change agent, and applications of community psychology to other settings and situations.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Foundations in Community Psychology,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC16H3,SOCIAL_SCI,,"The course will examine different aspects of imagination in a historical context, including creativity, curiosity, future- mindedness, openness to experience, perseverance, perspective, purpose, and wisdom along with its neural foundations.",,PSYB10H3 and [PSYB20H3 or PSYB30H3 or PSYB51H3 or PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Psychology of Imagination,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC17H3,SOCIAL_SCI,,"What happens when two (or more) minds meet—how do they interact and interconnect? Specifically, how do people “get on the same page,” and what are barriers that might stand in the way? Guided by these questions, this course will provide a broad overview of the psychological phenomena and processes that enable interpersonal connection. We will examine the various ways that people’s inner states— thoughts, feelings, intentions, and identities—connect with one another. We will study perspectives from both perceivers (i.e., how to understand others) and targets (i.e., how to be understood), at levels of dyads (i.e., how two minds become interconnected) and groups (i.e., how minds coordinate and work collectively). Throughout the course, we will consider challenges to effective interpersonal interactions, and solutions and strategies that promote and strengthen interconnection. A range of perspectives, including those from social, cognitive, personality, developmental, and cultural psychology, as well as adjacent disciplines such as communication, will be considered.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Meeting Minds: The Psychology of Interpersonal Interactions,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC18H3,SOCIAL_SCI,University-Based Experience,"What is an emotion? How are emotions experienced and how are they shaped? What purpose do emotions serve to human beings? What happens when our emotional responses go awry? Philosophers have debated these questions for centuries. Fortunately, psychological science has equipped us with the tools to explore such questions on an empirical level. Building with these tools, this course will provide a comprehensive overview of the scientific study of emotion. Topics will include how emotions are expressed in our minds and bodies, how emotions influence (and are influenced by) our thoughts, relationships, and cultures, and how emotions can both help us thrive and make us sick. A range of perspectives, including social, cultural, developmental, clinical, personality, and cognitive psychology, will be considered.",,[PSYB10H3 or PSYB30H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY331H, PSY494H",The Psychology of Emotion,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC19H3,SOCIAL_SCI,,"A detailed examination of how organisms exercise control, bringing thoughts, emotions and behaviours into line with preferred standards. Topics include executive function, the neural bases for self control, individual differences in control, goal setting and goal pursuit, motivation, the interplay of emotion and control, controversies surrounding fatigue and control, and decision-making.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Psychology of Self Control,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC21H3,SOCIAL_SCI,University-Based Experience,"An examination of topics in adult development after age 18, including an examination of romantic relationships, parenting, work-related functioning, and cognitive, perceptual, and motor changes related to aging.",,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY313H, PSY311H",Adulthood and Aging,,"Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology, Mental Health Studies, Paramedicine, and Psycholinguistics. Students in the Minor program in Psychology will be admitted as space permits.",3rd year +PSYC22H3,SOCIAL_SCI,University-Based Experience,"Infants must learn to navigate their complex social worlds as their bodies and brains undergo incredible changes. This course explores physical and neural maturation, and the development of perception, cognition, language, and social- emotional understanding in infants prenatally until preschool.",,PSYB20H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3 or STAB23H3],"PSY316H1, PSY316H5",Infancy,,,3rd year +PSYC23H3,NAT_SCI,,"A review of the interplay of psychosocial and biological processes in the development of stress and emotion regulation. Theory and research on infant attachment, mutual regulation, gender differences in emotionality, neurobiology of the parent-infant relationship, and the impact of socialization and parenting on the development of infant stress and emotion.",,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Developmental Psychobiology,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC24H3,SOCIAL_SCI,,"This advanced course in developmental psychology explores selected topics in childhood and adolescent development during school age (age 4 through age 18). Topics covered include: cognitive, social, emotional, linguistic, moral, perceptual, identity, and motor development, as well as current issues in the field as identified by the instructor.",,PSYB20H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3 or STAB23H3],PSY310H5,Childhood and Adolescence,,,3rd year +PSYC27H3,SOCIAL_SCI,,"This course will examine research and theory on the evolution and development of social behaviour and social cognition with a focus on social instincts, such as empathy, altruism, morality, emotion, friendship, and cooperation. This will include a discussion of some of the key controversies in the science of social development from the second half of the nineteenth century to today.",PSYB55H3 or PSYB64H3,PSYB10H3 and PSYB20H3 and [(PSYB01H3) or (PSYB04H3) or PSYB70H3] and [PSYB07H3 or STAB22H3 or STAB23H3],PSY311H,Social Development,,,3rd year +PSYC28H3,SOCIAL_SCI,,"This course will provide students with a comprehensive understanding of the biological, cognitive, and social factors that shape emotional development in infancy and childhood. Topics covered will include theories of emotional development, the acquisition of emotion concepts, the role of family and culture in emotional development, the development of emotion regulation, and atypical emotional development. Through learning influential theories, cutting- edge methods, and the latest research findings, students will gain an in-depth understanding of the fundamental aspects of emotional development.",,PSYB20H3 and PSYB70H3 and [PSYB07H3 or STAB22H3 or STAB23H3],,Emotional Development,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC30H3,SOCIAL_SCI,,"This course is intended to advance students' understanding of contemporary personality theory and research. Emerging challenges and controversies in the areas of personality structure, dynamics, and development will be discussed.",,PSYB30H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"(PSYC35H3), PSY337H",Advanced Personality Psychology,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC31H3,NAT_SCI,University-Based Experience,"The clinical practice of neuropsychological assessment is an applied science that is concerned with the behavioural expression of personality, emotional, somatic and, or brain dysfunction with an emphasis on how diversity (e.g., cultural, racial, gender, sexuality, class, religion, other aspects of identity and the intersections among these), can further mediate this relationship. The clinical neuropsychologist uses standardized tests to objectively describe the breadth, severity and veracity of emotional, cognitive, behavioral and intellectual functioning. Inferences are made on the basis of accumulated research. The clinical neuropsychologist interprets every aspect of the examination (both quantitative and qualitative components) to ascertain the relative emotional, cognitive, behavioural and intellectual strengths and weaknesses of a patient with suspected or known (neuro)psychopathology. Findings from a neuropsychological examination can be used to make diagnoses, inform rehabilitation strategies, and direct various aspects of patient care. In this course, we will comprehensively explore the science and applied practice of neuropsychological assessment.",,PSYB32H3 and PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"(PSYC32H3), (PSY393H)",Neuropsychological Assessment,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor Program in Psychology will be admitted as space permits.,3rd year +PSYC34H3,SOCIAL_SCI,,"The philosopher Aristotle proposed long ago that a good life consists of two core elements: happiness (hedonia) and a sense of meaning (eudaimonia). What is happiness and meaning, and how do they relate to psychological wellbeing? How do these desired states or traits change across life, and can they be developed with specific interventions? What roles do self-perception and social relationships play in these phenomena? We will focus on the conceptual, methodological, and philosophical issues underlying these questions.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY336H1, PSY324H5",The Psychology of Happiness and Meaning,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC36H3,SOCIAL_SCI,,"This course will provide students with an introduction to prominent behavioural change theories (i.e. psychodynamic, cognitive/behavioural, humanist/existential) as well as empirical evidence on their efficacy. The role of the therapist, the patient and the processes involved in psychotherapy in producing positive outcomes will be explored.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY343H,Psychotherapy,,Restricted to students in the Mental Health Studies programs.,3rd year +PSYC37H3,SOCIAL_SCI,University-Based Experience,"This course deals with conceptual issues and practical problems of identification, assessment, and treatment of mental disorders and their psychological symptomatology. Students have the opportunity to familiarize themselves with the psychological tests and the normative data used in mental health assessments. Lectures and demonstrations on test administration and interpretation will be provided.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY330H,Psychological Assessment,,Restricted to students in the Mental Health Studies programs.,3rd year +PSYC38H3,SOCIAL_SCI,,"This course will provide an advanced understanding of the etiology, psychopathology, and treatment of common mental disorders in adults. Theory and research will be discussed emphasizing biological, psychological, and social domains of functioning. Cultural influences in the presentation of psychopathology will also be discussed.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY340H1, PSY342H1",Adult Psychopathology,,Restricted to students in the Mental Health Studies programs.,3rd year +PSYC39H3,SOCIAL_SCI,,"This course focuses on the application of psychology to the law, particularly criminal law including cognitive, neuropsychological and personality applications to fitness to stand trial, criminal responsibility, risk for violent and sexual recidivism and civil forensic psychology.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY328H, PSY344H",Psychology and the Law,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC50H3,NAT_SCI,,"This course examines advanced cognitive functions through a cognitive psychology lens. Topics covered include: thinking, reasoning, decision-making, problem-solving, creativity, and consciousness.",,[PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Higher-Level Cognition,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC51H3,NAT_SCI,,"This course will provide an in-depth examination of research in the field of visual cognitive neuroscience. Topics will include the visual perception of object features (shape, colour, texture), the perception of high-level categories (objects, faces, bodies, scenes), visual attention, and comparisons between the human and monkey visual systems.",,[PSYB51H3 or PSYB55H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY380H,Cognitive Neuroscience of Vision,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Major program in Neuroscience and the Minor program in Psychology will be admitted as space permits.",3rd year +PSYC52H3,NAT_SCI,,This course is about understanding how the human brain collects information from the environment so as to perceive it and to interact with it. The first section of the course will look into the neural and cognitive mechanisms that perceptual systems use to extract important information from the environment. Section two will focus on how attention prioritizes information for action. Additional topics concern daily life applications of attentional research.,,PSYB51H3 and [PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY475H,Cognitive Neuroscience of Attention,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Major program in Neuroscience and the Minor program in Psychology will be admitted as space permits.",3rd year +PSYC53H3,NAT_SCI,,"An exploration of how the brain supports different forms of memory, drawing on evidence from electrophysiological, patient neuropsychological and neuroimaging research. Topics include short-term working memory, general knowledge of the world (semantic memory), implicit memory, and memory for personally experienced events (episodic memory).",PSYB57H3,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY372H,Cognitive Neuroscience of Memory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Major program in Neuroscience and the Minor program in Psychology will be admitted as space permits.",3rd year +PSYC54H3,NAT_SCI,,"This course provides an overview of the cognitive and neural processes that underlie humans’ auditory abilities. Core topics include psychoacoustics, the auditory cortex and its interconnectedness to other brain structures, auditory scene analysis, as well as special topics such as auditory disorders. Insights into these different topics will be provided from research using behavioural, neuroimaging, computational, and neuropsychological techniques.",,[PSYB51H3 or PSYB55H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Auditory Cognitive Neuroscience,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Major program in Neuroscience and the Minor program in Psychology will be admitted as space permits.",3rd year +PSYC56H3,NAT_SCI,,"Studies the perceptual and cognitive processing involved in musical perception and performance. This class acquaints students with the basic concepts and issues involved in the understanding of musical passages. Topics will include discussion of the physical and psychological dimensions of sound, elementary music theory, pitch perception and melodic organization, the perception of rhythm and time, musical memory, musical performance, and emotion and meaning in music.",,[PSYB51H3 or PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Music Cognition,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC57H3,NAT_SCI,,"This course will introduce students to current understanding, and ongoing debates, about how the brain makes both simple and complex decisions. Findings from single-cell neurophysiology, functional neuroimaging, and computational modeling will be used to illuminate fundamental aspects of choice, including reward prediction, value representation, action selection, and self-control.",PSYB03H3,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Cognitive Neuroscience of Decision Making,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology and Major program in Neuroscience will be admitted as space permits.",3rd year +PSYC59H3,NAT_SCI,,"This course provides an overview of the cognitive and neural processes and representations that underlie language abilities. Core topics include first language acquisition, second language acquisition and bilingualism, speech comprehension, and reading. Insights into these different abilities will be provided from research using behavioural, neuroimaging, computational, and neuropsychological techniques.",,[PSYB51H3 or PSYB57H3] and PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Cognitive Neuroscience of Language,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience, and the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Specialist/Specialist Co-op program in Psycholinguistics, the Major program in Neuroscience, and the Minor program in Psychology will be admitted as space permits.",3rd year +PSYC62H3,NAT_SCI,,"An examination of behavioural and neurobiological mechanisms underlying the phenomenon of drug dependence. Topics will include principles of behavioural pharmacology and pharmacokinetics, neurobiological mechanisms of drug action, and psychotropic drug classification. In addition, concepts of physical and psychological dependence, tolerance, sensitization, and reinforcement and aversion will also be covered.",,[PSYB64H3 or PSYB55H3 or NROB60H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY396H, PCL475Y, PCL200H1",Drugs and the Brain,,"Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology, Mental Health Studies, and Neuroscience. Students in the Minor program in Psychology will be admitted as space permits.",3rd year +PSYC70H3,SOCIAL_SCI,University-Based Experience,"The course focuses on methodological skills integral to becoming a producer of psychological research. Students will learn how to identify knowledge gaps in the literature, to use conceptual models to visualize hypothetical relationships, to select a research design most appropriate for their questions, and to interpret more complex patterns of data.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Advanced Research Methods Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology, Mental Health Studies, and Neuroscience (Cognitive stream), and the Specialist Co-op program in Neuroscience (Stage 1). Students in the Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits.",3rd year +PSYC71H3,SOCIAL_SCI,University-Based Experience,"Introduces conceptual and practical issues concerning research in social psychology, and provides experience with several different types of research. This course is designed to consider in depth various research approaches used in social psychology (such as attitude questionnaires, observational methods for studying ongoing social interaction). Discussion and laboratory work.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYC02H3 and PSYC70H3,"PSY329H, (PSYC11H3)",Social Psychology Laboratory,,Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits.,3rd year +PSYC72H3,SOCIAL_SCI,University-Based Experience,"This course introduces conceptual and practical issues concerning research in developmental psychology. Developmental psychology focuses on the process of change within and across different phases of the life-span. Reflecting the broad range of topics in this area, there are diverse research methods, including techniques for studying infant behaviour as well as procedures for studying development in children, adolescents, and adults. This course will cover a representative sample of some of these approaches.",,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYC02H3 and PSYC70H3,"PSY319H, (PSYC26H3)",Developmental Psychology Laboratory,,Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits.,3rd year +PSYC73H3,SOCIAL_SCI,University-Based Experience,"A widespread survey on techniques derived from clinical psychology interventions and wellness and resilience research paired with the applied practice and implementation of those techniques designed specifically for students in the Specialist (Co-op) program in Mental Health Studies. Students will attend a lecture reviewing the research and details of each technique/topic. The laboratory component will consist of interactive, hands-on experience in close group settings with a number of techniques related to emotion, stress, wellness, and resilience. These are specifically tailored for university student populations.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Wellness and Resilience Laboratory,PSYC02H3,Restricted to students in the Specialist Co-op program in Mental Health Studies.,3rd year +PSYC74H3,NAT_SCI,University-Based Experience,"In this course students will be introduced to the study of human movement across a range of topics (e.g., eye- movements, balance, and walking), and will have the opportunity to collect and analyze human movement data. Additional topics include basic aspects of experimental designs, data analysis and interpretation of such data.",PSYC02H3 and PSYC70H3,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Human Movement Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience (Systems/Behavioural stream), followed by students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits.",3rd year +PSYC75H3,NAT_SCI,University-Based Experience,"This course introduces conceptual and practical issues concerning research in cognitive psychology. Students will be introduced to current research methods through a series of practical exercises conducted on computers. By the end of the course, students will be able to program experiments, manipulate data files, and conduct basic data analyses.",PSYC08H3,[PSYB07H3 or STAB22H3 or STAB23H3] and [PSYB51H3 or PSYB55H3 or PSYB57H3] and PSYC02H3 and PSYC70H3,PSY379H,Cognitive Psychology Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience (Cognitive stream), followed by students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits.",3rd year +PSYC76H3,NAT_SCI,University-Based Experience,"The course introduces brain imaging techniques, focusing on techniques such as high-density electroencephalography (EEG) and transcranial magnetic stimulation (TMS), together with magnet-resonance-imaging-based neuronavigation. Furthermore, the course will introduce eye movement recordings as a behavioural measure often co-registered in imaging studies. Students will learn core principles of experimental designs, data analysis and interpretation in a hands-on manner.",,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYC02H3 and PSYC70H3,(PSYC04H3),Brain Imaging Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience (Cognitive stream), followed by students in the Specialist/Specialist Co-op programs in Psychology. Students in the Major program in Psychology and the Specialist/Specialist Co-op and Major/Major Co-op programs in Mental Health Studies will be admitted as space permits.",3rd year +PSYC81H3,SOCIAL_SCI,,"This course will introduce students to a variety of topics in psychology as they relate to climate change and the psychological study of sustainable human behaviour. Topics covered will include the threats of a changing environment to mental health and wellbeing; the development of coping mechanisms and resilience for individuals and communities affected negatively by climate change and a changing environment; perceptions of risk, and how beliefs and attitudes are developed, maintained, and updated; effective principles for communicating about climate change and sustainable behaviour; how social identity affects experiences and perceptions of a changing environment; empirically validated methods for promoting pro-environmental behaviour; and how, when required, we can best motivate people to action.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 additional credits at the B-level in PSY courses],(PSYC58H3) if taken in Winter 2022 or Winter 2023,Psychology for Sustainability,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC85H3,HIS_PHIL_CUL,Partnership-Based Experience,"A survey of developments in Western philosophy and science which influenced the emergence of modern psychology in the second half of the Nineteenth Century. Three basic problems are considered: mind-body, epistemology (science of knowledge), and behaviour/motivation/ethics. We begin with the ancient Greek philosophers, and then consider the contributions of European scholars from the Fifteenth through Nineteenth Centuries. Twentieth Century schools are discussed including: psychoanalysis, functionalism, structuralism, gestalt, behaviourism, and phenomenology.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [1.0 additional credit at the B-level in PSY courses],PSY450H,History of Psychology,,Priority will be given to third- and fourth-year students in the Specialist/Specialist Co-op programs in Psychology and Mental Health Studies. Third- and fourth-year students in the Major programs in Psychology and Mental Health Studies will be admitted as space permits.,3rd year +PSYC86H3,SOCIAL_SCI,,"The concept of the unconscious mind has been integral to our understanding of human behavior ever since Freud introduced the concept in 1915. In this course, we will survey the history of the concept of the unconscious and discuss contemporary theory and research into the nature of the unconscious. Topics such as implicit cognition, non-conscious learning, decision-making, and measurement of non- conscious processes will be discussed from social, cognitive, clinical, and neuroscience perspectives. We will explore the applications and implications of such current research on the unconscious mind for individuals, culture, and society.",,PSYB32H3 and [PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,The Unconscious Mind,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC87H3,SOCIAL_SCI,,"This course is designed for students interested in understanding the psychological influences on financial decision making, as well as the interplay between macroeconomic forces and psychological processes. Starting with a psychological and historical exploration of money's evolution, the course covers a wide range of topics. These include the impact of economic conditions like inflation and inequality on well-being, the psychology of household financial behaviours, including financial literacy and debt management, and the motivations affecting investment choices. The course also examines marketing psychology, the influence of money on interpersonal relationships, and the psychology of charitable giving. Finally, it investigates the psychological implications of emerging financial technologies.",,[PSYB10H3 or PSYB30H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Psychology and Money,,Priority will be given to students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Students in the Minor program in Psychology will be admitted as space permits.,3rd year +PSYC90H3,,University-Based Experience,"An intensive research project intended to provide laboratory/field experience in data collection and analysis. The project must be completed over 2 consecutive terms. These courses provide an opportunity to engage in research in an area after completing basic coverage in regularly scheduled courses. The student must demonstrate a background adequate for the project proposed and should present a clear rationale to prospective supervisors. Regular consultation with the supervisor is necessary, and extensive data collection and analysis will be required. Such a project will culminate in a written research report. Students must first find a supervisor before the start of the academic term in which the project will be initiated. They must then obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and returned to the Psychology Office. Students seeking supervision off campus are further advised to check the appropriateness of the proposed advisor with the Program Supervisor. If the proposed supervisor is not appointed to the Psychology faculty at UTSC then a secondary advisor, that is appointed at UTSC, will be required.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [2.0 additional PSY credits] and permission of the proposed supervisor. Normally students need a cumulative GPA of at least 2.7 for permission to be granted.,"(COGC91H3), NROC90H3, PSY303H, PSY304H",Supervised Study in Psychology,,,3rd year +PSYC93H3,,University-Based Experience,"An intensive research project intended to provide laboratory/field experience in data collection and analysis. The project must be completed over 2 consecutive terms. These courses provide an opportunity to engage in research in an area after completing basic coverage in regularly scheduled courses. The student must demonstrate a background adequate for the project proposed and should present a clear rationale to prospective supervisors. Regular consultation with the supervisor is necessary, and extensive data collection and analysis will be required. Such a project will culminate in a written research report. Students must first find a supervisor before the start of the academic term in which the project will be initiated. They must then obtain a permission form from the Department of Psychology's website that is to be completed and signed by the intended supervisor, and returned to the Psychology Office. Students seeking supervision off campus are further advised to check the appropriateness of the proposed advisor with the Program Supervisor. If the proposed supervisor is not appointed to the Psychology faculty at UTSC then a secondary advisor, that is appointed at UTSC, will be required.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [2.0 additional PSY credits] and permission of the proposed supervisor. Normally students need a cumulative GPA of at least 2.7 for permission to be granted.,"(COGC92H3), NROC93H3, PSY303H, PSY304H",Supervised Study in Psychology,,,3rd year +PSYD10H3,SOCIAL_SCI,University-Based Experience,"This course examines the applications of social psychological theory and research to understand and address social issues that affect communities. In doing so the course bridges knowledge from the areas of social psychology and community psychology. In the process, students will have the opportunity to gain a deeper understanding of how theories and research in social psychology can be used to explain everyday life, community issues, and societal needs and how, reciprocally, real-life issues can serve to guide the direction of social psychological theories and research.",,PSYB10H3 and [0.5 credit at the C-level from PSY courses in the 10-series or 30-series] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSYD15H3 (if taken in Spring or Fall 2019),Community and Applied Social Psychology,,,4th year +PSYD13H3,SOCIAL_SCI,,"This seminar offers an in depth introduction to the recent scientific literature on how humans manage and control their emotions (emotion regulation). We will explore why, and how, people regulate emotions, how emotion regulation differs across individuals and cultures, and the influence that emotion regulation has upon mental, physical, and social well-being.",,PSYB10H3 and [PSYC13H3 or PSYC18H3 or PSYC19H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSYD15H3 if taken in Winter 2017,The Psychology of Emotion Regulation,,Priority enrolment will be given to students who have completed PSYC18H3,4th year +PSYD14H3,SOCIAL_SCI,,"This course provides an in-depth introduction to the field of moral psychology. In recent years there has been a resurgence of interest in the science of human morality; the goal of this course is to offer an introduction to the research in this field. The course will incorporate perspectives from a variety of disciplines including philosophy, animal behaviour, neuroscience, economics, and almost every area of scientific psychology (social psychology, developmental psychology, evolutionary psychology, and cognitive psychology). By the end of the course students will be well versed in the primary issues and debates involved in the scientific study of morality.",PSYC08H3,PSYB10H3 and [PSYC12H3 or PSYC13H3 or PSYC14H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSYD15H3 if taken in Fall 2015,Psychology of Morality,,,4th year +PSYD15H3,SOCIAL_SCI,,An intensive examination of selected issues and research problems in social psychology.,,PSYB10H3 and [an additional 0.5 credit from the PSYC10-series of courses] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSY326H, PSY420H",Current Topics in Social Psychology,,,4th year +PSYD16H3,SOCIAL_SCI,,"The development of social psychology is examined both as a discipline (its phenomena, theory, and methods) and as a profession. The Natural and Human Science approaches to phenomena are contrasted. Students are taught to observe the lived-world, choose a social phenomenon of interest to them, and then interview people who describe episodes from their lives in which these phenomena occurred. The students interpret these episodes and develop theories to account for their phenomena before searching for scholarly research on the topic.",PSYC12H3 or PSYC71H3,PSYB10H3 and [0.5 credit at the C-level in PSY courses] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY420H,Critical Analysis in Social Psychology,,,4th year +PSYD17H3,NAT_SCI,,"This course investigates how linking theory and evidence from psychology, neuroscience, and biology can aid in understanding important social behaviors. Students will learn to identify, critique, and apply cutting-edge research findings to current real-world social issues (e.g., prejudice, politics, moral and criminal behavior, stress and health).",[PSYC13H3 or PSYC57H3] and [(PSYB01H3) or (PSYB04H3) or PSYB70H3],[PSYB55H3 or PSYB64H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and [0.5 credit from the PSYC10- series or PSYC50-series courses],PSY473H,Social Neuroscience,,,4th year +PSYD18H3,SOCIAL_SCI,,"This course focuses on theory and research pertaining to gender and gender roles. The social psychological and social-developmental research literature concerning gender differences will be critically examined. Other topics also will be considered, such as gender-role socialization.",,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [1.0 credit at the C-level in PSY courses],PSY323H,Psychology of Gender,,,4th year +PSYD19H3,SOCIAL_SCI,,"How can we break bad habits? How can we start healthy habits? This course will explore the science of behaviour change, examining how to go from where you are to where you want to be. Students will learn core knowledge of the field of behaviour change from psychology and behavioural economics. Topics include goal setting and goal pursuit, self- regulation, motivation, dealing with temptations, nudges, and habits. Students will read primary sources and learn how to critically evaluate research and scientific claims. Critically, students will not only learn theory but will be instructed on how to apply what they learn in class to their everyday lives where students work on improving their own habits.",PSYC19H3,PSYB10H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit from the PSYC10-series or PSYC30H3 or PSYC50H3],,The Science of Behaviour Change,,,4th year +PSYD20H3,SOCIAL_SCI,,"An intensive examination of selected issues and research problems in developmental psychology. The specific content will vary from year to year with the interests of both instructor and students. Lectures, discussions, and oral presentations by students.",,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSY410H,Current Topics in Developmental Psychology,,,4th year +PSYD22H3,SOCIAL_SCI,,"The processes by which an individual becomes a member of a particular social system (or systems). The course examines both the content of socialization (e.g., development of specific social behaviours) and the context in which it occurs (e.g., family, peer group, etc.). Material will be drawn from both social and developmental psychology.",,PSYB10H3 and PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],"PSY311H, PSY410H",Socialization Processes,,,4th year +PSYD23H3,SOCIAL_SCI,,"Mutual recognition is one of the hallmarks of human consciousness and psychological development. This course explores mutual recognition as a dyadic and regulatory process in development, drawing on diverse theories from developmental science, social psychology, neuroscience, philosophy, literature, psychoanalysis, and gender studies.",,[PSYC13H3 or PSYC18H3 or PSYC23H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Dyadic Processes in Psychological Development,,,4th year +PSYD24H3,NAT_SCI,,"An in-depth examination of aspects related to perceptual and motor development in infancy and childhood. The topics to be covered will be drawn from basic components of visual and auditory perception, multisensory integration, and motor control, including reaching, posture, and walking. Each week, students will read a set of experimental reports, and will discuss these readings in class. The format of this course is seminar-discussion.",,[PSYB20H3 or PLIC24H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSY410H,"Seeing, Hearing, and Moving in Children",,,4th year +PSYD28H3,SOCIAL_SCI,,"Humans’ abilities to reason and think about emotion (i.e., affective cognition) is highly sophisticated. Even with limited information, humans can predict whether someone will feel amused, excited, or moved, or whether they will feel embarrassed, disappointed, or furious. How do humans acquire these abilities? This course will delve into the development of affective cognition in infancy and childhood. Topics include infants’ and children’s abilities to infer, predict, and explain emotions, the influence of family and culture in these developmental processes, and atypical development of affective cognition. Through reading classic and contemporary papers, presenting and discussing current topics, and proposing novel ideas in this research domain, students will gain an in-depth understanding of the fundamental aspects of affective cognition over the course of development.",PSYC18H3 or PSYC28H3,PSYB20H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],,The Development of Affective Cognition,,Priority will be given to fourth-year students in the Specialist/Specialist Co-op and Major/Major Co-op programs in Psychology and Mental Health Studies. Third-year students in these programs will be admitted as space permits.,4th year +PSYD30H3,SOCIAL_SCI,,An intensive examination of selected issues and research problems in personality psychology. The specific content will vary from year to year.,PSYC30H3/(PSYC35H3),PSYB30H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,PSY430H,Current Topics in Personality Psychology,,,4th year +PSYD31H3,SOCIAL_SCI,,"This course provides an in-depth introduction to the field of cultural-clinical psychology. We examine theoretical and empirical advances in understanding the complex interplay between culture and mental health, focusing on implications for the study and treatment of psychopathology. Topics include cultural variations in the experience and expression of mental illness.",,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSYD33H3 (if taken in Fall 2013/2014/2015 or Summer 2014/2015),Cultural-Clinical Psychology,,,4th year +PSYD32H3,SOCIAL_SCI,,"This course reviews the latest research on the causes, longitudinal development, assessment, and treatment of personality disorders. Students will learn the history of personality disorders and approaches to conceptualizing personality pathology. Topics covered include “schizophrenia- spectrum” personality disorders, biological approaches to psychopathy, and dialectical behaviour therapy for borderline personality disorder.",,PSYB30H3 and PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSY430H,Personality Disorders,,,4th year +PSYD33H3,SOCIAL_SCI,,An intensive examination of selected issues and research problems in abnormal psychology. The specific content will vary from year to year.,,PSYB32H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],PSY440H,Current Topics in Clinical Psychology,,,4th year +PSYD35H3,NAT_SCI,,"This course reviews the psychopharmacological strategies used for addressing a variety of mental health conditions including anxiety, depression, psychosis, impulsivity, and dementia. It will also address the effects of psychotropic drugs on patients or clients referred to mental health professionals for intellectual, neuropsychological and personality testing. Limitations of pharmacotherapy and its combinations with psychotherapy will be discussed.",,PSYB55H4 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and PSYC62H3,,Clinical Psychopharmacology,,Restricted to students in the Mental Health Studies programs.,4th year +PSYD37H3,SOCIAL_SCI,,"This course is an opportunity to explore how social practices and ideas contribute to the ways in which society, families and individuals are affected by mental health and mental illness.",,10.0 credits completed and enrolment in the Combined BSc in Mental Health Studies/Masters of Social Work or Specialist/Specialist-Co-op programs in Mental Health Studies,,Social Context of Mental Health and Illness,,,4th year +PSYD39H3,SOCIAL_SCI,,"This course provides an in-depth exploration of cognitive behavioural therapies (CBT) for psychological disorders. Topics covered include historical and theoretical foundations of CBT, its empirical evidence base and putative mechanisms of change, and a critical review of contemporary clinical applications and protocols.",,[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and PSYC36H3,,Cognitive Behavioural Therapy,,,4th year +PSYD50H3,NAT_SCI,,An intensive examination of selected topics. The specific content will vary from year to year.,,[PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY courses],"PSY470H, PSY471H",Current Topics in Memory and Cognition,,Priority will be given to students in the Specialist/Specialist Co-op programs in Psychology and Neuroscience (Cognitive stream.) Students in the Specialist/Specialist Co-op programs in Mental Health Studies and the Major/Major Co-op programs in Psychology and Mental Health Studies will be admitted as space permits.,4th year +PSYD51H3,NAT_SCI,,"This course provides an intensive examination of selected topics in recent research on perception. Topics may include research in vision, action, touch, hearing and multisensory integration. Selected readings will cover psychological and neuropsychological findings, neurophysiological results, synaesthesia and an introduction to the Bayesian mechanisms of multisensory integration.",,PSYB51H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [[0.5 credit from the PSYC50-series of courses] or NROC64H3],PSYD54H3,Current Topics in Perception,,,4th year +PSYD52H3,NAT_SCI,University-Based Experience,"This course provides an overview of neural-network models of perception, memory, language, knowledge representation, and higher-order cognition. The course consists of lectures and a lab component. Lectures will cover the theory behind the models and their application to specific empirical domains. Labs will provide hands-on experience running and analyzing simulation models.",[PSYB03H3 or CSCA08H3 or CSCA20H3] and [MATA23H3 and [MATA29H3 or MATA30H3]],[PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY 50-series courses],,Neural Network Models of Cognition Laboratory,,,4th year +PSYD54H3,NAT_SCI,,"The course provides an intensive examination of selected topics in the research of visual recognition. Multiple components of recognition, as related to perception, memory and higher-level cognition, will be considered from an integrative psychological, neuroscientific and computational perspective. Specific topics include face recognition, visual word recognition and general object recognition.",,[PSYB51H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [[0.5 credit from the PSYC50-series of courses] or NROC64H3],"[PSYD50H3 if taken in Winter 2014, 2015 or 2016], PSYD51H3",Current Topics in Visual Recognition,,,4th year +PSYD55H3,NAT_SCI,University-Based Experience,"An in-depth study of functional magnetic resonance imaging (fMRI) as used in cognitive neuroscience, including an overview of MR physics, experimental design, and statistics, as well as hands-on experience of data processing and analysis.",PSYC76H3 or PSYC51H3 or PSYC52H3 or PSYC57H3 or PSYC59H3,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,,Functional Magnetic Resonance Imaging Laboratory,,"Priority will be given to students in the Specialist/Specialist Co-op programs in Neuroscience (Cognitive stream), followed by students in the Specialist/Specialist Co-op programs in Psychology who have successfully completed PSYC76H3.",4th year +PSYD59H3,SOCIAL_SCI,,"This course takes a cognitive approach to understanding the initiation and perpetuation of gambling behaviours, with a particular interest in making links to relevant work in neuroscience, social psychology, and clinical psychology.",[PSYC10H3 or PSYC19H3 or PSYC50H3 or PSYC57H3],[PSYB32H3 or PSYB38H3] and [PSYB55H3 or PSYB57H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3,"PSYD50H3 if taken in any of the following sessions: Winter 2017, Summer 2017, Winter 2018, Summer 2018",Psychology of Gambling,,,4th year +PSYD62H3,NAT_SCI,,"This seminar course will focus on the brain bases of pleasure and reward and their role in human psychology. We will examine how different aspects of pleasure and reward are implemented in the human brain, and how they contribute to various psychological phenomena such as self-disclosure, attachment, altruism, humour, and specific forms of psychopathology.",,PSYB55H3 and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credits from the NRO C-level courses or PSY 50-series C-level courses],NROD60H3 if taken in Fall 2021 or Fall 2022,Neuroscience of Pleasure and Reward,,,4th year +PSYD66H3,NAT_SCI,Partnership-Based Experience,"An extensive examination of selected topics in human brain and behaviour. The neural bases of mental functions such as language, learning, memory, emotion, motivation and addiction are examples of the topics that may be included.",,[PSYB55H3] and [PSYB07H3 or STAB22H3 or STAB23H3] and PSYB70H3 and [0.5 credit at the C-level in PSY or NRO courses],PSY490H,Current Topics in Human Brain and Behaviour,,,4th year +PSYD98Y3,,University-Based Experience,"This course offers the opportunity to engage in a year-long research project under the supervision of an interested member of the faculty in Psychology. The project will culminate in a written report in the form of a thesis and a poster presentation. During the course of the year, at appropriate times, students will meet to present their own research proposals, to appraise the proposals of others, and to discuss the results of their investigation. Students must first find a supervisor, which is usually confirmed before the start of the academic term in which the project will be initiated. Students will meet as a group with the coordinator as well as individually with their supervisor. This course is restricted to Majors and Specialists in Psychology and Mental Health Studies with a GPA of 3.3 or higher over the last 5.0 credit equivalents completed. Students planning to pursue graduate studies are especially encouraged to enroll in the course. Students must obtain a permission form from the Department of Psychology website that is to be completed and signed by the intended supervisor and submitted to the Psychology Office. Students seeking supervision off campus will need to arrange co-supervision with a faculty member in Psychology at this campus.",,"PSYC02H3 and [PSYC08H3 or PSYC09H3] and PSYC70H3 and [enrollment in the Specialist Co-op, Specialist, or Major Program in Psychology or Mental Health Studies] and [GPA of 3.3 or higher over the last 5.0 credit equivalents completed] and permission of the proposed supervisor.","NROD98Y3, (COGD10H3), PSY400Y",Thesis in Psychology,,,4th year +RLGA01H3,HIS_PHIL_CUL,,"An introduction to major religious traditions of the world. This course emphasizes the history, beliefs, practices and writings of Hinduism, Jainism, Sikhism, Buddhism, Confucianism, Taoism, and Shinto.",,,(HUMB04H3),World Religions I,,,1st year +RLGA02H3,HIS_PHIL_CUL,,"An introduction to major religious traditions of the world. This course emphasizes the history, beliefs, practices and writings of Judaism, Christianity and Islam.",,,(HUMB03H3),World Religions II,,,1st year +RLGB02H3,HIS_PHIL_CUL,,Critical comparative study of the major Indian religious traditions.,,,,Living Religions: Rituals and Experiences,,,2nd year +RLGB10H3,HIS_PHIL_CUL,,"An introduction to the academic study of religion, with special attention to method and theory.",,,,Introduction to the Study of Religion,,,2nd year +RLGC05H3,HIS_PHIL_CUL,,"An exploration of the origins, content, interpretation, and significance of the Qur'an, with a particular emphasis on its relationship to the scriptural tradition of the Abrahamic faiths. No knowledge of Arabic is required.",,RLGA02H3 or (RLGB01H3) or (HUMB03H3),"RLG351H, NMC285H, (HUMC17H3)",The Qur'an in Interpretive and Historical Context,,,3rd year +RLGC06H3,HIS_PHIL_CUL,,"Comparative study of the Madhyamaka and Yogacara traditions, and doctrines such as emptiness (sunyata), Buddha-nature (tathagatagarbha), cognitive-representation only (vijnaptimatrata), the three natures (trisvabhava).",,RLGA01H3 or (HUMB04H3),EAS368Y,Saints and Mystics in Buddhism,,,3rd year +RLGC07H3,HIS_PHIL_CUL,,"Buddhism is a response to what is fundamentally an ethical problem - the perennial problem of the best kind of life for us to lead. Gotama was driven to seek the solution to this problem and the associated ethical issues it raises. This course discusses the aspects of sila, ethics and psychology, nirvana; ethics in Mahayana; Buddhism, utilitarianism, and Aristotle.",,RLGA01H3 or (HUMB04H3) or (PHLB42H3),"NEW214Y, (PHLC40H3)",Topics in Buddhist Philosophy: Buddhist Ethics,,,3rd year +RLGC09H3,HIS_PHIL_CUL,,"The course examines the development of Islam in the contexts of Asian religions and cultures, and the portrayal of the Muslim world in Asian popular culture.",RLGC05H3,RLGA01H3 or (HUMB04H3),,Islam in Asia,,,3rd year +RLGC10H3,HIS_PHIL_CUL,,An examination of Hinduism in its contemporary diasporic and transnational modes in South Asia. Attention is also paid to the development of Hinduism in the context of colonialism.,RLGB02H3,RLGA01H3 or (HUMB04H3),,Hinduism in South Asia and the Diaspora,,,3rd year +RLGC13H3,HIS_PHIL_CUL,,"Philosophical, anthropological, historical, and linguistic discussions about language use in a variety of religious contexts. The course examines the function of language through an analysis of its use in both oral and written form.",,"Any 5 full credits, including RLGA01H3 or RLGA02H3 or RLGB10H3",,Religious Diversity in Speech and Text,,,3rd year +RLGC14H3,SOCIAL_SCI,,"The course cultivates an appreciation of the global perspective of religions in the contemporary world and how religious frameworks of interpretation interact with modern social and political realities. It provides a viewpoint of religion through ideas and issues related to globalization, syncretism, and modernity.",,"Any 5 full credits, including RLGA01H3 or RLGA02H3 or RLGB10H3",,Religion and Globalization: Continuities and Transformations,,,3rd year +RLGC40H3,HIS_PHIL_CUL,,Intensive study of selected topics discussed in RLGA01H3 (World Religions I) that will vary with each offering of the course.,,2.0 full credits in RLG and permission of the instructor,(HUMC44H3),Selected Topics in the Study of Religion I,,,3rd year +RLGC41H3,HIS_PHIL_CUL,,Intensive study of selected topics discussed in RLGA02H3 (World Religions II) that will vary with each offering of the course.,,2.0 full credits in RLG and permission of the instructor,(HUMC43H3),Selected Topics in the Study of Religion II,,,3rd year +RLGD01H3,,,A student-initiated research project to be approved by the Department and supervised by one of the faculty members.,,2.0 full credits in RLG at the C-level and permission of the instructor,,Supervised Readings in the Study of Religion,,,4th year +RLGD02H3,,,"A seminar in which students have the opportunity, under the supervision of a member of the Religion faculty, to develop and present independent research projects focused around a set of texts, topics, and/or problems relevant to the study of religion.",,RLGB10H3 and 2 C-level courses in Religion,,Seminar in Religion,,,4th year +SOCA05H3,SOCIAL_SCI,,"Sociology focuses on explaining social patterns and how they impact individual lives. This course teaches students how to think sociologically, using empirical research methods and theories to make sense of society. Students will learn about the causes and consequences of inequalities, the ways in which our social worlds are constructed rather than natural, and the role of institutions in shaping our lives.",,,"(SOC101Y1), (SOCA01H3), (SOCA02H3), (SOCA03Y3)",The Sociological Imagination,,,1st year +SOCA06H3,SOCIAL_SCI,University-Based Experience,"This course explores real-world uses of Sociology, including the preparation Sociology provides for professional schools, and the advantages of Sociology training for serving communities, governments, and the voluntary and private sectors. This course focuses in particular on the unique skills Sociologists have, including data generation and interpretation, communication and analysis techniques, and the evaluation of social processes and outcomes.",,,,Sociology in the World: Careers and Applications,,Major and Specialist students will be given priority access to SOCA06H3.,1st year +SOCB05H3,QUANT,University-Based Experience,"This course introduces the logic of sociological research and surveys the major quantitative and qualitative methodologies. Students learn to evaluate the validity of research findings, develop research questions and select appropriate research designs.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and enrolment in a Sociology program] or [any 4.0 credits and enrolment in the Minor Critical Migration Studies] or [any 4.0 credits and enrolment in the Major Program in Public Law],"SOC150H1, (SOC200H5), (SOC200Y5), SOC221H5, (SOCB40H3), (SOCB41H3)",Logic of Social Inquiry,,,2nd year +SOCB22H3,SOCIAL_SCI,,"This course examines gender as a sociological category that organizes and, at the same time, is organized by, micro and macro forces. By examining how gender intersects with race, ethnicity, class, sexuality, age, and other dimensions, we analyze the constitution and evolution of gendered ideology and practice.",,[SOCA5H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [WSTA01H3 and WSTA03H3],,Sociology of Gender,,,2nd year +SOCB26H3,SOCIAL_SCI,,"This course offers a sociological perspective on a familiar experience: attending school. It examines the stated and hidden purposes of schooling; explores how learning in schools is organized; evaluates the drop-out problem; the determinants of educational success and failure; and, it looks at connections between school and work.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)],,Sociology of Education,,,2nd year +SOCB28H3,SOCIAL_SCI,,This course will engage evidence-based sociological findings that are often related to how individuals make decisions in everyday life. Special attention will be paid to how empirical findings in sociology are used as evidence in different social contexts and decision making processes. The course should enable students to make direct connections between the insights of sociology and their own lives.,,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)],,Sociological Evidence for Everyday Life,,,2nd year +SOCB30H3,SOCIAL_SCI,,"An examination of power in its social context. Specific attention is devoted to how and under what conditions power is exercised, reproduced and transformed, as well as the social relations of domination, oppression, resistance and solidarity. Selected topics may include: nations, states, parties, institutions, citizenship, and social movements.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)],"SOC260H1, SOC335H5",Political Sociology,,,2nd year +SOCB35H3,QUANT,,"This course introduces the basic concepts and assumptions of quantitative reasoning, with a focus on using modern data science techniques and real-world data to answer key questions in sociology. It examines how numbers, counting, and statistics produce expertise, authority, and the social categories through which we define social reality. This course avoids advanced mathematical concepts and proofs.",,,,Numeracy and Society,[SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] or [any 4.0 credits and enrolment in the Major Program in Public Law] or enrolment in the Certificate in Computational Social Science.,,2nd year +SOCB37H3,SOCIAL_SCI,University-Based Experience,"This course offers a sociological account of economic phenomena. The central focus is to examine how economic activities are shaped, facilitated, or even impeded by cultural values and social relations, and show that economic life cannot be fully understood outside of its social context. The course will focus on economic activities of production, consumption, and exchange in a wide range of settings including labor and financial markets, corporations, household and intimate economies, informal and illegal economies, and markets of human goods.",,"[SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] or [any 4.0 credits and enrolment in the Minor in Culture, Creativity, and Cities]",,"Economy, Culture, and Society",,,2nd year +SOCB40H3,,,"This course builds on SOCA05H3 through a deep engagement with 4-5 significant new publications in Sociology, typically books by department faculty and visiting scholars. By developing reading and writing skills through a variety of assignments, and participating in classroom visits with the researchers who produced the publications, students will learn to ""think like a sociologist."" Possible topics covered include culture, gender, health, immigration/race/ethnicity, political sociology, social networks, theory, sociology of crime and law, and work/stratification/markets.",,[SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]],SOC230H5,Thinking Like a Sociologist,,,2nd year +SOCB42H3,HIS_PHIL_CUL,,"This course examines a group of theorists whose work provided key intellectual resources for articulating the basic concepts and tasks of sociology. Central topics include: the consequences of the division of labour, sources and dynamics of class conflict in commercial societies, the social effects of industrial production, the causes and directions of social progress, the foundations of feminism, linkages between belief systems and social structures, and the promises and pathologies of democratic societies.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and enrolment in a Sociology program,"SOC201H1, (SOC203Y1), SOC231H5",Theory I: Discovering the Social,,,2nd year +SOCB43H3,HIS_PHIL_CUL,,This course studies a group of writers who in the early 20th century were pivotal in theoretically grounding sociology as a scientific discipline. Central topics include: the types and sources of social authority; the genesis and ethos of capitalism; the moral consequences of the division of labour; the nature of social facts; the origins of collective moral values; the relationship between social theory and social reform; the nature of social problems and the personal experience of being perceived as a social problem; the formal features of association; the social function of conflict; the social and personal consequences of urbanization.,,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and SOCB42H3 and enrolment in a Sociology program,(SOC203Y1),Theory II: Big Ideas in Sociology,,,2nd year +SOCB44H3,SOCIAL_SCI,,"A theoretical and empirical examination of the processes of urbanization and suburbanization. Considers classic and contemporary approaches to the ecology and social organization of the pre-industrial, industrial, corporate and postmodern cities.",,"[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Minor in Culture, Creativity, and Cities, or the Major/Major Co-op in City Studies]","(SOC205Y1), SOC205H1",Sociology of Cities and Urban Life,,,2nd year +SOCB47H3,SOCIAL_SCI,Partnership-Based Experience,"A sociological examination of the ways in which individuals and groups have been differentiated and ranked historically and cross-culturally. Systems of differentiation and devaluation examined may include gender, race, ethnicity, class, sexual orientation, citizenship/legal status, and ability/disability.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Major/Major Co-op in Public Policy],SOC301Y,Social Inequality,,,2nd year +SOCB49H3,SOCIAL_SCI,University-Based Experience,"This course explores the family as a social institution, which shapes and at the same time is shaped by, the society in North America. Specific attention will be paid to family patterns in relation to class, gender, and racial/ethnic stratifications. Selected focuses include: socialization; courtship; heterosexual, gay and lesbian relations; gender division of labour; immigrant families; childbearing and childrearing; divorce; domestic violence; elderly care.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [WSTA01H3 and WSTA03H3],SOC214Y,Sociology of Family,,,2nd year +SOCB50H3,SOCIAL_SCI,,"This course explores how deviance and normality is constructed and contested in everyday life. The course revolves around the themes of sexuality, gender, poverty, race and intoxication. Particular attention will be paid to the role of official knowledge in policing social norms.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Major Program in Public Law],SOC212Y,Deviance and Normality I,,,2nd year +SOCB53H3,SOCIAL_SCI,,"The course draws on a geographically varied set of case studies to consider both the historical development and contemporary state of the sociological field of race, racialization and ethnic relations.",,[SOCA05H3 or [SOCA01H3 and SOCA02H3] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Minor in Critical Migration Studies],SOC210Y,Race and Ethnicity,,,2nd year +SOCB54H3,SOCIAL_SCI,,"Economic activity drives human society. This course explores the nature of work, how it is changing, and the impact of changes on the transition from youth to adult life. It also examines racism in the workplace, female labour force participation, and why we call some jobs 'professions', but not others.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)],"SOC207H1, (SOC207Y), SOC227H5, GGRD16H3",Sociology of Work,,,2nd year +SOCB58H3,HIS_PHIL_CUL,,"An introduction to various ways that sociologists think about and study culture. Topics will include the cultural aspects of a wide range of social phenomena - including inequality, gender, economics, religion, and organizations. We will also discuss sociological approaches to studying the production, content, and audiences of the arts and media.",,"[SOCA05H3 or [(SOCA01H3 )and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Minor in Culture, Creativity, and Cities] or [IDSA01H3 and enrolment in the Specialist/Specialist Co- op/Major/Minor in International Development Studies (Arts)]","SOC220H5, SOC280H1, (SOCC18H3),",Sociology of Culture,,,2nd year +SOCB59H3,SOCIAL_SCI,,"This course examines the character, authority, and processes of law in contemporary liberal democracies.",,[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] or [any 4.0 credits and enrolment in the Major Program in Public Law],,Sociology of Law,,,2nd year +SOCB60H3,SOCIAL_SCI,,"What are the causes and consequences of migration in today's world? This course will explore this question in two parts. First, we will examine how although people decide to migrate, they make these decisions under circumstances which are not of their own making. Then, we will focus specifically on the experiences of racialized and immigrant groups in Canada, with a particular focus on the repercussions of Black enslavement and ongoing settler- colonialism. As we explore these questions, we will also critically interrogate the primary response of the Canadian government to questions around racial and class inequality: multiculturalism. What is multiculturalism? Is it enough? Does it make matters worse? Students will come away from this course having critically thought about what types of social change would bring about a freer and more humane society.",,"[Completion of 1.0 credit from the following courses: [SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)], ANTA02H3, GGRA02H3, GASA01H3/HISA06H3, GASA02H3, HISA04H3, or HISA05H3] or [any 4.0 credits and enrolment in the Minor in Critical Migration Studies]",,Issues in Critical Migration Studies,,Priority will be given to students enrolled in the Minor in Critical Migration Studies. Additional students will be admitted as space permits.,2nd year +SOCB70H3,SOCIAL_SCI,,"This course provides an introductory overview of the nature and causes of social change in contemporary societies. Topics covered include: changes in political ideology, cultural values, ethnic and sexual identities, religious affiliation, family formation, health, crime, social structure, and economic inequality.",,[SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] or [IDSA01H3 and enrolment in the Specialist/Specialist Co-op/Major/Minor in International Development Studies (Arts)],,Social Change,,,2nd year +SOCC03H3,SOCIAL_SCI,,"The study of uninstitutionalized group behaviour - crowds, panics, crazes, riots and the genesis of social movements. This course has been designated an Applied Writing Skills Course.",,"SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Collective Behaviour,,,3rd year +SOCC04H3,SOCIAL_SCI,University-Based Experience,"The development of an approach to social movements which includes the following: the origin of social movements, mobilization processes, the career of the movement and its routinization. The course readings will be closely related to the lectures, and a major concern will be to link the theoretical discussion with the concrete readings of movements.",SOCB22H3 or SOCB49H3,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Social Movements,,,3rd year +SOCC09H3,SOCIAL_SCI,,"Explores the interaction of gender and work, both paid and unpaid work. Critically assesses some cases for central theoretical debates and recent research. Considers gender differences in occupational and income attainment, housework, the relation of work and family, gender and class solidarity, and the construction of gender identity through occupational roles.",SOCB22H3 or SOCB49H3,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits, including WSTB05H3 and enrolment in the Major program in Women's and Gender Studies]",SOC362H5,Sociology of Gender and Work,,,3rd year +SOCC11H3,SOCIAL_SCI,,"This course examines the character of policing and security programs in advanced liberal democracies. Attention will be paid to the nature and enforcement of modern law by both state and private agents of order, as well as the dynamics of the institutions of the criminal justice system. This course has been designated an Applied Writing Skills Course.",,"[[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major Program in Public Law]","(SOC306Y1), SOC326H5",Policing and Security,,,3rd year +SOCC15H3,SOCIAL_SCI,,"An upper level course that examines a number of critical issues and important themes in the sociological study of work. Topics covered will include: the changing nature and organization of work, precarious employment, different forms of worker organizing and mobilization, the professions, the transition from school to work.",SOCB54H3,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,"Work, Employment and Society",,,3rd year +SOCC23H3,SOCIAL_SCI,University-Based Experience,"How do people navigate their everyday lives? Why do they do what they do? And how, as sociologists, can we draw meaningful conclusions about these processes and the larger, social world we live in? Qualitative research methods adhere to the interpretative paradigm. Sociologists use them to gain a richer understanding of the relationship between the minutiae of everyday life and larger societal patterns. This course will introduce students to the qualitative methods that social scientists rely on, while also providing them with hands-on experience carrying out their own research. This course has been designated an Applied Writing Skills Course.",,10.0 credits including [[SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and SOCB05H3] and a cumulative GPA of at least 2.3,(SOCD23H3),Practicum in Qualitative Research Methods,,,3rd year +SOCC24H3,SOCIAL_SCI,,"A theoretical and empirical examination of different forms of family and gender relations. Of special interest is the way in which the institution of the family produces and reflects gendered inequalities in society. Themes covered include changes and continuities in family and gender relations, micro-level dynamics and macro-level trends in family and gender, as well as the interplay of structure and agency. This course has been designated an Applied Writing Skills Course.",SOCB22H3 or SOCB49H3,"[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits, including WSTB05H3 and enrolment in the Major program in Women's and Gender Studies]",,Special Topics in Gender and Family,,,3rd year +SOCC25H3,SOCIAL_SCI,University-Based Experience,"Why do people migrate and how do they decide where to go? How does a society determine which border crossers are ‘illegal’ and which are ‘legal’? Why are some people deemed ‘refugees’ while others are not? What consequences do labels like ‘deportee’, ‘immigrant,’ ‘refugee,’ or ‘trafficking victim’ have on the people who get assigned them? This course will examine these and other similar questions. We will explore how the politics of race, class, gender, sexuality and citizenship shape the ways that states make sense of and regulate different groups of migrants as well as how these regulatory processes affect im/migrants’ life opportunities.",SOCB22H3 or SOCB49H3,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB60H3 and an additional 8.0 credits and enrolment in the Minor program in Critical Migration Studies] or [IDSB07H3 and an additional 8.0 credits, and enrolment in the Specialist/Specialist Co-op Program/Major/Minor Program in International Development Studies (Arts)]",,"Ethnicity, Race and Migration",,,3rd year +SOCC26H3,SOCIAL_SCI,,"A popular civic strategy in transforming post-industrial cities has been the deployment of culture and the arts as tools for urban regeneration. In this course, we analyze culture-led development both as political economy and as policy discourse. Topics include the creative city; spectacular consumption spaces; the re-use of historic buildings; cultural clustering and gentrification; eventful cities; and urban 'scenes'.",SOCB44H3,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities] or [ CITA01H3/(CITB02H3) and enrolment in the Major/Major Co-op in City Studies]",,Sociology of Urban Cultural Policies,,,3rd year +SOCC27H3,SOCIAL_SCI,,"This course examines the political economy of suburban development, the myth and reality of suburbanism as a way of life, the working class suburb, the increasing diversity of suburban communities, suburbia and social exclusion, and the growth of contemporary suburban forms such as gated communities and lifestyle shopping malls.",SOCB22H3 or SOCB49H3,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities] or [CITA01H3/(CITB02H3) and enrolment in the Major/Major Co-op in City Studies]",,Sociology of Suburbs and Suburbanization,,,3rd year +SOCC29H3,SOCIAL_SCI,,"In this course, students read and evaluate recent research related to the sociology of families and gender in the modern Middle East. The course explores the diversity of family forms and processes across time and space in this region, where kinship structures have in the past been characterized as static and uniformly patriarchal. Topics covered include marriage, the life course, family nucleation, the work-family nexus, divorce, family violence, and masculinities.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits, including WSTB05H3, and enrolment in the Major Program in Women's and Gender Studies] or [8.0 credits, including ASFB01H3, and enrolment in the Minor Program in African Studies] or [IDSA01H3 and additional 8.0 credits, and enrolment in the Specialist/Specialist Co-op/Major/Minor Program in International Development Studies (Arts)]",,Family and Gender in the Middle East,,,3rd year +SOCC30H3,SOCIAL_SCI,,"The young figure prominently in people's views about, and fears of, crime. This course examines definitions of crime, how crime problems are constructed and measured. It looks at schools and the street as sites of criminal behaviour, and considers how we often react to crime in the form of moral panics. This course has been designated an Applied Writing Skills Course.",,"[[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major Program in Public Law]",,Criminal Behaviour,,,3rd year +SOCC31H3,QUANT,University-Based Experience,"This course provides students with hands-on experience conducting quantitative research. Each student will design and carry out a research project using secondary data. Students will select their own research questions, review the relevant sociological literature, develop a research design, conduct statistical analyses and write up and present their findings. This course has been designated an Applied Writing Skills Course.",,"[10.0 credits, including [SOCA05H3 or [(SOCA01H3) and (SOCA02H3)] or (SOCA03Y3)] and SOCB05H3 and [SOCB35H3 or (SOCB06H3)]] and a cumulative GPA of at least 2.3",,Practicum in Quantitative Research Methods,,,3rd year +SOCC32H3,SOCIAL_SCI,,"After 9/11, terrorism was labeled a global threat, fueling the war on terror and the adoption of extensive counterterrorism actions. These measures, however, often compromised human rights in the pursuit of national security goals. This course grapples with questions pertaining to terrorism, counterterrorism, and human rights in the age of security.",,"[SOCB05H3 and 0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3] or [IDSA01 and an additional 8.0 credits, and enrolment in the Specialist/Major Program in IDS] or [POLB80 and an additional 8.0 credits, and enrolment in the Specialist/Major Program in Political Science]",,Human Rights and Counterterrorism,,,3rd year +SOCC34H3,SOCIAL_SCI,University-Based Experience,"Examines the relationship between contemporary modes of international migration and the formation of transnational social relations and social formations. Considers the impact of trans-nationalisms on families, communities, nation-states, etc. This course has been designated an Applied Writing Skills Course.",,"[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, IDSB01H3]] or [SOCB60H3 and an additional 8.0 credits and enrolment in the Minor in Critical Migration Studies] or [IDSA01H3 and an additional 8.0 credits, and enrolment in the Specialist/Specialist Co-op/Major Program in International Development Studies (Arts)]",,Migrations & Transnationalisms,,,3rd year +SOCC37H3,SOCIAL_SCI,,"This course links studies in the classical sociology of resources and territory (as in the works of Harold Innis, S.D. Clark, and the Chicago School), with modern topics in ecology and environmentalism. The course will use empirical research and theoretical issues to explore the relationship between various social systems and their natural environments.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major/Major Co-op in Public Policy] or [any 8.0 credits and enrolment in the Major Program in Environmental Studies or the Certificate in Sustainability]",,Environment and Society,,,3rd year +SOCC38H3,SOCIAL_SCI,,"An examination of a number of key issues in the sociology of education, focusing particularly upon gender and higher education.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits, including WSTB05H3 and enrolment in the Major in Women's and Gender Studies]",,Gender and Education,,,3rd year +SOCC40H3,SOCIAL_SCI,,"This course surveys key topics in contemporary sociological theory. The development of sociological theory from the end of World War II to the late 1960's. Special attention is devoted to the perspectives of Functionalism, Conflict Theory and Symbolic Interactionism. This course has been designated an Applied Writing Skills Course.",,"SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",(SOCC05Y3),Contemporary Sociological Theory,,,3rd year +SOCC44H3,SOCIAL_SCI,,"Provides an introduction to the emergence, organization and regulation of various media forms; social determinants and effects of media content; responses of media audiences; and other contemporary media issues.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities] or [IDSA01H3 and an additional 8.0 credits, and enrolment in the Specialist/Specialist Co-op in International Development Studies (Arts)]","(SOCB56H3), (SOCB57H3)",Media and Society,,,3rd year +SOCC45H3,SOCIAL_SCI,,"This course examines youth as a social category, and how young people experience and shape societies. Topics include: youth and social inequality; social change and social movements, and youth and education.",,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Youth and Society,,,3rd year +SOCC46H3,SOCIAL_SCI,,"The course covers various approaches to the study of law in society. Topics covered may include the interaction between law, legal, non-legal institutions and social factors, the social development of legal institutions, forms of social control, legal regulation, the interaction between legal cultures, the social construction of legal issues, legal profession, and the relation between law and social change.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major Program in Public Law]",,Special Topics in Sociology of Law,,,3rd year +SOCC47H3,SOCIAL_SCI,University-Based Experience,"An introduction to organizational and economic sociology through the lens of creative industries. Students will be introduced to different theoretical paradigms in the study of organizations, industries, and fields. The course is divided into four major modules on creative industries: inequality and occupational careers; organizational structure and decision making under conditions of uncertainty; market and field-level effects; and distribution and promotion. This course has been designated an Applied Writing Skills Course.",,"[SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [8.0 credits including SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities]",,Creative Industries,,"Priority will be given to students in the Specialist and Major programs in Sociology and the Minor in Culture, Creativity, and Cities.",3rd year +SOCC49H3,SOCIAL_SCI,,"This course will examine the health and well-being of Indigenous peoples, given historic and contemporary issues. A critical examination of the social determinants of health, including the cultural, socioeconomic and political landscape, as well as the legacy of colonialism, will be emphasized. An overview of methodologies and ethical issues working with Indigenous communities in health research and developing programs and policies will be provided. The focus will be on the Canadian context, but students will be exposed to the issues of Indigenous peoples worldwide. Same as HLTC49H3",,"HLTB41H3 or [[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3 , SOCB42H3, SOCB43H3, SOCB47H3]]",HLTC49H3,Indigenous Health,,,3rd year +SOCC50H3,SOCIAL_SCI,,"This course explores the social meaning and influence of religion in social life. As a set of beliefs, symbols and motivations, as well as a structural system, religion is multifaceted and organizes many aspects of our daily life. This course surveys key theoretical paradigms on the meaning of religion and the social implications of religious transformations across time. It takes up basic questions about how religion is shaped by various political, social, and economic forces.",,"SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Sociology of Religion,,"Priority will be given to students enrolled in the Specialist, Major and Minor programs in Sociology. Additional students will be admitted as space permits.",3rd year +SOCC51H3,SOCIAL_SCI,,An examination of a current topic relevant to the study of health and society. The specific topic will vary from year to year. Same as HLTC51H3,,"HLTB41H3 or [[SOCB05H3 or SOCB35H3] and [0.5 from SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]]",HLTC51H3,Special Topics in Health and Society,,Priority will be given to students enrolled in the Specialist and Major programs in Sociology.,3rd year +SOCC52H3,SOCIAL_SCI,,"The course examines the relationship between the displacement and dispossession of Indigenous peoples and immigration in settler-colonial states. The focus is on Canada as a traditional country of immigration. Topics considered include historical and contemporary immigration and settlement processes, precarious forms of citizenship and noncitizenship, racism and racial exclusion, and the politics of treaty citizenship. Discussion puts the Canadian case in comparative perspective.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB60H3 and an additional 8.0 credits and enrolment in the Minor Program in Critical Migration Studies]",(SOCB52H3) and SOC210Y,"Immigration, Citizenship and Settler Colonialism",,,3rd year +SOCC54H3,SOCIAL_SCI,,"Sociological analysis of the role of culture in societies is offered under this course. Topics may include the study of material cultures such as works of art, religious symbols, or styles of clothing, or non-material cultures such as the values, norms, rituals, and beliefs that orient action and social life.",,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Special Topics in Sociology of Culture,,Please see the Sociology Department website at http://www.utsc.utoronto.ca/~socsci/ for a listing of the course topics for current and upcoming semesters.,3rd year +SOCC55H3,SOCIAL_SCI,,"This course addresses key concepts and debates in the research on race and ethnicity. Topics covered may include historical and global approaches to: assimilation, ethnic relations, intersectionality, racialization, and scientific racism.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB60H3 and an additional 8.0 credits and enrolment in the Minor in Critical Migration Studies]",,Special Topics in Race and Ethnicity,,Please see the Sociology Department website at http://www.utsc.utoronto.ca/~socsci/ for a listing of the course topics for current and upcoming semesters.,3rd year +SOCC57H3,SOCIAL_SCI,,"This course examines how the three-axis of social stratification and inequality – race, gender, and class – shape economic activity in different settings – from labour markets to financial markets to consumer markets to dating markets to household economies to intimate economies to informal and illegal economies to markets of human goods.",,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,"Gender, Race, and Class in Economic Life",,,3rd year +SOCC58H3,SOCIAL_SCI,University-Based Experience,"A sociological examination of contemporary global transformations including changing social, economic, and political conditions. Topics examined may include the shifting nature of state-society relations in a global context; the emergence of globally-integrated production, trade and financial systems; and the dynamics of local and transnational movements for global social change. This course has been designated as a Writing Skills course.",,"[SOCB05H3 and [1.0 credit from the following: SOCB42H3, SOCB43H3, SOCB47H3]] or [IDSA01H3 and an additional 8.0 credits and enrolment in the Specialist/Specialist Co-op/Major/Minor Program in International Development Studies (Arts)]",SOC236H5,"Global Transformations: Politics, Economy and Society",,,3rd year +SOCC59H3,SOCIAL_SCI,,"Sociological analyses of stratification processes and the production of social inequality with a focus on economy and politics. Topics covered may include work and labour markets, the state and political processes. Attention is given to grassroots mobilization, social movements, and contestatory politics.",,"[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Special Topics in Social Inequality,,See the Sociology Department website for a listing of the course topics for current and upcoming semesters.,3rd year +SOCC61H3,SOCIAL_SCI,Partnership-Based Experience,"The Truth and Reconciliation Commission of Canada is an historic process that now directs a core area of Canadian politics and governance. This course examines the institutional and legal history, precedents, contradictions and consequences of the commission from a sociological perspective.",,"[[SOCB05H3 or SOCB35H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [any 8.0 credits and enrolment in the Major Program in Public Law]",,The Sociology of the Truth and Reconciliation Commission,,,3rd year +SOCC70H3,SOCIAL_SCI,,"This course examines how quantitative models can be used to understand the social world with a focus on social inequality and social change. Students will learn the fundamentals of modern computational techniques and data analysis, including how to effectively communicate findings using narratives and visualizations. Topics covered include data wrangling, graphic design, regression analysis, interactive modelling, and categorical data analysis. Methods will be taught using real-world examples in sociology with an emphasis on understanding key concepts rather than mathematical formulas.",,"SOCB35H3 or [completion of 8.0 credits, including component 1 of the course requirements for the Certificate in Computational Social Science]",,Models of the Social World,,,3rd year +SOCD01H3,SOCIAL_SCI,University-Based Experience,This course offers an in-depth examination of selected topics in Culture and Cities. Check the department website for more details. This course has been designated a Research Skills Course,,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB44H3, SOCB47H3, SOCB58H3]] or [10.0 credits including SOCB58H3 and enrolment in the Minor in Culture, Creativity, and Cities]",,Advanced Seminar in Culture and Cities,,"Priority will be given to students enrolled in the Specialist and Major programs in Sociology, and the Minor program in Culture, Creativity, and Cities.",4th year +SOCD02H3,SOCIAL_SCI,Partnership-Based Experience,"The intensive international field school course is an experiential and land-based learning trip to Indigenous territories in Costa Rica, in order to learn about settler colonialism, Indigenous communities, and UNDRIP (the United Nations Declaration on the Rights of Indigenous Peoples). Students will learn with Indigenous Costa Rican university students and community partners in order to draw links between policy frameworks (UNDRIP), ideologies (colonialism) and the impacts on Indigenous communities (e.g. education, health, food security, language retention, land rights). The course involves 14-16 days of in-country travel. This course has been designated as a Research Skills course.",,"[10.0 credits, including SOCC61H3] and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, or SOCB47H3]",,Global Field School: Indigenous Costa Rica,,"Priority will be given to students enrolled in the Major or Specialist Programs in Sociology. Additional students will be admitted as space permits. This course requires students to register and fill out an application form. To request a SOCD02H3 course application form, please contact sociologyadvisor.utsc@utoronto.ca. This form is due one week after students enroll in the course. Enrolment Control: A Restricted to students in the sociology programs. Step 1: Request the course on ACORN. Your status will be INT. You will not be officially enrolled until you complete the remaining steps (below). Step 2: Request an application form from the program advisor at sociologyadvisor.utsc@utoronto.ca Step 3: Submit the application form by email to the program advisor at sociologyadvisor.utsc@utoronto.ca If you are approved for enrolment the department will arrange to have your course status on ACORN changed from interim (INT) to approved (APP). P = Priority, R = Restricted, A = Approval , E = Enrolment on ACORN is disabled",4th year +SOCD05H3,SOCIAL_SCI,University-Based Experience,This course offers an in-depth examination of selected topics in Criminology and Sociology of Law. Check the department website for more details. This course has been designated a Research Skills Course,,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: [SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, SOCB50H3, (SOCB51H3)]] or [any 14.0 credits and enrolment in the Major Program in Public Law]",,Advanced Seminar in Criminology and Sociology of Law,,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits.,4th year +SOCD08H3,SOCIAL_SCI,,"This course charts the legal norms and social relations that, from the 1700s to the present, have turned land into a place and an idea called Scarborough. Students work with a diversity of sources and artifacts such as crown patents, government reports and Indigenous legal challenges, historical and contemporary maps and land surveys, family letters, historical plaques, and Indigenous artists’ original works to trace the conflicts and dialogues between Indigenous and settler place-making in Scarborough. This course has been designated a Research Skills Course.",,"10.0 credits, including SOCB05H3 and 1.0 credit from the following: [SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3] or one from the following: [POLC56H3, POLC52H3, GGRB18H3, POLD54H3]",,Scarborough Place-Making: Indigenous Sovereignty and Settler Landholding,,"Priority will be given to students enrolled in the Specialist, Major and Minor programs in Sociology, including the Critical Migration Studies Minor. Additional students will be admitted as space permits.",4th year +SOCD10H3,SOCIAL_SCI,,This course offers an in-depth examination of selected topics in Gender and Family. Check the department website for details at: www.utsc.utoronto.ca/sociology/programs.,,[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3 or SOCB42H3 or SOCB43H3 or SOCB47H3 or (SOCC39H3)]] or [8.0 credits [including WSTB05H3] and enrolment in the Major in Women's and Gender Studies],,Advanced Seminar in Gender and Family,,"Priority will be given to students enrolled in the Specialist and Major programs in Sociology, and Major in Women's and Gender Studies. Additional students will be admitted as space permits.",4th year +SOCD11H3,SOCIAL_SCI,Partnership-Based Experience,"This course provides an introduction to the field of program and policy evaluation. Evaluation plays an important role in evidence based decision making in all aspects of society. Students will gain insight into the theoretical, methodological, practical, and ethical aspects of evaluation across different settings. The relative strengths and weaknesses of various designs used in applied social research to examine programs and policies will be covered. Same as HLTD11H3",,"[[STAB22H3 or STAB23H3] and [0.5 credit from HLTC42H3, HLTC43H3, HLTC44H3] and [an additional 1.0 credit at the C-Level from courses from the Major/Major Co-op in Health Policy]] or [10.0 credits and [SOCB05H3 and SOCB35H3] and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, or SOCB47H3]]",HLTD11H3,Program and Policy Evaluation,,,4th year +SOCD12H3,SOCIAL_SCI,,"An examination of sociological approaches to the study of visual art. Topics include the social arrangements and institutional processes involved in producing, consecrating, distributing, and marketing art as well as artistic consumption practices.",,"[10.0 credits including: SOCB05H3, and [0.5 credit from the following: SOCB58H3, SOCC44H3, or SOCC47H3] and [0.5 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, or SOCB44H3]] or [any 10.0 credits including: SOCB58H3 and enrolment in the Minor program in Culture, Creativity and Cities].",,Sociology of Art,,,4th year +SOCD13H3,,University-Based Experience,"This is an advanced course on the sub-filed of economic sociology that focuses on money and finance. This course examines how cultural values and social relations shape money and finance in a variety of substantive settings, including the historical emergence of money as currency, the expansion of the financial system since the 1980s, financial markets, growing household involvement in the stock and credit market, and implications for social life (e.g., how credit scores shape dating).",SOCB35H3 and SOCB37H3,"10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, SOCB50H3, or (SOCB51H3)]",,Sociology of Finance,,"Priority will be given to students enrolled in the Specialist, Major, and Minor programs in Sociology. Additional students will be admitted as space permits.",4th year +SOCD15H3,SOCIAL_SCI,University-Based Experience,This course offers an in-depth examination of selected topics in Migration Studies. Students will be required to conduct independent research based on primary and/or secondary data sources. Check the department website for details at: www.utsc.utoronto.ca/sociology/programs.,,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]] or [SOCB60H3 and enrolment in the Minor in Critical Migration Studies] or [10.0 credits including IDSB11H3 and enrolment in the Certificate in Global Development, Environment and Health]",,Advanced Seminar in Critical Migration Studies,,"Priority will be given first to students enrolled in the Minor in Critical Migration Studies, then to students in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits.",4th year +SOCD18H3,SOCIAL_SCI,,"This course examines the largest class action settlement in Canadian history: the Indian Residential School Settlement Agreement enacted in Canada in 2006. This analysis is framed within a 50 year history of reconciliation in Canada. Areas of study include the recent history of residential schools, the Royal Commission on Aboriginal Peoples report and the government response, and the establishment of the Aboriginal Healing Foundation.",,"10.0 credits including SOCB05H3 and [0.5 from the following: SOCB47H3, SOCC61H3]",,The History and Evolution of Reconciliation: The Indian Residential School Settlement,,,4th year +SOCD20H3,,University-Based Experience,This seminar examines the transformation and perpetuation of gender relations in contemporary Chinese societies. It pays specific attention to gender politics at the micro level and structural changes at the macro level through in-depth readings and research. Same as GASD20H3,GASB20H3 and GASC20H3,"[SOCB05H3 and 0.5 credit in SOC course at the C-level] or [GASA01H3 and GASA02H3 and 0.5 credit at the C-level from the options in requirement #2 of the Specialist or Major programs in Global Asia Studies] or [10.0 credits including IDSB11H3 and enrolment in the Certificate in Global Development, Environment and Health]",GASD20H3,Advanced Seminar: Social Change and Gender Relations in Chinese Societies,,,4th year +SOCD21H3,SOCIAL_SCI,University-Based Experience,"This course will teach students how to conduct in-depth, community-based research on the social, political, cultural and economic lives of immigrants. Students will learn how to conduct qualitative research including participant observation, semi-structured interviews and focus groups. Students will also gain valuable experience linking hands-on research to theoretical debates about migration, transnationalism and multicultural communities. Check the Department of Sociology website for more details.",,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, (SOCC39H3)]] or [SOCB60H3 and enrolment in the Minor Program in Critical Migration Studies] or [11.0 credits, including ASFB01H3, and enrolment in the Minor Program in African Studies]",,Immigrant Scarborough,,For a listing of the course topics for current and upcoming semesters check the Department's website at http://www.utsc.utoronto.ca/sociology/,4th year +SOCD25H3,SOCIAL_SCI,University-Based Experience,"This course offers an in-depth examination of selected topics in Economy, Politics and Society. Check the department website for more details. This course has been designated a Research Skills Course",,"10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,"Advanced Seminar in Economy, Politics and Society",,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits.,4th year +SOCD30Y3,SOCIAL_SCI,,"This course is taught over two full terms. It offers an in-depth exploration of significant topics in community-based research including ethics, research design, collaborative data analysis and research relevance and dissemination. Students conduct independent community-engaged research with important experiential knowledge components. Check the Department of Sociology website for more details.",,[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3 or SOCB42H3 or SOCB43H3 or SOCB47H3 or (SOCC39H3)]] or [SOCB60H3 and enrolment in the Minor Program in Critical Migration Studies],,Special Topics in Community- Engaged Research,,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits.,4th year +SOCD32Y3,SOCIAL_SCI,,"This course is taught over two full terms. It offers students an opportunity to conduct research on an original research topic or as part of an ongoing faculty research project. Students will develop a research proposal, conduct independent research, analyze data and present findings. Check the Department of Sociology website for more details.",,"[10.0 credits, including (SOCB05H3) and (SOCB35H3)] and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Special Topics in the Practice of Research,,Priority will be given to students enrolled in the Specialist and Major programs in Sociology. Additional students will be admitted as space permits.,4th year +SOCD40H3,,University-Based Experience,"Independent research using field methods, survey analysis, library or archival research; regular supervision of data collection and analysis; final written research report. Intended for upper level students with well above average performance in sociology and whose interests or needs are not met by other sociology courses being offered.",,"15.0 credits, including: [SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)] and [SOCB35H3 or (SOCB06H3)] and [SOCB05H3 or [(SOCB40H3) and (SOCB41H3)]] and SOCB42H3 and SOCB43H3 and permission of the instructor and the Sociology Supervisor of Studies.",SOC390Y and SOC391H and SOC392H,Supervised Independent Research,,,4th year +SOCD41H3,,University-Based Experience,"Independent research using field methods, survey analysis, library or archival research; regular supervision of data collection and analysis; final written research report. Intended for upper level students with well above average performance in sociology and whose interests or needs are not met by other sociology courses being offered.",,"15.0 credits, including [SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] and [SOCB35H3 or (SOCB06H3)] and [SOCB05H3 or [(SOCB40H3) and (SOCB41H3)]] and SOCB42H3 and SOCB43H3 and permission of the instructor and the Sociology Supervisor of Studies.","SOC390Y, SOC391H, SOC392H",Supervised Independent Research,,,4th year +SOCD42H3,,,This course offers an in depth exploration of significant topics in contemporary and/or sociological theory. Check the department website for details at: www.utsc.utoronto.ca/sociology/programs.,,"10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Advanced Seminar in Sociological Theory,,For a listing of the course topics for current and upcoming semesters check the Department's website at http://www.utsc.utoronto.ca/sociology/,4th year +SOCD44H3,,,Exploration of current debates and controversies surrounding recent scholarly developments in Sociology. Check the department website for details at: https://www.utsc.utoronto.ca/sociology/special-topics- advanced-seminars,,"10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3]",,Advanced Seminar on Issues in Contemporary Sociology,,For a listing of the course topics for current and upcoming semesters check the Department's website at http://www.utsc.utoronto.ca/sociology/,4th year +SOCD50H3,SOCIAL_SCI,University-Based Experience,"This course presents students with the opportunity to integrate and apply their sociological knowledge and skills through conducting independent research. In a step-by-step process, each student will design and conduct an original research study. The course is especially suited for those students interested in pursuing graduate studies or professional careers involving research skills.",,"12.0 credits, including [SOCA05H3 or (SOCA03Y3) or [(SOCA01H3) and (SOCA02H3)]] and SOCB05H3 and [SOCB35H3 or (SOCB06H3)] and [SOCC23H3 or SOCC31H3] and a cumulative GPA of at least 2.7",,Research Seminar: Realizing the Sociological Imagination,,,4th year +SOCD51H3,SOCIAL_SCI,University-Based Experience,"This course provides a hands-on learning experience with data collection, analysis, and dissemination on topics discussed in the Minor in Culture, Creativity, and Cities. It involves substantial group and individual-based learning, and may cover topics as diverse as the role of cultural fairs and festivals in the city of Toronto, the efficacy of arts organizations, current trends in local cultural labour markets, artistic markets inside and outside of the downtown core, food culture, and analysis of governmental datasets on arts participation in the city.",,"[10.0 credits and SOCB05H3 and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB44H3, SOCB47H3, SOCB58H3]] or [10.0 credits including SOCB58H3 and enrolment in the Minor Program in Culture, Creativity and Cities]",,"Capstone Seminar in Culture, Creativity, and Cities",,"Priority will be given to students enrolled in the Minor in Culture, Creativity, and Cities followed by Specialist and Major programs in Sociology. Additional students will be admitted as space permits.",4th year +SOCD52H3,SOCIAL_SCI,University-Based Experience,"A sociological examination of the creation, production, dissemination, and reception of books.",,"10.0 credits including SOCB05H3, and [1.0 credit from the following: SOCB30H3, SOCB42H3, SOCB43H3, SOCB47H3, SOCB44H3, SOCB58H3] or [10.0 credits including SOCB58H3 and enrolment in the Minor in Culture, Creativity and Cities]",[SOCD44H3 if taken in 2014-2015 or 2015-2016 or 2016-2017],Sociology of Books,,"Priority will be given to students enrolled in the Minor in Culture, Creativity, and Cities followed by Specialist and Major programs in Sociology. Additional students will be admitted as space permits.",4th year +STAA57H3,QUANT,Partnership-Based Experience,"Reasoning using data is an integral part of our increasingly data-driven world. This course introduces students to statistical thinking and equips them with practical tools for analyzing data. The course covers the basics of data management and visualization, sampling, statistical inference and prediction, using a computational approach and real data.",,CSCA08H3,"STAB22H3, STA130H, STA220H",Introduction to Data Science,,,1st year +STAB22H3,QUANT,,"This course is a basic introduction to statistical reasoning and methodology, with a minimal amount of mathematics and calculation. The course covers descriptive statistics, populations, sampling, confidence intervals, tests of significance, correlation, regression and experimental design. A computer package is used for calculations.",,,"ANTC35H3, MGEB11H3/(ECMB11H3), (POLB11H3), PSYB07H3, (SOCB06H3), STAB23H3, STAB52H3, STAB57H3, STA220H, (STA250H)",Statistics I,,,2nd year +STAB23H3,QUANT,,"This course covers the basic concepts of statistics and the statistical methods most commonly used in the social sciences. The first half of the course introduces descriptive statistics, contingency tables, normal probability distribution, and sampling distributions. The second half of the course introduces inferential statistical methods. These topics include significance test for a mean (t-test), significance test for a proportion, comparing two groups (e.g., comparing two proportions, comparing two means), associations between categorical variables (e.g., Chi-square test of independence), and simple linear regression.",,,"ANTC35H3, MGEB11H3/(ECMB11H3), (POLB11H3), PSYB07H3, (SOCB06H3), STAB22H3, STAB52H3, STAB57H3, STA220H, STA250H",Introduction to Statistics for the Social Sciences,,,2nd year +STAB27H3,QUANT,,"This course follows STAB22H3, and gives an introduction to regression and analysis of variance techniques as they are used in practice. The emphasis is on the use of software to perform the calculations and the interpretation of output from the software. The course reviews statistical inference, then treats simple and multiple regression and the analysis of some standard experimental designs.",,STAB22H3 or STAB23H3,"MGEB12H3/(ECMB12H3), STAB57H3, STA221H, (STA250H)",Statistics II,,,2nd year +STAB41H3,QUANT,,"A study of the most important types of financial derivatives, including forwards, futures, swaps and options (European, American, exotic, etc). The course illustrates their properties and applications through examples, and introduces the theory of derivatives pricing with the use of the no-arbitrage principle and binomial tree models.",,ACTB40H3 or MGFB10H3,MGFC30H3/(MGTC71H3),Financial Derivatives,,,2nd year +STAB52H3,QUANT,,"A mathematical treatment of probability. The topics covered include: the probability model, density and distribution functions, computer generation of random variables, conditional probability, expectation, sampling distributions, weak law of large numbers, central limit theorem, Monte Carlo methods, Markov chains, Poisson processes, simulation, applications. A computer package will be used.",,MATA22H3 and MATA37H3,"STAB53H3, PSYB07H3, STA107H, STA237H1, STA247H1, STA257H, STA246H5, STA256H5",An Introduction to Probability,,,2nd year +STAB53H3,QUANT,University-Based Experience,"An introduction to probability theory with an emphasis on applications in statistics and the sciences. Topics covered include probability spaces, random variables, discrete and continuous probability distributions, expectation, conditional probability, limit theorems, and computer simulation.",,[MATA22H3 or MATA23H3] and [MATA35H3 or MATA36H3 or MATA37H3],"STAB52H3, PSYB07H3, STA107H, STA237H1, STA247H1, STA257H, STA246H5, STA256H5",Introduction to Applied Probability,,,2nd year +STAB57H3,QUANT,,"A mathematical treatment of the theory of statistics. The topics covered include: the statistical model, data collection, descriptive statistics, estimation, confidence intervals and P- values, likelihood inference methods, distribution-free methods, bootstrapping, Bayesian methods, relationship among variables, contingency tables, regression, ANOVA, logistic regression, applications. A computer package will be used.",,[STAB52H3 or STAB53H3],"MGEB11H3, PSYB07H3, STAB22H3, STAB23H3, STA220H1, STA261H",An Introduction to Statistics,,,2nd year +STAC32H3,QUANT,,"A case-study based course, aimed at developing students’ applied statistical skills beyond the basic techniques. Students will be required to write statistical reports. Statistical software, such as SAS and R, will be taught and used for all statistical analyses.",,STAB27H3 or MGEB12H3 or PSYC08H3 or STA221H1,STAC33H3,Applications of Statistical Methods,,,3rd year +STAC33H3,QUANT,,"This course introduces students to statistical software, such as R and SAS, and its use in analyzing data. Emphasis will be placed on communication and explanation of findings. Students will be required to write a statistical report.",,STAB57H3 or STA248H3 or STA261H3,STAC32H3,Introduction to Applied Statistics,,,3rd year +STAC50H3,QUANT,,"The principles of proper collection of data for statistical analysis, and techniques to adjust statistical analyses when these principles cannot be implemented. Topics include: relationships among variables, causal relationships, confounding, random sampling, experimental designs, observational studies, experiments, causal inference, meta- analysis. Statistical analyses using SAS or R. Students enrolled in the Minor program in Applied Statistics should take STAC53H3 instead.",,STAB57H3 or STA261H1. Students enrolled in the Minor program in Applied Statistics should take STAC53H3.,"STA304H, STAC53H3",Data Collection,,,3rd year +STAC51H3,QUANT,,"Statistical models for categorical data. Contingency tables, generalized linear models, logistic regression, multinomial responses, logit models for nominal responses, log-linear models for two-way tables, three-way tables and higher dimensions, models for matched pairs, repeated categorical response data, correlated and clustered responses. Statistical analyses using SAS or R.",,STAC67H3,STA303H1,Categorical Data Analysis,,,3rd year +STAC53H3,QUANT,,"This course introduces the principles, objectives and methodologies of data collection. The course focuses on understanding the rationale for the various approaches to collecting data and choosing appropriate statistical techniques for data analysis. Topics covered include elements of sampling problems, simple random sampling, stratified sampling, ratio, regression, and difference estimation, systematic sampling, cluster sampling, elements of designed experiments, completely randomized design, randomized block design, and factorial experiments. The R statistical software package is used to illustrate statistical examples in the course. Emphasis is placed on the effective communication of statistical results.",,STAB27H3 or MGEB12H3 or PSYC08H3 or STA221H1,"STAC50H3, STA304H1, STA304H5",Applied Data Collection,,Students enrolled in the Specialist or Major programs in Statistics should take STAC50H3.,3rd year +STAC58H3,QUANT,,"Principles of statistical reasoning and theories of statistical analysis. Topics include: statistical models, likelihood theory, repeated sampling theories of inference, prior elicitation, Bayesian theories of inference, decision theory, asymptotic theory, model checking, and checking for prior-data conflict. Advantages and disadvantages of the different theories.",,STAB57H3 and STAC62H3,"STA352Y, STA422H",Statistical Inference,,,3rd year +STAC62H3,QUANT,,"This course continues the development of probability theory begun in STAB52H3. Topics covered include finite dimensional distributions and the existence theorem, discrete time Markov chains, discrete time martingales, the multivariate normal distribution, Gaussian processes and Brownian motion.",,MATB41H3 and STAB52H3,STA347H1,Probability and Stochastic Processes I,,,3rd year +STAC63H3,QUANT,,"This course continues the development of probability theory begun in STAC62H3. Probability models covered include branching processes, birth and death processes, renewal processes, Poisson processes, queuing theory, random walks and Brownian motion.",,STAC62H3,"STA447H1, STA348H5",Probability and Stochastic Processes II,,,3rd year +STAC67H3,QUANT,,"A fundamental statistical technique widely used in various disciples. The topics include simple and multiple linear regression analysis, geometric representation of regression, inference on regression parameters, model assumptions and diagnostics, model selection, remedial measures including weighted least squares, instruction in the use of statistical software.",,STAB57H3,"STA302H; [Students who want to complete both STAC67H3 and MGEB12H3, and receive credit for both courses, must successfully complete MGEB12H3 prior to enrolling in STAC67H3; for students who complete MGEB12H3 after successfully completing STAC67H3, MGEB12H3 will be marked as Extra (EXT)]",Regression Analysis,,,3rd year +STAC70H3,QUANT,,"A mathematical treatment of option pricing. Building on Brownian motion, the course introduces stochastic integrals and Itô calculus, which are used to develop the Black- Scholes framework for option pricing. The theory is extended to pricing general derivatives and is illustrated through applications to risk management.",,[STAB41H3 or MGFC30H3/(MGTC71H3)] and STAC62H3,"APM466H, ACT460H",Statistics and Finance I,MATC46H3,,3rd year +STAD29H3,QUANT,,"The course discusses many advanced statistical methods used in the life and social sciences. Emphasis is on learning how to become a critical interpreter of these methodologies while keeping mathematical requirements low. Topics covered include multiple regression, logistic regression, discriminant and cluster analysis, principal components and factor analysis.",,STAC32H3,"All C-level/300-level and D-level/400-level STA courses or equivalents except STAC32H3, STAC53H3, STAC51H3 and STA322H.",Statistics for Life & Social Scientists,,,4th year +STAD37H3,QUANT,,"Linear algebra for statistics. Multivariate distributions, the multivariate normal and some associated distribution theory. Multivariate regression analysis. Canonical correlation analysis. Principal components analysis. Factor analysis. Cluster and discriminant analysis. Multidimensional scaling. Instruction in the use of SAS.",,STAC67H3,"STA437H, (STAC42H3)",Multivariate Analysis,,,4th year +STAD57H3,QUANT,,"An overview of methods and problems in the analysis of time series data. Topics covered include descriptive methods, filtering and smoothing time series, identification and estimation of times series models, forecasting, seasonal adjustment, spectral estimation and GARCH models for volatility.",,STAC62H3 and STAC67H3,"STA457H, (STAC57H3)",Time Series Analysis,,,4th year +STAD68H3,QUANT,,"Statistical aspects of supervised learning: regression, regularization methods, parametric and nonparametric classification methods, including Gaussian processes for regression and support vector machines for classification, model averaging, model selection, and mixture models for unsupervised learning. Some advanced methods will include Bayesian networks and graphical models.",,CSCC11H3 and STAC58H3 and STAC67H3,,Advanced Machine Learning and Data Mining,,,4th year +STAD70H3,QUANT,,"A survey of statistical techniques used in finance. Topics include mean-variance and multi-factor analysis, simulation methods for option pricing, Value-at-Risk and related risk- management methods, and statistical arbitrage. A computer package will be used to illustrate the techniques using real financial data.",,STAC70H3 and STAD37H3,,Statistics and Finance II,STAD57H3,,4th year +STAD78H3,QUANT,,"Presents theoretical foundations of machine learning. Risk, empirical risk minimization, PAC learnability and its generalizations, uniform convergence, VC dimension, structural risk minimization, regularization, linear models and their generalizations, ensemble methods, stochastic gradient descent, stability, online learning.",STAC58H3 and STAC67H3,STAB57H3 and STAC62H3,,Machine Learning Theory,,,4th year +STAD80H3,QUANT,,"Big data is transforming our world, revolutionizing operations and analytics everywhere, from financial engineering to biomedical sciences. Big data sets include data with high- dimensional features and massive sample size. This course introduces the statistical principles and computational tools for analyzing big data: the process of acquiring and processing large datasets to find hidden patterns and gain better understanding and prediction, and of communicating the obtained results for maximal impact. Topics include optimization algorithms, inferential analysis, predictive analysis, and exploratory analysis.",,STAC58H3 and STAC67H3 and CSCC11H3,,Analysis of Big Data,,,4th year +STAD81H3,QUANT,,"Correlation does not imply causation. Then, how can we make causal claims? To answer this question, this course introduces theoretical foundations and modern statistical and graphical tools for making causal inference. Topics include potential outcomes and counterfactuals, measures of treatment effects, causal graphical models, confounding adjustment, instrumental variables, principal stratification, mediation and interference.",,STAC50H3 and STAC58H3 and STAC67H3,,Causal Inference,,,4th year +STAD91H3,QUANT,University-Based Experience,"Topics of interest in Statistics, as selected by the instructor. The exact topics can vary from year to year. Enrolment is by permission of the instructor only.",,Permission from the instructor is required. This will typically require the completion of specific courses which can vary from year to year.,,Topics in Statistics,,,4th year +STAD92H3,QUANT,,This course is offered by arrangement with a statistics faculty member who must agree to supervise. This course may be taken in any session and must be completed by the last day of classes in the session in which it is taken.,,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Readings in Statistics,,,4th year +STAD93H3,QUANT,,This course is offered by arrangement with a statistics faculty member who must agree to supervise. This course may be taken in any session and must be completed by the last day of classes in the session in which it is taken.,,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Readings in Statistics,,,4th year +STAD94H3,QUANT,,A significant project in any area of statistics. The project may be undertaken individually or in small groups. This course is offered by arrangement with a statistics faculty member who must agree to supervise. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken.,,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Statistics Project,,,4th year +STAD95H3,QUANT,,A significant project in any area of statistics. The project may be undertaken individually or in small groups. This course is offered by arrangement with a statistics faculty member who must agree to supervise. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken.,,Students must obtain consent from the Supervisor of Studies before registering for this course.,,Statistics Project,,,4th year +THRA10H3,ART_LIT_LANG,,"A general introduction to theatre as a social institution and collaborative performing art. Through a combination of lectures, discussions, class exercises, and excursions to see theatre together throughout Toronto, this course will investigate why and how people commit their lives to make theatre. It will also orient students to the four areas of focus in the Theatre and Performance program's curriculum, providing a background for further theatre studies.",,,(VPDA10H3),Introduction to Theatre,,,1st year +THRA11H3,ART_LIT_LANG,,"An introduction to the actor’s craft. This course provides an experiential study of the basic physical, vocal, psychological and analytical tools of the actor/performer, through a series of group and individual exercises.",,THRA10H3/(VPDA10H3),(VPDA11H3),Introduction to Performance,,,1st year +THRB20H3,ART_LIT_LANG,,"This course challenges students to ""wrestle"" with the Western canon that has dominated the practice of theatre-making in colonized North America. In wrestling with it, students will become more conversant in its forms and norms, and thus better able to enter into dialogue with other theatre practitioners and scholars. They also learn to probe and challenge dominant practices, locating them within the cultural spheres and power structures that led to their initial development.",,,(VPDB10H3),Wrestling with the Western Canon,,,2nd year +THRB21H3,ART_LIT_LANG,,Intercultural & Global Theatre will be a study of theatre and performance as a forum for cultural representation past and present. Students will think together about some thorny issues of intercultural encounter and emerge with a fuller understanding of the importance of context and audience in interpreting performances that are more likely than ever to travel beyond the place they were created.,,,(VPDB11H3),Intercultural and Global Theatre,,,2nd year +THRB22H3,ART_LIT_LANG,,"This course explores the history of performance on this part of Turtle Island as a way of reimagining its future. Through a series of case studies, students will grow their understanding of theatre a powerful arena for both shoring up and dismantling myths of the ""imagined nation"" of Canada. With a special focus on Indigenous-settler relations and the contributions of immigrant communities to diversifying the stories and aesthetics of the stage, the course will reveal theatre as an excellent forum for reckoning with the past and re-storying our shared future.",,,(VPDB13H3),Theatre in Canada,,,2nd year +THRB30H3,ART_LIT_LANG,University-Based Experience,"By performing characters and staging scenes in scripted plays, students in this course develop and hone the physical, psychological, analytical, and vocal skills of actors.",,THRA11H3/(VPDA11H3),,Intermediate Performance: Scene Study,,,2nd year +THRB31H3,ART_LIT_LANG,University-Based Experience,"This course engages students in an experiential study of devised theatre, a contemporary practice wherein a creative team (including actors, designers, writers, dramaturgs, and often a director) collaboratively create an original performance without a preexisting script. We will explore how an ensemble uses improvisation, self-scripted vignettes, movement/dance, and found materials to create an original piece of theatre.",,THRA11H3/(VPDA11H3),,Intermediate Performance: Devising Theatre,,,2nd year +THRB32H3,ART_LIT_LANG,University-Based Experience,"This course introduces students to improvisation across a range of theatrical contexts. In a sequence of short units, the course will explore improv comedy, improvisation-based devising work, and the improvisation structures commonly used in the context of applied theatre work (including forum theatre and playback theatre). Simultaneously, students will read scholarly literature that addresses the ethical dilemmas, cultural collisions, and practical conundrums raised by these forms. Students will reflect on their own experiences as improvisers through the vocabulary that has been developed in this literature.",,THRA11H3/(VPDA11H3),,Intermediate Performance: Improvisation,,,2nd year +THRB41H3,ART_LIT_LANG,University-Based Experience,"Students will study a wide range of ""applied theatre"" practice, which might include community-based theatre, prison theatre, Theatre for Development (TfD), Theatre of the Oppressed (TO), and Creative Drama in Classrooms. They will grow as both scholars and practitioners of this work, and will emerge as better able to think through the practical and ethical challenges of facilitating this work. Case studies will reflect the diversity of global practices and the importance of doing this work with marginalized groups.",,THRA10H3,,Theatre-Making with Communities: A Survey,,,2nd year +THRB50H3,ART_LIT_LANG,,"An introduction to the elements of technical theatre production. Students in the course will get hands-on experience working in the theatre in some combination of the areas of stage management, lighting, sound, video projection, costumes, set building and carpentry.",,,"(VPDB03H3), (VPDC03H3)",Stagecraft,,,2nd year +THRB55H3,,University-Based Experience,This course is an intensive study of theatrical production from the vantage point of the actor. It engages students in the experiential learning process inherent in rehearsing and performing in a major theatrical production.,,Permission of the Theatre and Performance Studies Instructor (includes an audition),,Creating a Production: Actors in Action I,,"1. This course will meet at non-traditional times, when the show rehearsals are scheduled – mostly weekday evenings, with some late night and evening rehearsals expected. 2. This course is intended for Year 1 and 2 students at UTSC, or advanced students who are new to performing on stage. More advanced actors in the show are encouraged to register for THRC55H3 or THRD55H3.",2nd year +THRB56H3,ART_LIT_LANG,University-Based Experience,"This course is an intensive study of theatrical production from the vantage points of producers, directors (and assistant directors), designers (and assistant designers), stage managers (and assistant stage managers), and dramaturgs. It engages students in the experiential learning process inherent in conceiving of, planning for, rehearsing, and producing a major theatrical production. Students are required to submit an application. Applications are available in August and can be found on the Arts, Culture, and Media website and in the timetable.",,Permission of the Theatre and Performance Studies instructor.,,"Creating a Production: Conception, Design, and Execution I",,"1. This course will meet at non-traditional times when the show rehearsals and production meetings are scheduled. 2. THRB56H3 is intended for Year 1 and 2 students at UTSC, or advanced students who are new to producing, directing, designing, stage management, and dramaturgy. More advanced producers, directors, designers, stage managers, and dramaturgs are encouraged to register for THRC56H3 or THRD56H3.",2nd year +THRC15H3,,,Selected advanced topics for intensive study of some specific aspects of performance. The topics explored in this course will change from session to session.,,Any 2.0 credits in THR courses,(VPDC20H3),Special Topics in Performance,,"Further information can be found on the ACM Theatre and Performance website. Depending on the topics covered in a given term, this course may be counted as a 0.5 credit towards an appropriate area of focus. Contact ACM Program Manager for more information.",3rd year +THRC16H3,ART_LIT_LANG,,Selected advanced topics for intensive study of some specific aspects of performance. The topics explored in this course will change from session to session.,,Any 2.0 credits in THR courses,,Investigations in Performance,,"Further information can be found on the ACM Theatre and Performance website. Depending on the topics covered in the course, THRC16H3 may be counted as a 0.5 credit towards an appropriate area of focus. Contact the ACM Program Manager for more information.",3rd year +THRC20H3,ART_LIT_LANG,,"This course invites students to consider how theatre can help to close the gap between the just world we envision and the inequitable world we inhabit. Case studies illuminate the challenges that theatre-makers face when confronting injustice, the strategies they pursue, and the impact of their work on their audiences and the larger society.",,,(VPDC13H3),Theatre and Social Justice,,Enrolment priority is given to students enrolled in either Major or Minor program in Theatre and Performance,3rd year +THRC21H3,ART_LIT_LANG,Partnership-Based Experience,"This course immerses students in the local theatre scene, taking them to 4-5 productions over the term. We study the performances themselves and the art of responding to live performances as theatre critics. We position theatre criticism as evolving in the increasingly digital public sphere, and as a potential tool for advocates of antiracist, decolonial, feminist, and queer cultural work.",,"THRA10H3 and one of [THRB20H3, THRB21H3, or THRB22H3]",THRB40H3,Reimagining Theatre Criticism,,,3rd year +THRC24H3,ART_LIT_LANG,Partnership-Based Experience,"A study abroad experiential education opportunity. Destinations and themes will vary, but the course will always include preparation, travel and critical reflection. Students must complete an application form made available on the UTSC Timetable and on the ACM website.",,[THRA10H3 and THRA11H3] Admission will also be by application. Criteria for selection will be shared on the application form.,,Theatre & Performance Abroad,,,3rd year +THRC30H3,ART_LIT_LANG,,"This course introduces students to the principles of theatrical design, including set design, lighting design, costume design, and sound design. Students learn how to envision the aesthetic world of a play, in collaboration with other artists.",,THRA10H3/(VPDA10H3),,Theatrical Design,,,3rd year +THRC40H3,,,"This course introduces students to the principles and creative processes associated with Theatre of the Oppressed – a movement blending activism and artistry to advance progressive causes. Students train as Theatre of the Oppressed performers and facilitators, and through a combination of lectures, readings, discussions, and field trips, they process the history, ideology, and debates associated with this movement.",,THRA10H3/(VPDA10H3),,Performance and Activism,,,3rd year +THRC41H3,ART_LIT_LANG,,"This course introduces students to the principles and creative processes of integrating theatre into K-12 classrooms and other learning environments. Lectures, readings, discussions, and field trips complement active experimentation as students learn the pedagogical value of this active, creative, imaginative, kinesthetic approach to education.",,THRA10H3/(VPDA10H3),,Theatre in Education,,,3rd year +THRC44H3,ART_LIT_LANG,Partnership-Based Experience,"A local experiential education opportunity in theatre practices. Specific nature and themes will vary, but the course will always include preparation, collaboration with local artists, educators, or community arts facilitators and critical reflection. Students must complete an application form made available on the UTSC Timetable and on the ACM website.",,[THRA10H3 and THRA11H3]. Admission will also be by application. Criteria for selection will be shared on the application form.,,Theatre and Performance in Local Community,,,3rd year +THRC50H3,ART_LIT_LANG,University-Based Experience,"Students stretch themselves as theatrical performers and producers as they engage in structured, practical experimentation related to the departmental production.",,"0.5 credit from the following [THRB30H3 or THRB31H3 or THRB32H3], and permission from the Theatre and Performance instructor.",(VPDC01H3),Advanced Workshop: Performance,,,3rd year +THRC55H3,ART_LIT_LANG,University-Based Experience,This course is an intensive study of theatrical production from the vantage point of the actor. It engages students in the experiential learning process inherent in rehearsing and performing in a major theatrical production.,,THRB55H3 and permission of the Theatre and Performance Studies Teaching instructor (includes an audition),,Creating a Production: Actors in Action II,,"1. This course will meet at non-traditional times, when the show rehearsals are scheduled – mostly weekday evenings, with some late night and evening rehearsals expected. 2 THRC55H3 is intended for Year 3 students at UTSC who have already had some experience on stage. Beginning students in the show are encouraged to register for THRB55H3; more advanced actors in the show are encouraged to register for THRD55H3.",3rd year +THRC56H3,ART_LIT_LANG,University-Based Experience,"This course is an intensive study of theatrical production from the vantage points of producers, directors (and assistant directors), designers (and assistant designers), stage managers (and assistant stage managers), and dramaturgs. It engages students in the experiential learning process inherent in conceiving of, planning for, rehearsing, and producing a major theatrical production. Students are required to submit an application. Applications will be available in August and can be found on the Arts, Culture, and Media website and in the timetable.",,THRB56H3 and permission of the Theatre and Performance Studies Teaching instructor.,,"Creating a Production: Conception, Design, and Execution II",,"1. This course will meet at non-traditional times when the show rehearsals and production meetings are scheduled. 2. THRC56H3 is intended for Year 3 students at UTSC with some theatrical experience. Beginning students are encouraged to register for THRB56H3, while more advanced producers, directors, designers, stage managers, and dramaturgs are encouraged to register for THRD56H3.",3rd year +THRD30H3,ART_LIT_LANG,University-Based Experience,"This course introduces students to the work of the director. A combination of lecture, discussion, reading, and practical work will challenge students to consider how to lead the creative teams that create performance. Students taking this course will need to devote a considerable amount of time outside of class to rehearsing class projects and will need to recruit collaborators for these projects.",,"THRA10H3/(VPDA10H3) and THRA11H3/(VPDA11H3), and an additional 1.0 credit in Theatre and Performance, and permission from the instructor",(VPDC02H3),Directing for the Theatre,,,4th year +THRD31H3,ART_LIT_LANG,,"Building on concepts introduced in THRB30H3, THRB31H3, and THRB32H3, this course offers advanced acting training.",,"1.0 credit from the following: [THRB30H3, THRB31H3, THRB32H3]",,Advanced Performance,,,4th year +THRD55H3,ART_LIT_LANG,University-Based Experience,This course is an intensive study of theatrical production from the vantage point of the actor. It engages students in the experiential learning process inherent in rehearsing and performing in a major theatrical production.,,THRC55H3 and permission of the Theatre and Performance Studies instructor (includes an audition),,Creating a Production: Actors in Action III,,"1. This course will meet at non-traditional times, when the show rehearsals are scheduled – mostly weekday evenings, with some late night and evening rehearsals expected. 2. THRD55H3 is intended for Year 4 students at UTSC, with extensive experience performing on stage. Less advanced actors in the show are encouraged to register for THRB55H3 or THRC55H3.",4th year +THRD56H3,ART_LIT_LANG,University-Based Experience,"This course is an intensive study of theatrical production from the vantage points of producers, directors (and assistant directors), designers (and assistant designers), stage managers (and assistant stage managers), and dramaturgs. It engages students in the experiential learning process inherent in conceiving of, planning for, rehearsing, and producing a major theatrical production. Students are required to submit an application. Applications will be available in August and can be found on the Arts, Culture, and Media website and in the timetable.",,THRC56H3 and permission of the Theatre and Performance Studies instructor.,,"Creating a Production: Conception, Design, and Execution III",,"1. This course will meet at non-traditional times, when the show rehearsals and production meetings are scheduled. 2. THRD56H3 is intended for Year 4 students at UTSC with extensive theatrical experience. Less experienced producers, directors, designers, stage managers, and dramaturgs are encouraged to register for THRB56H3 or THRC56H3.",4th year +THRD60H3,ART_LIT_LANG,,"A study of key ideas in theatre and performance theory with a focus on pertinent 20th/21st century critical paradigms such as postcolonialism, feminism, interculturalism, cognitive science, and others. Students will investigate theory in relation to selected dramatic texts, contemporary performances, and practical experiments.",,Any 3.0 credits in THR courses,(VPDD50H3),Advanced Seminar in Theatre and Performance,,,4th year +THRD90H3,,University-Based Experience,Advanced scholarly projects open to upper-level Theatre and Performance students. The emphasis in these courses will be on advanced individual projects exploring specific areas of theatre history and/or dramatic literature.,,"1.0 credit at the C-level in THR courses, and permission of the Program Director.",(VPDD23H3),"Supervised Studies in Drama, Theatre and Performance",,,4th year +THRD91H3,,,"Advanced practical projects open to upper-level Theatre and Performance students. These courses provide an opportunity for individual exploration in areas involving the practice of theatre: directing, producing, design, playwriting, dramaturgy, etc.",,"1.0 credit at the C-level in THR courses, and permission of the Program Director.",(VPDD28H3),Independent Projects in Theatre and Performance,,,4th year +VPAA10H3,ART_LIT_LANG,,"An introduction to the theories and practices of arts and media management within the not-for-profit, public, and social enterprise sectors. It is a general survey course that introduces the broad context of arts and media management in Canadian society and the kinds of original research skills needed for the creative and administrative issues currently faced by the arts and media community.",,,,Introduction to Arts and Media Management,,,1st year +VPAA12H3,ART_LIT_LANG,,"An introduction to the work involved in building and sustaining relationships with audiences, funders, and community, and the vital connections between marketing, development, and community engagement in arts and media organizations. Includes training in observational research during class for independent site visits outside class time.",,VPAA10H3,"(VPAB12H3), (VPAB14H3)","Developing Audience, Resources, and Community",,,1st year +VPAB10H3,,University-Based Experience,"An introduction to equity, inclusivity and diversity as it relates to organizational development and cultural policymaking in arts and media management. This course will take students through an overview of critical theories of systemic power and privilege, including those of race, gender, socio-economic status, sexual orientation or identity, age, ability/disability and religion and examine how these impact varied creative working environments and institutions.",,VPAA10H3 and VPAA12H3,,Equity and Inclusivity in Arts and Media Organizations,,,2nd year +VPAB13H3,QUANT,,"An introduction to financial management basics and issues faced by arts and cultural managers, using examples and exercises to introduce basic accounting concepts, financial statement preparation and analysis, internal control and management information systems, budgeting and programming, cash and resource management, and various tax-related issues.",VPAA12H3 or [(VPAB12H3) and (VPAB14H3)],VPAA10H3,MGTB03H3,Financial Management for Arts Managers,,,2nd year +VPAB16H3,ART_LIT_LANG,,"An introduction to the theories and practices of organizational development through arts and media governance, leadership, employee, and volunteer management, using examples from the field. Includes training in original research for professional report-writing through individual and group exercises.",,VPAA10H3 and VPAA12H3,,Managing and Leading in Cultural Organizations,,VPAA12H3 may be taken as a co-requisite with the express permission of the instructor.,2nd year +VPAB17H3,ART_LIT_LANG,Partnership-Based Experience,"An introduction to the real-world application of knowledge and skills in arts and arts-related organizations . This course allows students to develop discipline-specific knowledge and skills through experiential methods, including original research online, class field visits, and independent site visits for observational research outside class time.",,VPAA12H3 and VPAB16H3,,From Principles to Practices in Arts Management,,Initially restricted to students in the Specialist Program in Arts Management.,2nd year +VPAB18H3,ART_LIT_LANG,,"An introduction to the producing functions in the arts and in media management. The course will cover the genesis of creative and managing producers in arts and media, and what it is to be a producer today for internet, television, radio and some music industry and social media environments or for arts and media creative hubs, or for non-profit performing and multi-disciplinary theatres in Canada that feature touring artists. Includes individual and group skill-building in sector research to develop and present creative pitch packages and/or touring plans.",,VPAA10H3 and VPAA12H3,,Becoming a Producer,,,2nd year +VPAC13H3,ART_LIT_LANG,,"This course is designed to provide a foundation for project management and strategic planning knowledge and skills. Topics such as project and event management as well as strategic and business planning include how to understand organizational resource-management and consultative processes, contexts, and impacts, will be discussed and practiced through group and individual assignments.",,8.0 credits including [VPAB13H3 and VPAB16H3],,Planning and Project Management in the Arts and Cultural Sector,,,3rd year +VPAC15H3,ART_LIT_LANG,,"A survey of the principles, structures, and patterns of cultural policy and how these impact arts and media funding structures in Canada, nationally and internationally. Through original research including interviews in the sector, group and individual assignments will explore a wide range of cultural policy issues, processes, and theoretical commitments underpinning the subsidized arts, commercial and public media industries, and hybrid cultural enterprises, critically exploring the role of advocacy and the strengths and weaknesses of particular policy approaches.",,"[8.0 credits, including VPAA10H3 and VPAA12H3] or [8.0 credits, including: SOCB58H3 and registration in the Minor Program in Culture, Creativity, and Cities]",,Cultural Policy,,,3rd year +VPAC16H3,ART_LIT_LANG,,"A study of essential legal and practical issues relevant to the arts and media workplace, with a particular focus on contracts, contract negotiation, and copyright.",,8.0 credits including VPAA10H3 and VPAA12H3 and VPAB16H3,,Contracts and Copyright,,,3rd year +VPAC17H3,ART_LIT_LANG,,"An advanced study of marketing in the arts and media sectors. Through group and individual assignments including the development of a marketing and promotions plan, this course facilitates a sophisticated understanding of the knowledge and skills required for arts and media managers to be responsive to varied market groups and changing market environments and successfully bring creative and cultural production and audiences together.",,VPAA10H3 and VPAA12H3,,Marketing in the Arts and Media,,,3rd year +VPAC18H3,ART_LIT_LANG,,"An advanced study of fundraising and resource development in the arts and media sector. This course facilitates a sophisticated understanding of knowledge and skills required for arts and media managers to develop varied revenue streams, including grantwriting, media funding, and contributed revenue strategies to support artistic missions. Through group and individual assignments, the course culminates in pitch packages or grant applications for real-life programs including creative briefs, budgets, financing plans, and timelines",,VPAA12H3 and VPAB13H3 and VPAB16H3,,Raising Funds in Arts and Media,,,3rd year +VPAC21H3,ART_LIT_LANG,,"Special topics for intensive practical, theoretical and/or experiential study of some specific aspects of Arts Management. The topic(s) to be explored in this course will change from session to session.",,"10.0 credits, including [VPAA10H3 and VPAA12H3 and VPAB16H3]",(VPAD13H3),Special Topics in Arts Management I,,,3rd year +VPAC22H3,ART_LIT_LANG,,"Special topics for intensive practical, theoretical and/or experiential study of some specific aspects of Arts Management. The topic(s) to be explored in this course will change from session to session.",,"10.0 credits, including [VPAA10H3 and VPAA12H3 and VPAB16H3]",,Special Topics in Arts Management II,,,3rd year +VPAD10H3,ART_LIT_LANG,University-Based Experience,"This course will prepare students for the realities of working in and leading arts and media organizations by challenging them with real-world problems via case studies and simulations. Through individual and group assignments involving research in the field that culminates in an original case presentation and report, students will consider, compare, explain, and defend decisions and actions in real- life organizations to develop their ability to demonstrate effective and ethical approaches to arts and media management.",,"At least 14.0 credits, including 1.0 credit at the C-level in VPA courses.",,"Good, Better, Best: Case Study Senior Seminar",,Preference is given to students enrolled in the Major programs in Arts & Media Management. This course requires ancillary fees (case study fees),4th year +VPAD11H3,,University-Based Experience,"Are you interested in researching hands-on professional practice to synthesize and apply the theory-based learning you have undertaken in arts and media management about how people and organizations work in the culture sector and media industries? In this course, you will propose your own research project to examine how a specific creative business (such as a creative hub, media company or performing or visual arts organization) and its related practices operate, exploring specific areas of arts or media management practice, theory, history or emergent issues. While the creative ecosystem is made up of a broad and sometimes baffling array of for-profit, non-profit and hybrid ways of doing things, this course will provide insights into an organization of your choice.",,"At least 14.0 full credits, including 1.0 full credit at the C level in VPA courses.",,Focus on the Field: Senior Research Seminar,,,4th year +VPAD12H3,,University-Based Experience,This course is an intensive synthesis and application of prior learning through collaborative project-based practice. Students will lead and actively contribute to one or more major initiative(s) that will allow them to apply the principles and employ the practices of effective arts and media management.,,At least 14.0 credits including VPAC13H3.,,Senior Collaborative Projects,,Restricted to students enrolled in the Specialist Program in Arts Management.,4th year +VPAD14H3,,University-Based Experience,A directed research and/or project-oriented course for students who have demonstrated a high level of academic maturity and competence. Qualified students will have the opportunity to investigate an area of interest to both student and the Director in traditional or emerging subjects related to the field of Arts Management.,,At least 1.0 credit at the C-level in Arts Management courses. Written consent and approval of a formal proposal in the approved format must be obtained from the supervising instructor and Program Director by the last date of classes in the previous academic session.,MGTD80H3,Independent Studies in Arts Management,,,4th year +VPHA46H3,ART_LIT_LANG,,How and why are objects defined as Art? How do these definitions vary across cultures and time periods? Studying different approaches to writing art history and considering a wide range of media from photography to printmaking and installation arts.,,,"(FAH100Y), FAH101H",Ways of Seeing: Introduction to Art Histories,,,1st year +VPHB39H3,ART_LIT_LANG,,"Key concepts in art history, including intention, meaning, style, materiality, identity, production, reception, gender, visuality, and history. Students will explore critical questions such as whether and how to read artist's biographies into their art. This course helps students understand the discipline and develops critical thinking and research skills required in advanced courses.",,VPHA46H3 or ACMA01H3,FAH102H,Ten Key Words in Art History: Unpacking Methodology,,,2nd year +VPHB40H3,ART_LIT_LANG,University-Based Experience,"This course offers a critical look at ways of exhibiting art, including exploring the exhibitions and collection of the Doris McCarthy Gallery and the public sculptures located on campus. Through readings, discussions and site visits we will consider the nature of exhibitions, their audiences and current practices juxtaposed with investigations of the history and practice of display.",,VPHA46H3,"VPSB73H3, (VPHB71H3), FAH310H",Exhibiting Art,,,2nd year +VPHB50H3,ART_LIT_LANG,,"The centrality of photographic practice to African cultures and histories from the period of European imperialism, the rise of modernist ""primitivism"" and the birth of ethnology and anthropology to contemporary African artists living on the continent and abroad.",,VPHA46H3 or ACMA01H3 or AFSA01H3,,Africa Through the Photographic Lens,,,2nd year +VPHB53H3,ART_LIT_LANG,,"The origins of European artistic traditions in the early Christian, Mediterranean world; how these traditions were influenced by classical, Byzantine, Moslem and pagan forms; how they developed in an entirely new form of artistic expression in the high Middle Ages; and how they led on to the Renaissance.",,VPHA46H3,"FAH215H, FAH216H",Medieval Art,,,2nd year +VPHB58H3,ART_LIT_LANG,,"A study of nineteenth and twentieth-century arts and visual media, across genres and cultures. What did modernity mean in different cultural contexts? How is 'modern' art or 'modernism' defined? How did the dynamic cultural, economic, and socio-political shifts of the globalizing and industrializing modern world affect the visual ars and their framing?",,VPHA46H3,"FAH245H, FAH246H",Modern Art and Culture,,,2nd year +VPHB59H3,ART_LIT_LANG,,"Shifts in theory and practice in art of the past fifty years. Studying selected artists' works from around the world, we explore how notions of modern art gave way to new ideas about media, patterns of practice, and the relations of art and artists to the public, to their institutional contexts, and to globalized cultures.",,VPHA46H3 or VPHB39H3,"FAH245H, FAH246H",Current Art Practices,,,2nd year +VPHB63H3,ART_LIT_LANG,,"This course is an introduction to art and visual culture produced in Italy ca. 1350-1550. Students will explore new artistic media and techniques, along with critical issues of social, cultural, intellectual, theoretical and religious contexts that shaped the form and function of art made during this era.",,VPHA46H3,FAH230H,"Fame, Spectacle and Glory: Objects of the Italian Renaissance",,,2nd year +VPHB64H3,ART_LIT_LANG,,"This course introduces the art and culture of 17th century Europe and its colonies. Art of the Baroque era offers rich opportunities for investigations of human exploration in geographic, spiritual, intellectual and political realms. We will also consider the development of the artist and new specializations in subject and media.",VPHB63H3 or VPHB74H3,VPHA46H3,"FAH231H, FAH279H",Baroque Visions,,,2nd year +VPHB68H3,ART_LIT_LANG,University-Based Experience,"This course explores the relationship between visuality and practices of everyday life. It looks at the interaction of the political, economic and aesthetic aspects of mass media with the realm of ""fine"" arts across history and cultures. We will explore notions of the public, the mass, and the simulacrum.",,VPHA46H3,,Art and the Everyday: Mass Culture and the Visual Arts,,,2nd year +VPHB69H3,SOCIAL_SCI,,"In this course students will learn about sustainability thinking, its key concepts, historical development and applications to current environmental challenges. More specifically, students will gain a better understanding of the complexity of values, knowledge, and problem framings that sustainability practice engages with through a focused interdisciplinary study of land. This is a required course for the Certificate in Sustainability, a certificate available to any student at UTSC. Same as ESTB03H3",,,,Back to the Land: Restoring Embodied and Affective Ways of Knowing,,,2nd year +VPHB73H3,ART_LIT_LANG,,"A survey of the art of China, Japan, Korean, India, and Southeast Asia. We will examine a wide range of artistic production, including ritual objects, painting, calligraphy, architectural monuments, textile, and prints. Special attention will be given to social contexts, belief systems, and interregional exchanges. Same as GASB73H3",,ACMA01H3 or VPHA46H3 or GASA01H3,"GASB73H3, FAH260H",Visualizing Asia,,,2nd year +VPHB74H3,ART_LIT_LANG,University-Based Experience,"This course explores the rich visual culture produced in northern and central Europe 1400-1600. Topics such as the rise of print culture, religious conflict, artistic identity, contacts with other cultures and the development of the art market will be explored in conjunction with new artistic techniques, styles and materials.",,VPHA46H3,"FAH230H, FAH274H",Not the Italian Renaissance: Art in Early Modern Europe,,,2nd year +VPHB77H3,ART_LIT_LANG,,"An introduction to modern Asian art through domestic, regional, and international exhibitions. Students will study the multilayered new developments of art and art institutions in China, Japan, Korea, India, Thailand, and Vietnam, as well as explore key issues such as colonial modernity, translingual practices, and multiple modernism. Same as GASB77H3",,ACMA01H3 or VPHA46H3 or GASA01H3,"GASB77H3, FAH262H",Modern Asian Art,,,2nd year +VPHB78H3,ART_LIT_LANG,Partnership-Based Experience,"Local arts institutions are often taken for granted but understanding how and why collections are formed, why they are significant, and how they relate to larger art historical contexts provides important object-based learning opportunities. Students will explore these issues using a focused collection in the Royal Ontario Museum, the Aga Khan Museum or the Textile Museum.",,VPHA46H3,,"Our Town, Our Art: Local Collections I",,,2nd year +VPHB79H3,ART_LIT_LANG,Partnership-Based Experience,"Local arts institutions are often taken for granted but understanding how and why collections are formed, why they are significant, and how they relate to larger art historical contexts provides important object-based learning opportunities. Students will explore these using a focused collection in the Art Gallery of Ontario.",,VPHA46H3,,"Our Town, Our Art: Local Collections II",,Some classes will be held at the museum; students should be prepared to travel.,2nd year +VPHC41H3,ART_LIT_LANG,,"Major artistic and architectural monuments of Europe from the Carolingian renaissance to the renaissance of the twelfth century, considered in relation to geographical context, to monasticism and pilgrimage, to artistic developments of the contemporary Mediterranean world, and to the art and architecture of the later Roman Empire, Byzantium and Armenia, Islam and the art of the invasion period.",,VPHB53H3,"(VPHB42H3), FAH215H",Carolingian and Romanesque Art,,,3rd year +VPHC42H3,ART_LIT_LANG,University-Based Experience,"Current scholarship is expanding and challenging how we decide ""what is Gothic?"" We will examine a variety of artworks, considering artistic culture, social, cultural, and physical contexts as well. Style, techniques, patronage, location in time and space, and importance of decoration (sculpture, stained glass, painting, tapestry) will be among topics discussed.",,VPHB53H3,"FAH328H, FAH351H5, (FAH369H)",Gothic Art and Architecture,,,3rd year +VPHC45H3,ART_LIT_LANG,,"Special topics in twentieth-century painting and sculpture. The subject will change from time to time. After introductory sessions outlining the subject and ways of getting information about it, seminar members will research and present topics of their choice.",,1.0 credit at the VPHB-level,,Seminar in Modern and Contemporary Art,,,3rd year +VPHC49H3,ART_LIT_LANG,,"The class will read selected recent cultural theory and art theory and consider its implications for a variety of works of art, and will investigate selected exhibition critiques and the critical discourse surrounding the oeuvres of individual artists.",,VPHA46H3 and VPHB39H3,,Advanced Studies in Art Theory,1.0 credit at the B-level in VPH and/or VPS courses,,3rd year +VPHC52H3,HIS_PHIL_CUL,,"This course uses a focus on material history and visual culture to explore Ethiopia from the fourth through the nineteenth century, with particular emphasis on the Christian Church, the monarchy, links with both the Mediterranean world and the Indian subcontinent, and the relationship of individuals to their social, economic, artistic and geographic environments. Same as AFSC52H3 and HISC52H3",,[1.0 credit in History] or [VPHA46H3 and an additional 1.0 credit in VPH courses],"AFSC52H3, HISC52H3",Ethiopia: Seeing History,,,3rd year +VPHC53H3,ART_LIT_LANG,University-Based Experience,"The Silk Routes were a lacing of highways connecting Central, South and East Asia and Europe. Utilizing the Royal Ontario Museum's collections, classes held at the Museum and U of T Scarborough will focus on the art produced along the Silk Routes in 7th to 9th century Afghanistan, India, China and the Taklamakhan regions. Same as GASC53H3",,1.0 credit in art history or in Asian or medieval European history.,GASC53H3,The Silk Routes,,,3rd year +VPHC54H3,ART_LIT_LANG,,"Art criticism as a complex set of practices performed not only by critics, art historians, curators and the like, but also by artists (and collectors). The traditional role of art critics in the shaping of an art world, and the parallel roles played by other forms of writing about art and culture (from anthropology, sociology, film studies).",,"2.0 credits at the B-level in VPA, VPH, and/or VPS courses.",,Art Writing,,,3rd year +VPHC63H3,ART_LIT_LANG,University-Based Experience,"This seminar-format course will offer students the opportunity to investigate critical theories and methodologies of the early modern period (roughly 1400-1700). Focusing on such topics as a single artist, artwork or theme, students will become immersed in an interdisciplinary study that draws on impressive local materials from public museum and library collections.",,VPHA46H3 and [one of VPHB63H3 or VPHB64H3 or VPHB74H3].,,Explorations in Early Modern Art,,,3rd year +VPHC68H3,ART_LIT_LANG,,"This course looks at the global city as a hub for the creation of visual, performing arts and architecture. How have cyberspace and increased transnational flows of art and artists changed the dynamic surrounding urban arts? What are the differences between the arts within the modern and global contemporary city?",,VPHB58H3 or VPHB59H3,(VPHC52H3),Art in Global Cities,,,3rd year +VPHC72H3,ART_LIT_LANG,Partnership-Based Experience,"Art and the settings in which it is seen in cities today. Some mandatory classes to be held in Toronto museums and galleries, giving direct insight into current exhibition practices and their effects on viewer's experiences of art; students must be prepared to attend these classes.",,"VPHA46H3, and VPHB39H3",(CRTC72H3),"Art and Visual Culture in Spaces, Places, and Institutions",,,3rd year +VPHC73H3,SOCIAL_SCI,,"This course considers representations of diaspora, migration, displacement, and placemaking within visual culture. We will employ a comparative, cross-cultural approach and a historical perspective, to consider how artists, theorists, media, and social institutions think about and visualize these widely-held experiences that increasingly characterize our cosmopolitan, interconnected world.",,1.0 credits at VPHB-level,(VPAB09H3),"Home, Away, and In Between: Diaspora and Visual Culture",,,3rd year +VPHC74H3,ART_LIT_LANG,,"Introduction to Contemporary Art in China An introduction to Chinese contemporary art focusing on three cities: Beijing, Shanghai, and Guangzhou. Increasing globalization and China's persistent self-renovation has brought radical changes to cities, a subject of fascination for contemporary artists. The art works will be analyzed in relation to critical issues such as globalization and urban change. Same as GASC74H3",,"2.0 credits at the B-level in Art History, Asian History, and/or Global Asia Studies courses, including at least 0.5 credit from the following: VPHB39H3, VPHB73H3, HISB58H3, (GASB31H3), GASB33H3, or (GASB35H3).",GASC74H3,A Tale of Three Cities:,,,3rd year +VPHC75H3,ART_LIT_LANG,,"This course focuses on the ideas, career and œuvre of a single artist. Exploration and comparison of works across and within the context of the artist’s output provides substantial opportunities for deeper levels of interpretation, understanding and assessment. Students will utilize and develop research skills and critical methodologies appropriate to biographical investigation.",,"VPHB39H3 and [an additional 1.0 credit at the B-level in Art History, Studio Art or Arts Management courses]",,"The Artist, Maker, Creator",,,3rd year +VPHD42Y3,,University-Based Experience,A course offering the opportunity for advanced investigation of an area of interest; for students who are nearing completion of art history programs and who have already acquired independent research skills. Students must locate a willing supervisor and topics must be identified and approved by the end of the previous term.,,1.0 credit at the C-level in art history. Students are advised that they must obtain consent from the supervising instructor before registering for these courses.,,Supervised Reading in Art History,,,4th year +VPHD48H3,ART_LIT_LANG,University-Based Experience,"What is art history and visual culture? What do we know, and need to know, about how we study the visual world? This capstone course for senior students will examine the ambiguities, challenges, methods and theories of the discipline. Students will practice methodological and theoretical tenets, and follow independent research agendas.",,1.5 credits at the C-level in VPH courses,FAH470H,Advanced Seminar in Art History and Visual Culture,,Priority will be given to students in the Major and Minor in Art History and Visual Culture. Additional students will be admitted as space permits.,4th year +VPSA62H3,ART_LIT_LANG,,An introduction to the importance of content and context in the making of contemporary art.,,,"VIS130H, JAV130H",Foundation Studies in Studio,VPSA63H3,,1st year +VPSA63H3,HIS_PHIL_CUL,,"This introductory seminar examines the key themes, concepts, and questions that affect the practice of contemporary art. We will look at specific cases in the development of art and culture since 1900 to understand why and how contemporary art can exist as such a wide-ranging set of forms, media and approaches.",,,"VIS120H, JAV120H, VST101H",But Why Is It Art?,,,1st year +VPSB01H3,ART_LIT_LANG,,"The figure of the artist is distorted in the popular imagination by stereotypes around individualism, heroism, genius, mastery, suffering, and poverty. This lecture course will examine these gendered, colonial mythologies and offer a more complex picture of the artist as a craftsperson, professional, entrepreneur, researcher, public intellectual and dissident. We will consider diverse artistic models such as artist collectives and anonymous practitioners that challenge the idea of the individual male genius and examine artists’ complex relationship with elitism, the art market, arts institutions, and gentrification. This course will be supplemented by visiting artist lectures that will offer students insight into the day-to-day reality of the practicing artist.",,[VPSA62H3 and VPSA63H3],,The Artist,,,2nd year +VPSB02H3,ART_LIT_LANG,,"How should artists make pictures in a world inundated with a relentless flow of digital images? Can pictures shape our understanding of the social world and influence mainstream culture? Through the perspective of contemporary artmaking, this lecture course will explore ways that artists decentre and decolonize the image and concepts of authorship, representation, truth, and the gaze. The course will also examine the role of visual technologies (cameras, screens, microscopes), distribution formats (the photographic print, mobile devices, the Internet), and picture making (ubiquitous capture, synthetic media, artificial intelligence) to consider how artists respond to changing ideas about the visible world.",,[VPSA62H3 and VPSA63H3],,Image Culture,,,2nd year +VPSB56H3,ART_LIT_LANG,,"This hands-on, project-based class will investigate fundamental digital concepts common to photography, animation, and digital publishing practices. Students will learn general image processing, composing, colour management, chromakey, and typograpic tools for both on-line and print- based projects. These will be taught through Adobe Creative Suite software on Apple computers.",,,"(VPSA74H3), VIS218H, FAS147H",Digital Studio I,VPSA62H3 and VPSA63H3,,2nd year +VPSB58H3,ART_LIT_LANG,,An introduction to the basic principles of video shooting and editing as well as an investigation into different conceptual strategies of video art. The course will also provide an introduction to the history of video art.,,VPSA62H3 and VPSA63H3,"(VPSA73H3), VIS202H",Video I,,,2nd year +VPSB59H3,ART_LIT_LANG,,This course introduces students to the use of three- dimensional materials and processes for creating sculptural objects. Traditional and non-traditional sculptural methodologies and concepts will be explored.,,VPA62H3 and VPSA63H3,(VPSA71H3) FAS248H,Sculpture I,,,2nd year +VPSB61H3,ART_LIT_LANG,,An investigation of the basic elements and concepts of painting through experimentation in scale and content.,,VPSA62H3 and VPSA63H3,"(VPSA61H3), VIS201H, FAS145H",Painting I,,,2nd year +VPSB62H3,ART_LIT_LANG,,A continuation of Painting I with an emphasis on images and concepts developed by individual students.,,VPSB61H3,"VIS220H, FAS245H",Painting II,,,2nd year +VPSB67H3,ART_LIT_LANG,,"An introduction to fundamental photographic concepts including depth, focus, stopped time, lighting and photographic composition in contrast to similar fundamental concerns in drawing and painting. A practical and historical discourse on the primary conceptual streams in photography including various documentary traditions, staged photographs and aesthetic approaches from photographic modernism to postmodernism.",,VPSB56H3,"(VPSA72H3), VIS218H, FAS147H",Photo I,,,2nd year +VPSB70H3,ART_LIT_LANG,,"An investigation of the various approaches to drawing, including working from the figure and working with ideas.",,VPSA62H3 and VPSA63H3,"(VPSA70H3), VIS205H, FAS143H",Drawing I,,,2nd year +VPSB71H3,ART_LIT_LANG,University-Based Experience,"Artist multiples are small, limited edition artworks that include sculptures, artist books, mass-produced ephemera such as posters, postcards and small objects. Students will explore the production and history of 2D and 3D works using a variety of media and approaches. This course is about both making and concepts.",,VPSA62H3 and VPSA63H3,VIS321H,Artist Multiples,,,2nd year +VPSB73H3,ART_LIT_LANG,,"This course is designed to offer students direct encounters with artists and curators through studio and gallery visits. Field encounters, written assignments, readings and research focus on contemporary art and curatorial practices. The course will provide skills in composing critical views, artist statements, and writing proposals for art projects.",,[[VPSA62H3 and VPSA63H3] and [0.5 credit at the B-level in VPS courses]] or [enrolment in the Minor in Curatorial Studies],VIS320H,Curatorial Perspectives I,,,2nd year +VPSB74H3,ART_LIT_LANG,,A continuation of VPSB70H3 with an increased emphasis on the student's ability to expand her/his personal understanding of the meaning of drawing.,,VPSA62H3 and VPSA63H3 and VPSB70H3,VIS211H and FAS243H,Drawing II,,,2nd year +VPSB75H3,ART_LIT_LANG,,A Studio Art course in digital photography as it relates to the critical investigation of contemporary photo-based art.,,VPSB67H3,"FAS247H, VIS318H",Photo II,,,2nd year +VPSB76H3,ART_LIT_LANG,,"This course explores advanced camera and editing techniques as well as presentation strategies using installation, projection, and multiple screens. Students will make projects using both linear and non-linear narratives while exploring moving image influences from online culture, popular media, surveillance culture, cinema, photography, performance, and sculpture.",,VPSB58H3,VIS302H,Video II,,,2nd year +VPSB77H3,ART_LIT_LANG,,"This course covers the history and practice of performance art. Students will employ contemporary performance strategies such as duration, ritual, repetition, intervention, tableau vivant, endurance and excess of materials in their projects. We will also study the relationship of performance to other art disciplines and practices such as theatre and sculpture.",,VPSA62H3 and VPSA63H3,VIS208H,Performance Art,,,2nd year +VPSB80H3,ART_LIT_LANG,,"An in-depth investigation of digital imaging technologies for serious studio artists and new media designers. Emphasis is placed on advanced image manipulation, seamless collage, invisible retouching and quality control techniques for fine art production. Project themes will be drawn from a critical analysis of contemporary painting and photo-based art.",VPSB67H3,VPSB56H3,"FAS247H, VIS318H",Digital Studio II,,,2nd year +VPSB85H3,ART_LIT_LANG,,This course looks at how visual artists employ words in their art. Students will be introduced to the experimental use of text in contemporary art: how typography has influenced artists and the role of language in conceptual art by completing projects in various media.,,VPSA62H3 and VPSA63H3,,Text as Image/Language as Art,,,2nd year +VPSB86H3,ART_LIT_LANG,,This course introduces students to the time-based use of three-dimensional materials and processes for creating sculptural objects. Students will use both traditional and non- traditional materials in combination with simple technologies.,,[VPSA62H3 and VPSA63H3] and VPSB59H3,,Sculpture II,,,2nd year +VPSB88H3,ART_LIT_LANG,,"Students will be introduced to sound as a medium for art making. Listening, recording, mapping, editing, and contextualizing sounds will be the focus of this course. Sound investigations will be explored within both contemporary art and experimental sound/music contexts.",,VPSA62H3 and VPSA63H3,,Sound Art,,,2nd year +VPSB89H3,ART_LIT_LANG,,"A non-traditional course in the digital production of non- analog, two-dimensional animation through the use of computer-based drawing, painting, photography and collage. Students will learn design strategies, experimental story lines, sound mixing, and video transitions to add pace, rhythm, and movement to time based, digital art projects.",VPSB70H3,VPSA62H3 and VPSA63H3 and VPSB56H3,,Digital Animation I,,,2nd year +VPSB90H3,ART_LIT_LANG,,"A project based course, building upon concepts developed in VPSB89H3 Introduction to Digital Animation. Students will refine their control of sound, movement, and image quality. This course will also introduce three-dimensional wire frame and ray-tracing techniques for constructing convincing 3-D animated objects and scenes as they apply to contemporary artistic practices.",,VPSB89H3,(VPSC89H3),Digital Animation II,,,2nd year +VPSC04H3,ART_LIT_LANG,University-Based Experience,"""Live!"" investigates interdisciplinary modes of contemporary performance. Within a studio context, this course serves as an advanced exploration of 21st century Live Art. This interactive course reviews the dynamics of time, space and existence, and asks fundamental questions about the body and performance.",,VPHA46H3 and [VPSB77H3 or THRA11H3/VPDA11H3 or (VPDA15H3)] and [1.5 additional credits at the B- or C-level in VPS or THR courses],"(VPDC06H3), (VPSC57H3), (VPAC04H3)","""Live!""",,,3rd year +VPSC51H3,ART_LIT_LANG,University-Based Experience,"This course focuses on the finer details of curating and/or collecting contemporary art. Students will delve into the work of selected artists and curators with an emphasis on the conceptual and philosophical underpinnings of their projects. Term work will lead to a professionally curated exhibition, or the acquisition of an artwork.",,VPHA46H3 and VPSB73H3,,Curatorial Perspectives II,,,3rd year +VPSC53H3,ART_LIT_LANG,,"Students will produce time-based three-dimensional artworks. Students will be encouraged to use altered machines, simple electronic components and a wide range of materials.",,[VPHA46H3 and VPSB59H3 and VPSB86H3] and [an additional 1.0 credit at the B- or C-level in VPS courses],(VPSB64H3),Kinetic Sculpture,,,3rd year +VPSC54H3,ART_LIT_LANG,,"An advanced course for students who are able to pursue individual projects in painting, with a focus on contemporary practice and theory.",,[VPHA46H3 and VPSB62H3] and [an additional 1.0 credit at the B- or C-level in VPS courses],"VIS301H, FAS345Y",Painting III,,,3rd year +VPSC56H3,ART_LIT_LANG,University-Based Experience,A supervised course focused specifically on the development of the student's work from initial concept through to the final presentation. Students may work in their choice of media with the prior written permission of the instructor.,,2.5 credits at the B- or C-level in VPS courses; students enrolled in the Specialist and Major programs in Studio Art must also complete VPHA46H3,"VIS311H, VIS326",Studio and Exhibition Practice,,,3rd year +VPSC70H3,ART_LIT_LANG,,"This course will extend digital art practice into a range of other Studio Art media, allowing students to explore the creation of hybrid works that fuse traditional mediums with new technologies. Students will have the opportunity to work on projects that utilize networking, kinetics, GPS, data mining, sound installation, the Internet of Things (IoT), and interactivity.",,"2.5 credits at the B- or C-level in VPS courses including 0.5 credit taken from: VPSB56H3, VPSB58H3, VPSB76H3, VPSB80H3, VPSB86H3, VPSB88H3, VPSB89H3, VPSB90H3, NMEB05H3, NMEB08H3, or NMEB09H3; students enrolled in the Specialist and Major programs in Studio Art must also complete VPHA46H3",,Interdisciplinary Digital Art,,,3rd year +VPSC71H3,ART_LIT_LANG,,"This course investigates the relationship of the body to the camera. Using both still and video cameras and live performance students will create works that unite the performative and the mediated image. The course will cover how the body is framed and represented in contemporary art, advertising and the media.",,"VPHA46H3 and [2.0 credits at the B- or C-level in VPS courses including 0.5 credit taken from: VPSB58H3, VPSB67H3, VPSB75H3, VPSB76H3, or VPSB77H3]",,Performing with Cameras,,,3rd year +VPSC73H3,ART_LIT_LANG,,"Interdisciplinary Drawing Concepts will extend drawing into a range of other media, allowing students to explore the sculptural, temporal and performative potential of mark- making.",,VPHA46H3 and VPSB70H3 and VPSB74H3 and [an additional 1.0 credit at the B- or C-level in VPS courses],VIS308H3,Interdisciplinary Drawing,,,3rd year +VPSC75H3,ART_LIT_LANG,,Advanced Sculpture will provide students with an opportunity for a deeper investigation into various materials and fabrication techniques. This course will focus on the theory and practice of object making through studio assignments that develop a critical and technical literacy towards both traditional and non-traditional sculpture materials.,,VPHA46H3 and [VPSB59H3 or VPSB71H3 or VPSB86H3] and [an additional 1.5 credits at the B- or C-level in VPS courses],,Advanced Sculpture,,,3rd year +VPSC76H3,ART_LIT_LANG,,"Lens-based art forms such as photography and video have a rich tradition as a documentary practice. These media have engendered their own techniques, aesthetic, and cultural context. This course is designed to introduce students to the role of the documentary image in contemporary art practice, through personal, conceptual, and photo-journalistic projects accomplished outside of the studio.",,VPHA46H3 and VPSB56H3 and [VPSB58H3 or VPSB67H3] and [1.0 additional credit at the B- or C-level in VPS courses],,The Documentary Image,,,3rd year +VPSC77H3,ART_LIT_LANG,,"This course will expand photographic practice into a range of other media. Students will explore the sculptural, temporal, performative, and painterly potential of the photograph and photographic technologies.",,VPHA46H3 and VPSB56H3 and VPSB67H3 and [1.0 credit at the B- or C-level in VPS courses],"VIS318H, FAS347Y",Interdisciplinary Photography,,,3rd year +VPSC80H3,ART_LIT_LANG,,"A course for students interested in designing and publishing artworks using digital tools. The emphasis will be on short-run printed catalogues, along with some exploration of e-books and blogs. Lessons will identify common editorial and image preparation concerns while introducing software for assembling images, videos, sounds, graphics, and texts into coherent and intelligently-designed digital publications. Creative solutions are expected.",,VPHA46H3 and VPSB56H3 and [an additional 1.5 credits at the B- or C-level in VPS courses],"(VPSB72H3), VIS328H",Digital Publishing,,,3rd year +VPSC85H3,ART_LIT_LANG,,"The studio-seminar course will provide students with discipline-specific historical, theoretical, professional, and practical knowledge for maintaining a sustainable art practice. Students will gain an understanding of how to navigate the cultural, social, political, and financial demands of the professional art world. Topics will include professional ethics, equity and diversity in the art world, understanding career paths, developing writing and presentation skills relevant to the artist, familiarity with grants, contracts and copyright, and acquiring hands-on skills related to the physical handling and maintenance of art objects.",,2.0 FCE at the B-level in VPS,,Essential Skills for Emerging Artists,,,3rd year +VPSC90H3,HIS_PHIL_CUL,,"This open-media studio-seminar will examine the relationship between contemporary art and globalizing and decolonizing forces, focusing on key topics such as migration, diaspora, colonialism, indigeneity, nationalism, borders, language, translation, and global systems of trade, media, and cultural production. Students will explore current art practices shaped by globalization and will conceive, research, and develop art projects that draw from their experiences of a globalizing world.",,2.5 credits at VPSB-level,VIS325H,Theory and Practice: Art and Globalization,,,3rd year +VPSC91H3,ART_LIT_LANG,,"This open-media studio seminar will examine the relationship between art and the body, focusing on key topics such as identity (gender, race, ethnicity, sexual orientation), intersectionality, subjectivity, representation, and the gaze. Students will explore artistic methods that are performative, experiential, sensory, and interactive. This course will also examine approaches to the body that consider accessibility, aging, healing, and care. Students will conceive, research, and develop art projects that address contemporary issues related to the body.",,2.5 credits at VPSB-level,,Theory and Practice: Art and the Body,,,3rd year +VPSC92H3,ART_LIT_LANG,,"This open-media studio-seminar will focus on material-based art practices and critical approaches to the material world. This course will explore topics such as sustainability and Indigenous reciprocity, feminist understanding of materials, the politics of labour, and the role of technology. This course will also examine key concepts such as craft, form, process, time, and dematerialization and consider the role that technique, touch, and participation play in the transformation of material. Students will conceive, research, and develop art projects that address contemporary approaches to material- based art making.",,2.5 credits at VPSB-level,,Theory and Practice: Art and Materials,,,3rd year +VPSC93H3,ART_LIT_LANG,,"This open-media studio-seminar will examine contemporary artists’ fascination with the everyday, focusing on art practices invested in observation, time, the ephemeral, the domestic, labour, humour, boredom, and failure. This course will also explore critical approaches to found materials and artistic strategies that intervene into everyday environments. Students will conceive, research, and develop art projects that explore the critical and poetic potential of everyday subject matter.",,2.5 credits at the VPSB-level,,Theory and Practice: Art and the Everyday,,,3rd year +VPSC94H3,ART_LIT_LANG,,"This open-media studio-seminar will focus on contemporary art practices that are invested in the relationship of art to place, exploring topics such as Indigenous land-based knowledges; feminist and anti-racist approaches to geography; ecology and sustainability; accessibility, community, and placemaking; public and site-specific art, and the gallery and museum as context. This course will also take a critical look at systems that organize space including mapping, navigation, land use, public and private property, and institution spaces. Students will conceive, research, and develop art projects that address place and land-based subject matter.",,2.5 credits at VPSB-level,,Theory and Practice: Art and Place,,,3rd year +VPSC95H3,SOCIAL_SCI,University-Based Experience,"This open-media studio-seminar will explore contemporary art practices that are invested in the relationship between art, activism, and social change. Students will examine how artists address social, economic, environmental, and political issues and the techniques they use to engage different types of collaborators and audiences. Students will conceive, research and develop collaborative art projects that address current social issues on a local or global scale. This course will place a strong emphasis collaborative work and community engagement.",,VPHA46H3 and [2.0 credits at the B- or C-level in VPS courses],"VPSC79H3, VIS307H, VIS310H",Theory and Practice: Art and Social Justice,,,3rd year +VPSD55H3,,,This advanced Master Class will be taught by a newly invited instructor each time it is offered to provide students with an opportunity to study with an established or emerging artist from the GTA who is engaged in research that is of significance to current art practice.,,1.5 credits at the C-level in VPS courses,"VIS401H, VIS402H, VIS403H, VIS404H, VIS410H, FAS450Y, FAS451H, FAS452H",Advanced Special Topics in Studio Art,,,4th year +VPSD56H3,,University-Based Experience,"This advanced, open-media studio art course provides students with an opportunity to conceive, propose, research, develop, and complete a major artwork. This course will culminate in an end-of-term public exhibition in a professional gallery setting.",,"VPSC56H3, and 1.0 credits at VPSC-level","VIS401H, VIS402H, VIS403H, VIS404H, FAS450Y, FAS451H, FAS452H",Advanced Exhibition Practice,,,4th year +VPSD61H3,ART_LIT_LANG,,"This advanced, open-media studio art course provides students with an opportunity to conceive, research, develop, and complete a major artwork. Final projects for this course can culminate in a range of presentation formats.",,1.5 credits at VPSC-level,,Advanced Studio Art Project,,,4th year +VPSD63H3,,University-Based Experience,For Specialist students only. Students enrolled in this advanced course will work with faculty advisors to develop a major artwork supported by research and project-related writing. This course will involve weekly meetings and an end- of-term group critique. Students enrolled in this course will be offered a dedicated communal studio space.,,"VPSC56H3, VPSC85H3, and 1.0 credits at the C-level in VPS","VIS401H, VIS402H, VIS403H, VIS404H",Independent Study in Studio Art: Thesis,,,4th year +WSTA01H3,SOCIAL_SCI,,"This course explores the intersection of social relations of power including gender, race, class, sexuality and disability, and provides an interdisciplinary and integrated approach to the study of women’s lives in Canadian and global contexts. There is a strong focus on the development of critical reading and analytic skills.",,,"(NEW160Y), WGS160Y, WGS101H",Introduction to Women's and Gender Studies,,,1st year +WSTA03H3,HIS_PHIL_CUL,,"An introduction to feminist theories and thoughts with a focus on diverse, interdisciplinary and cross-cultural perspectives. An overview of the major themes, concepts and terminologies in feminist thinking and an exploration of their meanings.",,,"(NEW160Y), WGS160Y, WGS200Y, WGS260H",Introduction to Feminist Theories and Thought,,,1st year +WSTB05H3,SOCIAL_SCI,,"This course explores the power dynamics embedded in “how we know what we know”. Using a feminist and intersectional lens, we will critically analyze dominant and alternative paradigms of knowledge production, and will examine how knowledge is created and reproduced. Concepts such as bias, objectivity, and research ethics will be explored. There is an experiential learning component.",,WSTA01H3 or WSTA03H3 or (WSTA02H3),"WGS202H, WGS360H",Power in Knowledge Production,,,2nd year +WSTB06H3,HIS_PHIL_CUL,,"Because of gendered responsibilities for creating homes, migrant women create and experience diasporic relations (to family and friends elsewhere) in distinctive ways. This course uses methods and materials from literature, history and the social sciences to understand the meaning of home for migrant women from many different cultural origins.",,"1.0 credit at the A-level in CLA, GAS, HIS or WST courses",,Women in Diaspora,,,2nd year +WSTB09H3,HIS_PHIL_CUL,,"This course is an introduction to how the history of colonialism and the power relations of the colonial world have shaped the historical and social constructions of race and gender. The course considers political, legal, economic, and cultural realms through which colonialism produced new gendered and racial social relationships across different societies and communities. The ways in which colonial power was challenged and resisted will also be explored.",,1.0 credit at the A-level in any Humanities or Social Science courses,,"Gender, Race, and Colonialism",,,2nd year +WSTB10H3,HIS_PHIL_CUL,,"An examination of local and global movements for change, past and current, which address issues concerning women. This course will survey initiatives from the individual and community to the national and international levels to bring about change for women in a variety of spheres.",WSTA01H3 or WSTA03H3,"1.0 credit at the A-level in GAS, HIS, WST, or other Humanities and Social Sciences courses",(WSTA02H3),"Women, Power and Protest: Transnational Perspectives",,,2nd year +WSTB11H3,SOCIAL_SCI,,"An overview of the complex interactions among race, class, gender and sexuality in traditional and modern societies. Drawing on both historical and contemporary patterns in diverse societies, the course offers feminist perspectives on the ways in which race, class, gender, and sexual orientation have shaped the lives of women and men.",,WSTA01H3 or [WSTA03H3 or (WSTA02H3)],,Intersections of Inequality,,,2nd year +WSTB12H3,SOCIAL_SCI,,"This course offers an analysis of violence against women and gender-based violence, including acts of resistance against violence. Applying a historical, cultural, and structural approach, family, state, economic and ideological aspects will be addressed. Initiatives toward making communities safer, including strategies for violence prevention and education will be explored.",,WSTA01H3 and [WSTA03H3 or (WSTA02H3) or WSTB05H3 or WSTB11H3 or one half credit from the list provided in requirement #6 in the Major in Women's and Gender Studies],"(NEW373H), WGS373H",Gender-based Violence and Resistance,,,2nd year +WSTB13H3,HIS_PHIL_CUL,,"An interdisciplinary approach to feminist critiques of the media. Gendered representation will be examined in media such as film, television, video, newspapers, magazines and on-line technologies. Students will also develop a perspective on women's participation in, and contributions toward, the various media industries.",,WSTA01H3 or [WSTA03H3 or (WSTA02H3)],"(NEW271Y), WGS271Y, WGS205H",Feminist Critiques of Media and Culture,,,2nd year +WSTB20H3,SOCIAL_SCI,,"This course will take a feminist approach to exploring the links between women, gender and the environment. We will examine how racism, sexism, heterosexism and other forms of oppression have shaped environmental discourses. Topics include: social, historical and cultural roots of the environmental crisis, women’s roles in sustainable development, ecofeminism, planning for safer spaces, and activism for change.",,Any 4.0 credits,(WSTC20H3),Feminism and The Environment,,,2nd year +WSTB22H3,HIS_PHIL_CUL,University-Based Experience,"This introductory survey course connects the rich histories of Black radical women’s acts, deeds, and words in Canada. It traces the lives and political thought of Black women and gender-non-conforming people who refused and fled enslavement, took part in individual and collective struggles against segregated labour, education, and immigration practices; providing a historical context for the emergence of the contemporary queer-led #BlackLivesMatter movement. Students will be introduced, through histories of activism, resistance, and refusal, to multiple concepts and currents in Black feminist studies. This includes, for example, theories of power, race, and gender, transnational/diasporic Black feminisms, Black-Indigenous solidarities, abolition and decolonization. Students will participate in experiential learning and engage an interdisciplinary array of key texts and readings including primary and secondary sources, oral histories, and online archives. Same as HISB22H3",WSTA01H3 or WSTA03H3,1.0 credit at the A-level in any Humanities or Social Science courses,"HISB22H3, WGS340H5",From Freedom Runners to #BlackLivesMatter: Histories of Black Feminism in Canada,,,2nd year +WSTB25H3,HIS_PHIL_CUL,,"This course introduces students to current discussions, debates and theories in LGBT and queer studies and activism. It will critically examine terms such as gay, lesbian, bisexual, transgender, queer, heterosexual, and ally, and explore how class, race, culture, ability, and history of colonization impact the experience of LGBTQ-identified people.",,"4.0 credits, including 1.0 credit in Humanities or Social Sciences",,"LGBTQ History, Theory and Activism",,Priority will be given to students enrolled in a Women's and Gender Studies program.,2nd year +WSTC02H3,SOCIAL_SCI,Partnership-Based Experience,"Students will design and conduct a qualitative research project in the community on an issue related to women and/or gender. The course will also include an overview of the various phases of carrying out research: planning the research project, choosing appropriate methods for data collection, analyzing the data and reporting the results. Students should expect to spend approximately 10 hours conducting their research in the community over the course of the semester.",,WSTB05H3 and WSTB11H3 and 0.5 credit taken from the courses listed in requirement 6 of the Major Program in Women's and Gender Studies,(WSTD02H3),Feminist Qualitative Research in Action,,,3rd year +WSTC10H3,SOCIAL_SCI,,"How development affects, and is affected by, women around the world. Topics may include labour and economic issues, food production, the effects of technological change, women organizing for change, and feminist critiques of traditional development models. Same as AFSC53H3",,[AFSA03H3/IDSA02H3 or IDSB01H3 or IDSB02H3] or [[WSTA01H3 or WSTA03H3] and [an additional 0.5 credit in WST courses]],AFSC53H3,Gender and Critical Development,,,3rd year +WSTC12H3,ART_LIT_LANG,,"An exploration of the ways in which women from different countries construct the gendered subject in their representations of childhood, sexuality, work, maternity and illness. Texts will be read in English and an emphasis will be placed on the cultural contexts of gender, ethnicity, sexuality and class.",WSTB13H3,[WSTA01H3 and [WSTA03H3 or (WSTA02H3)] and [1.0 additional credit in WST courses],,Writing the Self: Global Women's Autobiographies,,,3rd year +WSTC13H3,HIS_PHIL_CUL,,"Explores historical and contemporary debates regarding the construction of gender in Islam. Topics include the historical representations of Muslim woman, veiling, sexuality, Islamic law and Islamic feminism. This course situates Muslim women as multidimensional actors as opposed to the static, Orientalist images that have gained currency in the post 9/11 era.",,1.5 credits in WST courses including 0.5 credit at the B- or C-level,"WSTC30H3 (if taken in the 2008 Winter Session), WGS301H","Women, Gender and Islam",,,3rd year +WSTC14H3,HIS_PHIL_CUL,,"An examination of the impact of social policy on women's lives, from a historical perspective. The course will survey discriminatory practices in social policy as they affect women and immigration, health care, welfare, and the workplace. Topics may include maternity leave, sexual harassment, family benefits, divorce, and human rights policies.",,WSTA01H3 and [WSTA03H3 or (WSTA02H3)],,The Gender Politics of Policy Change,,,3rd year +WSTC16H3,HIS_PHIL_CUL,,"Examining popular media and history students will investigate themes of criminality, gender and violence in relation to the social construction of justice. Some criminal cases involving female defendants will also be analyzed to examine historical issues and social contexts. Debates in feminist theory, criminology and the law will be discussed.",WSTB13H3,[WSTA01H3 and [WSTA03H3 or (WSTA02H3)]] or [1.0 credit in SOC courses],,"Gender, Justice and the Law",,,3rd year +WSTC22H3,HIS_PHIL_CUL,,"This course examines the representations of gender in narrative, documentary and experimental films by a selection of global directors from a social, critical and historical perspective. We will analyse and engage with the filmic representations of race, class and sexual orientation, and explore how traditional and non-traditional cinema can challenge or perpetuate normative notions of gender.",WSTB13H3,"Any 5.0 credits, including: [WSTA01H3 and [WSTA02H3 or WSTA03H3]] or [0.5 credit in ENG, FRE or GAS cinema/film focused courses]",,Gender and Film,,,3rd year +WSTC23H3,SOCIAL_SCI,Partnership-Based Experience,"An opportunity for students in the Major and Minor programs in Women’s and Gender Studies to apply theoretical knowledge related to women and gender to practical community experience through experiential learning within a community, educational or social setting.",,WSTA01H3 and [WSTA03H3 or (WSTA02H3)] and WSTB05H3 and WSTB11H3 and WSTC02H3,HCSC01H3,Community Engagement Practicum,,,3rd year +WSTC24H3,HIS_PHIL_CUL,,"Across cultures, women are the main preparers and servers of food in domestic settings; in commercial food production and in restaurants, and especially in elite dining establishments, males dominate. Using agricultural histories, recipes, cookbooks, memoirs, and restaurant reviews and through the exploration of students’ own domestic culinary knowledge, students will analyze the origins, practices, and consequences of such deeply gendered patterns of food labour and consumption. Same as FSTC24H3",,"8.0 credits, including [0.5 credit at the A- or B- level in WST courses] and [0.5 credit at the A or B-level in FST courses]",FSTC24H3,Gender in the Kitchen,,,3rd year +WSTC25H3,HIS_PHIL_CUL,,"This course examines how sexuality and gender are shaped and redefined by cultural, economic, and political globalization. We will examine concepts of identity, sexual practices and queerness, as well as sexuality/gender inequality in relation to formulations of the local-global, nations, the transnational, family, homeland, diaspora, community, borders, margins, and urban-rural.",,"[1.0 credit at the A-level] and [1.0 credit at the B-level in WST courses, or other Humanities and Social Sciences courses]",,Transnational Queer Sexualities,,Priority will be given to students enrolled in the Major and Minor programs in Women’s and Gender Studies. Additional students will be admitted as space permits.,3rd year +WSTC26H3,HIS_PHIL_CUL,,"This course focuses on the theoretical approaches of critical race theory and black feminist thought this course examines how race and racism are represented and enacted across dominant cultural modes of expression and the ideas, actions, and resistances produced by Black women. The course will analyze intersections of gender subordination, homophobia, systems and institutions of colonialism, slavery and capitalism historically and in the contemporary period.",,WSTA03H3 and WSTB11H3 and an additional 1.0 credit in WST courses,WGS340H5,Critical Race and Black Feminist Theories,,,3rd year +WSTC28H3,SOCIAL_SCI,,"An introduction to the research on differences between women and men in how they use language and how they behave in conversational interaction, together with an examination of the role of language in reflecting and perpetuating cultural attitudes towards gender. Same as LINC28H3",,"[WSTA01H3 or WSTA03H3] and one full credit at the B-level in ANT, LIN, SOC or WST",JAL355H and LINC28H3,Language and Gender,,,3rd year +WSTC30H3,,,An examination of a current topic relevant to women and gender studies. Students will have the opportunity to explore recent scholarship in a specific content area which will vary from year to year. Participation in a related project/practicum in the community may be incorporated into the course.,,WSTA01H3 and [WSTA03H3 or (WSTA02H3)],,Special Topics in Women's and Gender Studies,,,3rd year +WSTC31H3,,,An examination of a current topic relevant to women's and gender studies. Students will have the opportunity to explore recent scholarship in a specific content area which will vary from year to year. Participation in a related project/practicum in the community may be incorporated into the course.,,WSTA01H3 and [WSTA03H3 or (WSTA02H3)],,Special Topics in Women's and Gender Studies,,,3rd year +WSTC40H3,HIS_PHIL_CUL,,"This course introduces debates and approaches to the intersection of disability with social determinants of gender, sexuality, class, race and ethnicity. Students will examine international human rights for persons with disabilities, images and representations of gender and the body, research questions for political activism, and social injustice.",,"1.5 credits, including [WSTA01H3 or WSTA03H3] and [0.5 credit at the B- or C-level in WST courses]",WGS366H,Gender and Disability,,,3rd year +WSTC66H3,HIS_PHIL_CUL,,"This course tracks the evolving histories of gender and sexuality in diverse Muslim societies. We will examine how gendered norms and sexual mores were negotiated through law, ethics, and custom. We will compare and contrast these themes in diverse societies, from the Prophet Muhammad’s community in 7th century Arabia to North American and West African Muslim communities in the 21st century. Same as HISC66H3",,"[Any 4.0 credits, including 0.5 credit at the A- or B-level in HIS courses] or [1.5 credits in WST courses, including 0.5 credit at the B- or C-level]","HISC66H3, RLG312H1","Histories of Gender and Sexuality in Muslim Societies: Between Law, Ethics and Culture",,,3rd year +WSTD01H3,,University-Based Experience,"An opportunity to undertake an in-depth research topic under the supervision of a Women's and Gender Studies faculty member. Students will work with their supervisor to finalize the course content and methods of approach; assessment will be based on an advanced essay/project on the approved topic, which will be evaluated by the supervising faculty member and program coordinator. The material studied will differ significantly in content and/or concentration from topics offered in regular courses.",,"At least 15.0 credits including: WSTA01H3 and WSTB05H3 and [WSTA03H3 or (WSTA02H3)] and [1.5 credits taken from the courses in requirement 5 and 6 in the Major program in Women's and Gender Studies]. Only students in the Major program in Women's and Gender Studies that have a CGPA of at least 3.3 can enrol in this course. When applying to a faculty supervisor, students need to present a brief written statement of the topic they wish to explore in the term prior to the start of the course.",,Independent Project in Women's and Gender Studies,,,4th year +WSTD03H3,,University-Based Experience,"An advanced and in-depth examination of selected topics related to health, sexualities, the gendered body, and the representations and constructions of women and gender. The course will be in a seminar format with student participation expected. It is writing intensive and involves a major research project.",,WSTA01H3 and [WSTA03H3 or (WSTA02H3)] and WSTB11H3 and [1.0 credit at the C-level from requirement 5 or 6 of the Major program in Women's and Gender Studies],,"Feminist Perspectives on Sex, Gender and the Body",,,4th year +WSTD04H3,,University-Based Experience,"An in-depth examination of selected topics related to women, gender, equality, and human rights in the context of local and global communities, and diaspora. Student participation and engagement is expected. There will be a major research project.",,8.0 credits including 2.0 credits in WST courses,,Critical Perspectives on Gender and Human Rights,,,4th year +WSTD08H3,HIS_PHIL_CUL,,"During the historic protests of 2020, “Abolition Now” was a central demand forwarded by Black and queer-led social movements. But what is abolition? What is its significance as a theory of change, a body of scholarship, and as a practice? This course explores how leading abolitionist and feminist thinkers theorize the state, punishment, criminalization, the root causes of violence, and the meaning of safety. It explores the historical genealogies of abolitionist thought and practice in relation to shifting forms of racial, gendered and economic violence. Students will analyze the works of formerly enslaved and free Black abolitionists, prison writings during the Black Power Era as well as canonical scholarly texts in the field. A central focus of the course is contemporary abolitionist feminist thought. The course is conceptually grounded in Black and queer feminisms, and features works by Indigenous, South Asian women and other women of colour.","HISB22H3/WSTB22H3, WSTC26H3",[[WSTA03H3 and WSTB11H3] and [WSTB22H3 or WSTC26H3] and [1.0 additional credit in WST]] or [1.0 credit in WST and 6.0 credits in any other Humanities or Social Sciences discipline],,Abolition Feminisms,,,4th year +WSTD09H3,HIS_PHIL_CUL,,"An in-depth examination of Islamophobic discourses, practices and institutionalized discriminatory policies, and their impact on Muslims and those perceived to be Muslim. Themes include the relationship between Islamophobia, gender orientalism and empire; Islamophobic violence; Islamophobia in the media; the Islamophobia industry; the mobilization of feminism and human rights in the mainstreaming of Islamophobia. Equal attention will be paid to resisting Islamophobia through art, advocacy, and education.","ANTC80H3, RLG204H1 or NMC475H1",WSTB11H3 and 1.0 credit at the C-level from courses listed in requirements 5 and 6 of the Major program in Women's and Gender Studies,,"Race, Gender, and Islamophobia",,Priority will be given to students in the Major program in Women’s and Gender Studies,4th year +WSTD10H3,HIS_PHIL_CUL,Partnership-Based Experience,"This course will explore oral history - a method that collects and retells the stories of people whose pasts have often been invisible. Students will be introduced to the theory and practice of feminist oral history and will conduct oral histories of social activists in the community. The final project will include a digital component, such as a podcast.",,"3.5 credits in WST courses, including: [WSTB05H3 and 0.5 credit at the C-level]","HISC28H3, HISD25H3, WSTC02H3 (Fall 2013), HISD44H3 (Fall 2013), CITC10H3 (Fall 2013)",Creating Stories for Social Change,,,4th year +WSTD11H3,HIS_PHIL_CUL,,"An advanced and in-depth seminar dedicated to a topic relevant to Women’s and Gender Studies. Students will have the opportunity to explore recent scholarship in a specific content area, which will vary from year to year. Participation in a related project/practicum in the community may be incorporated into the course.",,WSTB11H3 and 1.0 credit at the C-level from the courses in requirement 5 or 6 of the Major program in Women's and Gender Studies,,Special Topics in Women's and Gender Studies,,,4th year +WSTD16H3,HIS_PHIL_CUL,,"A comparative exploration of socialist feminism, encompassing its diverse histories in different locations, particularly China, Russia, Germany and Canada. Primary documents, including literary texts, magazines, political pamphlets and group manifestos that constitute socialist feminist ideas, practices and imaginaries in different times and places will be central. We will also seek to understand socialist feminism and its legacies in relation to other contemporary stands of feminism. Same as HISD16H3 Transnational Area",,"[1.0 credit at the B-level] and [1.0 credit at the C-level in HIS, WST, or other Humanities and Social Sciences courses]",HISD16H3,Socialist Feminism in Global Context,,,4th year +WSTD30H3,HIS_PHIL_CUL,,"This course examines how popular culture projects its fantasies and fears about the future onto Asia through sexualized and racialized technology. Through the lens of techno-Orientalism this course explores questions of colonialism, imperialism and globalization in relation to cyborgs, digital industry, high-tech labor, and internet/media economics. Topics include the hyper-sexuality of Asian women, racialized and sexualized trauma and disability. This course requires student engagement and participation. Students are required to watch films in class and creative assignments such as filmmaking and digital projects are encouraged. Same as GASD30H3",,[1.0 credit at the B-level] and [1.0 credit at the C-level in WST courses or other Humanities and Social Sciences courses],GASD30H3,Gender and Techno- Orientalism,,"Priority will be given to students enrolled in the Major/Major Co-op and Minor programs Women’s and Gender Studies, and the Specialist, Major and Minor programs in Global Asia Studies. Additional students will be admitted as space permits.",4th year +WSTD46H3,HIS_PHIL_CUL,,"Weekly discussions of assigned readings. The course covers a broad chronological sweep but also highlights certain themes, including race and gender relations, working women and family economies, sexuality, and women and the courts. We will also explore topics in gender history, including masculinity studies and gay history. Same as HISD46H3",HISB02H3 or HISB03H3 or HISB14H3 or WSTB06H3 or HISB50H3 or GASB57H3/HISB57H3 or HISC09H3 or HISC29H3,"Any 8.0 credits, including: [0.5 credit at the A- or B-level in CLA, FST, GAS, HIS or WST courses] and [0.5 credit at the C-level in CLA, FST, GAS, HIS or WST courses]",HISD46H3,Selected Topics in Canadian Women's History,,,4th year diff --git a/course-matrix/data/tables/departments.csv b/course-matrix/data/tables/departments.csv new file mode 100644 index 00000000..f0656679 --- /dev/null +++ b/course-matrix/data/tables/departments.csv @@ -0,0 +1,50 @@ +code,name +"{"AFS"}","African Studies" +"{"ANT"}","Anthropology" +"{"VPH"}","Art History and Visual Culture" +"{"COP"}","Co-op" +"{"ACM"}","Arts, Culture and Media" +"{"VPA"}","Arts Management" +"{"AST"}","Astronomy" +"{"BIO"}","Biological Sciences" +"{"CHM"}","Chemistry" +"{"CIT"}","City Studies" +"{"CLA"}","Classical Studies" +"{"CSC"}","Computer Science" +"{"CRT"}","Curatorial Studies" +"{"DTS"}","Diaspora and Transnational Studies" +"{"MGE"}","Economics for Management Studies" +"{"ENG"}","English" +"{"EES"}","Environmental Science" +"{"FST"}","Food Studies" +"{"FRE"}","French" +"{"GGR"}","Geography" +"{"GAS"}","Global Asia Studies" +"{"GLB"}","Global Leadership" +"{"HLT"}","Health Studies" +"{"HCS"}","Historical and Cultural Studies" +"{"HIS"}","History" +"{"IDS"}","International Development Studies" +"{"JOU"}","Journalism" +"{"ECT"}","Languages" +"{"LIN"}","Linguistics" +"{"MGA","MGF","MGH","MGI","MGM","MGO","MGS","MGT"}","Management" +"{"MAT"}","Mathematics" +"{"MDS"}","Media Studies" +"{"MUZ"}","Music and Culture" +"{"MBT"}","Music Industry and Technology" +"{"MRO"}","Neuroscience" +"{"NME"}","New Media Studies" +"{"PMD"}","Paramedicine" +"{"PHL"}","Philosophy" +"{"PSC"}","Physical Sciences" +"{"PHY"}","Physics and Astrophysics" +"{"POL"}","Political Sciences, Public Law, Public Policy" +"{"PSY"}","Psychology" +"{"RLG"}","Religion" +"{"SOC"}","Sociology" +"{"STA"}","Statistics" +"{"VPS"}","Studio Art" +"{"CTL"}","Center for Teaching and Learning" +"{"THR"}","Theatre and Performance" +"{"WST"}","Women's and Gender Studies" diff --git a/course-matrix/data/tables/offerings_fall_2025.csv b/course-matrix/data/tables/offerings_fall_2025.csv new file mode 100644 index 00000000..ffd1d845 --- /dev/null +++ b/course-matrix/data/tables/offerings_fall_2025.csv @@ -0,0 +1,2012 @@ +code,meeting_section,offering,day,start,end,location,current,max,is_waitlisted,delivery_mode,instructor,notes +ACMB10H3F,LEC01,Fall 2025,WE,10:00,12:00,Available onACORN,27,60,True,IN_PERSON,"deChamplain-Leverenz,D.", +ACMC01H3F,LEC01,Fall 2025,,,,Available on ACORN,0,20,True,IN_PERSON,"Klimek, C.", +ACMD01H3F,LEC01,Fall 2025,,,,Available on ACORN,2,20,True,IN_PERSON,"Klimek, C.", +ACMD02H3F,LEC01,Fall 2025,,,,Available on ACORN,0,20,True,IN_PERSON,"Klimek, C.", +ACMD91H3F,LEC01,Fall 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +ACMD92H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +ACMD93Y3Y,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +ACTB40H3F,LEC01,Fall 2025,TH,18:00,21:00,Available on ACORN,104,135,True,IN_PERSON,"Gao, J.", +ACTB40H3F,TUT0001,Fall 2025,FR,14:00,15:00,Available on ACORN,28,34,False,IN_PERSON,, +ACTB40H3F,TUT0002,Fall 2025,MO,10:00,11:00,Available on ACORN,30,34,False,IN_PERSON,, +ACTB40H3F,TUT0003,Fall 2025,TU,09:00,10:00,Available on ACORN,18,34,False,IN_PERSON,, +ACTB40H3F,TUT0004,Fall 2025,TH,17:00,18:00,Available on ACORN,27,34,False,IN_PERSON,, +AFSA01H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,49,60,True,IN_PERSON,"Ilmi, A.", +AFSA01H3F,TUT0001,Fall 2025,WE,09:00,10:00,Available on ACORN,8,10,False,IN_PERSON,, +AFSA01H3F,TUT0002,Fall 2025,WE,10:00,11:00,Available on ACORN,11,10,False,IN_PERSON,, +AFSA01H3F,TUT0003,Fall 2025,WE,13:00,14:00,Available on ACORN,7,10,False,IN_PERSON,, +AFSA01H3F,TUT0004,Fall 2025,WE,19:00,20:00,Available on ACORN,11,17,False,IN_PERSON,, +AFSA01H3F,TUT0006,Fall 2025,WE,15:00,16:00,Available on ACORN,10,10,False,IN_PERSON,, +AFSB51H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,9,20,True,IN_PERSON,"Rockel, S.", +AFSB51H3F,TUT0001,Fall 2025,TU,15:00,16:00,Available on ACORN,8,10,False,IN_PERSON,, +AFSD07H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,4,10,True,IN_PERSON,"Ilmi, A.", +AFSD20H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,5,10,True,IN_PERSON,"Mariyathas, S.", +ANTA01H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,223,241,True,IN_PERSON,"Silcox, M.", +ANTA01H3F,LEC02,Fall 2025,TH,11:00,13:00,Available on ACORN,220,241,True,IN_PERSON,"Silcox, M.", +ANTA01H3F,TUT0001,Fall 2025,TH,09:00,10:00,Available on ACORN,28,31,False,IN_PERSON,, +ANTA01H3F,TUT0002,Fall 2025,TH,10:00,11:00,Available on ACORN,31,31,False,IN_PERSON,, +ANTA01H3F,TUT0003,Fall 2025,TH,15:00,16:00,Available on ACORN,31,31,False,IN_PERSON,, +ANTA01H3F,TUT0004,Fall 2025,TH,16:00,17:00,Available on ACORN,28,31,False,IN_PERSON,, +ANTA01H3F,TUT0005,Fall 2025,FR,10:00,11:00,Available on ACORN,26,30,False,IN_PERSON,, +ANTA01H3F,TUT0006,Fall 2025,FR,11:00,12:00,Available on ACORN,26,30,False,IN_PERSON,, +ANTA01H3F,TUT0007,Fall 2025,FR,12:00,13:00,Available on ACORN,27,30,False,IN_PERSON,, +ANTA01H3F,TUT0008,Fall 2025,FR,13:00,14:00,Available on ACORN,30,30,False,IN_PERSON,, +ANTA01H3F,TUT0009,Fall 2025,TH,09:00,10:00,Available on ACORN,29,30,False,IN_PERSON,, +ANTA01H3F,TUT0010,Fall 2025,TH,10:00,11:00,Available on ACORN,28,30,False,IN_PERSON,, +ANTA01H3F,TUT0011,Fall 2025,TH,15:00,16:00,Available on ACORN,29,30,False,IN_PERSON,, +ANTA01H3F,TUT0012,Fall 2025,TH,16:00,17:00,Available on ACORN,26,30,False,IN_PERSON,, +ANTA01H3F,TUT0013,Fall 2025,FR,10:00,11:00,Available on ACORN,27,30,False,IN_PERSON,, +ANTA01H3F,TUT0014,Fall 2025,FR,11:00,12:00,Available on ACORN,29,30,False,IN_PERSON,, +ANTA01H3F,TUT0015,Fall 2025,FR,12:00,13:00,Available on ACORN,21,30,False,IN_PERSON,, +ANTA01H3F,TUT0016,Fall 2025,FR,13:00,14:00,Available on ACORN,25,30,False,IN_PERSON,, +ANTA02H3F,LEC01,Fall 2025,TU,11:00,13:00,Available onACORN,186,200,True,IN_PERSON,"Dahl, B.", +ANTA02H3F,TUT0001,Fall 2025,FR,10:00,11:00,Available onACORN,32,33,False,IN_PERSON,, +ANTA02H3F,TUT0002,Fall 2025,FR,09:00,10:00,Available onACORN,24,33,False,IN_PERSON,, +ANTA02H3F,TUT0003,Fall 2025,FR,12:00,13:00,Available onACORN,37,40,False,IN_PERSON,, +ANTA02H3F,TUT0004,Fall 2025,TH,10:00,11:00,Available onACORN,30,30,False,IN_PERSON,, +ANTA02H3F,TUT0005,Fall 2025,TH,09:00,10:00,Available onACORN,25,30,False,IN_PERSON,, +ANTA02H3F,TUT0006,Fall 2025,TH,12:00,13:00,Available onACORN,35,40,False,IN_PERSON,,Time/room change08/27/24 +ANTB01H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,21,40,True,IN_PERSON,"Butt, W.", +ANTB11H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,24,60,True,IN_PERSON,"Janz, L.", +ANTB11H3F,TUT0001,Fall 2025,TU,10:00,11:00,Available on ACORN,23,30,False,IN_PERSON,, +ANTB11H3F,TUT0002,Fall 2025,TU,11:00,12:00,Available on ACORN,0,30,False,IN_PERSON,, +ANTB14H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,45,80,True,IN_PERSON,"Schillaci, M.", +ANTB14H3F,TUT0001,Fall 2025,TU,14:00,15:00,Available on ACORN,15,20,False,IN_PERSON,, +ANTB14H3F,TUT0002,Fall 2025,TU,15:00,16:00,Available on ACORN,18,20,False,IN_PERSON,, +ANTB14H3F,TUT0003,Fall 2025,TU,16:00,17:00,Available on ACORN,12,20,False,IN_PERSON,, +ANTB19H3F,LEC01,Fall 2025,TU,15:00,17:00,Available onACORN,73,120,True,IN_PERSON,"De Aguiar Furuie,V.", +ANTB19H3F,TUT0001,Fall 2025,TH,20:00,21:00,Available onACORN,11,30,False,IN_PERSON,, +ANTB19H3F,TUT0002,Fall 2025,TH,17:00,18:00,Available onACORN,28,30,False,IN_PERSON,, +ANTB19H3F,TUT0003,Fall 2025,TH,18:00,19:00,Available onACORN,14,30,False,IN_PERSON,, +ANTB19H3F,TUT0004,Fall 2025,TH,19:00,20:00,Available onACORN,17,30,False,IN_PERSON,, +ANTB22H3F,LEC01,Fall 2025,TU,13:00,15:00,Available onACORN,43,50,True,IN_PERSON,"Teichroeb,J.",Room change08/22/24 +ANTB26H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,9,50,True,IN_PERSON,"Paz, A.", +ANTB33H3F,LEC01,Fall 2025,WE,12:00,14:00,Available on ACORN,9,40,True,IN_PERSON,"Butt, W.", +ANTB33H3F,TUT0001,Fall 2025,FR,09:00,10:00,Available on ACORN,6,30,False,IN_PERSON,, +ANTB35H3F,LEC01,Fall 2025,TH,18:00,21:00,Available on ACORN,41,75,True,IN_PERSON,"Paz, A.", +ANTB64H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,44,60,True,IN_PERSON,"Van Dyk, J.", +ANTB64H3F,PRA0001,Fall 2025,FR,11:00,12:00,Available on ACORN,18,20,False,IN_PERSON,, +ANTB64H3F,PRA0002,Fall 2025,FR,12:00,13:00,Available on ACORN,17,20,False,IN_PERSON,, +ANTB64H3F,PRA0003,Fall 2025,FR,13:00,14:00,Available on ACORN,9,20,False,IN_PERSON,, +ANTB65H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,27,60,True,IN_PERSON,"Cummings, M.", +ANTC04H3F,LEC01,Fall 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +ANTC04H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +ANTC09H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,37,40,True,IN_PERSON,"Kilroy-Marac, K.", +ANTC16H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,44,60,True,IN_PERSON,"Nargolwalla, M.", +ANTC19H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,22,40,True,IN_PERSON,"Van Dyk, J.", +ANTC29H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,18,40,True,IN_PERSON,"Butler, D.", +ANTC33H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,11,40,True,IN_PERSON,"Gagliardi, C.", +ANTC47H3F,LEC01,Fall 2025,MO,12:00,15:00,Available on ACORN,34,40,True,IN_PERSON,"Schillaci, M.", +ANTC61H3F,LEC01,Fall 2025,WE,12:00,14:00,Available on ACORN,41,60,True,IN_PERSON,"Dahl, B.", +ANTC66H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,20,25,True,IN_PERSON,"Mortensen, L.", +ANTC67H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,90,120,True,IN_PERSON,"Ahmed, S.", +ANTC80H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,9,40,True,IN_PERSON,"Turabi, M.", +ANTD04H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,12,15,True,IN_PERSON,"Krupa, C.", +ANTD06H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,9,15,True,IN_PERSON,"Sorge, A.", +ANTD26H3F,LEC01,Fall 2025,TU,12:00,14:00,Available on ACORN,15,25,True,IN_PERSON,"Janz, L.", +ANTD31H3F,LEC01,Fall 2025,,,,Available on ACORN,2,9999,True,IN_PERSON,FACULTY, +ANTD32H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +ANTD35H3F,LEC01,Fall 2025,WE,12:00,14:00,Available on ACORN,10,25,True,IN_PERSON,"Dewar, G.", +ANTD40H3F,LEC01,Fall 2025,FR,11:00,13:00,Available on ACORN,3,30,True,IN_PERSON,"Li, M.", +ASTB23H3F,LEC01,Fall 2025,TH,12:00,14:00,Available onACORN,65,73,True,IN_PERSON,"Menou, K.",Room change08/23/24 +ASTB23H3F,TUT0001,Fall 2025,TH,17:00,18:00,Available onACORN,64,73,False,IN_PERSON,, +ASTC02H3F,LEC01,Fall 2025,TH,18:00,20:00,Available on ACORN,11,24,True,IN_PERSON,"Rein, H.", +ASTC02H3F,PRA0001,Fall 2025,TH,20:00,22:00,Available on ACORN,10,24,False,IN_PERSON,, +BIOA01H3F,PRA0060,Fall 2025,TH,12:00,15:00,Available onACORN,24,24,False,IN_PERSON,, +BIOA01H3F,PRA0061,Fall 2025,TH,15:00,18:00,Available onACORN,24,24,False,IN_PERSON,, +BIOA01H3F,PRA0062,Fall 2025,TH,15:00,18:00,Available onACORN,23,24,False,IN_PERSON,, +BIOA01H3F,PRA0063,Fall 2025,TH,15:00,18:00,Available onACORN,24,24,False,IN_PERSON,, +BIOA01H3F,PRA0064,Fall 2025,TH,15:00,18:00,Available onACORN,24,24,False,IN_PERSON,, +BIOA01H3F,PRA0065,Fall 2025,TH,15:00,18:00,Available onACORN,24,24,False,IN_PERSON,, +BIOA01H3F,PRA0066,Fall 2025,TH,15:00,18:00,Available onACORN,21,24,False,IN_PERSON,, +BIOA01H3F,PRA0067,Fall 2025,TH,18:00,21:00,Available onACORN,0,24,False,IN_PERSON,, +BIOA11H3F,LEC01,Fall 2025,FR,13:00,15:00,Available on ACORN,203,225,True,IN_PERSON,"Williams, K.", +BIOA11H3F,TUT0001,Fall 2025,MO,09:00,10:00,Available on ACORN,38,45,False,IN_PERSON,, +BIOA11H3F,TUT0002,Fall 2025,MO,09:00,10:00,Available on ACORN,38,45,False,IN_PERSON,, +BIOA11H3F,TUT0003,Fall 2025,MO,10:00,11:00,Available on ACORN,43,45,False,IN_PERSON,, +BIOA11H3F,TUT0004,Fall 2025,MO,10:00,11:00,Available on ACORN,41,45,False,IN_PERSON,, +BIOA11H3F,TUT0005,Fall 2025,MO,12:00,13:00,Available on ACORN,41,45,False,IN_PERSON,, +BIOB10H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,433,515,True,IN_PERSON,"Ashok, A.", +BIOB10H3F,LEC02,Fall 2025,,,,Available on ACORN,60,80,True,ONLINE_ASYNCHRONOUS,"Ashok, A.", +BIOB10H3F,TUT0001,Fall 2025,TH,17:00,19:00,Available on ACORN,455,515,False,IN_PERSON,, +BIOB20H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,42,80,True,IN_PERSON,"Filion, G.", +BIOB20H3F,TUT0001,Fall 2025,MO,08:00,09:00,Available on ACORN,20,100,False,IN_PERSON,, +BIOB33H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,167,240,True,IN_PERSON,"Wong, C.", +BIOB34H3F,LEC01,Fall 2025,TU,09:00,10:00,Available on ACORN,469,500,True,IN_PERSON,"Welch Jr., K.", +BIOB34H3F,LEC01,Fall 2025,TH,09:00,10:00,Available on ACORN,469,500,True,IN_PERSON,"Welch Jr., K.", +BIOB34H3F,TUT0001,Fall 2025,TH,17:00,19:00,Available on ACORN,458,500,False,IN_PERSON,, +BIOB50H3F,LEC01,Fall 2025,TU,16:00,18:00,Available on ACORN,485,515,True,IN_PERSON,"Molnar, P.", +BIOB50H3F,TUT0001,Fall 2025,TH,17:00,19:00,Available on ACORN,457,515,False,IN_PERSON,, +BIOB52H3F,LEC01,Fall 2025,TU,11:00,12:00,Available on ACORN,38,48,True,IN_PERSON,"Lovejoy, N.", +BIOB52H3F,PRA0001,Fall 2025,WE,13:00,17:00,Available on ACORN,21,24,False,IN_PERSON,, +BIOB52H3F,PRA0002,Fall 2025,WE,13:00,17:00,Available on ACORN,17,24,False,IN_PERSON,, +BIOB90H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,281,310,True,IN_PERSON,"Brown, J.", +BIOB97H3F,LEC01,Fall 2025,TU,16:00,17:00,Available onACORN,30,48,True,IN_PERSON,"Bell, E.",Room change09/04/24 +BIOB97H3F,PRA0001,Fall 2025,TH,13:00,15:00,Available onACORN,11,24,False,IN_PERSON,, +BIOB97H3F,PRA0001,Fall 2025,FR,12:00,14:00,Available onACORN,11,24,False,IN_PERSON,, +BIOB97H3F,PRA0002,Fall 2025,TH,13:00,15:00,Available onACORN,19,24,False,IN_PERSON,, +BIOB97H3F,PRA0002,Fall 2025,FR,12:00,14:00,Available onACORN,19,24,False,IN_PERSON,, +BIOB98H3F,LEC01,Fall 2025,,,,Available on ACORN,17,20,True,IN_PERSON,FACULTY, +BIOB99H3F,LEC01,Fall 2025,,,,Available on ACORN,4,10,True,IN_PERSON,FACULTY, +BIOC12H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,132,200,True,IN_PERSON,"Zhao, R.", +BIOC12H3F,LEC01,Fall 2025,WE,11:00,12:00,Available on ACORN,132,200,True,IN_PERSON,"Zhao, R.", +BIOC15H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,139,144,True,IN_PERSON,"Anreiter, I.", +BIOC15H3F,PRA0001,Fall 2025,MO,10:00,13:00,Available on ACORN,24,24,False,IN_PERSON,, +BIOC15H3F,PRA0002,Fall 2025,MO,10:00,13:00,Available on ACORN,24,24,False,IN_PERSON,, +BIOC15H3F,PRA0003,Fall 2025,MO,14:00,17:00,Available on ACORN,20,24,False,IN_PERSON,, +BIOC15H3F,PRA0004,Fall 2025,MO,14:00,17:00,Available on ACORN,24,24,False,IN_PERSON,, +BIOC15H3F,PRA0005,Fall 2025,TU,14:00,17:00,Available on ACORN,24,24,False,IN_PERSON,, +BIOC15H3F,PRA0006,Fall 2025,TU,14:00,17:00,Available on ACORN,23,24,False,IN_PERSON,, +BIOC19H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,176,215,True,IN_PERSON,"Gan, K.", +BIOC20H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,212,230,True,IN_PERSON,"Bawa, D.", +BIOC20H3F,LEC02,Fall 2025,,,,Available on ACORN,100,110,True,ONLINE_ASYNCHRONOUS,"Bawa, D.", +BIOC32H3F,LEC01,Fall 2025,TU,12:00,13:00,Available on ACORN,380,400,True,IN_PERSON,"Brown, J.", +BIOC32H3F,LEC01,Fall 2025,TH,12:00,13:00,Available on ACORN,380,400,True,IN_PERSON,"Brown, J.", +BIOC32H3F,TUT0001,Fall 2025,FR,14:00,15:00,Available on ACORN,366,400,False,IN_PERSON,, +BIOC35H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,181,190,True,IN_PERSON,"Mott, A.", +BIOC37H3F,LEC01,Fall 2025,TU,15:00,16:00,Available on ACORN,34,48,True,IN_PERSON,"Stehlik, I.", +BIOC37H3F,LEC01,Fall 2025,TH,15:00,16:00,Available on ACORN,34,48,True,IN_PERSON,"Stehlik, I.", +BIOC37H3F,PRA0001,Fall 2025,WE,11:00,14:00,Available on ACORN,16,24,False,IN_PERSON,, +BIOC37H3F,PRA0002,Fall 2025,WE,11:00,14:00,Available on ACORN,18,24,False,IN_PERSON,, +BIOC50H3F,LEC01,Fall 2025,MO,10:00,12:00,Available on ACORN,30,40,True,IN_PERSON,"Weir, J.", +BIOC50H3F,TUT0001,Fall 2025,TU,13:00,15:00,Available on ACORN,30,40,False,IN_PERSON,, +BIOC52H3F,LEC01,Fall 2025,MO,10:00,15:00,Available on ACORN,14,15,True,IN_PERSON,"Stehlik, I.", +BIOC58H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,82,120,True,IN_PERSON,"Sturge, R.", +BIOC58H3F,TUT0001,Fall 2025,TU,09:00,11:00,Available on ACORN,28,60,False,IN_PERSON,, +BIOC58H3F,TUT0002,Fall 2025,TH,15:00,17:00,Available on ACORN,53,60,False,IN_PERSON,, +BIOC59H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,12,24,True,IN_PERSON,"Cadotte, M.", +BIOC59H3F,PRA0001,Fall 2025,TH,12:00,15:00,Available on ACORN,12,24,False,IN_PERSON,, +BIOC61H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,44,45,True,IN_PERSON,"Sturge, R.", +BIOC61H3F,TUT0001,Fall 2025,WE,19:00,22:00,Available on ACORN,44,45,False,IN_PERSON,, +BIOC63H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,51,60,True,IN_PERSON,"Sturge, R.", +BIOC63H3F,TUT0001,Fall 2025,TH,09:00,11:00,Available on ACORN,51,60,False,IN_PERSON,, +BIOC90H3F,LEC01,Fall 2025,,,,Available on ACORN,298,310,True,IN_PERSON,"Sturge, R.", +BIOD06H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,12,35,True,IN_PERSON,"Koyama, M.", +BIOD17H3F,LEC01,Fall 2025,FR,09:00,11:00,Available on ACORN,31,35,True,IN_PERSON,"Bawa, D.", +BIOD17H3F,TUT0001,Fall 2025,TU,09:00,12:00,Available on ACORN,31,35,False,IN_PERSON,, +BIOD21H3F,LEC01,Fall 2025,WE,10:00,11:00,Available onACORN,28,48,True,IN_PERSON,"Gazzarrini,S.",Room change09/03/24 +BIOD21H3F,PRA0001,Fall 2025,WE,14:00,17:00,Available onACORN,14,24,False,IN_PERSON,, +BIOD21H3F,PRA0001,Fall 2025,TH,14:00,17:00,Available onACORN,14,24,False,IN_PERSON,, +BIOD21H3F,PRA0002,Fall 2025,WE,14:00,17:00,Available onACORN,14,24,False,IN_PERSON,, +BIOD21H3F,PRA0002,Fall 2025,TH,14:00,17:00,Available onACORN,14,24,False,IN_PERSON,, +BIOD23H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,11,27,True,IN_PERSON,"Bawa, D.", +BIOD23H3F,LEC01,Fall 2025,WE,12:00,13:00,Available on ACORN,11,27,True,IN_PERSON,"Bawa, D.", +BIOD26H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,41,45,True,IN_PERSON,"Brunt, S.", +BIOD26H3F,TUT0001,Fall 2025,TH,09:00,11:00,Available on ACORN,40,50,False,IN_PERSON,, +BIOD27H3F,LEC01,Fall 2025,FR,09:00,12:00,Available on ACORN,37,40,True,IN_PERSON,"Brown, J.", +BIOD30H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,7,30,True,IN_PERSON,"Rajavasireddy, S.", +BIOD30H3F,LEC01,Fall 2025,TH,11:00,12:00,Available on ACORN,7,30,True,IN_PERSON,"Rajavasireddy, S.", +BIOD32H3F,LEC01,Fall 2025,TU,12:00,13:00,Available on ACORN,29,40,True,IN_PERSON,"Reid, S.", +BIOD32H3F,LEC01,Fall 2025,TH,12:00,13:00,Available on ACORN,29,40,True,IN_PERSON,"Reid, S.", +BIOD33H3F,LEC01,Fall 2025,MO,12:00,13:00,Available on ACORN,58,70,True,IN_PERSON,"Reid, S.", +BIOD33H3F,LEC01,Fall 2025,WE,12:00,13:00,Available on ACORN,58,70,True,IN_PERSON,"Reid, S.", +BIOD34H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,9,30,True,IN_PERSON,"Porteus, C.", +BIOD34H3F,TUT0001,Fall 2025,TH,09:00,10:00,Available on ACORN,9,30,False,IN_PERSON,, +BIOD37H3F,LEC01,Fall 2025,FR,09:00,11:00,Available on ACORN,10,35,True,IN_PERSON,"Pan, X.", +BIOD37H3F,TUT0001,Fall 2025,FR,13:00,15:00,Available on ACORN,10,35,False,IN_PERSON,, +BIOD45H3F,LEC01,Fall 2025,TU,10:00,12:00,Available on ACORN,15,35,True,IN_PERSON,"Mason, A.", +BIOD45H3F,TUT0001,Fall 2025,TH,09:00,10:00,Available on ACORN,15,35,False,IN_PERSON,, +BIOD48H3F,LEC01,Fall 2025,TH,12:00,13:00,Available on ACORN,13,22,True,IN_PERSON,"Weir, J.", +BIOD48H3F,TUT0001,Fall 2025,FR,09:00,12:00,Available on ACORN,13,22,False,IN_PERSON,, +BIOD59H3F,LEC01,Fall 2025,TU,12:00,14:00,Available on ACORN,16,23,True,IN_PERSON,"Molnar, P.", +BIOD59H3F,TUT0001,Fall 2025,FR,13:00,15:00,Available on ACORN,16,30,False,IN_PERSON,, +BIOD60H3F,LEC01,Fall 2025,TU,09:00,12:00,Available on ACORN,7,35,True,IN_PERSON,"Cadotte, M.", +BIOD65H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,38,40,True,IN_PERSON,"Nash, J.", +BIOD67H3F,LEC01,Fall 2025,,,,Available on ACORN,0,5,True,IN_PERSON,FACULTY, +BIOD95H3F,LEC01,Fall 2025,TU,14:00,15:00,Available on ACORN,3,20,True,IN_PERSON,"Ashok, A.", +BIOD98Y3Y,LEC01,Fall 2025,TU,14:00,15:00,Available onACORN,46,50,True,IN_PERSON,"Ashok, A./ Stehlik,I.", +BIOD99Y3Y,LEC01,Fall 2025,TU,14:00,15:00,Available onACORN,5,7,True,IN_PERSON,"Ashok, A./ Stehlik,I.", +CHMA10H3F,LEC01,Fall 2025,MO,12:00,13:00,Available on ACORN,500,,False,,"H./ Thavarajah,",N./ +CHMA10H3F,LEC01,Fall 2025,WE,12:00,13:00,Available on ACORN,500,,False,,"H./ Thavarajah,",N./ +CHMA10H3F,LEC01,Fall 2025,FR,12:00,13:00,Available on ACORN,500,,False,,"H./ Thavarajah,",N./ +CHMA10H3F,LEC02,Fall 2025,MO,13:00,14:00,Available on ACORN,500,,False,,"H./ Thavarajah,",N./ +CHMA10H3F,LEC02,Fall 2025,WE,13:00,14:00,Available on ACORN,500,,False,,"H./ Thavarajah,",N./ +CHMA10H3F,LEC02,Fall 2025,FR,13:00,14:00,Available on ACORN,500,,False,,"H./ Thavarajah,",N./ +CHMA10H3F,LEC03,Fall 2025,,,,290,,,False,,"H./ Thavarajah,",N./ +CHMA10H3F,PRA0001,Fall 2025,MO,09:00,12:00,Available on ACORN,24,,False,, Add,to +CHMA10H3F,PRA0003,Fall 2025,MO,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0004,Fall 2025,MO,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0005,Fall 2025,MO,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0006,Fall 2025,MO,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0007,Fall 2025,MO,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0008,Fall 2025,MO,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0009,Fall 2025,MO,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0010,Fall 2025,MO,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0011,Fall 2025,MO,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0012,Fall 2025,MO,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0013,Fall 2025,MO,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0014,Fall 2025,MO,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0015,Fall 2025,MO,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0016,Fall 2025,MO,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0017,Fall 2025,TU,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0018,Fall 2025,TU,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0019,Fall 2025,TU,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0020,Fall 2025,TU,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0021,Fall 2025,TU,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0022,Fall 2025,TU,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0023,Fall 2025,TU,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0024,Fall 2025,TU,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0025,Fall 2025,TU,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0026,Fall 2025,TU,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0027,Fall 2025,TU,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0028,Fall 2025,TU,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0029,Fall 2025,TU,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0030,Fall 2025,TU,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0031,Fall 2025,TU,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0032,Fall 2025,TU,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0033,Fall 2025,WE,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0034,Fall 2025,WE,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0035,Fall 2025,WE,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0036,Fall 2025,WE,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0037,Fall 2025,WE,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0038,Fall 2025,WE,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0039,Fall 2025,WE,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0040,Fall 2025,WE,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0041,Fall 2025,TH,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0042,Fall 2025,TH,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0043,Fall 2025,TH,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0044,Fall 2025,TH,09:00,12:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0045,Fall 2025,TH,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0046,Fall 2025,TH,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0047,Fall 2025,TH,14:00,17:00,Available on ACORN,24,,False,, , +CHMA10H3F,PRA0048,Fall 2025,TH,14:00,17:00,Available onACORN,20,24,False,IN_PERSON,, +CHMA10H3F,PRA0049,Fall 2025,TH,14:00,17:00,Available onACORN,23,24,False,IN_PERSON,, +CHMA10H3F,PRA0050,Fall 2025,TH,14:00,17:00,Available onACORN,22,24,False,IN_PERSON,, +CHMA10H3F,PRA0051,Fall 2025,TH,14:00,17:00,Available onACORN,19,24,False,IN_PERSON,, +CHMA10H3F,PRA0052,Fall 2025,TH,14:00,17:00,Available onACORN,23,24,False,IN_PERSON,, +CHMA10H3F,PRA0053,Fall 2025,TH,09:00,12:00,Available onACORN,22,24,False,IN_PERSON,, +CHMA10H3F,PRA0054,Fall 2025,TH,09:00,12:00,Available onACORN,22,24,False,IN_PERSON,, +CHMB16H3F,LEC01,Fall 2025,MO,10:00,12:00,Available on ACORN,128,,False,,K./ Room,change +CHMB16H3F,LEC01,Fall 2025,FR,12:00,13:00,Available on ACORN,128,,False,,K./ Room,change +CHMB16H3F,PRA0001,Fall 2025,TU,09:00,13:00,Available on ACORN,16,,False,, , +CHMB16H3F,PRA0002,Fall 2025,TU,09:00,13:00,Available on ACORN,16,,False,, , +CHMB16H3F,PRA0003,Fall 2025,TU,09:00,13:00,Available on ACORN,16,,False,, , +CHMB16H3F,PRA0004,Fall 2025,WE,13:00,17:00,Available onACORN,15,16,False,IN_PERSON,, +CHMB16H3F,PRA0005,Fall 2025,WE,13:00,17:00,Available onACORN,14,16,False,IN_PERSON,, +CHMB16H3F,PRA0006,Fall 2025,WE,13:00,17:00,Available onACORN,13,16,False,IN_PERSON,, +CHMB16H3F,PRA0007,Fall 2025,TH,09:00,13:00,Available onACORN,11,16,False,IN_PERSON,, +CHMB16H3F,PRA0008,Fall 2025,TH,09:00,13:00,Available onACORN,13,16,False,IN_PERSON,, +CHMB20H3F,LEC01,Fall 2025,MO,15:00,17:00,Available onACORN,19,21,True,IN_PERSON,"Voznyy, O.",Room change(05/09/24) +CHMB20H3F,LEC01,Fall 2025,TH,10:00,11:00,Available onACORN,19,21,True,IN_PERSON,"Voznyy, O.",Room change(05/09/24) +CHMB23H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,48,,False,,O. Room,change +CHMB23H3F,LEC01,Fall 2025,TH,10:00,11:00,Available on ACORN,48,,False,,O. Room,change +CHMB23H3F,PRA0001,Fall 2025,TU,09:00,12:00,Available on ACORN,16,,False,, , +CHMB23H3F,PRA0002,Fall 2025,TH,13:00,16:00,Available onACORN,14,16,False,IN_PERSON,, +CHMB23H3F,PRA0003,Fall 2025,TU,09:00,12:00,Available onACORN,13,16,False,IN_PERSON,, +CHMB23H3F,TUT0001,Fall 2025,TU,18:00,20:00,Available onACORN,20,24,False,IN_PERSON,, +CHMB23H3F,TUT0002,Fall 2025,TH,19:00,21:00,Available onACORN,21,24,False,IN_PERSON,, +CHMB31H3F,LEC01,Fall 2025,TU,14:00,16:00,Available on ACORN,98,128,True,IN_PERSON,"Hadzovic, A.", +CHMB31H3F,LEC01,Fall 2025,FR,14:00,15:00,Available on ACORN,98,128,True,IN_PERSON,"Hadzovic, A.", +CHMB31H3F,PRA0001,Fall 2025,MO,13:00,17:00,Available on ACORN,13,16,False,IN_PERSON, , +CHMB31H3F,PRA0002,Fall 2025,MO,13:00,17:00,Available on ACORN,14,16,False,IN_PERSON, , +CHMB31H3F,PRA0003,Fall 2025,WE,09:00,13:00,Available on ACORN,15,16,False,IN_PERSON, , +CHMB31H3F,PRA0004,Fall 2025,WE,09:00,13:00,Available on ACORN,13,16,False,IN_PERSON, , +CHMB31H3F,PRA0005,Fall 2025,WE,09:00,13:00,Available on ACORN,13,16,False,IN_PERSON, , +CHMB31H3F,PRA0006,Fall 2025,WE,09:00,13:00,Available on ACORN,11,16,False,IN_PERSON, , +CHMB31H3F,PRA0007,Fall 2025,MO,13:00,17:00,Available on ACORN,10,16,False,IN_PERSON, , +CHMB31H3F,PRA0008,Fall 2025,MO,13:00,17:00,Available on ACORN,9,16,False,IN_PERSON,, +CHMB41H3F,LEC01,Fall 2025,TU,10:00,11:00,Available on ACORN,213,300,True,IN_PERSON,"Dalili, S.", +CHMB41H3F,LEC01,Fall 2025,TH,10:00,12:00,Available on ACORN,213,300,True,IN_PERSON,"Dalili, S.", +CHMB41H3F,LEC02,Fall 2025,,,,64,100,,False,,"Asynchronous Dalili,",S. +CHMB41H3F,PRA0001,Fall 2025,WE,09:00,13:00,Available on ACORN,12,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0002,Fall 2025,WE,09:00,13:00,Available on ACORN,15,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0003,Fall 2025,WE,09:00,13:00,Available on ACORN,12,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0004,Fall 2025,WE,09:00,13:00,Available on ACORN,10,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0005,Fall 2025,WE,09:00,13:00,Available on ACORN,10,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0006,Fall 2025,WE,09:00,13:00,Available on ACORN,11,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0007,Fall 2025,WE,09:00,13:00,Available on ACORN,11,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0008,Fall 2025,WE,09:00,13:00,Available on ACORN,13,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0009,Fall 2025,TH,13:00,17:00,Available on ACORN,9,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0011,Fall 2025,TH,13:00,17:00,Available on ACORN,9,16,False,IN_PERSON, , +CHMB41H3F,PRA0012,Fall 2025,TH,13:00,17:00,Available on ACORN,9,16,False,IN_PERSON, , +CHMB41H3F,PRA0013,Fall 2025,TH,13:00,17:00,Available on ACORN,9,16,False,IN_PERSON, , +CHMB41H3F,PRA0014,Fall 2025,TH,13:00,17:00,Available on ACORN,11,16,False,IN_PERSON, , +CHMB41H3F,PRA0015,Fall 2025,TH,13:00,17:00,Available on ACORN,11,16,False,IN_PERSON, , +CHMB41H3F,PRA0016,Fall 2025,TH,13:00,17:00,Available on ACORN,11,16,False,IN_PERSON, , +CHMB41H3F,PRA0017,Fall 2025,FR,09:00,13:00,Available on ACORN,14,16,False,IN_PERSON, , +CHMB41H3F,PRA0018,Fall 2025,FR,09:00,13:00,Available on ACORN,7,16,False,IN_PERSON, , +CHMB41H3F,PRA0019,Fall 2025,FR,09:00,13:00,Available on ACORN,12,16,False,IN_PERSON, , +CHMB41H3F,PRA0020,Fall 2025,FR,09:00,13:00,Available on ACORN,13,16,False,IN_PERSON, , +CHMB41H3F,PRA0021,Fall 2025,FR,09:00,13:00,Available on ACORN,13,16,False,IN_PERSON, , +CHMB41H3F,PRA0022,Fall 2025,FR,09:00,13:00,Available on ACORN,12,16,False,IN_PERSON, , +CHMB41H3F,PRA0023,Fall 2025,FR,09:00,13:00,Available on ACORN,7,16,False,IN_PERSON, , +CHMB41H3F,PRA0024,Fall 2025,FR,09:00,13:00,Available on ACORN,12,16,False,IN_PERSON, , +CHMB41H3F,PRA0025,Fall 2025,FR,09:00,13:00,Available on ACORN,11,16,False,IN_PERSON, , +CHMB41H3F,PRA0026,Fall 2025,FR,09:00,13:00,Available on ACORN,0,16,False,IN_PERSON, , +CHMB41H3F,PRA0027,Fall 2025,FR,09:00,13:00,Available on ACORN,0,16,False,IN_PERSON, , +CHMB41H3F,PRA0028,Fall 2025,FR,09:00,13:00,Available on ACORN,0,16,False,IN_PERSON, , +CHMB41H3F,TUT0001,Fall 2025,TH,17:00,18:00,Available on ACORN,21,40,False,IN_PERSON, , +CHMB41H3F,TUT0002,Fall 2025,TH,17:00,18:00,Available on ACORN,30,40,False,IN_PERSON, , +CHMB41H3F,TUT0003,Fall 2025,TH,18:00,19:00,Available on ACORN,30,40,False,IN_PERSON, , +CHMB41H3F,TUT0004,Fall 2025,TH,19:00,20:00,Available on ACORN,25,40,False,IN_PERSON, , +CHMB41H3F,TUT0005,Fall 2025,TH,19:00,20:00,Available on ACORN,29,40,False,IN_PERSON, , +CHMB41H3F,TUT0006,Fall 2025,TH,19:00,20:00,Available on ACORN,25,40,False,IN_PERSON, , +CHMB41H3F,TUT0007,Fall 2025,TH,19:00,20:00,Available on ACORN,30,40,False,IN_PERSON, , +CHMB41H3F,TUT0008,Fall 2025,TH,19:00,20:00,Available on ACORN,30,40,False,IN_PERSON, , +CHMB41H3F,TUT0009,Fall 2025,TH,19:00,20:00,Available on ACORN,29,40,False,IN_PERSON,, +CHMB41H3F,TUT0010,Fall 2025,TH,19:00,20:00,Available on ACORN,28,40,False,IN_PERSON,, +CHMC11H3F,LEC01,Fall 2025,TH,14:00,17:00,Available onACORN,64,85,True,IN_PERSON,"Simpson,A.",Room change08/22/24 +CHMC20H3F,LEC01,Fall 2025,WE,12:00,14:00,Available on ACORN,3,30,True,IN_PERSON,"Izmaylov, A.", +CHMC47H3F,LEC01,Fall 2025,TU,17:00,18:00,Available on ACORN,112,,False,, , +CHMC47H3F,LEC01,Fall 2025,FR,09:00,11:00,Available on ACORN,112,,False,, , +CHMC47H3F,PRA0001,Fall 2025,MO,09:00,13:00,Available on ACORN,16,,False,, , +CHMC47H3F,PRA0002,Fall 2025,MO,09:00,13:00,Available on ACORN,16,,False,, , +CHMC47H3F,PRA0003,Fall 2025,MO,09:00,13:00,Available on ACORN,16,,False,, , +CHMC47H3F,PRA0004,Fall 2025,MO,09:00,13:00,Available on ACORN,16,,False,, , +CHMC47H3F,PRA0005,Fall 2025,TH,09:00,13:00,Available on ACORN,16,,False,, , +CHMC47H3F,PRA0006,Fall 2025,TH,09:00,13:00,Available onACORN,15,16,False,IN_PERSON,, +CHMC47H3F,PRA0007,Fall 2025,TH,09:00,13:00,Available onACORN,13,16,False,IN_PERSON,, +CHMD59H3F,LEC01,Fall 2025,WE,09:00,12:00,Available on ACORN,9,20,True,IN_PERSON,"Wania, F.", +CHMD69H3F,LEC01,Fall 2025,TU,10:00,12:00,Available on ACORN,9,20,True,IN_PERSON,"Hadzovic, A.", +CHMD79H3F,LEC01,Fall 2025,TH,14:00,16:00,Available on ACORN,23,30,True,IN_PERSON,"Zhang, X.", +CHMD90Y3Y,LEC01,Fall 2025,,,,Available on ACORN,19,20,True,IN_PERSON,"Zhang, X.", +CHMD91H3F,LEC01,Fall 2025,,,,Available on ACORN,0,20,True,IN_PERSON,"Zhang, X.", +CHMD91H3Y,LEC01,Fall 2025,,,,Available on ACORN,0,20,True,IN_PERSON,"Zhang, X.", +CITA01H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,280,,False,, , +CITA01H3F,TUT0001,Fall 2025,MO,13:00,14:00,Available on ACORN,46,,False,,change , +CITA01H3F,TUT0002,Fall 2025,MO,12:00,13:00,Available on ACORN,46,,False,, , +CITA01H3F,TUT0004,Fall 2025,MO,14:00,15:00,Available on ACORN,47,,False,, , +CITA01H3F,TUT0005,Fall 2025,MO,15:00,16:00,Available on ACORN,48,,False,, , +CITA01H3F,TUT0007,Fall 2025,MO,11:00,12:00,Available on ACORN,45,,False,, , +CITB04H3F,LEC01,Fall 2025,MO,09:00,11:00,Available onACORN,196,280,True,IN_PERSON,"Allahwala,A.", +CITB04H3F,TUT0001,Fall 2025,MO,13:00,14:00,Available onACORN,39,46,False,IN_PERSON,,Room change(21/08/24) +CITB04H3F,TUT0002,Fall 2025,MO,12:00,13:00,Available onACORN,40,46,False,IN_PERSON,, +CITB04H3F,TUT0004,Fall 2025,MO,14:00,15:00,Available onACORN,33,47,False,IN_PERSON,, +CITB04H3F,TUT0005,Fall 2025,MO,15:00,16:00,Available onACORN,38,48,False,IN_PERSON,, +CITB04H3F,TUT0007,Fall 2025,MO,11:00,12:00,Available onACORN,44,45,False,IN_PERSON,, +CITB04H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,57,120,True,IN_PERSON,"Hyde, Z.", +CITB04H3F,TUT0001,Fall 2025,MO,19:00,20:00,Available on ACORN,25,35,False,IN_PERSON,, +CITB04H3F,TUT0003,Fall 2025,MO,19:00,20:00,Available on ACORN,31,35,False,IN_PERSON,, +CITC07H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,60,60,True,IN_PERSON,"Allahwala, A.", +CITC12H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,54,60,True,IN_PERSON,"Hyde, Z.", +CITC14H3F,LEC01,Fall 2025,TH,19:00,21:00,Available on ACORN,46,60,True,IN_PERSON,"Snow, K.", +CITC16H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,50,60,True,IN_PERSON,"Anderson, V.", +CITD06H3F,LEC01,Fall 2025,TH,15:00,18:00,Available on ACORN,21,25,True,IN_PERSON,"Swerhun, N.", +CITD30H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +CLAA04H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,95,130,True,IN_PERSON,"Blouin, K.", +CLAA05H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,273,335,True,IN_PERSON,"Spurrier, T.", +CLAB05H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,50,72,True,IN_PERSON,"Cooper, K.", +CLAB09H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,5,19,True,IN_PERSON,"Dost, S.", +CLAC94H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,10,15,True,IN_PERSON,"Dost, S.", +COPB11H3F,LEC01,Fall 2025,WE,09:00,10:00,Available on ACORN,80,,False,,F. , +COPB11H3F,LEC02,Fall 2025,WE,10:00,11:00,Available on ACORN,80,,False,,F. , +COPB11H3F,LEC03,Fall 2025,TH,12:00,13:00,Available onACORN,80,80,True,IN_PERSON,"Haque, F.", +COPB11H3F,LEC04,Fall 2025,TH,16:00,17:00,Available onACORN,78,80,True,IN_PERSON,"McDowell (Simmons),K.", +COPB11H3F,LEC05,Fall 2025,TU,16:00,17:00,Available onACORN,79,81,True,IN_PERSON,"McDowell (Simmons),K.", +COPB11H3F,TUT0001,Fall 2025,TU,19:00,21:00,Available onACORN,370,450,False,IN_PERSON,, +COPB13H3F,LEC01,Fall 2025,TH,12:00,13:00,Available on ACORN,37,40,True,IN_PERSON,"COOK, E.", +COPB13H3F,LEC02,Fall 2025,TH,13:00,14:00,Available on ACORN,31,40,True,IN_PERSON,"Amiri, N.", +COPB13H3F,TUT0001,Fall 2025,TU,19:00,21:00,Available on ACORN,67,120,False,IN_PERSON,, +COPB30H3F,LEC01,Fall 2025,WE,09:00,11:00,Available onACORN,25,27,True,IN_PERSON,"Farkhari,G.",Room change(12/09/24) +COPB33H3Y,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,10,20,True,IN_PERSON,"Kanaan, M.", +COPB50H3F,LEC01,Fall 2025,,,,Available onACORN,980,1035,True,,"Heer, K./ Kowalchuk, A./Li, K./ Lott, A.", +COPB50H3F,PRA0001,Fall 2025,TH,15:00,17:00,Available onACORN,74,80,False,IN_PERSON,"Li, K.", +COPB50H3F,PRA0002,Fall 2025,TH,10:00,12:00,Available onACORN,127,135,False,IN_PERSON,"Heer, K./ Li, K.", +COPB50H3F,PRA0003,Fall 2025,TU,09:00,11:00,Available onACORN,115,120,False,IN_PERSON,"Kowalchuk, A./ Lott, A.", +COPB50H3F,PRA0004,Fall 2025,FR,09:00,11:00,Available onACORN,168,175,False,IN_PERSON,"Kowalchuk, A./ Lott, A.", +COPB50H3F,PRA0005,Fall 2025,WE,13:00,15:00,Available onACORN,87,90,False,IN_PERSON,"Heer, K.", +COPB50H3F,PRA0006,Fall 2025,FR,12:00,14:00,Available onACORN,255,300,False,IN_PERSON,"Kowalchuk, A./ Lott, A.", +COPB50H3F,PRA0007,Fall 2025,TU,17:00,19:00,Available onACORN,131,135,False,IN_PERSON,"Heer, K./ Kowalchuk, A./Li, K./ Lott, A.", +COPB51H3F,PRA0001,Fall 2025,,,,for,,,False,,in Physical,or +COPB51H3F,PRA0002,Fall 2025,,,,of,,,False,,and Health,Sciences. +COPB51H3F,PRA0003,Fall 2025,,,,for,,,False,,in Computer,Science +COPB51H3F,PRA0004,Fall 2025,WE,13:00,15:00,Available onACORN,44,86,False,IN_PERSON,"Heer, K.", +COPB51H3F,PRA0005,Fall 2025,TU,09:00,11:00,Available onACORN,18,80,False,IN_PERSON,"Kowalchuk,A.", +COPB52H3F,LEC01,Fall 2025,,,,Available onACORN,78,200,True,,"Chan, P./Natkunam, G.", +COPB52H3F,LEC02,Fall 2025,,,,Available onACORN,123,222,True,,"Abdoun Mohamed,M.", +COPB52H3F,LEC03,Fall 2025,,,,Available onACORN,9,120,True,,"Natkunam, G.", +COPB52H3F,PRA0001,Fall 2025,MO,15:00,17:00,Available onACORN,36,90,False,IN_PERSON,"Natkunam, G.", +COPB52H3F,PRA0002,Fall 2025,FR,09:00,11:00,Available onACORN,41,120,False,IN_PERSON,"Chan, P.", +COPB52H3F,PRA0003,Fall 2025,WE,09:00,11:00,Available onACORN,9,40,False,IN_PERSON,"Natkunam, G.", +COPB52H3F,PRA0004,Fall 2025,TU,09:00,11:00,Available onACORN,76,135,False,IN_PERSON,"Abdoun Mohamed,M.", +COPB52H3F,PRA0005,Fall 2025,TH,16:00,18:00,Available onACORN,48,86,False,IN_PERSON,"Abdoun Mohamed,M.", +COPB53H3F,LEC01,Fall 2025,,,,Available on ACORN,23,55,True,ONLINE_ASYNCHRONOUS,"Natkunam, G.", +COPB53H3F,LEC02,Fall 2025,,,,Available on ACORN,26,70,True,ONLINE_ASYNCHRONOUS,"Abdoun Mohamed, M.", +COPB53H3F,LEC03,Fall 2025,,,,Available on ACORN,3,40,True,ONLINE_ASYNCHRONOUS,"Natkunam, G.", +COPC98H3F,LEC01,Fall 2025,,,,Available on ACORN,15,160,True,ONLINE_ASYNCHRONOUS,"Chan, P.", +COPC98H3F,LEC02,Fall 2025,,,,Available on ACORN,19,125,True,ONLINE_ASYNCHRONOUS,"Abdoun Mohamed, M.", +COPC98H3F,LEC03,Fall 2025,,,,Available on ACORN,3,40,True,ONLINE_ASYNCHRONOUS,"Abdoun Mohamed, M.", +COPC99H3F,LEC01,Fall 2025,,,,Available on ACORN,10,20,True,ONLINE_ASYNCHRONOUS,"Chan, P.", +COPC99H3F,LEC02,Fall 2025,,,,Available on ACORN,41,65,True,ONLINE_ASYNCHRONOUS,"Abdoun Mohamed, M.", +CSCA08H3F,LEC01,Fall 2025,MO,12:00,13:00,Available on ACORN,131,150,True,IN_PERSON,"Huang, Y.", +CSCA08H3F,LEC01,Fall 2025,FR,13:00,15:00,Available on ACORN,131,150,True,IN_PERSON,"Huang, Y.", +CSCA08H3F,LEC02,Fall 2025,TU,13:00,14:00,Available on ACORN,135,150,True,IN_PERSON,"Gawde, P.", +CSCA08H3F,LEC02,Fall 2025,TH,13:00,15:00,Available on ACORN,135,150,True,IN_PERSON,"Gawde, P.", +CSCA08H3F,LEC03,Fall 2025,TU,15:00,16:00,Available on ACORN,142,150,True,IN_PERSON,"Gawde, P.", +CSCA08H3F,LEC03,Fall 2025,TH,15:00,17:00,Available on ACORN,142,150,True,IN_PERSON,"Gawde, P.", +CSCA08H3F,LEC04,Fall 2025,MO,16:00,17:00,Available on ACORN,134,150,True,IN_PERSON,"Huang, Y.", +CSCA08H3F,LEC04,Fall 2025,WE,13:00,15:00,Available on ACORN,134,150,True,IN_PERSON,"Huang, Y.", +CSCA20H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,178,234,True,IN_PERSON,"Harrington, B.", +CSCA20H3F,LEC02,Fall 2025,MO,11:00,13:00,Available on ACORN,243,300,True,IN_PERSON,"Harrington, B.", +CSCA20H3F,TUT0001,Fall 2025,MO,13:00,15:00,Available on ACORN,31,38,False,IN_PERSON, , +CSCA20H3F,TUT0002,Fall 2025,MO,15:00,17:00,Available on ACORN,37,38,False,IN_PERSON, , +CSCA20H3F,TUT0003,Fall 2025,TU,09:00,11:00,Available on ACORN,32,38,False,IN_PERSON, , +CSCA20H3F,TUT0004,Fall 2025,FR,09:00,11:00,Available on ACORN,31,38,False,IN_PERSON, , +CSCA20H3F,TUT0005,Fall 2025,TU,16:00,18:00,Available on ACORN,31,38,False,IN_PERSON, , +CSCA20H3F,TUT0006,Fall 2025,TU,18:00,20:00,Available on ACORN,23,38,False,IN_PERSON, , +CSCA20H3F,TUT0007,Fall 2025,TH,09:00,11:00,Available on ACORN,26,38,False,IN_PERSON, , +CSCA20H3F,TUT0008,Fall 2025,TH,11:00,13:00,Available on ACORN,32,38,False,IN_PERSON, , +CSCA20H3F,TUT0009,Fall 2025,TH,13:00,15:00,Available on ACORN,33,38,False,IN_PERSON, , +CSCA20H3F,TUT0010,Fall 2025,TH,15:00,17:00,Available on ACORN,29,38,False,IN_PERSON, , +CSCA20H3F,TUT0011,Fall 2025,TH,17:00,19:00,Available on ACORN,29,38,False,IN_PERSON, , +CSCA20H3F,TUT0012,Fall 2025,FR,11:00,13:00,Available on ACORN,27,38,False,IN_PERSON, , +CSCA20H3F,TUT0013,Fall 2025,FR,13:00,15:00,Available on ACORN,28,38,False,IN_PERSON, , +CSCA20H3F,TUT0014,Fall 2025,MO,09:00,11:00,Available on ACORN,31,38,False,IN_PERSON, , +CSCA67H3F,LEC01,Fall 2025,FR,09:00,11:00,Available on ACORN,200,,False,, , +CSCA67H3F,LEC02,Fall 2025,FR,11:00,13:00,Available on ACORN,200,,False,, , +CSCA67H3F,LEC03,Fall 2025,WE,11:00,13:00,Available on ACORN,156,,False,,M. , +CSCA67H3F,TUT0001,Fall 2025,TU,09:00,10:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0002,Fall 2025,WE,09:00,10:00,Available on ACORN,32,,False,, , +CSCA67H3F,TUT0003,Fall 2025,MO,13:00,14:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0004,Fall 2025,FR,14:00,15:00,Available on ACORN,32,,False,, , +CSCA67H3F,TUT0005,Fall 2025,MO,16:00,17:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0006,Fall 2025,TH,09:00,10:00,Available on ACORN,32,,False,, , +CSCA67H3F,TUT0007,Fall 2025,FR,13:00,14:00,Available on ACORN,32,,False,, , +CSCA67H3F,TUT0008,Fall 2025,MO,09:00,10:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0009,Fall 2025,TH,13:00,14:00,Available on ACORN,32,,False,, , +CSCA67H3F,TUT0010,Fall 2025,MO,09:00,10:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0011,Fall 2025,WE,11:00,12:00,Available on ACORN,33,,False,,change , +CSCA67H3F,TUT0012,Fall 2025,FR,13:00,14:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0013,Fall 2025,FR,14:00,15:00,Available on ACORN,32,,False,, , +CSCA67H3F,TUT0014,Fall 2025,TU,09:00,10:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0015,Fall 2025,TH,09:00,10:00,Available onACORN,26,33,False,IN_PERSON,, +CSCA67H3F,TUT0016,Fall 2025,WE,19:00,20:00,Available onACORN,26,33,False,IN_PERSON,, +CSCA67H3F,TUT0017,Fall 2025,WE,09:00,10:00,Available onACORN,25,33,False,IN_PERSON,, +CSCB07H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,118,120,True,IN_PERSON,"Abou Assi,",R. +CSCB07H3F,LEC02,Fall 2025,MO,19:00,21:00,Available on ACORN,57,84,True,IN_PERSON,"Abou Assi,",R. +CSCB07H3F,TUT0001,Fall 2025,TU,11:00,12:00,Available on ACORN,32,34,False,IN_PERSON, , +CSCB07H3F,TUT0002,Fall 2025,TU,12:00,13:00,Available on ACORN,30,34,False,IN_PERSON, , +CSCB07H3F,TUT0003,Fall 2025,MO,09:00,10:00,Available on ACORN,28,34,False,IN_PERSON, , +CSCB07H3F,TUT0004,Fall 2025,WE,13:00,14:00,Available on ACORN,31,34,False,IN_PERSON, , +CSCB07H3F,TUT0005,Fall 2025,WE,14:00,15:00,Available on ACORN,26,34,False,IN_PERSON,, +CSCB07H3F,TUT0006,Fall 2025,MO,10:00,11:00,Available on ACORN,28,34,False,IN_PERSON,, +CSCB36H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,108,120,True,IN_PERSON,"Cheng, N.", +CSCB36H3F,LEC01,Fall 2025,FR,14:00,15:00,Available on ACORN,108,120,True,IN_PERSON,"Cheng, N.", +CSCB36H3F,LEC02,Fall 2025,WE,09:00,11:00,Available on ACORN,52,120,True,IN_PERSON,"Cheng, N.", +CSCB36H3F,LEC02,Fall 2025,FR,11:00,12:00,Available on ACORN,52,120,True,IN_PERSON,"Cheng, N.", +CSCB36H3F,TUT0001,Fall 2025,WE,13:00,14:00,Available on ACORN,36,38,False,IN_PERSON,, +CSCB36H3F,TUT0002,Fall 2025,MO,14:00,15:00,Available on ACORN,29,38,False,IN_PERSON,, +CSCB36H3F,TUT0003,Fall 2025,TH,15:00,16:00,Available on ACORN,32,38,False,IN_PERSON,, +CSCB36H3F,TUT0004,Fall 2025,TU,12:00,13:00,Available on ACORN,31,38,False,IN_PERSON,, +CSCB36H3F,TUT0005,Fall 2025,TU,16:00,17:00,Available on ACORN,32,38,False,IN_PERSON,, +CSCC09H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,52,80,True,IN_PERSON,"Sans, T.", +CSCC09H3F,LEC02,Fall 2025,WE,14:00,16:00,Available on ACORN,45,80,True,IN_PERSON,"Sans, T.", +CSCC09H3F,PRA0001,Fall 2025,FR,13:00,15:00,Available on ACORN,18,35,False,IN_PERSON, , +CSCC09H3F,PRA0002,Fall 2025,TH,11:00,13:00,Available on ACORN,31,35,False,IN_PERSON,, +CSCC09H3F,PRA0003,Fall 2025,TH,13:00,15:00,Available on ACORN,28,35,False,IN_PERSON,, +CSCC09H3F,PRA0004,Fall 2025,TH,15:00,17:00,Available on ACORN,19,35,False,IN_PERSON,, +CSCC10H3F,LEC01,Fall 2025,TU,14:00,16:00,Available onACORN,72,120,True,IN_PERSON,"Nizam, N.",Room change08/28/24 +CSCC10H3F,TUT0001,Fall 2025,WE,11:00,12:00,Available onACORN,28,40,False,IN_PERSON,, +CSCC10H3F,TUT0002,Fall 2025,FR,10:00,11:00,Available onACORN,22,40,False,IN_PERSON,, +CSCC10H3F,TUT0003,Fall 2025,FR,11:00,12:00,Available onACORN,22,40,False,IN_PERSON,, +CSCC11H3F,LEC01,Fall 2025,FR,11:00,13:00,Available on ACORN,63,120,True,IN_PERSON,"Huang, Y.", +CSCC11H3F,TUT0001,Fall 2025,TU,14:00,15:00,Available on ACORN,28,35,False,IN_PERSON,, +CSCC11H3F,TUT0002,Fall 2025,TH,13:00,14:00,Available on ACORN,22,35,False,IN_PERSON,, +CSCC11H3F,TUT0003,Fall 2025,TU,09:00,10:00,Available on ACORN,13,35,False,IN_PERSON,, +CSCC37H3F,LEC01,Fall 2025,MO,14:00,17:00,Available on ACORN,175,,False,,R. Room,change +CSCC37H3F,LEC02,Fall 2025,FR,10:00,13:00,Available on ACORN,175,,False,,R. , +CSCC37H3F,TUT0001,Fall 2025,WE,09:00,10:00,Available on ACORN,34,,False,, , +CSCC37H3F,TUT0002,Fall 2025,TU,09:00,10:00,Available on ACORN,34,,False,, , +CSCC37H3F,TUT0003,Fall 2025,WE,11:00,12:00,Available on ACORN,34,,False,, , +CSCC37H3F,TUT0004,Fall 2025,TH,10:00,11:00,Available on ACORN,34,,False,, , +CSCC37H3F,TUT0005,Fall 2025,TH,09:00,10:00,Available on ACORN,34,,False,, , +CSCC37H3F,TUT0006,Fall 2025,TH,14:00,15:00,Available on ACORN,34,,False,, , +CSCC37H3F,TUT0007,Fall 2025,FR,09:00,10:00,Available on ACORN,34,,False,, , +CSCC37H3F,TUT0008,Fall 2025,WE,19:00,20:00,Available on ACORN,34,,False,, , +CSCC37H3F,TUT0009,Fall 2025,WE,13:00,14:00,Available on ACORN,34,,False,, , +CSCC37H3F,TUT0010,Fall 2025,TH,12:00,13:00,Available onACORN,28,34,False,IN_PERSON,, +CSCC73H3F,LEC01,Fall 2025,MO,11:00,12:00,Available on ACORN,120,,False,,Room change, +CSCC73H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,120,,False,,Room change, +CSCC73H3F,LEC02,Fall 2025,MO,13:00,14:00,Available on ACORN,60,,False,,Room change, +CSCC73H3F,LEC02,Fall 2025,WE,13:00,15:00,Available on ACORN,60,,False,,Room change, +CSCC73H3F,TUT0001,Fall 2025,FR,10:00,11:00,Available on ACORN,70,,False,, , +CSCC73H3F,TUT0002,Fall 2025,FR,13:00,14:00,Available on ACORN,70,,False,,change , +CSCC73H3F,TUT0003,Fall 2025,TH,16:00,17:00,Available onACORN,58,70,False,IN_PERSON,, +CSCC85H3F,LEC01,Fall 2025,WE,11:00,13:00,Available onACORN,39,60,True,IN_PERSON,"Estrada, F.", +CSCC85H3F,PRA0001,Fall 2025,TH,18:00,21:00,Available onACORN,32,40,False,IN_PERSON,,Room change(28/10/24) +CSCC85H3F,TUT0001,Fall 2025,TH,15:00,16:00,Available onACORN,19,25,False,IN_PERSON,,Room change(28/10/24) +CSCC85H3F,TUT0002,Fall 2025,TH,16:00,17:00,Available onACORN,18,25,False,IN_PERSON,,Room change(28/10/24) +CSCD01H3F,LEC01,Fall 2025,TU,17:00,19:00,Available on ACORN,120,,False,,A./ , +CSCD01H3F,LEC02,Fall 2025,TH,17:00,19:00,Available on ACORN,80,,False,,A./ , +CSCD01H3F,TUT0001,Fall 2025,WE,19:00,20:00,Available on ACORN,30,,False,,change , +CSCD01H3F,TUT0002,Fall 2025,FR,14:00,15:00,Available onACORN,28,30,False,IN_PERSON,,Room change(28/10/24) +CSCD01H3F,TUT0003,Fall 2025,WE,16:00,17:00,Available onACORN,27,30,False,IN_PERSON,,Room change(28/10/24) +CSCD01H3F,TUT0004,Fall 2025,TU,19:00,20:00,Available onACORN,30,30,False,IN_PERSON,,Room change(28/10/24) +CSCD01H3F,TUT0005,Fall 2025,TU,16:00,17:00,Available onACORN,30,30,False,IN_PERSON,,Room change(28/10/24) +CSCD01H3F,TUT0006,Fall 2025,TU,20:00,21:00,Available onACORN,24,30,False,IN_PERSON,,Room change(28/10/24) +CSCD03H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,51,60,True,IN_PERSON,"Harrington, B.", +CSCD03H3F,TUT0001,Fall 2025,WE,13:30,14:00,Available on ACORN,12,15,False,IN_PERSON, , +CSCD03H3F,TUT0002,Fall 2025,WE,14:00,14:30,Available on ACORN,14,15,False,IN_PERSON, , +CSCD03H3F,TUT0003,Fall 2025,WE,14:30,15:00,Available on ACORN,10,15,False,IN_PERSON, , +CSCD03H3F,TUT0004,Fall 2025,WE,15:00,15:30,Available on ACORN,14,15,False,IN_PERSON,, +CSCD18H3F,LEC01,Fall 2025,TH,13:00,15:00,Available onACORN,47,60,True,IN_PERSON,"Estrada, F.",Room change08/28/24 +CSCD18H3F,TUT0001,Fall 2025,MO,14:00,15:00,Available onACORN,29,35,False,IN_PERSON,, +CSCD18H3F,TUT0002,Fall 2025,WE,10:00,11:00,Available onACORN,18,35,False,IN_PERSON,,Room change08/22/24 +CSCD27H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,107,120,True,IN_PERSON,"Sans, T.", +CSCD27H3F,PRA0001,Fall 2025,MO,11:00,12:00,Available on ACORN,27,34,False,IN_PERSON, , +CSCD27H3F,PRA0002,Fall 2025,TU,13:00,14:00,Available on ACORN,31,34,False,IN_PERSON, , +CSCD27H3F,PRA0003,Fall 2025,TU,15:00,16:00,Available on ACORN,17,34,False,IN_PERSON, , +CSCD27H3F,PRA0004,Fall 2025,WE,15:00,16:00,Available on ACORN,30,34,False,IN_PERSON, , +CSCD27H3F,TUT0001,Fall 2025,MO,10:00,11:00,Available on ACORN,24,34,False,IN_PERSON, , +CSCD27H3F,TUT0002,Fall 2025,TU,10:00,11:00,Available on ACORN,23,34,False,IN_PERSON,, +CSCD27H3F,TUT0003,Fall 2025,TU,15:00,16:00,Available on ACORN,27,34,False,IN_PERSON,, +CSCD27H3F,TUT0004,Fall 2025,WE,16:00,17:00,Available on ACORN,31,34,False,IN_PERSON,, +CSCD54H3F,LEC01,Fall 2025,MO,09:00,11:00,Available onACORN,7,20,True,IN_PERSON,"Kontozopoulos,H.", +CSCD54H3F,TUT0001,Fall 2025,TU,16:00,17:00,Available onACORN,7,20,False,IN_PERSON,, +CSCD58H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,45,90,True,IN_PERSON,"Ponce Castro, M.", +CSCD58H3F,LEC01,Fall 2025,TH,10:00,11:00,Available on ACORN,45,90,True,IN_PERSON,"Ponce Castro, M.", +CSCD58H3F,TUT0001,Fall 2025,TH,13:00,14:00,Available on ACORN,33,50,False,IN_PERSON,, +CSCD58H3F,TUT0002,Fall 2025,FR,11:00,12:00,Available on ACORN,12,50,False,IN_PERSON,, +CSCD71H3F,LEC01,Fall 2025,FR,12:00,14:00,Available on ACORN,10,20,True,IN_PERSON,"Ponce Castro, M.", +CSCD71H3F,TUT0001,Fall 2025,FR,14:00,15:00,Available on ACORN,10,20,False,IN_PERSON,, +CSCD90H3F,LEC01,Fall 2025,MO,13:00,15:00,Available onACORN,7,20,True,IN_PERSON,"Kontozopoulos,H.", +CSCD90H3F,TUT0001,Fall 2025,TU,17:00,18:00,Available onACORN,7,20,False,IN_PERSON,, +CSCD92H3F,LEC01,Fall 2025,,,,Available on ACORN,0,10,True,IN_PERSON,, +CSCD94H3F,LEC01,Fall 2025,,,,Available on ACORN,3,10,True,IN_PERSON,, +CSCD94H3Y,LEC01,Fall 2025,,,,Available on ACORN,0,5,True,IN_PERSON,, +CSCD95H3F,LEC01,Fall 2025,,,,Available on ACORN,1,10,True,IN_PERSON,, +CTLA01H3F,LEC01,Fall 2025,TU,11:00,13:00,Available onACORN,39,40,True,IN_PERSON,"Huo, X.", +CTLA01H3F,PRA0001,Fall 2025,WE,12:00,13:00,Available onACORN,22,22,False,IN_PERSON,,v +CTLA01H3F,PRA0002,Fall 2025,WE,11:00,12:00,Available onACORN,17,22,False,IN_PERSON,,Room change09/03/24 +CTLB03H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,13,25,True,IN_PERSON,"Persaud, K.", +ECTB58H3F,LEC01,Fall 2025,TH,10:00,12:00,Available on ACORN,29,30,True,IN_PERSON,"Payne, C.", +ECTB60H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,30,30,True,IN_PERSON,"Ma, J.", +ECTB61H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,29,30,True,IN_PERSON,"Ma, J.", +ECTB61H3F,LEC02,Fall 2025,TH,15:00,17:00,Available on ACORN,30,30,True,IN_PERSON,"Ma, J.", +ECTC61H3F,LEC01,Fall 2025,TH,18:00,20:00,Available on ACORN,30,30,True,IN_PERSON,"Ma, J.", +ECTC63H3F,LEC01,Fall 2025,WE,10:00,12:00,Available on ACORN,30,30,True,IN_PERSON,"Payne, C.", +ECTC67H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,20,20,True,IN_PERSON,"Payne, C.", +ECTD65H3F,LEC01,Fall 2025,TU,10:00,12:00,Available on ACORN,25,30,True,IN_PERSON,"Payne, C.", +ECTD68H3F,LEC01,Fall 2025,TU,16:00,18:00,Available on ACORN,18,30,True,IN_PERSON,"Wang, R.", +ECTD68H3F,LEC101,Fall 2025,TU,13:00,16:00,Available onACORN,16,40,True,IN_PERSON,"Arnillas Merino,C.", +ECTD68H3F,LEC101,Fall 2025,WE,18:30,21:30,Available on ACORN,11,35,True,IN_PERSON,"Mitchell, C.", +ECTD68H3F,LEC101,Fall 2025,TU,18:00,21:00,Available on ACORN,21,25,True,IN_PERSON,"Mirza, M.", +ECTD68H3F,LEC101,Fall 2025,TH,13:00,15:00,Available on ACORN,7,44,True,ONLINE_SYNCHRONOUS,"Ligeti, E.", +EESA01H3F,LEC101,Fall 2025,TU,09:00,12:00,Available on ACORN,34,40,True,IN_PERSON,"Livingstone, S.", +EESA01H3F,PRA0001,Fall 2025,TH,09:00,11:00,Available on ACORN,19,21,False,IN_PERSON, , +EESA01H3F,PRA0002,Fall 2025,TH,09:00,11:00,Available on ACORN,21,21,False,IN_PERSON, , +EESA01H3F,PRA0003,Fall 2025,TH,09:00,11:00,Available on ACORN,20,21,False,IN_PERSON, , +EESA01H3F,PRA0004,Fall 2025,TH,09:00,11:00,Available on ACORN,19,21,False,IN_PERSON, , +EESA01H3F,PRA0005,Fall 2025,TH,11:00,13:00,Available on ACORN,21,21,False,IN_PERSON, , +EESA01H3F,PRA0006,Fall 2025,TH,11:00,13:00,Available on ACORN,19,21,False,IN_PERSON, , +EESA01H3F,PRA0007,Fall 2025,TH,11:00,13:00,Available on ACORN,17,21,False,IN_PERSON, , +EESA01H3F,PRA0008,Fall 2025,TH,11:00,13:00,Available on ACORN,20,21,False,IN_PERSON, , +EESA01H3F,PRA0009,Fall 2025,TH,13:00,15:00,Available on ACORN,21,21,False,IN_PERSON, , +EESA01H3F,PRA0010,Fall 2025,TH,13:00,15:00,Available on ACORN,20,21,False,IN_PERSON, , +EESA01H3F,PRA0011,Fall 2025,TH,13:00,15:00,Available on ACORN,20,21,False,IN_PERSON, , +EESA01H3F,PRA0012,Fall 2025,TH,13:00,15:00,Available on ACORN,19,21,False,IN_PERSON, , +EESA01H3F,PRA0013,Fall 2025,TH,15:00,17:00,Available on ACORN,21,21,False,IN_PERSON, , +EESA01H3F,PRA0014,Fall 2025,TH,15:00,17:00,Available on ACORN,18,21,False,IN_PERSON, , +EESA01H3F,PRA0015,Fall 2025,FR,09:00,11:00,Available on ACORN,21,21,False,IN_PERSON, , +EESA01H3F,PRA0016,Fall 2025,FR,09:00,11:00,Available on ACORN,18,21,False,IN_PERSON, , +EESA01H3F,PRA0017,Fall 2025,FR,09:00,11:00,Available on ACORN,19,21,False,IN_PERSON, , +EESA01H3F,PRA0018,Fall 2025,FR,09:00,11:00,Available on ACORN,19,21,False,IN_PERSON, , +EESA01H3F,PRA0019,Fall 2025,FR,11:00,13:00,Available on ACORN,19,21,False,IN_PERSON, , +EESA01H3F,PRA0020,Fall 2025,FR,11:00,13:00,Available on ACORN,21,21,False,IN_PERSON, , +EESA01H3F,PRA0021,Fall 2025,FR,11:00,13:00,Available on ACORN,20,21,False,IN_PERSON, , +EESA01H3F,PRA0022,Fall 2025,FR,11:00,13:00,Available on ACORN,19,21,False,IN_PERSON, , +EESA01H3F,PRA0023,Fall 2025,TH,15:00,17:00,Available on ACORN,19,21,False,IN_PERSON, , +EESA01H3F,PRA0024,Fall 2025,TH,15:00,17:00,Available on ACORN,19,21,False,IN_PERSON, , +EESA01H3F,PRA0025,Fall 2025,FR,13:00,15:00,Available on ACORN,20,21,False,IN_PERSON, , +EESA01H3F,PRA0026,Fall 2025,FR,13:00,15:00,Available on ACORN,18,21,False,IN_PERSON, , +EESA01H3F,PRA0027,Fall 2025,FR,13:00,15:00,Available on ACORN,15,21,False,IN_PERSON,, +EESA01H3F,PRA0028,Fall 2025,FR,13:00,15:00,Available on ACORN,0,21,False,IN_PERSON,, +EESA07H3F,LEC01,Fall 2025,MO,19:00,22:00,Available on ACORN,304,335,True,IN_PERSON,"Stefanovic, J.", +EESA09H3F,LEC01,Fall 2025,TH,15:00,18:00,Available on ACORN,95,300,True,IN_PERSON,"Mohsin, T.", +EESB02H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,55,80,True,IN_PERSON,"Meriano, M.", +EESB02H3F,PRA0001,Fall 2025,WE,09:00,11:00,Available on ACORN,15,21,False,IN_PERSON,, +EESB02H3F,PRA0002,Fall 2025,WE,11:00,13:00,Available on ACORN,18,21,False,IN_PERSON,, +EESB02H3F,PRA0003,Fall 2025,WE,13:00,15:00,Available on ACORN,15,21,False,IN_PERSON,, +EESB02H3F,PRA0004,Fall 2025,WE,15:00,17:00,Available on ACORN,7,21,False,IN_PERSON,, +EESB04H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,149,175,True,IN_PERSON,"Mitchell, C.", +EESB04H3F,TUT0001,Fall 2025,TH,11:00,13:00,Available on ACORN,39,40,False,IN_PERSON,, +EESB04H3F,TUT0002,Fall 2025,WE,19:00,21:00,Available on ACORN,39,40,False,IN_PERSON,, +EESB04H3F,TUT0003,Fall 2025,TH,09:00,11:00,Available on ACORN,33,36,False,IN_PERSON,, +EESB04H3F,TUT0005,Fall 2025,WE,09:00,11:00,Available on ACORN,36,40,False,IN_PERSON,, +EESB05H3F,LEC01,Fall 2025,FR,10:00,12:00,Available on ACORN,109,120,True,IN_PERSON,"Sujeeun, L.", +EESB05H3F,PRA0001,Fall 2025,TU,12:00,15:00,Available on ACORN,18,21,False,IN_PERSON,, +EESB05H3F,PRA0002,Fall 2025,TU,15:00,18:00,Available on ACORN,21,21,False,IN_PERSON,, +EESB05H3F,PRA0003,Fall 2025,TU,12:00,15:00,Available on ACORN,18,21,False,IN_PERSON,, +EESB05H3F,PRA0004,Fall 2025,TU,15:00,18:00,Available on ACORN,19,21,False,IN_PERSON,, +EESB05H3F,PRA0005,Fall 2025,TU,09:00,12:00,Available on ACORN,19,21,False,IN_PERSON,, +EESB05H3F,PRA0006,Fall 2025,TU,09:00,12:00,Available on ACORN,12,21,False,IN_PERSON,, +EESB15H3F,LEC01,Fall 2025,TU,12:00,13:00,Available on ACORN,92,96,True,IN_PERSON,"Daxberger, H.", +EESB15H3F,LEC01,Fall 2025,WE,16:00,17:00,Available on ACORN,92,96,True,IN_PERSON,"Daxberger, H.", +EESB15H3F,TUT0001,Fall 2025,MO,08:00,10:00,Available on ACORN,25,40,False,IN_PERSON,, +EESB15H3F,TUT0002,Fall 2025,TU,09:00,11:00,Available on ACORN,34,35,False,IN_PERSON,, +EESB15H3F,TUT0003,Fall 2025,FR,08:00,10:00,Available on ACORN,33,40,False,IN_PERSON,, +EESB18H3F,LEC01,Fall 2025,TH,15:00,18:00,Available on ACORN,50,60,True,IN_PERSON,"Meriano, M.", +EESC07H3F,LEC01,Fall 2025,MO,19:00,21:00,Available onACORN,52,86,True,IN_PERSON,"Zaknic-Catovic,A.", +EESC20H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,19,42,True,IN_PERSON,"Simpson, M.", +EESC20H3F,TUT0001,Fall 2025,TH,12:00,13:00,Available on ACORN,19,42,False,IN_PERSON,, +EESC22H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,17,20,True,IN_PERSON,"Meulendyk, T.", +EESC22H3F,PRA0001,Fall 2025,TU,15:00,17:00,Available on ACORN,10,10,False,IN_PERSON,, +EESC22H3F,PRA0002,Fall 2025,TU,13:00,15:00,Available on ACORN,7,10,False,IN_PERSON,, +EESC24H3F,LEC01,Fall 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,"Dittrich, M.", +EESC31H3F,LEC01,Fall 2025,TH,18:00,20:00,Available on ACORN,15,40,True,IN_PERSON,"Sookhan, S.", +EESC33H3F,LEC01,Fall 2025,TH,18:00,20:00,Available on ACORN,15,40,True,IN_PERSON,"Sookhan, S.", +EESC33H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,19,20,True,IN_PERSON,"Wells, M.", +EESC34H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,50,60,True,IN_PERSON,"MacLellan, J.", +EESC34H3F,TUT0001,Fall 2025,TU,11:00,12:00,Available on ACORN,50,60,False,IN_PERSON,, +EESC36H3F,LEC01,Fall 2025,TU,14:00,16:00,Available on ACORN,11,24,True,IN_PERSON,"Daxberger, H.", +EESC36H3F,PRA0001,Fall 2025,WE,13:00,16:00,Available on ACORN,11,15,False,IN_PERSON,, +EESC36H3F,PRA0002,Fall 2025,WE,09:00,12:00,Available on ACORN,0,15,False,IN_PERSON,, +EESD06H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,27,38,True,IN_PERSON,"Mohsin, T.", +EESD06H3F,TUT0001,Fall 2025,TU,15:00,16:00,Available on ACORN,27,38,False,IN_PERSON,, +EESD09H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,"Martin, A.", +EESD09H3Y,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,"Martin, A.", +EESD10Y3Y,LEC01,Fall 2025,,,,Available on ACORN,3,20,True,IN_PERSON,"Martin, A.", +EESD13H3F,LEC01,Fall 2025,TH,19:00,21:00,Available on ACORN,48,50,True,ONLINE_SYNCHRONOUS,"Rempe, G.", +EESD15H3F,LEC01,Fall 2025,FR,12:00,15:00,Available on ACORN,22,40,True,IN_PERSON,"Stefanovic, S.", +EESD17Y3Y,LEC01,Fall 2025,TH,18:00,20:00,Available on ACORN,2,10,True,IN_PERSON,"MacLellan, J.", +EESD21H3F,LEC01,Fall 2025,TU,18:00,21:00,Available on ACORN,10,10,True,IN_PERSON,"Mirza, M.", +EESD31H3F,LEC01,Fall 2025,MO,14:00,16:00,Available on ACORN,12,15,True,IN_PERSON,"Mohsin, T.", +EESD31H3F,TUT0001,Fall 2025,MO,16:00,17:00,Available on ACORN,12,15,False,IN_PERSON,, +ENGA01H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,274,300,True,IN_PERSON,"Stafford, R.", +ENGA01H3F,TUT0001,Fall 2025,WE,19:00,20:00,Available on ACORN,24,25,False,IN_PERSON,, +ENGA01H3F,TUT0002,Fall 2025,WE,16:00,17:00,Available on ACORN,21,25,False,IN_PERSON,, +ENGA01H3F,TUT0003,Fall 2025,FR,10:00,11:00,Available on ACORN,21,25,False,IN_PERSON,, +ENGA01H3F,TUT0004,Fall 2025,TH,17:00,18:00,Available on ACORN,24,25,False,IN_PERSON,, +ENGA01H3F,TUT0005,Fall 2025,TH,17:00,18:00,Available on ACORN,23,25,False,IN_PERSON,, +ENGA01H3F,TUT0006,Fall 2025,TH,18:00,19:00,Available on ACORN,23,25,False,IN_PERSON,, +ENGA01H3F,TUT0007,Fall 2025,FR,11:00,12:00,Available on ACORN,25,25,False,IN_PERSON,, +ENGA01H3F,TUT0008,Fall 2025,FR,09:00,10:00,Available on ACORN,22,25,False,IN_PERSON,, +ENGA01H3F,TUT0009,Fall 2025,FR,09:00,10:00,Available on ACORN,23,25,False,IN_PERSON,, +ENGA01H3F,TUT0010,Fall 2025,TH,18:00,19:00,Available on ACORN,22,25,False,IN_PERSON,, +ENGA01H3F,TUT0011,Fall 2025,TU,12:00,13:00,Available on ACORN,23,25,False,IN_PERSON,, +ENGA01H3F,TUT0012,Fall 2025,TU,18:00,19:00,Available on ACORN,22,25,False,IN_PERSON,, +ENGA02H3F,LEC01,Fall 2025,MO,10:00,13:00,Available on ACORN,24,25,True,IN_PERSON,"Elkaim, J.", +ENGA02H3F,LEC02,Fall 2025,TU,09:00,12:00,Available on ACORN,24,25,True,IN_PERSON,"Dufoe, N.", +ENGA02H3F,LEC03,Fall 2025,WE,19:00,22:00,Available on ACORN,22,25,True,ONLINE_SYNCHRONOUS,"Keyzad, N.", +ENGA02H3F,LEC04,Fall 2025,TH,19:00,22:00,Available on ACORN,23,25,True,ONLINE_SYNCHRONOUS,"Reid, M.", +ENGA02H3F,LEC05,Fall 2025,FR,10:00,13:00,Available on ACORN,22,25,True,IN_PERSON,"Brooks, D.", +ENGA03H3F,LEC01,Fall 2025,TU,17:00,19:00,Available onACORN,142,155,True,IN_PERSON,"Tysdal, D.",Room change08/22/24 +ENGA03H3F,TUT0001,Fall 2025,TU,19:00,20:00,Available onACORN,25,26,False,IN_PERSON,, +ENGA03H3F,TUT0002,Fall 2025,TU,19:00,20:00,Available onACORN,23,26,False,IN_PERSON,, +ENGA03H3F,TUT0003,Fall 2025,TU,20:00,21:00,Available onACORN,21,26,False,IN_PERSON,, +ENGA03H3F,TUT0004,Fall 2025,TU,20:00,21:00,Available onACORN,23,26,False,IN_PERSON,, +ENGA03H3F,TUT0005,Fall 2025,FR,10:00,11:00,Available onACORN,25,26,False,IN_PERSON,, +ENGA03H3F,TUT0006,Fall 2025,FR,11:00,12:00,Available onACORN,25,25,False,IN_PERSON,, +ENGA10H3F,LEC01,Fall 2025,WE,10:00,12:00,Available on ACORN,424,490,True,IN_PERSON,"Leonard, G.", +ENGB01H3F,LEC01,Fall 2025,MO,10:00,13:00,Available on ACORN,44,50,True,IN_PERSON,"Lundy, R.", +ENGB17H3F,LEC01,Fall 2025,WE,14:00,17:00,Available on ACORN,32,40,True,IN_PERSON,"Macdonald, G.", +ENGB26H3F,LEC01,Fall 2025,TH,10:00,13:00,Available on ACORN,52,60,True,IN_PERSON,"Gaston, K.", +ENGB27H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,91,120,True,IN_PERSON,"Chakravarty, U.", +ENGB27H3F,TUT0001,Fall 2025,MO,15:00,16:00,Available on ACORN,26,30,False,IN_PERSON,, +ENGB27H3F,TUT0002,Fall 2025,MO,16:00,17:00,Available on ACORN,28,30,False,IN_PERSON,, +ENGB27H3F,TUT0003,Fall 2025,MO,16:00,17:00,Available on ACORN,25,30,False,IN_PERSON,, +ENGB27H3F,TUT0004,Fall 2025,MO,19:00,20:00,Available on ACORN,12,30,False,IN_PERSON,, +ENGB30H3F,LEC01,Fall 2025,TU,15:00,18:00,Available on ACORN,81,100,True,IN_PERSON,"Wey, L.", +ENGB32H3F,LEC01,Fall 2025,WE,10:00,13:00,Available on ACORN,23,50,True,IN_PERSON,"Craig, H.", +ENGB35H3F,LEC01,Fall 2025,TH,14:00,17:00,Available on ACORN,111,120,True,IN_PERSON,"Krongold, J.", +ENGB60H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,19,20,True,IN_PERSON,"Tysdal, D.", +ENGB61H3F,LEC01,Fall 2025,WE,10:00,12:00,Available on ACORN,21,20,True,IN_PERSON,"Cardwell, E.", +ENGB63H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,21,20,True,IN_PERSON,"Westoll, A.", +ENGB78H3F,LEC01,Fall 2025,MO,09:00,12:00,Available on ACORN,21,45,True,IN_PERSON,"Craig, H.", +ENGC04H3F,LEC01,Fall 2025,TU,09:00,11:00,Available onACORN,18,20,True,IN_PERSON,"Tysdal, D.",Room change08/28/24 +ENGC05H3F,LEC01,Fall 2025,TU,16:00,18:00,Available on ACORN,7,20,True,IN_PERSON,"Healey, E.", +ENGC10H3F,LEC01,Fall 2025,TH,10:00,13:00,Available on ACORN,39,45,True,IN_PERSON,"Wey, L.", +ENGC19H3F,LEC01,Fall 2025,FR,10:00,13:00,Available on ACORN,25,45,True,IN_PERSON,"Soni, R.", +ENGC25H3F,LEC01,Fall 2025,WE,14:00,17:00,Available on ACORN,42,45,True,IN_PERSON,"Bolus-Reichert, C.", +ENGC51H3F,LEC01,Fall 2025,TU,10:00,13:00,Available on ACORN,42,45,True,IN_PERSON,"Assif, M.", +ENGC79H3F,LEC01,Fall 2025,TU,10:00,13:00,Available onACORN,42,45,True,IN_PERSON,"Sparrow-Downes,R.", +ENGC86H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,7,20,True,IN_PERSON,"Lundy, R.", +ENGC88H3F,LEC01,Fall 2025,TU,14:00,16:00,Available on ACORN,18,20,True,IN_PERSON,"Westoll, A.", +ENGC89H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,5,20,True,IN_PERSON,"Connell, J.", +ENGD02Y3Y,LEC01,Fall 2025,MO,14:00,17:00,Available on ACORN,14,15,True,IN_PERSON,"Assif, M.", +ENGD22H3F,LEC01,Fall 2025,MO,10:00,12:00,Available on ACORN,16,20,True,IN_PERSON,"Cardwell, E.", +ENGD26Y3Y,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +ENGD27Y3Y,LEC01,Fall 2025,,,,Available on ACORN,4,9999,True,IN_PERSON,, +ENGD28Y3Y,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +ENGD55H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,25,25,True,IN_PERSON,"Bolus-Reichert, C.", +ENGD58H3F,LEC01,Fall 2025,TU,12:00,15:00,Available onACORN,8,22,True,IN_PERSON,"Goldman,M.",Day/time changed07/18/24 +ENGD59H3F,LEC01,Fall 2025,TU,13:00,16:00,Available on ACORN,13,22,True,IN_PERSON,"Dolan, N.", +ENGD98Y3Y,LEC01,Fall 2025,WE,09:00,12:00,Available on ACORN,6,10,True,IN_PERSON,"Ryzhik, Y.", +ESTB01H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,80,120,True,IN_PERSON,"MacLellan, J.", +ESTB01H3F,TUT0001,Fall 2025,WE,15:00,17:00,Available on ACORN,77,120,False,IN_PERSON,, +ESTB02H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,16,20,True,IN_PERSON,"Latulippe, N.", +ESTB03H3F,LEC01,Fall 2025,TU,13:00,16:00,Available on ACORN,14,20,True,IN_PERSON,"Klenk, N.", +ESTB03H3F,PRA0001,Fall 2025,MO,19:00,22:00,Available on ACORN,14,20,False,IN_PERSON,, +ESTC34H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,24,27,True,IN_PERSON,"MacLellan, J.", +ESTC34H3F,TUT0001,Fall 2025,TU,11:00,12:00,Available on ACORN,20,27,False,IN_PERSON,, +ESTC36H3F,LEC01,Fall 2025,MO,13:00,16:00,Available on ACORN,40,55,True,IN_PERSON,"Klenk, N.", +ESTD17Y3Y,LEC01,Fall 2025,TH,18:00,20:00,Available on ACORN,35,35,True,IN_PERSON,"MacLellan, J.", +FLMB71H3F,LEC01,Fall 2025,MO,14:00,17:00,Available onACORN,18,25,True,IN_PERSON,"Flynn, D.", +FLMB71H3F,LEC02,Fall 2025,TU,19:00,22:00,Available onACORN,24,25,True,,"Jacob, E.", +FLMB71H3F,LEC03,Fall 2025,TH,16:00,19:00,Available onACORN,19,25,True,,"Sooriyakumaran,M.", +FLMB75H3F,LEC01,Fall 2025,MO,19:00,22:00,Available on ACORN,70,80,True,IN_PERSON,"Leonard, G.", +FLMC84H3F,LEC01,Fall 2025,MO,14:00,17:00,Available on ACORN,30,45,True,IN_PERSON,"Sengupta, R.", +FLMC95H3F,LEC01,Fall 2025,WE,13:00,16:00,Available on ACORN,44,45,True,IN_PERSON,"Sengupta, R.", +FREA01H3F,LEC01,Fall 2025,MO,10:00,13:00,Available on ACORN,10,30,True,IN_PERSON,"Tsimenis, M.", +FREA01H3F,LEC02,Fall 2025,TU,10:00,13:00,Available on ACORN,7,30,True,IN_PERSON,"Tsimenis, M.", +FREA01H3F,LEC04,Fall 2025,TU,17:00,20:00,Available on ACORN,10,30,True,IN_PERSON,"Janczak, M.", +FREA96H3F,LEC01,Fall 2025,TU,17:00,20:00,Available on ACORN,97,120,True,IN_PERSON,"Sonina, S.", +FREA96H3F,TUT0001,Fall 2025,TH,17:00,18:00,Available on ACORN,16,20,False,IN_PERSON, , +FREA96H3F,TUT0002,Fall 2025,TH,14:00,15:00,Available on ACORN,18,21,False,IN_PERSON, , +FREA96H3F,TUT0003,Fall 2025,TH,18:00,19:00,Available on ACORN,11,20,False,IN_PERSON, , +FREA96H3F,TUT0004,Fall 2025,TH,19:00,20:00,Available on ACORN,14,20,False,IN_PERSON, , +FREA96H3F,TUT0005,Fall 2025,TH,15:00,16:00,Available on ACORN,19,20,False,IN_PERSON,, +FREA96H3F,TUT0006,Fall 2025,TH,16:00,17:00,Available on ACORN,18,20,False,IN_PERSON,, +FREA98H3F,LEC01,Fall 2025,TH,17:00,20:00,Available on ACORN,19,40,True,IN_PERSON,"Janczak, M.", +FREB01H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,26,30,True,IN_PERSON,"Cote, S.", +FREB01H3F,LEC01,Fall 2025,TH,15:00,16:00,Available on ACORN,26,30,True,IN_PERSON,"Cote, S.", +FREB01H3F,LEC02,Fall 2025,MO,15:00,17:00,Available on ACORN,17,30,True,IN_PERSON,"Peric, K.", +FREB01H3F,LEC02,Fall 2025,WE,16:00,17:00,Available on ACORN,17,30,True,IN_PERSON,"Peric, K.", +FREB08H3F,LEC01,Fall 2025,TU,16:00,18:00,Available on ACORN,26,40,True,IN_PERSON,"Mittler, S.", +FREB11H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,25,30,True,IN_PERSON,"Beauquis, C.", +FREB20H3F,LEC01,Fall 2025,TH,16:00,18:00,Available on ACORN,24,40,True,IN_PERSON,"Mittler, S.", +FREB44H3F,LEC01,Fall 2025,TH,16:00,18:00,Available on ACORN,24,40,True,IN_PERSON,"Mittler, S.", +FREB45H3F,LEC01,Fall 2025,TU,12:00,15:00,Available on ACORN,22,40,True,IN_PERSON,"Sonina, S.", +FREB45H3F,LEC01,Fall 2025,WE,13:00,16:00,Available onACORN,8,40,True,IN_PERSON,"Gamboa Gonzalez,O.", +FREB50H3F,LEC01,Fall 2025,MO,10:00,13:00,Available on ACORN,17,40,True,IN_PERSON,"Pillet, M.", +FREB70H3F,LEC01,Fall 2025,FR,09:00,13:00,Available on ACORN,24,40,True,IN_PERSON,"English, J.", +FREC01H3F,LEC01,Fall 2025,TU,09:00,12:00,Available on ACORN,27,30,True,IN_PERSON,"English, J.", +FREC01H3F,LEC02,Fall 2025,TH,11:00,14:00,Available on ACORN,26,30,True,IN_PERSON,"Pillet, M.", +FREC54H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,20,30,True,IN_PERSON,"Gaughan, C.", +FREC64H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,10,30,True,IN_PERSON,"Mittler, S.", +FRED01H3F,LEC01,Fall 2025,TH,10:00,13:00,Available on ACORN,16,25,True,IN_PERSON,"Tsimenis, M.", +FRED01H3F,LEC02,Fall 2025,WE,10:00,13:00,Available on ACORN,17,25,True,IN_PERSON,"Pillet, M.", +FRED02H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +FRED03H3F,LEC01,Fall 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +FRED04H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +FRED05H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +FRED07H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +FRED90Y3Y,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +FSTA01H3F,LEC01,Fall 2025,WE,11:00,13:00,Available onACORN,177,200,True,IN_PERSON,"Sharma, J.", +FSTA01H3F,TUT0001,Fall 2025,TU,15:00,16:30,Available onACORN,20,20,False,IN_PERSON,, +FSTA01H3F,TUT0002,Fall 2025,TU,16:30,18:00,Available onACORN,15,20,False,IN_PERSON,, +FSTA01H3F,TUT0003,Fall 2025,TU,11:00,12:30,Available onACORN,19,20,False,IN_PERSON,, +FSTA01H3F,TUT0004,Fall 2025,TU,11:00,12:30,Available onACORN,17,20,False,IN_PERSON,, +FSTA01H3F,TUT0005,Fall 2025,TU,15:00,16:30,Available onACORN,17,20,False,IN_PERSON,, +FSTA01H3F,TUT0006,Fall 2025,TU,16:30,18:00,Available onACORN,17,20,False,IN_PERSON,, +FSTA01H3F,TUT0007,Fall 2025,TU,18:00,19:30,Available onACORN,16,20,False,IN_PERSON,, +FSTA01H3F,TUT0008,Fall 2025,TU,13:00,14:30,Available onACORN,20,20,False,IN_PERSON,,Time change (04/09/24) +FSTA01H3F,TUT0009,Fall 2025,TU,18:00,19:30,Available onACORN,18,20,False,IN_PERSON,, +FSTA01H3F,TUT0010,Fall 2025,TU,13:00,14:30,Available onACORN,18,20,False,IN_PERSON,,Time/room change(04/09/24) +FSTD11H3F,LEC01,Fall 2025,TH,11:00,13:00,Available onACORN,23,20,True,IN_PERSON,"Bariola Gonzales,N.", +GASB05H3F,LEC01,Fall 2025,MO,10:00,12:00,Available onACORN,25,25,True,IN_PERSON,"Guzman,C.",Room change(21/10/24) +GASB57H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,21,40,True,IN_PERSON,"Raman, B.", +GASB57H3F,TUT0001,Fall 2025,TU,17:00,18:00,Available on ACORN,7,10,False,IN_PERSON,, +GASB57H3F,TUT0002,Fall 2025,TU,18:00,19:00,Available on ACORN,5,10,False,IN_PERSON,, +GASB57H3F,TUT0003,Fall 2025,TU,16:00,17:00,Available on ACORN,9,10,False,IN_PERSON,, +GASB58H3F,LEC01,Fall 2025,WE,09:00,11:00,Available onACORN,41,46,True,IN_PERSON,"Guo, Y.",Room change08/23/24 +GASB58H3F,TUT0001,Fall 2025,WE,20:00,21:00,Available onACORN,10,11,False,IN_PERSON,, +GASB58H3F,TUT0002,Fall 2025,WE,12:00,13:00,Available onACORN,10,11,False,IN_PERSON,, +GASB58H3F,TUT0003,Fall 2025,WE,14:00,15:00,Available onACORN,11,11,False,IN_PERSON,, +GASB58H3F,TUT0004,Fall 2025,WE,19:00,20:00,Available onACORN,10,10,False,IN_PERSON,, +GASC57H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,7,25,True,IN_PERSON,"Guo, Y.", +GASC73H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,17,23,True,IN_PERSON,"Elhalaby, E.", +GASD71H3F,LEC01,Fall 2025,TH,15:00,17:00,Available onACORN,16,16,True,IN_PERSON,"deSouza,S.",Room change(09/09/24) +GGRA02H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,77,230,True,IN_PERSON,"Arik, H.", +GGRA02H3F,TUT0001,Fall 2025,TU,17:00,18:00,Available on ACORN,28,30,False,IN_PERSON,, +GGRA02H3F,TUT0003,Fall 2025,TU,15:00,16:00,Available on ACORN,30,35,False,IN_PERSON,, +GGRA02H3F,TUT0005,Fall 2025,TU,16:00,17:00,Available on ACORN,18,30,False,IN_PERSON,, +GGRA30H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,160,240,True,IN_PERSON,"Brauen, G.", +GGRA30H3F,PRA0001,Fall 2025,WE,13:00,14:00,Available on ACORN,32,33,False,IN_PERSON,, +GGRA30H3F,PRA0002,Fall 2025,WE,14:00,15:00,Available on ACORN,27,33,False,IN_PERSON,, +GGRA30H3F,PRA0003,Fall 2025,WE,15:00,16:00,Available on ACORN,24,33,False,IN_PERSON,, +GGRA30H3F,PRA0004,Fall 2025,WE,16:00,17:00,Available on ACORN,28,33,False,IN_PERSON,, +GGRA30H3F,PRA0005,Fall 2025,WE,13:00,14:00,Available on ACORN,24,33,False,IN_PERSON,, +GGRA30H3F,PRA0006,Fall 2025,WE,14:00,15:00,Available on ACORN,25,33,False,IN_PERSON,, +GGRA30H3F,PRA0007,Fall 2025,WE,15:00,16:00,Available on ACORN,0,30,False,IN_PERSON,, +GGRA30H3F,PRA0008,Fall 2025,WE,16:00,17:00,Available on ACORN,0,30,False,IN_PERSON,, +GGRB02H3F,LEC01,Fall 2025,WE,11:00,13:00,Available onACORN,40,60,True,IN_PERSON,"Narayanareddy,R.", +GGRB02H3F,TUT0001,Fall 2025,WE,19:00,20:00,Available onACORN,30,30,False,IN_PERSON,, +GGRB02H3F,TUT0002,Fall 2025,WE,20:00,21:00,Available onACORN,10,30,False,IN_PERSON,, +GGRB13H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,53,80,True,IN_PERSON,"Amrov, S.", +GGRB13H3F,TUT0001,Fall 2025,TU,17:00,18:00,Available on ACORN,29,30,False,IN_PERSON,, +GGRB13H3F,TUT0002,Fall 2025,TU,18:00,19:00,Available on ACORN,24,30,False,IN_PERSON,, +GGRB18H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,20,20,True,IN_PERSON,"Latulippe, N.", +GGRB21H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,47,80,True,IN_PERSON,"Ekers, M.", +GGRB30H3F,LEC01,Fall 2025,TU,13:00,15:00,Available onACORN,61,80,True,IN_PERSON,"Calderon Figueroa,F.", +GGRB30H3F,TUT0001,Fall 2025,TU,17:00,18:00,Available onACORN,27,30,False,IN_PERSON,, +GGRB30H3F,TUT0002,Fall 2025,TU,18:00,19:00,Available onACORN,21,30,False,IN_PERSON,, +GGRB30H3F,TUT0003,Fall 2025,TU,19:00,20:00,Available onACORN,11,30,False,IN_PERSON,, +GGRC10H3F,LEC01,Fall 2025,TH,13:00,15:00,Available onACORN,57,60,True,IN_PERSON,"Narayanareddy,R.", +GGRC26H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,48,60,True,IN_PERSON,"Ekers, M.", +GGRC30H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,48,60,True,IN_PERSON,"Ekers, M.", +GGRC31H3F,LEC01,Fall 2025,TH,10:00,12:00,Available on ACORN,24,25,True,IN_PERSON,"Higgins, C.", +GGRC31H3F,PRA0001,Fall 2025,TH,12:00,13:00,Available on ACORN,24,25,False,IN_PERSON,, +GGRC31H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,34,60,True,IN_PERSON,"Arik, H.", +GGRC34H3F,LEC01,Fall 2025,MO,11:00,14:00,Available on ACORN,7,25,True,IN_PERSON,"Brauen, G.", +GGRC42H3F,LEC01,Fall 2025,MO,14:00,16:00,Available on ACORN,6,20,True,IN_PERSON,"Farber, S.", +GGRC42H3F,TUT0001,Fall 2025,MO,16:00,17:00,Available on ACORN,6,20,False,IN_PERSON,, +GGRC44H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,36,60,True,IN_PERSON,"Kepe, T.", +GGRC50H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,46,60,True,IN_PERSON,"Hunter, M.", +GGRD01H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +GGRD10H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,16,20,True,IN_PERSON,"Majeed, M.", +GGRD16H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,13,25,True,IN_PERSON,"Buckley, M.", +GGRD31H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +GLBC01H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,22,40,True,,"Trougakos, J.", +HISA07H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,106,120,True,IN_PERSON,"Blouin, K.", +HISA08H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,37,60,True,IN_PERSON,"Ilmi, A.", +HISA08H3F,TUT0001,Fall 2025,WE,09:00,10:00,Available on ACORN,9,10,False,IN_PERSON,, +HISA08H3F,TUT0002,Fall 2025,WE,10:00,11:00,Available on ACORN,9,10,False,IN_PERSON,, +HISA08H3F,TUT0003,Fall 2025,WE,13:00,14:00,Available on ACORN,9,10,False,IN_PERSON,, +HISA08H3F,TUT0004,Fall 2025,WE,19:00,20:00,Available on ACORN,0,3,False,IN_PERSON,, +HISA08H3F,TUT0006,Fall 2025,WE,15:00,16:00,Available on ACORN,10,10,False,IN_PERSON,, +HISB03H3F,LEC01,Fall 2025,MO,13:00,14:00,Available on ACORN,22,31,True,IN_PERSON,"Riddell, W.", +HISB03H3F,LEC01,Fall 2025,WE,13:00,14:00,Available on ACORN,22,31,True,IN_PERSON,"Riddell, W.", +HISB09H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,37,41,True,IN_PERSON,"Dost, S.", +HISB10H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,45,53,True,IN_PERSON,"Cooper, K.", +HISB22H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,11,30,True,IN_PERSON,"Maynard, R.", +HISB41H3F,LEC01,Fall 2025,FR,11:00,13:00,Available on ACORN,56,80,True,IN_PERSON,"Hastings, P.", +HISB41H3F,TUT0001,Fall 2025,FR,09:00,10:00,Available on ACORN,15,23,False,IN_PERSON,, +HISB41H3F,TUT0002,Fall 2025,FR,10:00,11:00,Available on ACORN,21,23,False,IN_PERSON,, +HISB41H3F,TUT0003,Fall 2025,FR,13:00,14:00,Available on ACORN,20,23,False,IN_PERSON,, +HISB51H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,3,20,True,IN_PERSON,"Rockel, S.", +HISB51H3F,TUT0001,Fall 2025,TU,15:00,16:00,Available on ACORN,3,10,False,IN_PERSON, , +HISB57H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,3,20,True,IN_PERSON,"Rockel, S.", +HISB57H3F,TUT0001,Fall 2025,TU,15:00,16:00,Available on ACORN,3,10,False,IN_PERSON,, +HISB58H3F,LEC01,Fall 2025,WE,09:00,11:00,Available onACORN,32,40,True,IN_PERSON,"Guo, Y.",Room change08/23/24 +HISB58H3F,TUT0001,Fall 2025,WE,20:00,21:00,Available onACORN,5,11,False,IN_PERSON,, +HISB58H3F,TUT0002,Fall 2025,WE,12:00,13:00,Available onACORN,9,11,False,IN_PERSON,, +HISB58H3F,TUT0003,Fall 2025,WE,14:00,15:00,Available onACORN,11,11,False,IN_PERSON,, +HISB58H3F,TUT0004,Fall 2025,WE,19:00,20:00,Available onACORN,7,10,False,IN_PERSON,, +HISB63H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,54,60,True,IN_PERSON,"Khalifa, N.", +HISB63H3F,TUT0001,Fall 2025,WE,19:00,20:00,Available on ACORN,23,25,False,IN_PERSON,, +HISB63H3F,TUT0002,Fall 2025,WE,20:00,21:00,Available on ACORN,5,15,False,IN_PERSON,, +HISB63H3F,TUT0003,Fall 2025,MO,16:00,17:00,Available on ACORN,26,27,False,IN_PERSON,, +HISC27H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,13,33,True,IN_PERSON,"Nelson IV, W.", +HISC46H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,29,50,True,IN_PERSON,"Hastings, P.", +HISC57H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,13,25,True,IN_PERSON,"Guo, Y.", +HISC73H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,13,25,True,IN_PERSON,"Guo, Y.", +HISC73H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,26,27,True,IN_PERSON,"Elhalaby, E.", +HISC77H3F,LEC01,Fall 2025,MO,11:00,13:00,Available onACORN,42,50,True,IN_PERSON,"Arthurs, J.",Day/Time Change(03/07/24) +HISC94H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,25,35,True,IN_PERSON,"Dost, S.", +HISD01H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +HISD02H3F,LEC01,Fall 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,"Maynard, R.", +HISD03H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,10,15,True,IN_PERSON,"deSouza, S.", +HISD66H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,12,15,True,IN_PERSON,"Khalifa, N.", +HISD72H3F,LEC01,Fall 2025,WE,14:00,17:00,Available on ACORN,10,15,True,IN_PERSON,"Pilcher, J.", +HLTA02H3F,LEC01,Fall 2025,TU,14:00,16:00,Available on ACORN,406,420,True,IN_PERSON,"Colaco, K.", +HLTB11H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,171,180,True,IN_PERSON,"Beaudry, J.", +HLTB11H3F,TUT0001,Fall 2025,TU,16:00,17:00,Available on ACORN,26,30,False,IN_PERSON,, +HLTB11H3F,TUT0002,Fall 2025,TU,16:00,17:00,Available on ACORN,28,30,False,IN_PERSON,, +HLTB11H3F,TUT0003,Fall 2025,TU,17:00,18:00,Available on ACORN,28,30,False,IN_PERSON,, +HLTB11H3F,TUT0004,Fall 2025,TU,17:00,18:00,Available on ACORN,30,30,False,IN_PERSON,, +HLTB11H3F,TUT0005,Fall 2025,TU,18:00,19:00,Available on ACORN,30,30,False,IN_PERSON,, +HLTB11H3F,TUT0006,Fall 2025,TU,18:00,19:00,Available on ACORN,29,30,False,IN_PERSON,, +HLTB16H3F,LEC01,Fall 2025,WE,15:00,17:00,Available onACORN,224,270,True,IN_PERSON,"Schlueter,D.",Room change08/26/24 +HLTB16H3F,TUT0001,Fall 2025,WE,19:00,20:00,Available onACORN,30,35,False,IN_PERSON,, +HLTB16H3F,TUT0002,Fall 2025,WE,19:00,20:00,Available onACORN,32,35,False,IN_PERSON,, +HLTB16H3F,TUT0003,Fall 2025,WE,20:00,21:00,Available onACORN,31,35,False,IN_PERSON,, +HLTB16H3F,TUT0004,Fall 2025,WE,20:00,21:00,Available onACORN,30,35,False,IN_PERSON,, +HLTB16H3F,TUT0005,Fall 2025,WE,21:00,22:00,Available onACORN,21,35,False,IN_PERSON,, +HLTB16H3F,TUT0006,Fall 2025,WE,21:00,22:00,Available onACORN,26,35,False,IN_PERSON,, +HLTB16H3F,TUT0007,Fall 2025,MO,11:00,12:00,Available onACORN,28,30,False,IN_PERSON,, +HLTB16H3F,TUT0008,Fall 2025,MO,12:00,13:00,Available onACORN,26,30,False,IN_PERSON,, +HLTB30H3F,LEC01,Fall 2025,,,,Available onACORN,57,60,True,,"Bytautas,J.",Changed to OnlineAsynchronous 08/29/24 +HLTB30H3F,TUT0001,Fall 2025,WE,09:00,10:00,Available onACORN,27,30,False,IN_PERSON,, +HLTB30H3F,TUT0002,Fall 2025,WE,10:00,11:00,Available onACORN,29,30,False,IN_PERSON,, +HLTB33H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,28,60,True,IN_PERSON,"Wong, C.", +HLTB40H3F,LEC01,Fall 2025,FR,10:00,12:00,Available on ACORN,64,70,True,IN_PERSON,"Tavares, W.", +HLTB40H3F,TUT0001,Fall 2025,FR,13:00,14:00,Available on ACORN,36,35,False,IN_PERSON,, +HLTB40H3F,TUT0002,Fall 2025,FR,14:00,15:00,Available on ACORN,28,35,False,IN_PERSON,, +HLTB42H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,73,120,True,IN_PERSON,"Bisaillon, L.", +HLTB42H3F,TUT0001,Fall 2025,TH,13:00,14:00,Available on ACORN,28,30,False,IN_PERSON,, +HLTB42H3F,TUT0002,Fall 2025,TH,16:00,17:00,Available on ACORN,21,30,False,IN_PERSON,, +HLTB42H3F,TUT0003,Fall 2025,TH,17:00,18:00,Available on ACORN,21,30,False,IN_PERSON,, +HLTB42H3F,TUT0004,Fall 2025,TH,18:00,19:00,Available on ACORN,2,30,False,IN_PERSON,, +HLTB50H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,177,210,True,IN_PERSON,"Bytautas, J.", +HLTB50H3F,TUT0001,Fall 2025,FR,09:00,10:00,Available on ACORN,31,35,False,IN_PERSON,, +HLTB50H3F,TUT0002,Fall 2025,FR,09:00,10:00,Available on ACORN,26,35,False,IN_PERSON,, +HLTB50H3F,TUT0003,Fall 2025,FR,10:00,11:00,Available on ACORN,25,35,False,IN_PERSON,, +HLTB50H3F,TUT0004,Fall 2025,FR,10:00,11:00,Available on ACORN,27,35,False,IN_PERSON,, +HLTB50H3F,TUT0005,Fall 2025,FR,11:00,12:00,Available on ACORN,34,35,False,IN_PERSON,, +HLTB50H3F,TUT0006,Fall 2025,FR,11:00,12:00,Available on ACORN,34,34,False,IN_PERSON,, +HLTB60H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,44,50,True,IN_PERSON,"Hartblay, C.", +HLTB60H3F,TUT0001,Fall 2025,WE,20:00,21:00,Available on ACORN,21,25,False,IN_PERSON,, +HLTB60H3F,TUT0002,Fall 2025,WE,16:00,17:00,Available on ACORN,23,25,False,IN_PERSON,, +HLTC17H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,99,120,True,IN_PERSON,"Forhan, M.", +HLTC19H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,80,90,True,IN_PERSON,"Wong, C.", +HLTC23H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,123,135,True,IN_PERSON,"Sanjeevan, T.", +HLTC24H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,49,60,True,IN_PERSON,"Tsuji, L.", +HLTC27H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,90,120,True,IN_PERSON,"Schlueter, D.", +HLTC27H3F,TUT0001,Fall 2025,FR,09:00,10:00,Available on ACORN,13,20,False,IN_PERSON,, +HLTC27H3F,TUT0002,Fall 2025,FR,10:00,11:00,Available on ACORN,16,20,False,IN_PERSON,, +HLTC27H3F,TUT0003,Fall 2025,FR,11:00,12:00,Available on ACORN,16,20,False,IN_PERSON,, +HLTC27H3F,TUT0004,Fall 2025,FR,12:00,13:00,Available on ACORN,19,20,False,IN_PERSON,, +HLTC27H3F,TUT0005,Fall 2025,FR,13:00,14:00,Available on ACORN,18,20,False,IN_PERSON,, +HLTC27H3F,TUT0006,Fall 2025,FR,14:00,15:00,Available on ACORN,8,20,False,IN_PERSON,, +HLTC28H3F,LEC01,Fall 2025,MO,15:00,17:00,Available onACORN,37,40,True,IN_PERSON,"Caron-Beaudoin,E.", +HLTC42H3F,LEC01,Fall 2025,MO,11:00,13:00,Available onACORN,49,60,True,,"Antabe, R.",Changed to online(22/08/24) +HLTC44H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,26,60,True,IN_PERSON,"Bytautas, J.", +HLTC48H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,21,60,True,IN_PERSON,"Benoit, A.", +HLTC49H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,23,30,True,IN_PERSON,"Spence, N.", +HLTD01H3F,LEC01,Fall 2025,,,,Available on ACORN,2,9999,True,IN_PERSON,, +HLTD08H3F,LEC01,Fall 2025,WE,10:00,12:00,Available on ACORN,23,25,True,IN_PERSON,"Colaco, K.", +HLTD12H3F,LEC01,Fall 2025,MO,15:00,17:00,Available onACORN,24,25,True,,"Antabe, R.",Changed to online(22/08/24) +HLTD20H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,24,25,True,IN_PERSON,"Wigle, J.", +HLTD22H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,25,25,True,IN_PERSON,"Colaco, K.", +HLTD71Y3Y,LEC01,Fall 2025,,,,Available on ACORN,4,9999,True,IN_PERSON,"Wong, C.", +HLTD71Y3Y,LEC02,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,"Wong, C.", +HLTD82H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,25,25,True,IN_PERSON,"Massaquoi, N.", +HLTD96Y3Y,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +IDSA01H3F,LEC01,Fall 2025,WE,19:00,21:00,Available onACORN,219,300,True,IN_PERSON,"Chan, L.", +IDSA01H3F,TUT0001,Fall 2025,TH,19:00,20:00,Available onACORN,28,29,False,IN_PERSON,,Room change(09/09/24) +IDSA01H3F,TUT0002,Fall 2025,WE,13:00,14:00,Available onACORN,26,29,False,IN_PERSON,, +IDSA01H3F,TUT0003,Fall 2025,WE,16:00,17:00,Available onACORN,30,30,False,IN_PERSON,, +IDSA01H3F,TUT0004,Fall 2025,TH,14:00,15:00,Available onACORN,28,30,False,IN_PERSON,, +IDSA01H3F,TUT0008,Fall 2025,TH,11:00,12:00,Available onACORN,28,28,False,IN_PERSON,,Room change(09/09/24) +IDSA01H3F,TUT0009,Fall 2025,WE,14:00,15:00,Available onACORN,26,28,False,IN_PERSON,,Room change(09/09/24) +IDSA01H3F,TUT0010,Fall 2025,TH,12:00,13:00,Available onACORN,26,28,False,IN_PERSON,,Room change(09/09/24) +IDSA01H3F,TUT0011,Fall 2025,WE,21:00,22:00,Available onACORN,26,28,False,IN_PERSON,,Room change09/09/24 +IDSB01H3F,LEC01,Fall 2025,TH,11:00,13:00,Available onACORN,63,85,True,IN_PERSON,"Isakson, R.", +IDSB01H3F,TUT0002,Fall 2025,TH,18:00,19:00,Available onACORN,32,32,False,IN_PERSON,,Room change(09/09/24) +IDSB01H3F,TUT0003,Fall 2025,TH,19:00,20:00,Available onACORN,31,35,False,IN_PERSON,, +IDSB04H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,69,100,True,IN_PERSON,"Birn, A.", +IDSB04H3F,TUT0001,Fall 2025,TU,17:00,18:00,Available on ACORN,28,30,False,IN_PERSON,, +IDSB04H3F,TUT0002,Fall 2025,TU,18:00,19:00,Available on ACORN,28,30,False,IN_PERSON,, +IDSB04H3F,TUT0003,Fall 2025,TU,19:00,20:00,Available on ACORN,12,30,False,IN_PERSON,, +IDSB10H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,39,60,True,IN_PERSON,"Chan, L.", +IDSB11H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,21,60,True,IN_PERSON,"Kingsbury, D.", +IDSC04H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,80,80,True,IN_PERSON,"Tandon, N.", +IDSC13H3F,LEC01,Fall 2025,TH,13:00,15:00,Available onACORN,28,40,True,IN_PERSON,"MARQUEZ ESPINOZA,S.", +IDSC16H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,30,40,True,IN_PERSON,"Teichman, J.", +IDSC17H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,32,40,True,IN_PERSON,"Von Lieres, B.", +IDSD01Y3Y,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,10,25,True,IN_PERSON,"Isakson, R.", +IDSD07H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,12,15,True,IN_PERSON,"Ilmi, A.", +IDSD14H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +IDSD15H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +IDSD19H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,16,25,True,IN_PERSON,"Von Lieres, B.", +IDSD20H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,15,15,True,IN_PERSON,"Mariyathas, S.", +JOUA01H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,170,200,True,IN_PERSON,"Donison, J.", +JOUA06H3F,LEC01,Fall 2025,,,,Available on ACORN,26,20,True,IN_PERSON,CENTENNIAL, +JOUB01H3F,LEC01,Fall 2025,TU,16:00,18:00,Available on ACORN,40,40,True,IN_PERSON,"Amani, A.", +JOUB11H3F,LEC01,Fall 2025,,,,Available on ACORN,26,20,True,,CENTENNIAL, +JOUB14H3F,LEC01,Fall 2025,,,,Available on ACORN,26,20,True,IN_PERSON,CENTENNIAL, +JOUB18H3F,LEC01,Fall 2025,,,,Available on ACORN,26,20,True,,CENTENNIAL, +JOUB18H3F,LEC02,Fall 2025,,,,Available on ACORN,0,20,True,,CENTENNIAL, +JOUB19H3F,LEC01,Fall 2025,,,,Available on ACORN,26,20,True,IN_PERSON,CENTENNIAL, +JOUB39H3F,LEC01,Fall 2025,TU,10:00,13:00,Available onACORN,46,54,True,IN_PERSON,"Roderique,H.",Room change(10/09/24) +JOUC60H3F,LEC01,Fall 2025,WE,12:00,14:00,Available on ACORN,12,10,True,IN_PERSON,"Cudjoe, J.", +LGGA10H3F,LEC01,Fall 2025,TU,10:00,11:00,Available on ACORN,27,30,True,IN_PERSON,"Kim, H.", +LGGA10H3F,LEC01,Fall 2025,TH,10:00,12:00,Available on ACORN,27,30,True,IN_PERSON,"Kim, H.", +LGGA10H3F,LEC02,Fall 2025,MO,12:00,14:00,Available on ACORN,29,30,True,IN_PERSON,"Back, U.", +LGGA10H3F,LEC02,Fall 2025,WE,12:00,13:00,Available on ACORN,29,30,True,IN_PERSON,"Back, U.", +LGGA10H3F,LEC03,Fall 2025,MO,15:00,17:00,Available on ACORN,29,30,True,IN_PERSON,"Back, U.", +LGGA10H3F,LEC03,Fall 2025,WE,15:00,16:00,Available on ACORN,29,30,True,IN_PERSON,"Back, U.", +LGGA60H3F,LEC01,Fall 2025,MO,14:00,17:00,Available on ACORN,30,30,True,IN_PERSON,"Wu, H.", +LGGA74H3F,LEC01,Fall 2025,TH,17:00,20:00,Available on ACORN,27,30,True,IN_PERSON,"Vivekanandan, P.", +LGGB60H3F,LEC01,Fall 2025,TU,10:00,13:00,Available on ACORN,12,30,True,,"Wang, R.", +LINA01H3F,LEC01,Fall 2025,MO,12:00,14:00,Available onACORN,331,350,True,IN_PERSON,"Moghaddam,S.", +LINA01H3F,LEC02,Fall 2025,,,,Available onACORN,1045,1130,True,,"Moghaddam,S.", +LINA01H3F,TUT0002,Fall 2025,,,,Available onACORN,45,46,False,,, +LINA01H3F,TUT0003,Fall 2025,,,,Available onACORN,43,46,False,,, +LINA01H3F,TUT0034,Fall 2025,,,,Available onACORN,29,43,False,,, +LINA01H3F,TUT0035,Fall 2025,,,,Available onACORN,31,43,False,,, +LINA01H3F,TUT0036,Fall 2025,,,,Available onACORN,26,43,False,,, +LINB06H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,116,120,True,IN_PERSON,"Moghaddam, S.", +LINB06H3F,LEC02,Fall 2025,WE,12:00,14:00,Available on ACORN,58,120,True,IN_PERSON,"Bhattasali, S.", +LINB09H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,91,130,True,IN_PERSON,"Craioveanu, R.", +LINB09H3F,TUT0001,Fall 2025,TH,10:00,11:00,Available on ACORN,23,33,False,IN_PERSON,, +LINB09H3F,TUT0002,Fall 2025,TH,11:00,12:00,Available on ACORN,18,33,False,IN_PERSON,, +LINB09H3F,TUT0003,Fall 2025,TH,12:00,13:00,Available on ACORN,24,33,False,IN_PERSON,, +LINB09H3F,TUT0004,Fall 2025,TH,13:00,14:00,Available on ACORN,26,33,False,IN_PERSON,, +LINB20H3F,LEC01,Fall 2025,WE,15:00,17:00,Available onACORN,78,80,True,,"Moghaddam,S.",Room change08/21/24 +LINB29H3F,LEC01,Fall 2025,TH,10:00,13:00,Available on ACORN,18,30,True,IN_PERSON,"Monahan, P.", +LINB30H3F,LEC01,Fall 2025,TU,10:00,12:00,Available on ACORN,28,30,True,IN_PERSON,"Bhattasali, S.", +LINB30H3F,TUT0001,Fall 2025,TH,15:00,16:00,Available on ACORN,26,30,False,IN_PERSON,, +LINB60H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,48,60,True,IN_PERSON,"Wang, R.", +LINB62H3F,LEC01,Fall 2025,FR,12:00,15:00,Available on ACORN,27,25,True,IN_PERSON,"Pizzacalla, M.", +LINB98H3F,LEC01,Fall 2025,,,,Available on ACORN,1,10,True,IN_PERSON,, +LINC12H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,104,108,True,IN_PERSON,"Peters, A.", +LINC13H3F,LEC01,Fall 2025,WE,10:00,12:00,Available onACORN,49,45,True,IN_PERSON,"Moghaddam,S.",Room change08/30/24 +LINC28H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,29,30,True,IN_PERSON,"Hachimi, A.", +LINC98H3F,LEC01,Fall 2025,,,,Available on ACORN,1,10,True,IN_PERSON,, +LIND01H3F,LEC01,Fall 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +LIND02H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +LIND03H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +LIND07Y3Y,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +LIND09H3F,LEC01,Fall 2025,MO,11:00,14:00,Available on ACORN,15,15,True,IN_PERSON,"Kang, Y.", +MATA29H3F,LEC01,Fall 2025,WE,15:00,17:00,Available onACORN,178,236,True,IN_PERSON,"Glynn-Adey,P.", +MATA29H3F,LEC01,Fall 2025,FR,14:00,15:00,Available onACORN,178,236,True,IN_PERSON,"Glynn-Adey,P.", +MATA29H3F,LEC02,Fall 2025,MO,14:00,16:00,Available onACORN,243,303,True,IN_PERSON,"Glynn-Adey,P.", +MATA29H3F,LEC02,Fall 2025,WE,10:00,11:00,Available onACORN,243,303,True,IN_PERSON,"Glynn-Adey,P.", +MATA29H3F,LEC03,Fall 2025,TU,20:00,21:00,Available on ACORN,135,,False,,T. , +MATA29H3F,LEC03,Fall 2025,TH,19:00,21:00,Available on ACORN,135,,False,,T. , +MATA29H3F,TUT0001,Fall 2025,TU,09:00,11:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0002,Fall 2025,FR,09:00,11:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0003,Fall 2025,TU,17:00,19:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0004,Fall 2025,TH,17:00,19:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0005,Fall 2025,MO,11:00,13:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0006,Fall 2025,MO,09:00,11:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0007,Fall 2025,FR,12:00,14:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0008,Fall 2025,TH,09:00,11:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0009,Fall 2025,TH,19:00,21:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0010,Fall 2025,FR,10:00,12:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0011,Fall 2025,TH,17:00,19:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0012,Fall 2025,TU,17:00,19:00,Available on ACORN,34,,False,,change , +MATA29H3F,TUT0013,Fall 2025,MO,19:00,21:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0014,Fall 2025,TU,19:00,21:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0015,Fall 2025,TU,18:00,20:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0016,Fall 2025,MO,09:00,11:00,Available on ACORN,34,,False,, , +MATA29H3F,TUT0017,Fall 2025,WE,11:00,13:00,Available onACORN,22,34,False,IN_PERSON,, +MATA29H3F,TUT0018,Fall 2025,MO,15:00,17:00,Available onACORN,16,34,False,IN_PERSON,, +MATA29H3F,TUT0019,Fall 2025,MO,19:00,21:00,Available onACORN,20,34,False,IN_PERSON,, +MATA29H3F,TUT0020,Fall 2025,FR,09:00,11:00,Available onACORN,25,34,False,IN_PERSON,, +MATA30H3F,LEC01,Fall 2025,TU,08:00,09:00,Available on ACORN,199,275,True,IN_PERSON,"Kielstra, T.", +MATA30H3F,LEC01,Fall 2025,TH,08:00,10:00,Available on ACORN,199,275,True,IN_PERSON,"Kielstra, T.", +MATA30H3F,LEC02,Fall 2025,TU,17:00,18:00,Available on ACORN,159,234,True,IN_PERSON,"Kielstra, T.", +MATA30H3F,LEC02,Fall 2025,TH,17:00,19:00,Available on ACORN,159,234,True,IN_PERSON,"Kielstra, T.", +MATA30H3F,TUT0001,Fall 2025,FR,09:00,11:00,Available on ACORN,32,34,False,IN_PERSON, , +MATA30H3F,TUT0002,Fall 2025,MO,09:00,11:00,Available on ACORN,24,34,False,IN_PERSON, , +MATA30H3F,TUT0003,Fall 2025,FR,11:00,13:00,Available on ACORN,29,34,False,IN_PERSON, , +MATA30H3F,TUT0004,Fall 2025,FR,11:00,13:00,Available on ACORN,26,34,False,IN_PERSON, , +MATA30H3F,TUT0005,Fall 2025,MO,19:00,21:00,Available on ACORN,21,34,False,IN_PERSON, , +MATA30H3F,TUT0006,Fall 2025,FR,13:00,15:00,Available on ACORN,31,34,False,IN_PERSON, , +MATA30H3F,TUT0007,Fall 2025,TU,18:00,20:00,Available on ACORN,28,34,False,IN_PERSON, , +MATA30H3F,TUT0008,Fall 2025,FR,13:00,15:00,Available on ACORN,29,34,False,IN_PERSON, , +MATA30H3F,TUT0009,Fall 2025,MO,19:00,21:00,Available on ACORN,10,34,False,IN_PERSON, , +MATA30H3F,TUT0010,Fall 2025,WE,09:00,11:00,Available on ACORN,32,34,False,IN_PERSON, , +MATA30H3F,TUT0011,Fall 2025,TH,10:00,12:00,Available on ACORN,31,34,False,IN_PERSON,, +MATA30H3F,TUT0012,Fall 2025,MO,09:00,11:00,Available on ACORN,22,34,False,IN_PERSON,, +MATA30H3F,TUT0013,Fall 2025,TU,18:00,20:00,Available on ACORN,22,34,False,IN_PERSON,, +MATA30H3F,TUT0014,Fall 2025,WE,19:00,21:00,Available on ACORN,21,34,False,IN_PERSON,, +MATA31H3F,LEC01,Fall 2025,MO,15:00,16:00,Available on ACORN,200,,False,,M. , +MATA31H3F,LEC01,Fall 2025,WE,14:00,16:00,Available on ACORN,200,,False,,M. , +MATA31H3F,LEC02,Fall 2025,TU,09:00,10:00,Available on ACORN,175,,False,,M. , +MATA31H3F,LEC02,Fall 2025,TH,11:00,13:00,Available on ACORN,175,,False,,M. , +MATA31H3F,LEC03,Fall 2025,MO,09:00,10:00,Available on ACORN,200,,False,,M. , +MATA31H3F,,Fall 2025,WE,09:00,11:00,Available on ACORN,200,,False,,M. , +MATA31H3F,LEC04,Fall 2025,TU,10:00,11:00,Available on ACORN,135,,False,,M. TH,room +MATA31H3F,LEC04,Fall 2025,TH,09:00,11:00,Available on ACORN,135,,False,,M. TH,room +MATA31H3F,TUT0001,Fall 2025,FR,12:00,14:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0002,Fall 2025,TU,19:00,21:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0003,Fall 2025,FR,10:00,12:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0004,Fall 2025,TU,17:00,19:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0006,Fall 2025,TH,17:00,19:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0007,Fall 2025,TH,19:00,21:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0008,Fall 2025,FR,11:00,13:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0009,Fall 2025,TH,15:00,17:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0010,Fall 2025,TU,17:00,19:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0011,Fall 2025,TH,15:00,17:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0013,Fall 2025,WE,19:00,21:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0014,Fall 2025,TH,13:00,15:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0015,Fall 2025,MO,11:00,13:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0016,Fall 2025,FR,10:00,12:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0019,Fall 2025,FR,13:00,15:00,Available on ACORN,34,,False,, , +MATA31H3F,TUT0020,Fall 2025,TH,15:00,17:00,Available onACORN,28,34,False,IN_PERSON,, +MATA31H3F,TUT0021,Fall 2025,TU,17:00,19:00,Available onACORN,28,34,False,IN_PERSON,, +MATA31H3F,TUT0022,Fall 2025,TH,13:00,15:00,Available onACORN,25,34,False,IN_PERSON,, +MATA31H3F,TUT0023,Fall 2025,TU,15:00,17:00,Available onACORN,26,34,False,IN_PERSON,,Time change07/16/24 +MATA34H3F,LEC01,Fall 2025,TU,15:00,16:00,Available on ACORN,200,,False,,R. , +MATA34H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,200,,False,,R. , +MATA34H3F,LEC02,Fall 2025,WE,13:00,14:00,Available on ACORN,200,,False,,R. , +MATA34H3F,LEC02,Fall 2025,FR,13:00,15:00,Available on ACORN,200,,False,,R. , +MATA34H3F,LEC03,Fall 2025,MO,19:00,21:00,Available on ACORN,175,,False,,"Tafres, ", +MATA34H3F,LEC03,Fall 2025,WE,19:00,20:00,Available on ACORN,175,,False,,"Tafres, ", +MATA34H3F,TUT0001,Fall 2025,TH,18:00,19:00,Available on ACORN,34,,False,, , +MATA34H3F,TUT0002,Fall 2025,TH,10:00,11:00,Available on ACORN,34,,False,, , +MATA34H3F,TUT0003,Fall 2025,MO,09:00,10:00,Available on ACORN,34,,False,, , +MATA34H3F,TUT0004,Fall 2025,TH,09:00,10:00,Available on ACORN,34,,False,, , +MATA34H3F,TUT0005,Fall 2025,MO,13:00,14:00,Available on ACORN,34,,False,, , +MATA34H3F,TUT0006,Fall 2025,MO,12:00,13:00,Available on ACORN,34,,False,, , +MATA34H3F,TUT0007,Fall 2025,FR,09:00,10:00,Available on ACORN,34,,False,, , +MATA34H3F,TUT0008,Fall 2025,TU,13:00,14:00,Available on ACORN,34,,False,, , +MATA34H3F,TUT0009,Fall 2025,FR,12:00,13:00,Available on ACORN,34,,False,, , +MATA34H3F,TUT0011,Fall 2025,WE,16:00,17:00,Available on ACORN,34,,False,, , +MATA34H3F,TUT0012,Fall 2025,FR,09:00,10:00,Available on ACORN,34,,False,, , +MATA34H3F,TUT0013,Fall 2025,TU,18:00,19:00,Available on ACORN,34,,False,, , +MATA34H3F,TUT0014,Fall 2025,MO,11:00,12:00,Available onACORN,26,34,False,IN_PERSON,, +MATA34H3F,TUT0015,Fall 2025,TH,18:00,19:00,Available onACORN,16,34,False,IN_PERSON,, +MATA34H3F,TUT0016,Fall 2025,TH,09:00,10:00,Available onACORN,15,34,False,IN_PERSON,, +MATA34H3F,TUT0017,Fall 2025,MO,13:00,14:00,Available onACORN,29,34,False,IN_PERSON,, +MATA67H3F,LEC01,Fall 2025,FR,09:00,11:00,Available on ACORN,5,,False,, , +MATA67H3F,LEC02,Fall 2025,FR,11:00,13:00,Available on ACORN,5,,False,, , +MATA67H3F,LEC03,Fall 2025,WE,11:00,13:00,Available on ACORN,5,,False,,M. , +MATA67H3F,TUT0001,Fall 2025,TU,09:00,10:00,Available on ACORN,1,,False,, , +MATA67H3F,TUT0002,Fall 2025,WE,09:00,10:00,Available on ACORN,2,,False,, , +MATA67H3F,TUT0003,Fall 2025,MO,13:00,14:00,Available on ACORN,1,,False,, , +MATA67H3F,TUT0004,Fall 2025,FR,14:00,15:00,Available on ACORN,2,,False,, , +MATA67H3F,TUT0005,Fall 2025,MO,16:00,17:00,Available on ACORN,1,,False,, , +MATA67H3F,TUT0006,Fall 2025,TH,09:00,10:00,Available on ACORN,2,,False,, , +MATA67H3F,TUT0007,Fall 2025,FR,13:00,14:00,Available on ACORN,2,,False,, , +MATA67H3F,TUT0008,Fall 2025,MO,09:00,10:00,Available on ACORN,1,,False,, , +MATA67H3F,TUT0009,Fall 2025,TH,13:00,14:00,Available on ACORN,2,,False,, , +MATA67H3F,TUT0010,Fall 2025,MO,09:00,10:00,Available on ACORN,1,,False,, , +MATA67H3F,TUT0011,Fall 2025,WE,11:00,12:00,Available onACORN,1,1,False,IN_PERSON,,Room Change08/22/24 +MATA67H3F,TUT0012,Fall 2025,FR,13:00,14:00,Available onACORN,0,1,False,IN_PERSON,, +MATA67H3F,TUT0013,Fall 2025,FR,14:00,15:00,Available onACORN,0,2,False,IN_PERSON,, +MATA67H3F,TUT0014,Fall 2025,TU,09:00,10:00,Available onACORN,1,1,False,IN_PERSON,, +MATA67H3F,TUT0015,Fall 2025,TH,09:00,10:00,Available onACORN,1,1,False,IN_PERSON,, +MATA67H3F,TUT0016,Fall 2025,WE,19:00,20:00,Available onACORN,1,1,False,IN_PERSON,, +MATA67H3F,TUT0017,Fall 2025,WE,09:00,10:00,Available onACORN,0,1,False,IN_PERSON,, +MATB24H3F,LEC01,Fall 2025,TU,12:00,13:00,Available on ACORN,148,230,True,IN_PERSON,"Jiang, X.", +MATB24H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,148,230,True,IN_PERSON,"Jiang, X.", +MATB24H3F,LEC02,Fall 2025,TU,13:00,15:00,Available on ACORN,80,230,True,IN_PERSON,"Jiang, X.", +MATB24H3F,LEC02,Fall 2025,TH,15:00,16:00,Available on ACORN,80,230,True,IN_PERSON,"Jiang, X.", +MATB24H3F,TUT0001,Fall 2025,FR,11:00,13:00,Available on ACORN,32,34,False,IN_PERSON, , +MATB24H3F,TUT0002,Fall 2025,TH,09:00,11:00,Available on ACORN,32,34,False,IN_PERSON, , +MATB24H3F,TUT0003,Fall 2025,MO,15:00,17:00,Available on ACORN,33,34,False,IN_PERSON, , +MATB24H3F,TUT0004,Fall 2025,TU,15:00,17:00,Available on ACORN,32,34,False,IN_PERSON, , +MATB24H3F,TUT0005,Fall 2025,FR,13:00,15:00,Available on ACORN,30,34,False,IN_PERSON, , +MATB24H3F,TUT0006,Fall 2025,MO,09:00,11:00,Available on ACORN,15,34,False,IN_PERSON, , +MATB24H3F,TUT0007,Fall 2025,WE,12:00,14:00,Available on ACORN,27,34,False,IN_PERSON,, +MATB24H3F,TUT0008,Fall 2025,MO,11:00,13:00,Available on ACORN,27,34,False,IN_PERSON,, +MATB41H3F,LEC01,Fall 2025,MO,12:00,14:00,Available onACORN,223,230,True,IN_PERSON,"Glynn-Adey, P.", +MATB41H3F,LEC01,Fall 2025,FR,13:00,14:00,Available onACORN,223,230,True,IN_PERSON,"Glynn-Adey, P.", +MATB41H3F,LEC02,Fall 2025,MO,08:00,10:00,Available onACORN,170,230,True,IN_PERSON,"Hessami Pilehrood,T.", +MATB41H3F,LEC02,Fall 2025,FR,09:00,10:00,Available on ACORN,230,,False,,"Pilehrood, ", +MATB41H3F,TUT0001,Fall 2025,TH,12:00,13:00,Available on ACORN,33,,False,, , +MATB41H3F,TUT0002,Fall 2025,FR,14:00,15:00,Available on ACORN,33,,False,, , +MATB41H3F,TUT0003,Fall 2025,TU,19:00,20:00,Available on ACORN,33,,False,, , +MATB41H3F,TUT0004,Fall 2025,MO,11:00,12:00,Available on ACORN,33,,False,, , +MATB41H3F,TUT0005,Fall 2025,TH,09:00,10:00,Available on ACORN,33,,False,, , +MATB41H3F,TUT0006,Fall 2025,FR,12:00,13:00,Available on ACORN,33,,False,, , +MATB41H3F,TUT0007,Fall 2025,TH,11:00,12:00,Available on ACORN,33,,False,, , +MATB41H3F,TUT0008,Fall 2025,TH,10:00,11:00,Available on ACORN,33,,False,, , +MATB41H3F,TUT0009,Fall 2025,WE,15:00,16:00,Available onACORN,33,33,False,IN_PERSON,, +MATB41H3F,TUT0010,Fall 2025,FR,11:00,12:00,Available onACORN,32,33,False,IN_PERSON,, +MATB41H3F,TUT0011,Fall 2025,TH,18:00,19:00,Available onACORN,26,33,False,IN_PERSON,, +MATB41H3F,TUT0012,Fall 2025,TU,14:00,15:00,Available onACORN,31,33,False,IN_PERSON,, +MATB41H3F,TUT0013,Fall 2025,MO,10:00,11:00,Available onACORN,28,33,False,IN_PERSON,, +MATB43H3F,LEC01,Fall 2025,TU,11:00,12:00,Available on ACORN,49,60,True,IN_PERSON,"Aretakis, S.", +MATB43H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,49,60,True,IN_PERSON,"Aretakis, S.", +MATB43H3F,TUT0001,Fall 2025,FR,13:00,15:00,Available on ACORN,29,32,False,IN_PERSON,, +MATB43H3F,TUT0002,Fall 2025,WE,13:00,15:00,Available on ACORN,19,32,False,IN_PERSON,, +MATB44H3F,LEC01,Fall 2025,TU,15:00,17:00,Available onACORN,209,230,True,IN_PERSON,"Aretakis,S.", +MATB44H3F,LEC01,Fall 2025,TH,10:00,11:00,Available onACORN,209,230,True,IN_PERSON,"Aretakis,S.", +MATB44H3F,TUT0001,Fall 2025,MO,12:00,13:00,Available onACORN,30,33,False,IN_PERSON,, +MATB44H3F,TUT0002,Fall 2025,TH,18:00,19:00,Available onACORN,18,33,False,IN_PERSON,,Day/time change09/13/24 +MATB44H3F,TUT0003,Fall 2025,FR,10:00,11:00,Available onACORN,32,33,False,IN_PERSON,, +MATB44H3F,TUT0004,Fall 2025,MO,10:00,11:00,Available onACORN,31,33,False,IN_PERSON,, +MATB44H3F,TUT0005,Fall 2025,TH,09:00,10:00,Available onACORN,31,33,False,IN_PERSON,, +MATB44H3F,TUT0006,Fall 2025,WE,09:00,10:00,Available onACORN,33,33,False,IN_PERSON,,Room change08/23/24 +MATB44H3F,TUT0007,Fall 2025,FR,13:00,14:00,Available onACORN,32,33,False,IN_PERSON,, +MATB61H3F,LEC01,Fall 2025,MO,14:00,15:00,Available onACORN,43,65,True,IN_PERSON,"Jiang, X.", +MATB61H3F,LEC01,Fall 2025,WE,11:00,13:00,Available onACORN,43,65,True,IN_PERSON,"Jiang, X.", +MATB61H3F,TUT0001,Fall 2025,TU,15:00,16:00,Available onACORN,23,33,False,IN_PERSON,, +MATB61H3F,TUT0002,Fall 2025,TU,13:00,14:00,Available onACORN,20,33,False,IN_PERSON,,Time/room change08/27/24 +MATC01H3F,LEC01,Fall 2025,WE,09:00,11:00,Available onACORN,31,60,True,IN_PERSON,"Smith, K.",Room change08/28/24 +MATC01H3F,LEC01,Fall 2025,FR,09:00,10:00,Available onACORN,31,60,True,IN_PERSON,"Smith, K.",Room change08/28/24 +MATC01H3F,TUT0001,Fall 2025,FR,13:00,14:00,Available onACORN,21,33,False,IN_PERSON,, +MATC01H3F,TUT0002,Fall 2025,TH,17:00,18:00,Available onACORN,10,33,False,IN_PERSON,, +MATC09H3F,LEC01,Fall 2025,TU,10:00,11:00,Available on ACORN,27,40,True,IN_PERSON,"Grinnell, R.", +MATC09H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,27,40,True,IN_PERSON,"Grinnell, R.", +MATC15H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,37,40,True,IN_PERSON,"Scalamandre, M.", +MATC15H3F,LEC01,Fall 2025,FR,10:00,11:00,Available on ACORN,37,40,True,IN_PERSON,"Scalamandre, M.", +MATC27H3F,LEC01,Fall 2025,TU,12:00,13:00,Available on ACORN,17,35,True,IN_PERSON,"Elmanto, E.", +MATC27H3F,LEC01,Fall 2025,FR,11:00,13:00,Available on ACORN,17,35,True,IN_PERSON,"Elmanto, E.", +MATC32H3F,LEC01,Fall 2025,MO,09:00,10:00,Available onACORN,20,30,True,IN_PERSON,"Virag, B.",Room change(10/09/24) +MATC32H3F,LEC01,Fall 2025,TH,09:00,11:00,Available onACORN,20,30,True,IN_PERSON,"Virag, B.",Room change(10/09/24) +MATC34H3F,LEC01,Fall 2025,WE,14:00,16:00,Available onACORN,41,60,True,IN_PERSON,"Smith, K.",Room change08/28/24 +MATC34H3F,LEC01,Fall 2025,FR,14:00,15:00,Available onACORN,41,60,True,IN_PERSON,"Smith, K.",Room change08/28/24 +MATC44H3F,LEC01,Fall 2025,TU,14:00,15:00,Available on ACORN,55,80,True,IN_PERSON,"Cavers, M.", +MATC44H3F,LEC01,Fall 2025,TH,14:00,16:00,Available on ACORN,55,80,True,IN_PERSON,"Cavers, M.", +MATC46H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,38,60,True,IN_PERSON,"Aretakis, S.", +MATC46H3F,LEC01,Fall 2025,FR,10:00,11:00,Available on ACORN,38,60,True,IN_PERSON,"Aretakis, S.", +MATC90H3F,LEC01,Fall 2025,TU,09:00,10:00,Available on ACORN,20,40,True,IN_PERSON,"Grinnell, R.", +MATC90H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,20,40,True,IN_PERSON,"Grinnell, R.", +MATD02H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,36,40,True,IN_PERSON,"Shahbazi, Z.", +MATD02H3F,LEC01,Fall 2025,TH,17:00,18:00,Available on ACORN,36,40,True,IN_PERSON,"Shahbazi, Z.", +MATD16H3F,LEC01,Fall 2025,MO,09:00,10:00,Available onACORN,19,30,True,IN_PERSON,"Memarpanahi,P.",Room change(09/09/24) +MATD16H3F,LEC01,Fall 2025,FR,11:00,13:00,Available onACORN,19,30,True,IN_PERSON,"Memarpanahi,P.",Room change(09/09/24) +MATD67H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,12,20,True,IN_PERSON,"Elmanto, E.", +MATD67H3F,LEC01,Fall 2025,TH,16:00,17:00,Available on ACORN,12,20,True,IN_PERSON,"Elmanto, E.", +MATD92H3F,LEC01,Fall 2025,,,,Available on ACORN,3,9999,True,IN_PERSON,, +MATD93H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +MATD94H3F,LEC01,Fall 2025,,,,Available on ACORN,7,9999,True,IN_PERSON,, +MATD95H3F,LEC01,Fall 2025,,,,Available on ACORN,5,9999,True,IN_PERSON,, +MDSA10H3F,LEC01,Fall 2025,,,,Available on ACORN,469,500,True,ONLINE_ASYNCHRONOUS,"Kleeb, S.", +MDSA11H3F,LEC01,Fall 2025,,,,Available on ACORN,218,240,True,ONLINE_ASYNCHRONOUS,"Lobo, R.", +MDSB05H3F,LEC01,Fall 2025,MO,10:00,12:00,Available onACORN,159,150,True,IN_PERSON,"Guzman,C.",Room change(21/10/24) +MDSB09H3F,LEC01,Fall 2025,TH,18:00,21:00,Available on ACORN,67,75,True,IN_PERSON,"Paz, A.", +MDSB12H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,103,110,True,IN_PERSON,"Jensen, S.", +MDSB14H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,83,86,True,IN_PERSON,"Lawton, K.", +MDSB22H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,67,86,True,IN_PERSON,"Jensen, S.", +MDSB29H3F,LEC01,Fall 2025,FR,09:00,11:00,Available on ACORN,93,120,True,IN_PERSON,"Idiz, D.", +MDSC12H3F,LEC01,Fall 2025,FR,12:00,14:00,Available onACORN,79,80,True,IN_PERSON,"Lobo, R.",Room change08/23/24 +MDSC22H3F,LEC01,Fall 2025,WE,13:00,15:00,Available onACORN,40,41,True,IN_PERSON,"Bai, R.",Room change08/22/24 +MDSC23H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,58,60,True,IN_PERSON,"Cudjoe, J.", +MDSC24H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,61,60,True,IN_PERSON,"Cudjoe, J.", +MDSC32H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,81,85,True,IN_PERSON,"Bai, R.", +MDSC34H3F,LEC01,Fall 2025,WE,12:00,14:00,Available on ACORN,44,45,True,IN_PERSON,"Cudjoe, J.", +MDSC61H3F,LEC01,Fall 2025,TH,12:00,14:00,Available onACORN,84,80,True,IN_PERSON,"Lobo, R.",Room change08/21/24 +MDSD10H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,22,20,True,IN_PERSON,"Cowan, T.", +MDSD20H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,22,20,True,IN_PERSON,"Cowan, T.", +MDSD20H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,26,20,True,IN_PERSON,"Taher, S.", +MGAB01H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,60,,False,,R. , +MGAB01H3F,LEC02,Fall 2025,TU,11:00,13:00,Available on ACORN,62,,False,,"Fun, G.", +MGAB01H3F,LEC03,Fall 2025,MO,09:00,11:00,Available on ACORN,60,,False,,"Fun, G.", +MGAB01H3F,LEC04,Fall 2025,MO,11:00,13:00,Available on ACORN,60,,False,,R. , +MGAB01H3F,LEC05,Fall 2025,TH,13:00,15:00,Available on ACORN,61,,False,,A. , +MGAB01H3F,LEC06,Fall 2025,TU,09:00,11:00,Available on ACORN,60,,False,,C. , +MGAB01H3F,LEC07,Fall 2025,TH,09:00,11:00,Available on ACORN,60,,False,,A. , +MGAB01H3F,LEC08,Fall 2025,TH,15:00,17:00,Available on ACORN,60,,False,,A. , +MGAB01H3F,LEC09,Fall 2025,TU,13:00,15:00,Available on ACORN,60,,False,,C. , +MGAB01H3F,LEC10,Fall 2025,TU,15:00,17:00,Available onACORN,58,61,True,IN_PERSON,"Hassanali,M.", +MGAB01H3F,LEC11,Fall 2025,TU,17:00,19:00,Available onACORN,54,60,True,IN_PERSON,"Hassanali,M.", +MGAB01H3F,TUT0001,Fall 2025,MO,15:00,16:00,Available onACORN,73,120,False,IN_PERSON,, +MGAB01H3F,TUT0002,Fall 2025,TU,10:00,11:00,Available onACORN,116,120,False,,, +MGAB01H3F,TUT0003,Fall 2025,WE,09:00,10:00,Available onACORN,116,120,False,IN_PERSON,, +MGAB01H3F,TUT0004,Fall 2025,TH,17:00,18:00,Available onACORN,116,120,False,IN_PERSON,, +MGAB01H3F,TUT0005,Fall 2025,FR,11:00,12:00,Available onACORN,114,120,False,,, +MGAB01H3F,TUT0006,Fall 2025,TU,09:00,11:00,Available onACORN,57,60,False,,, +MGAB02H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,23,40,True,IN_PERSON,"Quan Fun, G.", +MGAB02H3F,TUT0001,Fall 2025,TH,14:00,15:00,Available on ACORN,21,40,False,IN_PERSON,, +MGAB03H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,63,,False,,A. Room,change +MGAB03H3F,LEC02,Fall 2025,TU,09:00,11:00,Available on ACORN,63,,False,,A. , +MGAB03H3F,LEC03,Fall 2025,TU,13:00,15:00,Available on ACORN,63,,False,,A. Room,change +MGAB03H3F,LEC04,Fall 2025,TU,17:00,19:00,Available on ACORN,63,,False,,A. Room,change +MGAB03H3F,TUT0001,Fall 2025,FR,09:00,11:00,Available on ACORN,120,,False,, , +MGAB03H3F,TUT0002,Fall 2025,FR,13:00,15:00,Available onACORN,101,120,False,IN_PERSON,, +MGAC01H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,35,40,True,IN_PERSON,"Quan Fun, G.", +MGAC01H3F,LEC02,Fall 2025,TU,15:00,17:00,Available on ACORN,32,40,True,IN_PERSON,"Quan Fun, G.", +MGAC01H3F,TUT0001,Fall 2025,TH,17:00,19:00,Available on ACORN,60,80,False,IN_PERSON,, +MGAC03H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,39,43,True,IN_PERSON,"Quan Fun, G.", +MGAC03H3F,TUT0001,Fall 2025,FR,13:00,15:00,Available on ACORN,30,40,False,IN_PERSON,, +MGAC10H3F,LEC01,Fall 2025,TU,09:00,12:00,Available on ACORN,35,60,True,IN_PERSON,"Harvey, L.", +MGAC10H3F,TUT0001,Fall 2025,WE,12:00,13:00,Available on ACORN,32,35,False,IN_PERSON,, +MGAC50H3F,LEC01,Fall 2025,TU,19:00,22:00,Available onACORN,48,60,True,IN_PERSON,"Ratnam, S./Vivekanandasothy, S.", +MGAD20H3F,LEC01,Fall 2025,TH,11:00,14:00,Available on ACORN,23,60,True,IN_PERSON,"Harvey, L.", +MGAD50H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,34,40,True,IN_PERSON,"Quan Fun, G.", +MGEA01H3F,LEC01,Fall 2025,TH,19:00,22:00,Available on ACORN,251,350,True,IN_PERSON,"Ho, M.", +MGEA02H3F,LEC01,Fall 2025,MO,14:00,15:30,Available onACORN,318,350,True,IN_PERSON,"Parkinson,J.", +MGEA02H3F,LEC02,Fall 2025,WE,14:00,15:30,Available on ACORN,350,,False,, , +MGEA02H3F,LEC02,Fall 2025,MO,15:30,17:00,Available on ACORN,350,,False,, , +MGEA02H3F,LEC02,Fall 2025,WE,15:30,17:00,Available on ACORN,350,,False,, , +MGEA02H3F,LEC03,Fall 2025,TU,09:00,12:00,Available on ACORN,350,,False,, , +MGEA02H3F,TUT0001,Fall 2025,TH,17:00,18:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0002,Fall 2025,MO,12:00,13:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0003,Fall 2025,FR,14:00,15:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0004,Fall 2025,FR,09:00,10:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0005,Fall 2025,MO,13:00,14:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0006,Fall 2025,TU,14:00,15:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0007,Fall 2025,FR,13:00,14:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0008,Fall 2025,TU,18:00,19:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0009,Fall 2025,FR,10:00,11:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0010,Fall 2025,FR,12:00,13:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0011,Fall 2025,WE,20:00,21:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0012,Fall 2025,TU,14:00,15:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0013,Fall 2025,TH,18:00,19:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0014,Fall 2025,FR,11:00,12:00,Available on ACORN,60,,False,, , +MGEA02H3F,TUT0015,Fall 2025,TH,15:00,16:00,Available onACORN,52,60,False,IN_PERSON,, +MGEA02H3F,TUT0016,Fall 2025,TU,14:00,15:00,Available onACORN,56,60,False,,, +MGEA02H3F,TUT0017,Fall 2025,WE,19:00,20:00,Available onACORN,54,60,False,IN_PERSON,, +MGEB01H3F,LEC01,Fall 2025,WE,19:00,22:00,Available on ACORN,87,120,True,IN_PERSON,"Ho, M.", +MGEB02H3F,LEC01,Fall 2025,TU,09:00,12:00,Available on ACORN,71,80,True,IN_PERSON,"Mazaheri, A.", +MGEB02H3F,LEC02,Fall 2025,TU,15:00,18:00,Available on ACORN,73,80,True,IN_PERSON,"Mazaheri, A.", +MGEB02H3F,LEC03,Fall 2025,FR,12:00,15:00,Available on ACORN,66,80,True,IN_PERSON,"Mazaheri, A.", +MGEB02H3F,LEC04,Fall 2025,WE,14:00,17:00,Available on ACORN,72,80,True,IN_PERSON,"Mazaheri, A.", +MGEB02H3F,LEC05,Fall 2025,WE,11:00,14:00,Available on ACORN,72,80,True,IN_PERSON,"Mazaheri, A.", +MGEB02H3F,LEC06,Fall 2025,MO,19:00,22:00,Available on ACORN,76,80,True,IN_PERSON,"Mazaheri, A.", +MGEB05H3F,LEC01,Fall 2025,FR,09:00,12:00,Available on ACORN,71,120,True,IN_PERSON,"Au, I.", +MGEB06H3F,LEC01,Fall 2025,MO,09:00,12:00,Available on ACORN,72,80,True,IN_PERSON,"Parkinson, J.", +MGEB06H3F,LEC02,Fall 2025,TH,13:00,16:00,Available on ACORN,71,80,True,IN_PERSON,"Parkinson, J.", +MGEB06H3F,LEC03,Fall 2025,FR,09:00,12:00,Available on ACORN,72,80,True,IN_PERSON,"Parkinson, J.", +MGEB11H3F,LEC01,Fall 2025,FR,12:00,15:00,Available on ACORN,112,120,True,IN_PERSON,"Yu, V.", +MGEB11H3F,LEC02,Fall 2025,TH,18:00,21:00,Available on ACORN,102,120,True,IN_PERSON,"Yu, V.", +MGEB11H3F,LEC03,Fall 2025,,,,Available on ACORN,172,200,True,ONLINE_ASYNCHRONOUS,"Yu, V.", +MGEB12H3F,LEC01,Fall 2025,TH,09:00,12:00,Available on ACORN,68,80,True,IN_PERSON,"Mazaheri, A.", +MGEB12H3F,LEC02,Fall 2025,MO,12:00,15:00,Available on ACORN,77,80,True,IN_PERSON,"Mazaheri, A.", +MGEB32H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,47,60,True,IN_PERSON,"Campolieti, M.", +MGEC02H3F,LEC01,Fall 2025,TH,14:00,17:00,Available on ACORN,48,60,True,IN_PERSON,"Sillamaa, M.", +MGEC02H3F,LEC02,Fall 2025,FR,12:00,15:00,Available on ACORN,29,60,True,IN_PERSON,"Sillamaa, M.", +MGEC06H3F,LEC01,Fall 2025,TU,19:00,22:00,Available on ACORN,59,60,True,IN_PERSON,"Anjomshoa, M.", +MGEC11H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,40,40,True,IN_PERSON,"Yu, Y.", +MGEC11H3F,LEC02,Fall 2025,TH,11:00,13:00,Available on ACORN,36,40,True,IN_PERSON,"Yu, Y.", +MGEC26H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,21,40,True,IN_PERSON,"Turner, L.", +MGEC31H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,30,60,True,IN_PERSON,"Krashinsky, M.", +MGEC34H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,46,60,True,IN_PERSON,"Campolieti, M.", +MGEC40H3F,LEC01,Fall 2025,FR,09:00,11:00,Available on ACORN,24,60,True,IN_PERSON,"Chandra, A.", +MGEC41H3F,LEC01,Fall 2025,FR,13:00,15:00,Available on ACORN,15,60,True,IN_PERSON,"Chandra, A.", +MGEC51H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,6,60,True,IN_PERSON,"Hicks, J.", +MGEC51H3F,TUT0001,Fall 2025,MO,13:00,14:00,Available on ACORN,0,10,False,IN_PERSON,, +MGEC58H3F,LEC01,Fall 2025,TH,09:00,11:00,Available on ACORN,40,60,True,IN_PERSON,"Krashinsky, H.", +MGEC61H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,34,60,True,IN_PERSON,"Au, I.", +MGEC61H3F,LEC02,Fall 2025,FR,13:00,15:00,Available on ACORN,55,60,True,IN_PERSON,"Au, I.", +MGEC71H3F,LEC01,Fall 2025,FR,13:00,15:00,Available on ACORN,53,60,True,IN_PERSON,"Parkinson, J.", +MGEC71H3F,LEC02,Fall 2025,WE,09:00,11:00,Available on ACORN,52,60,True,IN_PERSON,"Parkinson, J.", +MGEC81H3F,LEC01,Fall 2025,TU,09:00,11:00,Available onACORN,58,60,True,,"Frazer, G.",Delivery mode change(15/08/24) +MGEC82H3F,LEC01,Fall 2025,TU,15:00,17:00,Available onACORN,58,60,True,,"Frazer, G.",Delivery mode change(15/08/24) +MGEC92H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,39,60,True,IN_PERSON,"Parkinson, J.", +MGED11H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,30,30,True,IN_PERSON,"Yu, Y.", +MGED63H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,26,30,True,IN_PERSON,"Au, I.", +MGED90H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +MGED91H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +MGFB10H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,56,60,True,IN_PERSON,"Khapko, M.", +MGFB10H3F,LEC02,Fall 2025,MO,13:00,15:00,Available on ACORN,56,60,True,IN_PERSON,"Khapko, M.", +MGFB10H3F,LEC03,Fall 2025,TU,09:00,11:00,Available on ACORN,60,65,True,IN_PERSON,"Ahmed, S.", +MGFC10H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,51,60,True,IN_PERSON,"Chau, D.", +MGFC10H3F,LEC02,Fall 2025,FR,09:00,11:00,Available on ACORN,39,60,True,IN_PERSON,"Chau, D.", +MGFC10H3F,LEC03,Fall 2025,WE,19:00,21:00,Available on ACORN,38,60,True,IN_PERSON,"Chau, D.", +MGFC10H3F,LEC04,Fall 2025,TH,17:00,19:00,Available on ACORN,47,60,True,IN_PERSON,"Chau, D.", +MGFC20H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,42,43,True,IN_PERSON,"Ahmed, S.", +MGFC20H3F,LEC02,Fall 2025,TH,13:00,15:00,Available on ACORN,41,43,True,IN_PERSON,"Ahmed, S.", +MGFC20H3F,LEC03,Fall 2025,TH,09:00,11:00,Available on ACORN,40,43,True,IN_PERSON,"Ahmed, S.", +MGFC30H3F,LEC01,Fall 2025,WE,12:00,14:00,Available on ACORN,61,60,True,IN_PERSON,"Wei, J.", +MGFC30H3F,LEC02,Fall 2025,WE,15:00,17:00,Available on ACORN,56,60,True,IN_PERSON,"Wei, J.", +MGFC35H3F,LEC01,Fall 2025,FR,11:00,13:00,Available on ACORN,56,60,True,IN_PERSON,"Leung, C.", +MGFC35H3F,LEC02,Fall 2025,MO,19:00,21:00,Available on ACORN,45,60,True,IN_PERSON,"Leung, C.", +MGFC50H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,26,50,True,IN_PERSON,"Riddiough, S.", +MGFC50H3F,LEC02,Fall 2025,TU,13:00,15:00,Available on ACORN,42,50,True,IN_PERSON,"Riddiough, S.", +MGFC60H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,32,43,True,IN_PERSON,"Chau, D.", +MGFD30H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,48,50,True,IN_PERSON,"Mazaheri, A.", +MGFD60H3F,LEC01,Fall 2025,TU,17:00,19:00,Available on ACORN,40,43,True,IN_PERSON,"Chau, B.", +MGFD70H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,35,43,True,IN_PERSON,"Ahmed, S.", +MGHA12H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,60,65,True,IN_PERSON,"Trougakos, J.", +MGHA12H3F,LEC02,Fall 2025,WE,11:00,13:00,Available on ACORN,63,65,True,IN_PERSON,"Trougakos, J.", +MGHA12H3F,LEC03,Fall 2025,FR,09:00,11:00,Available on ACORN,61,65,True,IN_PERSON,"Syed, I.", +MGHA12H3F,LEC04,Fall 2025,FR,11:00,13:00,Available on ACORN,63,65,True,IN_PERSON,"Trougakos, J.", +MGHA12H3F,LEC07,Fall 2025,TU,17:00,19:00,Available on ACORN,65,65,True,IN_PERSON,"Syed, I.", +MGHB02H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,63,65,True,IN_PERSON,"McCarthy, J.", +MGHB02H3F,LEC02,Fall 2025,TH,11:00,13:00,Available on ACORN,65,65,True,IN_PERSON,"McCarthy, J.", +MGHB02H3F,LEC03,Fall 2025,TH,13:00,15:00,Available on ACORN,65,65,True,IN_PERSON,"McCarthy, J.", +MGHB02H3F,LEC04,Fall 2025,TU,19:00,21:00,Available on ACORN,57,60,True,IN_PERSON,"Wilfred, S.", +MGHC02H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,43,43,True,IN_PERSON,"Addo-Bekoe, C.", +MGHC02H3F,LEC02,Fall 2025,MO,15:00,17:00,Available on ACORN,42,43,True,IN_PERSON,"Heathcote, J.", +MGHC02H3F,LEC03,Fall 2025,WE,15:00,17:00,Available on ACORN,43,43,True,IN_PERSON,"Radhakrishnan, P.", +MGHC02H3F,LEC04,Fall 2025,TH,13:00,15:00,Available on ACORN,42,43,True,IN_PERSON,"Addo-Bekoe, C.", +MGHC02H3F,LEC05,Fall 2025,TU,19:00,21:00,Available on ACORN,41,43,True,IN_PERSON,"Addo-Bekoe, C.", +MGHC52H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,24,40,True,IN_PERSON,"Radhakrishnan, P.", +MGHD14H3F,LEC01,Fall 2025,FR,13:00,15:00,Available on ACORN,32,33,True,IN_PERSON,"Trougakos, J.", +MGHD24H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,32,32,True,IN_PERSON,"McCarthy, J.", +MGHD27H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,33,40,True,IN_PERSON,"Vardhmane, S.", +MGHD28H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,38,40,True,IN_PERSON,"Radhakrishnan, P.", +MGIA12H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,35,40,True,IN_PERSON,"Connelly, B.", +MGIA12H3F,LEC02,Fall 2025,MO,11:00,13:00,Available on ACORN,41,43,True,IN_PERSON,"Connelly, B.", +MGIC01H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,22,40,True,IN_PERSON,"Jin, Y.", +MGIC02H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,36,40,True,IN_PERSON,"Heathcote, J.", +MGID40H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,21,40,True,IN_PERSON,"Zemel, M.", +MGID79H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,11,40,True,IN_PERSON,"McElheran, K.", +MGMA01H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,59,60,True,IN_PERSON,"Aggarwal, P.", +MGMA01H3F,LEC02,Fall 2025,MO,13:00,15:00,Available on ACORN,59,60,True,IN_PERSON,"Aggarwal, P.", +MGMA01H3F,LEC03,Fall 2025,TU,11:00,13:00,Available on ACORN,56,60,True,IN_PERSON,"Dewan, T.", +MGMA01H3F,LEC04,Fall 2025,WE,09:00,11:00,Available on ACORN,63,65,True,IN_PERSON,"Maglio III, S.", +MGMA01H3F,LEC05,Fall 2025,WE,11:00,13:00,Available on ACORN,63,65,True,IN_PERSON,"Maglio III, S.", +MGMB01H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,43,43,True,IN_PERSON,"Dewan, T.", +MGMB01H3F,LEC02,Fall 2025,FR,11:00,13:00,Available on ACORN,36,40,True,IN_PERSON,"Dewan, T.", +MGMB01H3F,LEC03,Fall 2025,TH,13:00,15:00,Available on ACORN,36,43,True,IN_PERSON,"Dewan, T.", +MGMB01H3F,LEC04,Fall 2025,FR,13:00,15:00,Available on ACORN,36,43,True,IN_PERSON,"Dewan, T.", +MGMB01H3F,LEC05,Fall 2025,TH,15:00,17:00,Available on ACORN,39,43,True,IN_PERSON,"Dewan, T.", +MGMC01H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,24,40,True,IN_PERSON,"Dewan, T.", +MGMC02H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,40,43,True,IN_PERSON,"McConkey, W.", +MGMC11H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,43,43,True,IN_PERSON,"McConkey, W.", +MGMC12H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,43,43,True,IN_PERSON,"Aggarwal, P.", +MGMC13H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,24,40,True,IN_PERSON,"Dewan, T.", +MGMD02H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,40,40,True,IN_PERSON,"Maglio III, S.", +MGMD10H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,18,20,True,IN_PERSON,"Aggarwal, P.", +MGMD11H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,20,20,True,IN_PERSON,"Maglio III, S.", +MGOC10H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,44,60,True,IN_PERSON,"Averbakh, I.", +MGOC10H3F,LEC02,Fall 2025,TU,15:00,17:00,Available on ACORN,38,60,True,IN_PERSON,"Averbakh, I.", +MGOC10H3F,LEC03,Fall 2025,WE,13:00,15:00,Available on ACORN,47,60,True,IN_PERSON,"Averbakh, I.", +MGOC10H3F,LEC04,Fall 2025,TU,13:00,15:00,Available on ACORN,28,60,True,IN_PERSON,"Averbakh, I.", +MGOC20H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,43,60,True,IN_PERSON,"Quan, V.", +MGOC20H3F,LEC02,Fall 2025,MO,15:00,17:00,Available on ACORN,44,60,True,IN_PERSON,"Quan, V.", +MGOC20H3F,LEC03,Fall 2025,TU,11:00,13:00,Available on ACORN,50,60,True,IN_PERSON,"Quan, V.", +MGSB01H3F,LEC01,Fall 2025,WE,19:00,21:00,Available on ACORN,82,85,True,IN_PERSON,"de Bettignies, J.", +MGSB22H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,32,60,True,IN_PERSON,"McConkey, W.", +MGSB22H3F,LEC02,Fall 2025,MO,13:00,15:00,Available on ACORN,56,60,True,IN_PERSON,"McConkey, W.", +MGSC01H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,34,43,True,IN_PERSON,"Jin, Y.", +MGSC05H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,62,65,True,IN_PERSON,"Constantinou, P.", +MGSC14H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,62,65,True,IN_PERSON,"Constantinou, P.", +MGSC14H3F,LEC02,Fall 2025,WE,15:00,17:00,Available on ACORN,64,65,True,IN_PERSON,"Constantinou, P.", +MGSC20H3F,LEC01,Fall 2025,WE,19:00,21:00,Available on ACORN,45,60,True,IN_PERSON,"Shibaeva, M.", +MGSC30H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,32,60,True,IN_PERSON,"Guiyab, J.", +MGSD15H3F,LEC01,Fall 2025,TU,17:00,19:00,Available on ACORN,17,30,True,IN_PERSON,"Yazdanian, E.", +MGSD55H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,12,40,True,IN_PERSON,"Jin, Y.", +MGTA01H3F,LEC01,Fall 2025,MO,10:00,12:00,Available on ACORN,325,350,True,IN_PERSON,"Toor, A.", +MGTA01H3F,LEC02,Fall 2025,WE,09:00,11:00,Available on ACORN,327,350,True,IN_PERSON,"Toor, A.", +MGTA38H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,30,,False,,L. , +MGTA38H3F,LEC02,Fall 2025,TH,13:00,15:00,Available on ACORN,30,,False,, , +MGTA38H3F,LEC03,Fall 2025,WE,15:00,17:00,Available on ACORN,30,,False,,L. , +MGTA38H3F,LEC04,Fall 2025,TU,13:00,15:00,Available on ACORN,30,,False,, , +MGTA38H3F,LEC05,Fall 2025,TU,15:00,17:00,Available on ACORN,33,,False,, , +MGTA38H3F,LEC06,Fall 2025,TU,17:00,19:00,Available on ACORN,33,,False,, , +MGTA38H3F,LEC07,Fall 2025,WE,09:00,11:00,Available on ACORN,30,,False,, , +MGTA38H3F,LEC08,Fall 2025,WE,11:00,13:00,Available on ACORN,30,,False,, , +MGTA38H3F,LEC09,Fall 2025,WE,15:00,17:00,Available on ACORN,30,,False,, , +MGTA38H3F,LEC10,Fall 2025,TU,11:00,13:00,Available on ACORN,33,,False,, , +MGTA38H3F,LEC11,Fall 2025,TH,15:00,17:00,Available on ACORN,30,,False,, , +MGTA38H3F,LEC12,Fall 2025,TH,17:00,19:00,Available on ACORN,30,,False,,L. , +MGTA38H3F,TUT0001,Fall 2025,TH,19:00,21:00,Available on ACORN,30,,False,, , +MGTA38H3F,TUT0002,Fall 2025,MO,19:00,21:00,Available on ACORN,30,,False,, , +MGTA38H3F,TUT0003,Fall 2025,TH,19:00,21:00,Available on ACORN,30,,False,, , +MGTA38H3F,TUT0004,Fall 2025,MO,19:00,21:00,Available on ACORN,30,,False,, , +MGTA38H3F,TUT0005,Fall 2025,FR,09:00,11:00,Available on ACORN,30,,False,, , +MGTA38H3F,TUT0006,Fall 2025,FR,11:00,13:00,Available on ACORN,30,,False,, , +MGTA38H3F,TUT0007,Fall 2025,TH,19:00,21:00,Available on ACORN,30,,False,, , +MGTA38H3F,TUT0008,Fall 2025,TH,19:00,21:00,Available on ACORN,30,,False,, , +MGTA38H3F,TUT0009,Fall 2025,TH,19:00,21:00,Available on ACORN,30,,False,, , +MGTA38H3F,TUT0010,Fall 2025,TH,19:00,21:00,Available on ACORN,30,,False,,Email/Quercus for, +MGTA38H3F,TUT0011,Fall 2025,WE,19:00,21:00,Available onACORN,30,30,False,IN_PERSON,, +MGTA38H3F,TUT0012,Fall 2025,TH,19:00,21:00,Available onACORN,15,30,False,IN_PERSON,, +MGTC28H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,27,50,True,IN_PERSON,"Chau, B.", +MGTD80H3F,LEC01,Fall 2025,,,,Available on ACORN,4,9999,True,IN_PERSON,, +MGTD82Y3Y,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +MUZA60H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,22,26,True,IN_PERSON,"Tucker, L.", +MUZA61H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,6,15,True,IN_PERSON,"Tucker, L.", +MUZA62H3F,LEC01,Fall 2025,MO,17:00,19:00,Available on ACORN,53,55,True,IN_PERSON,"Murray, P.", +MUZA63H3F,LEC01,Fall 2025,MO,17:00,19:00,Available on ACORN,19,20,True,IN_PERSON,"Murray, P.", +MUZA64H3F,LEC01,Fall 2025,TU,16:00,18:00,Available on ACORN,10,25,True,IN_PERSON,"Leong, T.", +MUZA65H3F,LEC01,Fall 2025,TU,16:00,18:00,Available on ACORN,1,15,True,IN_PERSON,"Leong, T.", +MUZA66H3F,LEC01,Fall 2025,MO,17:00,20:00,Available on ACORN,14,6,True,IN_PERSON,"Berry, A.", +MUZA66H3F,LEC02,Fall 2025,WE,17:00,20:00,Available on ACORN,7,6,True,IN_PERSON,"Leong, T.", +MUZA67H3F,LEC01,Fall 2025,MO,17:00,20:00,Available on ACORN,4,6,True,IN_PERSON,"Berry, A.", +MUZA67H3F,LEC02,Fall 2025,WE,17:00,20:00,Available on ACORN,5,6,True,IN_PERSON,"Leong, T.", +MUZA80H3F,LEC01,Fall 2025,TU,18:00,21:00,Available on ACORN,23,25,True,IN_PERSON,"Leong, T.", +MUZA80H3F,LEC02,Fall 2025,MO,10:00,13:00,Available on ACORN,24,25,True,IN_PERSON,"Mantie, R.", +MUZA81H3F,LEC01,Fall 2025,MO,14:00,16:00,Available on ACORN,20,20,True,IN_PERSON,"Tsang, A.", +MUZB02H3F,LEC01,Fall 2025,TU,09:00,12:00,Available on ACORN,22,25,True,IN_PERSON,"Mantie, R.", +MUZB40H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,24,26,True,IN_PERSON,"Tsang, A.", +MUZB60H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,9,10,True,IN_PERSON,"Tucker, L.", +MUZB61H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,3,10,True,IN_PERSON,"Tucker, L.", +MUZB62H3F,LEC01,Fall 2025,MO,17:00,19:00,Available on ACORN,13,15,True,IN_PERSON,"Murray, P.", +MUZB63H3F,LEC01,Fall 2025,MO,17:00,19:00,Available on ACORN,7,10,True,IN_PERSON,"Murray, P.", +MUZB64H3F,LEC01,Fall 2025,TU,16:00,18:00,Available on ACORN,7,10,True,IN_PERSON,"Leong, T.", +MUZB65H3F,LEC01,Fall 2025,TU,16:00,18:00,Available on ACORN,2,5,True,IN_PERSON,"Leong, T.", +MUZB66H3F,LEC01,Fall 2025,MO,17:00,20:00,Available on ACORN,5,3,True,IN_PERSON,"Berry, A.", +MUZB66H3F,LEC02,Fall 2025,WE,17:00,20:00,Available on ACORN,2,3,True,IN_PERSON,"Leong, T.", +MUZB67H3F,LEC01,Fall 2025,MO,17:00,20:00,Available on ACORN,4,3,True,IN_PERSON,"Berry, A.", +MUZB67H3F,LEC02,Fall 2025,WE,17:00,20:00,Available on ACORN,4,3,True,IN_PERSON,"Leong, T.", +MUZB80H3F,LEC01,Fall 2025,TH,10:00,12:00,Available on ACORN,24,25,True,IN_PERSON,"Risk, L.", +MUZC01H3F,LEC01,Fall 2025,WE,10:00,12:00,Available on ACORN,25,20,True,IN_PERSON,"Risk, L.", +MUZC20H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,40,40,True,IN_PERSON,"Stanbridge, A.", +MUZC23H3F,LEC01,Fall 2025,TU,14:00,16:00,Available on ACORN,29,30,True,IN_PERSON,"Stanbridge, A.", +MUZC60H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,3,10,True,IN_PERSON,"Tucker, L.", +MUZC61H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,6,10,True,IN_PERSON,"Tucker, L.", +MUZC62H3F,LEC01,Fall 2025,MO,17:00,19:00,Available on ACORN,9,10,True,IN_PERSON,"Murray, P.", +MUZC63H3F,LEC01,Fall 2025,MO,17:00,19:00,Available on ACORN,6,10,True,IN_PERSON,"Murray, P.", +MUZC64H3F,LEC01,Fall 2025,TU,16:00,18:00,Available on ACORN,4,6,True,IN_PERSON,"Leong, T.", +MUZC65H3F,LEC01,Fall 2025,TU,16:00,18:00,Available on ACORN,1,6,True,IN_PERSON,"Leong, T.", +MUZC66H3F,LEC01,Fall 2025,MO,17:00,20:00,Available on ACORN,4,6,True,IN_PERSON,"Berry, A.", +MUZC66H3F,LEC02,Fall 2025,WE,17:00,20:00,Available on ACORN,1,6,True,IN_PERSON,"Leong, T.", +MUZC67H3F,LEC01,Fall 2025,MO,17:00,20:00,Available on ACORN,2,6,True,IN_PERSON,"Berry, A.", +MUZC67H3F,LEC02,Fall 2025,WE,17:00,20:00,Available on ACORN,0,6,True,IN_PERSON,"Leong, T.", +MUZD81H3F,LEC01,Fall 2025,,,,Available on ACORN,0,5,True,ONLINE_ASYNCHRONOUS,, +NMEA01H3F,LEC01,Fall 2025,,,,Available on ACORN,28,30,True,,CENTENNIAL, +NMEA01H3F,LEC02,Fall 2025,,,,Available on ACORN,27,30,True,,CENTENNIAL, +NMEA02H3F,LEC01,Fall 2025,,,,Available on ACORN,28,30,True,IN_PERSON,CENTENNIAL, +NMEA02H3F,LEC02,Fall 2025,,,,Available on ACORN,27,30,True,IN_PERSON,CENTENNIAL, +NMEA03H3F,LEC01,Fall 2025,,,,Available on ACORN,28,30,True,ONLINE_SYNCHRONOUS,CENTENNIAL, +NMEA03H3F,LEC02,Fall 2025,,,,Available on ACORN,27,30,True,ONLINE_SYNCHRONOUS,CENTENNIAL, +NMEA04H3F,LEC01,Fall 2025,,,,Available on ACORN,28,30,True,IN_PERSON,CENTENNIAL, +NMEA04H3F,LEC02,Fall 2025,,,,Available on ACORN,27,30,True,IN_PERSON,CENTENNIAL, +NMED10Y3Y,LEC01,Fall 2025,TU,15:00,18:00,Available on ACORN,50,46,True,IN_PERSON,"Guzman, C.", +NROB60H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,160,180,True,IN_PERSON,"Steininger, J.", +NROB60H3F,PRA0001,Fall 2025,TH,09:00,11:00,Available on ACORN,19,20,False,IN_PERSON, , +NROB60H3F,PRA0002,Fall 2025,TH,11:00,13:00,Available on ACORN,20,20,False,IN_PERSON, , +NROB60H3F,PRA0003,Fall 2025,TH,13:00,15:00,Available on ACORN,16,20,False,IN_PERSON, , +NROB60H3F,PRA0004,Fall 2025,TH,15:00,17:00,Available on ACORN,18,20,False,IN_PERSON, , +NROB60H3F,PRA0005,Fall 2025,TH,17:00,19:00,Available on ACORN,17,20,False,IN_PERSON, , +NROB60H3F,PRA0006,Fall 2025,TH,19:00,21:00,Available on ACORN,18,20,False,IN_PERSON,, +NROB60H3F,PRA0007,Fall 2025,FR,09:00,11:00,Available on ACORN,15,20,False,IN_PERSON,, +NROB60H3F,PRA0008,Fall 2025,FR,11:00,13:00,Available on ACORN,19,20,False,IN_PERSON,, +NROB60H3F,PRA0009,Fall 2025,FR,13:00,15:00,Available on ACORN,18,20,False,IN_PERSON,, +NROC34H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,92,120,True,IN_PERSON,"Gruntman, E.", +NROC36H3F,LEC01,Fall 2025,WE,15:00,17:00,Available onACORN,61,100,True,IN_PERSON,"Arruda Carvalho,M.", +NROC60H3F,LEC01,Fall 2025,TH,14:00,17:00,Available onACORN,18,20,True,IN_PERSON,"Arruda Carvalho,M.", +NROC69H3F,LEC01,Fall 2025,TH,19:00,21:00,Available on ACORN,63,100,True,IN_PERSON,"Steininger, J.", +NROC90H3Y,LEC01,Fall 2025,,,,Available on ACORN,8,9999,True,IN_PERSON,FACULTY, +NROD60H3F,LEC01,Fall 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +NROD60H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,21,24,True,IN_PERSON,"Rozeske, R.", +NROD98Y3Y,LEC01,Fall 2025,FR,13:00,15:00,Available on ACORN,21,20,True,IN_PERSON,"Bercovici, D.", +PHLA11H3F,LEC01,Fall 2025,TU,11:00,12:00,Available on ACORN,334,480,True,IN_PERSON,"Howard, N.", +PHLA11H3F,LEC01,Fall 2025,TH,11:00,12:00,Available on ACORN,334,480,True,IN_PERSON,"Howard, N.", +PHLA11H3F,TUT0001,Fall 2025,TU,17:00,18:00,Available on ACORN,20,30,False,IN_PERSON,, +PHLA11H3F,TUT0002,Fall 2025,TU,12:00,13:00,Available on ACORN,24,30,False,IN_PERSON,, +PHLA11H3F,TUT0003,Fall 2025,TU,18:00,19:00,Available on ACORN,23,30,False,IN_PERSON, , +PHLA11H3F,TUT0004,Fall 2025,TU,13:00,14:00,Available on ACORN,25,30,False,IN_PERSON, , +PHLA11H3F,TUT0005,Fall 2025,TU,19:00,20:00,Available on ACORN,18,30,False,IN_PERSON, , +PHLA11H3F,TUT0006,Fall 2025,TU,16:00,17:00,Available on ACORN,22,30,False,IN_PERSON, , +PHLA11H3F,TUT0007,Fall 2025,TU,20:00,21:00,Available on ACORN,15,30,False,IN_PERSON, , +PHLA11H3F,TUT0008,Fall 2025,TU,15:00,16:00,Available on ACORN,28,30,False,IN_PERSON, , +PHLA11H3F,TUT0009,Fall 2025,TU,16:00,17:00,Available on ACORN,26,30,False,,- Synchronous, +PHLA11H3F,TUT0010,Fall 2025,TU,16:00,17:00,Available on ACORN,22,30,False,,- Synchronous, +PHLA11H3F,TUT0011,Fall 2025,TU,17:00,18:00,Available on ACORN,20,30,False,,- Synchronous, +PHLA11H3F,TUT0012,Fall 2025,TU,17:00,18:00,Available on ACORN,18,30,False,,- Synchronous, +PHLA11H3F,TUT0013,Fall 2025,TU,18:00,19:00,Available on ACORN,17,30,False,,- Synchronous, +PHLA11H3F,TUT0014,Fall 2025,TU,18:00,19:00,Available on ACORN,17,30,False,,- Synchronous, +PHLA11H3F,TUT0015,Fall 2025,TU,19:00,20:00,Available on ACORN,21,30,False,ONLINE_SYNCHRONOUS,, +PHLA11H3F,TUT0016,Fall 2025,TU,19:00,20:00,Available on ACORN,17,30,False,ONLINE_SYNCHRONOUS,, +PHLB04H3F,LEC01,Fall 2025,TU,12:00,13:00,Available on ACORN,95,100,True,IN_PERSON,"Gustafson, A.", +PHLB04H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,95,100,True,IN_PERSON,"Gustafson, A.", +PHLB05H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,148,155,True,IN_PERSON,"Gustafson, A.", +PHLB05H3F,TUT0001,Fall 2025,FR,09:00,10:00,Available on ACORN,30,31,False,IN_PERSON,, +PHLB05H3F,TUT0002,Fall 2025,FR,09:00,10:00,Available on ACORN,28,31,False,IN_PERSON,, +PHLB05H3F,TUT0003,Fall 2025,FR,10:00,11:00,Available on ACORN,29,31,False,IN_PERSON,, +PHLB05H3F,TUT0004,Fall 2025,FR,10:00,11:00,Available on ACORN,29,31,False,IN_PERSON,, +PHLB05H3F,TUT0005,Fall 2025,FR,11:00,12:00,Available on ACORN,30,31,False,IN_PERSON,, +PHLB09H3F,LEC01,Fall 2025,TU,18:00,20:00,Available onACORN,315,350,True,IN_PERSON,"Mathison,E.", +PHLB09H3F,TUT0001,Fall 2025,WE,19:00,20:00,Available onACORN,27,30,False,IN_PERSON,, +PHLB09H3F,TUT0002,Fall 2025,WE,09:00,10:00,Available on ACORN,27,,False,,change , +PHLB09H3F,TUT0003,Fall 2025,WE,19:00,20:00,Available on ACORN,30,,False,, , +PHLB09H3F,TUT0004,Fall 2025,WE,20:00,21:00,Available on ACORN,30,,False,, , +PHLB09H3F,TUT0005,Fall 2025,WE,20:00,21:00,Available on ACORN,30,,False,, , +PHLB09H3F,TUT0006,Fall 2025,WE,16:00,17:00,Available on ACORN,30,,False,, , +PHLB09H3F,TUT0007,Fall 2025,WE,14:00,15:00,Available on ACORN,30,,False,, , +PHLB09H3F,TUT0008,Fall 2025,WE,14:00,15:00,Available on ACORN,30,,False,, , +PHLB09H3F,TUT0009,Fall 2025,WE,15:00,16:00,Available on ACORN,30,,False,, , +PHLB09H3F,TUT0010,Fall 2025,WE,15:00,16:00,Available on ACORN,30,,False,, , +PHLB09H3F,TUT0011,Fall 2025,WE,16:00,17:00,Available onACORN,27,30,False,,, +PHLB09H3F,TUT0012,Fall 2025,WE,16:00,17:00,Available onACORN,27,30,False,,, +PHLB18H3F,LEC01,Fall 2025,MO,10:00,12:00,Available onACORN,62,86,True,IN_PERSON,"Yarandi, S.",Room change08/23/24 +PHLB18H3F,LEC01,Fall 2025,WE,10:00,11:00,Available onACORN,62,86,True,IN_PERSON,"Yarandi, S.",Room change08/23/24 +PHLB20H3F,LEC01,Fall 2025,WE,14:00,17:00,Available on ACORN,55,80,True,IN_PERSON,"Hellie, B.", +PHLB31H3F,LEC01,Fall 2025,TU,10:00,11:00,Available on ACORN,57,60,True,IN_PERSON,"Pfeiffer, C.", +PHLB31H3F,LEC01,Fall 2025,TH,10:00,12:00,Available on ACORN,57,60,True,IN_PERSON,"Pfeiffer, C.", +PHLB35H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,32,60,True,IN_PERSON,"Hamblin, C.", +PHLB35H3F,LEC01,Fall 2025,WE,13:00,14:00,Available on ACORN,32,60,True,IN_PERSON,"Hamblin, C.", +PHLB50H3F,LEC01,Fall 2025,WE,10:00,13:00,Available on ACORN,94,150,True,IN_PERSON,"Kremer, P.", +PHLB91H3F,LEC01,Fall 2025,TU,11:00,14:00,Available on ACORN,51,100,True,IN_PERSON,"Kirley, M.", +PHLB99H3F,LEC01,Fall 2025,TU,14:00,17:00,Available on ACORN,22,40,True,IN_PERSON,"Wilson, J.", +PHLC05H3F,LEC01,Fall 2025,TU,12:00,13:00,Available on ACORN,27,35,True,IN_PERSON,"Howard, N.", +PHLC05H3F,LEC01,Fall 2025,TH,12:00,14:00,Available on ACORN,27,35,True,IN_PERSON,"Howard, N.", +PHLC07H3F,LEC01,Fall 2025,TU,14:00,17:00,Available on ACORN,118,135,True,IN_PERSON,"Mathison, E.", +PHLC31H3F,LEC01,Fall 2025,TU,17:00,18:00,Available on ACORN,11,35,True,IN_PERSON,"Chaintreuil, U.", +PHLC31H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,11,35,True,IN_PERSON,"Chaintreuil, U.", +PHLC36H3F,LEC01,Fall 2025,FR,12:00,15:00,Available on ACORN,14,30,True,IN_PERSON,"Hamblin, C.", +PHLC37H3F,LEC01,Fall 2025,WE,10:00,13:00,Available on ACORN,7,35,True,IN_PERSON,"Sedivy, S.", +PHLC60H3F,LEC01,Fall 2025,WE,14:00,17:00,Available on ACORN,13,35,True,IN_PERSON,"Wilson, J.", +PHLC80H3F,LEC01,Fall 2025,MO,10:00,13:00,Available on ACORN,15,35,True,IN_PERSON,"Kremer, P.", +PHLC92H3F,LEC01,Fall 2025,MO,14:00,17:00,Available on ACORN,23,35,True,IN_PERSON,"Yarandi, S.", +PHLC99H3F,LEC01,Fall 2025,TU,14:00,17:00,Available onACORN,2,35,True,IN_PERSON,"Hellie, B.",Room change(26/08/24) +PHLD05H3F,LEC01,Fall 2025,FR,12:00,15:00,Available on ACORN,14,22,True,IN_PERSON,"Kirley, M.", +PHLD86H3F,LEC01,Fall 2025,MO,17:00,20:00,Available on ACORN,1,5,True,IN_PERSON,"Mathison, E.", +PHLD88Y3Y,LEC01,Fall 2025,MO,17:00,20:00,Available onACORN,5,8,True,IN_PERSON,"Mathison,E.",Room change(10/09/24) +PHLD90H3F,LEC01,Fall 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +PHLD91H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD92H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD93H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD94H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD95H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD96H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD97H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD98H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHYA10H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHYA10H3F,LEC01,Fall 2025,TU,15:00,16:00,Available on ACORN,212,234,True,IN_PERSON,"McGraw, P.", +PHYA10H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,212,234,True,IN_PERSON,"McGraw, P.", +PHYA10H3F,PRA0001,Fall 2025,MO,09:00,12:00,Available on ACORN,20,21,False,IN_PERSON, , +PHYA10H3F,PRA0002,Fall 2025,MO,09:00,12:00,Available on ACORN,17,21,False,IN_PERSON, , +PHYA10H3F,PRA0003,Fall 2025,MO,13:00,16:00,Available on ACORN,19,21,False,IN_PERSON, , +PHYA10H3F,PRA0004,Fall 2025,MO,13:00,16:00,Available on ACORN,18,21,False,IN_PERSON, , +PHYA10H3F,PRA0005,Fall 2025,WE,09:00,12:00,Available on ACORN,20,21,False,IN_PERSON, , +PHYA10H3F,PRA0006,Fall 2025,WE,09:00,12:00,Available on ACORN,18,21,False,IN_PERSON, , +PHYA10H3F,PRA0007,Fall 2025,TH,09:00,12:00,Available on ACORN,18,21,False,IN_PERSON, , +PHYA10H3F,PRA0008,Fall 2025,TH,09:00,12:00,Available on ACORN,12,21,False,IN_PERSON, , +PHYA10H3F,PRA0009,Fall 2025,FR,09:00,12:00,Available on ACORN,20,21,False,IN_PERSON, , +PHYA10H3F,PRA0010,Fall 2025,FR,09:00,12:00,Available on ACORN,0,21,False,IN_PERSON, , +PHYA10H3F,PRA0011,Fall 2025,TU,09:00,12:00,Available on ACORN,17,21,False,IN_PERSON, , +PHYA10H3F,PRA0012,Fall 2025,TU,09:00,12:00,Available on ACORN,11,21,False,IN_PERSON,, +PHYA10H3F,PRA0013,Fall 2025,WE,13:00,16:00,Available on ACORN,21,21,False,IN_PERSON,, +PHYA10H3F,PRA0014,Fall 2025,WE,13:00,16:00,Available on ACORN,0,21,False,IN_PERSON,, +PHYA11H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,242,294,True,IN_PERSON,"Weaver, D.", +PHYA11H3F,LEC01,Fall 2025,FR,14:00,15:00,Available on ACORN,242,294,True,IN_PERSON,"Weaver, D.", +PHYA11H3F,PRA0001,Fall 2025,MO,09:00,12:00,Available on ACORN,15,21,False,IN_PERSON,, +PHYA11H3F,PRA0002,Fall 2025,MO,09:00,12:00,Available on ACORN,18,21,False,IN_PERSON, , +PHYA11H3F,PRA0003,Fall 2025,MO,13:00,16:00,Available on ACORN,19,21,False,IN_PERSON, , +PHYA11H3F,PRA0004,Fall 2025,MO,13:00,16:00,Available on ACORN,16,21,False,IN_PERSON, , +PHYA11H3F,PRA0005,Fall 2025,TU,09:00,12:00,Available on ACORN,17,21,False,IN_PERSON, , +PHYA11H3F,PRA0006,Fall 2025,TU,09:00,12:00,Available on ACORN,18,21,False,IN_PERSON, , +PHYA11H3F,PRA0007,Fall 2025,TU,13:00,16:00,Available on ACORN,21,21,False,IN_PERSON, , +PHYA11H3F,PRA0008,Fall 2025,TU,13:00,16:00,Available on ACORN,21,21,False,IN_PERSON, , +PHYA11H3F,PRA0009,Fall 2025,TH,09:00,12:00,Available on ACORN,18,21,False,IN_PERSON, , +PHYA11H3F,PRA0010,Fall 2025,TH,09:00,12:00,Available on ACORN,17,21,False,IN_PERSON, , +PHYA11H3F,PRA0011,Fall 2025,TH,13:00,16:00,Available on ACORN,12,21,False,IN_PERSON, , +PHYA11H3F,PRA0012,Fall 2025,TH,13:00,16:00,Available on ACORN,14,21,False,IN_PERSON, , +PHYA11H3F,PRA0013,Fall 2025,FR,09:00,12:00,Available on ACORN,20,21,False,IN_PERSON, , +PHYA11H3F,PRA0014,Fall 2025,FR,09:00,12:00,Available on ACORN,16,21,False,IN_PERSON,, +PHYB10H3F,LEC01,Fall 2025,TU,11:00,12:00,Available onACORN,46,48,True,IN_PERSON,"Weaver,D.",Time change07/16/24 +PHYB10H3F,PRA0001,Fall 2025,TU,13:00,16:00,Available onACORN,15,16,False,IN_PERSON,, +PHYB10H3F,PRA0002,Fall 2025,WE,11:00,14:00,Available onACORN,16,16,False,IN_PERSON,, +PHYB10H3F,PRA0003,Fall 2025,FR,10:00,13:00,Available onACORN,15,16,False,IN_PERSON,, +PHYB56H3F,LEC01,Fall 2025,TU,09:00,11:00,Available onACORN,33,54,True,IN_PERSON,"BayerCarpintero, J.",Room change(04/09/24) +PHYB56H3F,TUT0001,Fall 2025,WE,09:00,11:00,Available onACORN,18,27,False,IN_PERSON,, +PHYB56H3F,TUT0002,Fall 2025,WE,11:00,13:00,Available onACORN,14,27,False,IN_PERSON,, +PHYB57H3F,LEC01,Fall 2025,MO,10:00,11:00,Available on ACORN,43,50,True,IN_PERSON,"Menou, K.", +PHYB57H3F,LEC01,Fall 2025,TH,11:00,12:00,Available on ACORN,43,50,True,IN_PERSON,"Menou, K.", +PHYB57H3F,PRA0001,Fall 2025,MO,15:00,17:00,Available on ACORN,43,50,False,IN_PERSON,, +PHYC50H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,25,30,True,IN_PERSON,"McGraw, P.", +PHYC50H3F,TUT0001,Fall 2025,TU,09:00,10:00,Available on ACORN,25,30,False,IN_PERSON,, +PHYC54H3F,LEC01,Fall 2025,TU,12:00,14:00,Available onACORN,16,25,True,IN_PERSON,"Bayer Carpintero,J.", +PHYC54H3F,TUT0001,Fall 2025,WE,14:00,16:00,Available onACORN,16,25,False,IN_PERSON,, +PHYD01H3F,LEC01,Fall 2025,,,,Available on ACORN,4,10,True,IN_PERSON,"Weaver, D.", +PHYD02Y3Y,LEC01,Fall 2025,,,,Available on ACORN,1,10,True,IN_PERSON,"Weaver, D.", +PHYD37H3F,LEC01,Fall 2025,MO,13:00,14:00,Available on ACORN,10,20,True,IN_PERSON,"Lowman, J.", +PHYD37H3F,LEC01,Fall 2025,TU,13:00,14:00,Available on ACORN,10,20,True,IN_PERSON,"Lowman, J.", +PHYD37H3F,TUT0001,Fall 2025,TH,11:00,12:00,Available on ACORN,10,20,False,IN_PERSON,, +PHYD57H3F,LEC01,Fall 2025,FR,11:00,13:00,Available on ACORN,13,15,True,IN_PERSON,"Artymowicz, P.", +PHYD57H3F,TUT0001,Fall 2025,FR,13:00,14:00,Available on ACORN,13,15,False,IN_PERSON,, +PHYD72H3F,LEC01,Fall 2025,,,,Available on ACORN,0,10,True,IN_PERSON,"Weaver, D.", +PLIC24H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,59,60,True,IN_PERSON,"Kiss, A.", +PLIC54H3F,LEC01,Fall 2025,TU,18:00,21:00,Available on ACORN,33,35,True,IN_PERSON,"Sanjeevan, T.", +PLIC55H3F,LEC01,Fall 2025,TU,12:00,13:00,Available on ACORN,24,30,True,IN_PERSON,"Kush, D.", +PLIC55H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,24,30,True,IN_PERSON,"Kush, D.", +PLIC75H3F,LEC01,Fall 2025,TU,14:00,17:00,Available on ACORN,24,30,True,IN_PERSON,"Fu, Z.", +PLID01H3F,LEC01,Fall 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +PLID02H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PLID03H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PLID07Y3Y,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PMDB22H3F,LEC01,Fall 2025,,,,Available on ACORN,25,60,True,IN_PERSON,CENTENNIAL, +PMDB22H3F,PRA0003,Fall 2025,,,,Available on ACORN,22,30,False,IN_PERSON,, +PMDB22H3F,PRA0004,Fall 2025,,,,Available on ACORN,3,30,False,IN_PERSON,, +PMDB25H3F,LEC01,Fall 2025,,,,Available on ACORN,20,60,True,IN_PERSON,CENTENNIAL, +PMDB25H3F,LEC02,Fall 2025,,,,Available on ACORN,0,60,True,IN_PERSON,CENTENNIAL, +PMDB33H3F,LEC01,Fall 2025,,,,Available on ACORN,25,60,True,IN_PERSON,CENTENNIAL, +PMDB41H3F,LEC01,Fall 2025,,,,Available on ACORN,22,60,True,IN_PERSON,CENTENNIAL, +PMDB41H3F,LEC02,Fall 2025,,,,Available on ACORN,0,60,True,IN_PERSON,CENTENNIAL, +PMDC40H3F,LEC01,Fall 2025,,,,Available on ACORN,21,30,True,IN_PERSON,CENTENNIAL, +PMDC40H3F,LEC02,Fall 2025,,,,Available on ACORN,0,30,True,IN_PERSON,CENTENNIAL, +PMDC42Y3F,LEC01,Fall 2025,,,,Available on ACORN,21,30,True,IN_PERSON,CENTENNIAL, +PMDC42Y3F,PRA0001,Fall 2025,,,,Available on ACORN,0,30,False,IN_PERSON,, +PMDC42Y3F,PRA0002,Fall 2025,,,,Available on ACORN,0,30,False,IN_PERSON,, +PMDC43H3F,LEC01,Fall 2025,,,,Available on ACORN,21,30,True,IN_PERSON,CENTENNIAL, +PMDC43H3F,LEC02,Fall 2025,,,,Available on ACORN,0,30,True,IN_PERSON,CENTENNIAL, +POLA01H3F,LEC02:,Fall 2025,,,,Equity,,,False,,modern world,Students +POLA01H3F,LEC03:,Fall 2025,,,,modern,,,False,,in LEC01,MUST +POLA01H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,160,,False,,J. , +POLA01H3F,LEC02,Fall 2025,WE,13:00,15:00,Available on ACORN,150,,False,, ,Add +POLA01H3F,LEC03,Fall 2025,TU,13:00,15:00,Available on ACORN,150,,False,,L. , +POLA01H3F,TUT0003,Fall 2025,MO,19:00,20:00,Available on ACORN,32,,False,, , +POLA01H3F,TUT0004,Fall 2025,MO,16:00,17:00,Available on ACORN,32,,False,,change , +POLA01H3F,TUT0006,Fall 2025,MO,16:00,17:00,Available on ACORN,32,,False,, , +POLA01H3F,TUT0009,Fall 2025,WE,09:00,10:00,Available on ACORN,30,,False,, , +POLA01H3F,TUT0011,Fall 2025,WE,09:00,10:00,Available on ACORN,30,,False,, , +POLA01H3F,TUT0014,Fall 2025,WE,16:00,17:00,Available on ACORN,30,,False,, , +POLA01H3F,TUT0015,Fall 2025,WE,19:00,20:00,Available on ACORN,30,,False,, , +POLA01H3F,TUT0017,Fall 2025,TU,09:00,10:00,Available on ACORN,30,,False,, , +POLA01H3F,TUT0019,Fall 2025,TU,11:00,12:00,Available on ACORN,30,,False,, , +POLA01H3F,TUT0020,Fall 2025,TU,17:00,18:00,Available onACORN,25,30,False,IN_PERSON,, +POLA01H3F,TUT0022,Fall 2025,TU,16:00,17:00,Available onACORN,29,30,False,IN_PERSON,, +POLA01H3F,TUT0023,Fall 2025,TU,12:00,13:00,Available onACORN,28,30,False,IN_PERSON,,Room change(27/08/24) +POLB56H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,216,230,True,IN_PERSON,"Schertzer, R.", +POLB56H3F,TUT0001,Fall 2025,TU,19:00,20:00,Available on ACORN,28,30,False,IN_PERSON,, +POLB56H3F,TUT0002,Fall 2025,TU,20:00,21:00,Available on ACORN,21,30,False,IN_PERSON,, +POLB56H3F,TUT0003,Fall 2025,TU,19:00,20:00,Available on ACORN,21,30,False,IN_PERSON,, +POLB56H3F,TUT0004,Fall 2025,TU,18:00,19:00,Available on ACORN,29,30,False,IN_PERSON,, +POLB56H3F,TUT0005,Fall 2025,TU,18:00,19:00,Available on ACORN,29,30,False,IN_PERSON,, +POLB56H3F,TUT0006,Fall 2025,TU,17:00,18:00,Available on ACORN,29,30,False,IN_PERSON,, +POLB56H3F,TUT0007,Fall 2025,TU,18:00,19:00,Available on ACORN,30,30,False,IN_PERSON,, +POLB56H3F,TUT0008,Fall 2025,TU,17:00,18:00,Available on ACORN,29,30,False,IN_PERSON,, +POLB72H3F,LEC01,Fall 2025,TH,10:00,12:00,Available onACORN,156,175,True,IN_PERSON,"Shanks, T.", +POLB72H3F,TUT0001,Fall 2025,TH,09:00,10:00,Available onACORN,24,30,False,IN_PERSON,, +POLB72H3F,TUT0002,Fall 2025,TH,12:00,13:00,Available onACORN,26,30,False,IN_PERSON,,Time change07/18/24 +POLB72H3F,TUT0003,Fall 2025,TH,09:00,10:00,Available onACORN,28,30,False,IN_PERSON,, +POLB72H3F,TUT0004,Fall 2025,TH,13:00,14:00,Available onACORN,22,25,False,IN_PERSON,,Time change07/18/24 +POLB72H3F,TUT0005,Fall 2025,TH,16:00,17:00,Available onACORN,28,30,False,IN_PERSON,, +POLB72H3F,TUT0006,Fall 2025,TH,14:00,15:00,Available onACORN,28,30,False,IN_PERSON,,Time change07/18/24 +POLB80H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,147,175,True,IN_PERSON,"Ahmad, A.", +POLB80H3F,TUT0001,Fall 2025,MO,13:00,14:00,Available on ACORN,28,30,False,IN_PERSON,, +POLB80H3F,TUT0002,Fall 2025,MO,19:00,20:00,Available on ACORN,9,30,False,IN_PERSON,, +POLB80H3F,TUT0004,Fall 2025,MO,14:00,15:00,Available on ACORN,29,30,False,IN_PERSON,, +POLB80H3F,TUT0005,Fall 2025,MO,13:00,14:00,Available on ACORN,30,30,False,IN_PERSON,, +POLB80H3F,TUT0006,Fall 2025,MO,19:00,20:00,Available on ACORN,25,30,False,IN_PERSON,, +POLB80H3F,TUT0007,Fall 2025,MO,14:00,15:00,Available on ACORN,26,30,False,IN_PERSON,, +POLB91H3F,LEC01,Fall 2025,FR,11:00,13:00,Available on ACORN,105,120,True,IN_PERSON,"Way, L.", +POLB91H3F,TUT0001,Fall 2025,FR,09:00,10:00,Available on ACORN,25,30,False,IN_PERSON,, +POLB91H3F,TUT0002,Fall 2025,FR,10:00,11:00,Available on ACORN,30,30,False,IN_PERSON,, +POLB91H3F,TUT0003,Fall 2025,FR,09:00,10:00,Available on ACORN,17,30,False,IN_PERSON,, +POLB91H3F,TUT0004,Fall 2025,FR,14:00,15:00,Available on ACORN,28,30,False,IN_PERSON,, +POLC09H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,42,60,True,IN_PERSON,"Ahmad, A.", +POLC12H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,18,25,True,IN_PERSON,"Soremi, T.", +POLC13H3F,LEC01,Fall 2025,MO,15:00,17:00,Available onACORN,9,25,True,IN_PERSON,"Soremi, T.",Room change08/21/24 +POLC32H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,66,80,True,IN_PERSON,"Spahiu, I.", +POLC32H3F,TUT0001,Fall 2025,TH,20:00,21:00,Available on ACORN,12,30,False,IN_PERSON,, +POLC32H3F,TUT0002,Fall 2025,TH,18:00,19:00,Available on ACORN,28,30,False,IN_PERSON,, +POLC32H3F,TUT0003,Fall 2025,TH,19:00,20:00,Available on ACORN,25,30,False,IN_PERSON,, +POLC33H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,54,60,True,IN_PERSON,"Kahraman, F.", +POLC33H3F,TUT0001,Fall 2025,TU,13:00,14:00,Available on ACORN,30,30,False,IN_PERSON,, +POLC33H3F,TUT0002,Fall 2025,TU,15:00,16:00,Available on ACORN,24,30,False,IN_PERSON,, +POLC34H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,54,60,True,IN_PERSON,"McDougall, A.", +POLC38H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,82,90,True,IN_PERSON,"Acorn, E.", +POLC42H3F,LEC01,Fall 2025,TH,17:00,19:00,Available on ACORN,23,60,True,IN_PERSON,"Oron, O.", +POLC52H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,18,60,True,IN_PERSON,"Cowie, C.", +POLC54H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,37,60,True,IN_PERSON,"Kodolov, O.", +POLC69H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,48,60,True,IN_PERSON,"Renckens, S.", +POLC87H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,30,40,True,IN_PERSON,"Norrlof, C.", +POLC88H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,44,60,True,IN_PERSON,"Hoffmann, M.", +POLC92H3F,LEC01,Fall 2025,WE,19:00,21:00,Available on ACORN,28,60,True,IN_PERSON,"Levine, R.", +POLD02Y3Y,LEC01,Fall 2025,TU,11:00,13:00,Available onACORN,4,10,True,IN_PERSON,"Soremi, T.",Room/Day/Time Change -03/09/24 +POLD30H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,23,25,True,IN_PERSON,"McDougall, A.", +POLD38H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,25,25,True,IN_PERSON,"Acorn, E.", +POLD45H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,19,25,True,IN_PERSON,"Hurl, R.", +POLD67H3F,LEC01,Fall 2025,MO,13:00,15:00,Available onACORN,24,25,True,IN_PERSON,"Triadafilopoulos,T.", +POLD75H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,22,25,True,IN_PERSON,"Shanks, T.", +POLD82H3F,LEC01,Fall 2025,TU,13:00,15:00,Available onACORN,23,25,True,IN_PERSON,"Hoffmann,M.",Room change(09/05/24) +POLD87H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,13,25,True,IN_PERSON,"Norrlof, C.", +POLD91H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,17,25,True,IN_PERSON,"Fu, D.", +POLD95H3F,LEC01,Fall 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +POLD98H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PPGB11H3F,LEC01,Fall 2025,FR,13:00,15:00,Available on ACORN,11,60,True,IN_PERSON,"Levine, R.", +PPGB66H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,104,120,True,IN_PERSON,"Campisi, J.", +PPGB66H3F,TUT0001,Fall 2025,WE,20:00,21:00,Available on ACORN,21,30,False,IN_PERSON,, +PPGB66H3F,TUT0002,Fall 2025,WE,14:00,15:00,Available on ACORN,29,30,False,IN_PERSON,, +PPGB66H3F,TUT0003,Fall 2025,WE,15:00,16:00,Available on ACORN,28,30,False,IN_PERSON,, +PPGB66H3F,TUT0004,Fall 2025,WE,19:00,20:00,Available on ACORN,25,30,False,IN_PERSON,, +PPGC67H3F,LEC01,Fall 2025,TU,17:00,19:00,Available onACORN,74,80,True,IN_PERSON,"Triadafilopoulos,T.", +PSCB90H3F,LEC01,Fall 2025,,,,Available on ACORN,9,20,True,IN_PERSON,"Sauer, E.", +PSYA01H3F,LEC01,Fall 2025,MO,09:00,10:00,Available onACORN,491,500,True,IN_PERSON,"Joordens,S.", +PSYA01H3F,LEC01,Fall 2025,WE,09:00,10:00,Available onACORN,491,500,True,IN_PERSON,"Joordens,S.", +PSYA01H3F,LEC01,Fall 2025,FR,09:00,10:00,Available onACORN,491,500,True,IN_PERSON,"Joordens,S.", +PSYA01H3F,LEC02,Fall 2025,,,,Available onACORN,1429,9999,True,,"Joordens,S.", +PSYB07H3F,LEC01,Fall 2025,WE,14:00,17:00,Available on ACORN,104,120,True,IN_PERSON,"Lewandowska, O.", +PSYB07H3F,LEC02,Fall 2025,TH,18:00,21:00,Available on ACORN,82,100,True,IN_PERSON,"Lewandowska, O.", +PSYB07H3F,TUT0001,Fall 2025,TU,09:00,10:00,Available on ACORN,22,27,False,IN_PERSON, , +PSYB07H3F,TUT0002,Fall 2025,TU,14:00,15:00,Available on ACORN,24,27,False,IN_PERSON, , +PSYB07H3F,TUT0003,Fall 2025,TU,11:00,12:00,Available on ACORN,22,27,False,IN_PERSON, , +PSYB07H3F,TUT0004,Fall 2025,TU,12:00,13:00,Available on ACORN,25,27,False,IN_PERSON, , +PSYB07H3F,TUT0005,Fall 2025,TU,13:00,14:00,Available on ACORN,24,27,False,IN_PERSON,, +PSYB07H3F,TUT0006,Fall 2025,TU,17:00,18:00,Available on ACORN,23,27,False,IN_PERSON,, +PSYB07H3F,TUT0007,Fall 2025,TU,18:00,19:00,Available on ACORN,23,27,False,IN_PERSON,, +PSYB07H3F,TUT0008,Fall 2025,TU,19:00,20:00,Available on ACORN,20,25,False,IN_PERSON,, +PSYB10H3F,LEC01,Fall 2025,WE,14:00,17:00,Available on ACORN,470,500,True,IN_PERSON,"Thiruchselvam, R.", +PSYB20H3F,LEC01,Fall 2025,MO,09:00,10:30,Available onACORN,226,230,True,IN_PERSON,"McPhee,A.", +PSYB20H3F,LEC01,Fall 2025,TH,12:00,13:30,Available onACORN,226,230,True,IN_PERSON,"McPhee,A.", +PSYB20H3F,LEC02,Fall 2025,,,,Available onACORN,247,270,True,,"McPhee,A.", +PSYB38H3F,LEC01,Fall 2025,TU,19:00,22:00,Available onACORN,141,200,True,IN_PERSON,"Morrissey,M.", +PSYB38H3F,LEC02,Fall 2025,,,,Available onACORN,261,300,True,,"Morrissey,M.", +PSYB55H3F,LEC01,Fall 2025,WE,09:00,12:00,Available on ACORN,199,230,True,IN_PERSON,"Souza, M.", +PSYB55H3F,LEC02,Fall 2025,,,,Available on ACORN,180,270,True,ONLINE_ASYNCHRONOUS,"Souza, M.", +PSYB70H3F,LEC01,Fall 2025,MO,10:30,12:00,Available onACORN,204,230,True,IN_PERSON,"Bramesfeld,K.", +PSYB70H3F,LEC01,Fall 2025,TH,13:30,15:00,Available onACORN,204,230,True,IN_PERSON,"Bramesfeld,K.", +PSYB70H3F,LEC02,Fall 2025,,,,Available onACORN,308,570,True,,"Bramesfeld,K.", +PSYB90H3Y,LEC01,Fall 2025,,,,Available on ACORN,7,9999,True,IN_PERSON,FACULTY, +PSYC02H3F,LEC01,Fall 2025,TU,13:00,15:00,Available onACORN,55,60,True,IN_PERSON,"Schwartz,S.", +PSYC02H3F,TUT0001,Fall 2025,MO,09:00,11:00,Available onACORN,18,20,False,IN_PERSON,, +PSYC02H3F,TUT0002,Fall 2025,MO,11:00,13:00,Available onACORN,18,20,False,IN_PERSON,, +PSYC02H3F,TUT0003,Fall 2025,MO,13:00,15:00,Available onACORN,18,20,False,IN_PERSON,,Room change08/21/24 +PSYC09H3F,LEC01,Fall 2025,WE,10:00,13:00,Available on ACORN,30,42,True,IN_PERSON,"Lewandowska, O.", +PSYC09H3F,TUT0001,Fall 2025,TH,12:00,13:00,Available on ACORN,27,35,False,IN_PERSON,, +PSYC10H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,105,100,True,IN_PERSON,"Inbar, Y.", +PSYC10H3F,LEC02,Fall 2025,TH,17:00,19:00,Available on ACORN,88,100,True,IN_PERSON,"Inbar, Y.", +PSYC16H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,77,100,True,IN_PERSON,"Cupchik, G.", +PSYC18H3F,LEC01,Fall 2025,MO,14:00,17:00,Available on ACORN,98,100,True,IN_PERSON,"Ford, B.", +PSYC18H3F,LEC02,Fall 2025,TH,15:00,18:00,Available on ACORN,93,100,True,IN_PERSON,"Ford, B.", +PSYC23H3F,LEC01,Fall 2025,FR,11:00,13:00,Available on ACORN,82,100,True,IN_PERSON,"Haley, D.", +PSYC28H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,92,100,True,IN_PERSON,"Wu, Y.", +PSYC30H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,94,100,True,IN_PERSON,"Fournier, M.", +PSYC34H3F,LEC01,Fall 2025,FR,13:00,15:00,Available on ACORN,95,100,True,IN_PERSON,"Thiruchselvam, R.", +PSYC36H3F,LEC01,Fall 2025,FR,13:00,15:00,Available on ACORN,95,100,True,IN_PERSON,"Thiruchselvam, R.", +PSYC36H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,90,100,True,IN_PERSON,"Cooper, A.", +PSYC37H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,113,100,True,IN_PERSON,"Dere, J.", +PSYC39H3F,LEC01,Fall 2025,TH,18:00,20:00,Available on ACORN,212,230,True,IN_PERSON,"Di Domenico, S.", +PSYC50H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,92,100,True,IN_PERSON,"Souza, M.", +PSYC52H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,49,86,True,IN_PERSON,"Niemeier, M.", +PSYC62H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,78,100,True,IN_PERSON,"Rozeske, R.", +PSYC71H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,28,35,True,IN_PERSON,"Schwartz, S.", +PSYC73H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,18,30,True,IN_PERSON,"Uliaszek, A.", +PSYC74H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,30,35,True,IN_PERSON,"Schmuckler, M.", +PSYC85H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,73,100,True,IN_PERSON,"Cupchik, G.", +PSYC90H3Y,LEC01,Fall 2025,,,,Available on ACORN,36,9999,True,IN_PERSON,FACULTY, +PSYC93H3Y,LEC01,Fall 2025,,,,Available on ACORN,8,9999,True,IN_PERSON,FACULTY, +PSYD10H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,24,24,True,IN_PERSON,"Bramesfeld, K.", +PSYD14H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,24,24,True,IN_PERSON,"Inbar, Y.", +PSYD15H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,21,24,True,IN_PERSON,"Tritt, S.", +PSYD15H3F,LEC02,Fall 2025,FR,11:00,13:00,Available on ACORN,23,24,True,IN_PERSON,"Teper, R.", +PSYD16H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,23,24,True,IN_PERSON,"Cupchik, G.", +PSYD20H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,24,24,True,IN_PERSON,"McPhee, A.", +PSYD24H3F,LEC01,Fall 2025,MO,19:00,21:00,Available onACORN,19,24,True,IN_PERSON,"Schmuckler,M.",Date/time change(30/07/24) +PSYD30H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,18,24,True,IN_PERSON,"Fournier, M.", +PSYD31H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,22,24,True,IN_PERSON,"Dere, J.", +PSYD32H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,24,24,True,IN_PERSON,"Ruocco, A.", +PSYD33H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,24,24,True,IN_PERSON,"Segal, Z.", +PSYD59H3F,LEC01,Fall 2025,WE,19:00,21:00,Available on ACORN,22,24,True,IN_PERSON,"Souza, M.", +PSYD62H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,23,24,True,IN_PERSON,"Thiruchselvam, R.", +PSYD98Y3Y,LEC01,Fall 2025,FR,13:00,15:00,Available on ACORN,18,30,True,IN_PERSON,"Danielson, K.", +RLGA01H3F,LEC01,Fall 2025,TU,16:00,18:00,Available on ACORN,91,200,True,IN_PERSON,"Perley, D.", +SOCA05H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,225,,False,, , +SOCA05H3F,LEC02,Fall 2025,,,,280,,,False,,ACORN Asynchronous,B. +SOCA05H3F,TUT0001,Fall 2025,WE,19:00,20:00,Available on ACORN,30,,False,, Add,to +SOCA05H3F,TUT0002,Fall 2025,WE,20:00,21:00,Available on ACORN,30,,False,, Add,to +SOCA05H3F,TUT0003,Fall 2025,TH,09:00,10:00,Available on ACORN,30,,False,, Add,to +SOCA05H3F,TUT0004,Fall 2025,TH,13:00,14:00,Available on ACORN,30,,False,, Add,to +SOCA05H3F,TUT0005,Fall 2025,TH,12:00,13:00,Available on ACORN,30,,False,, Add,to +SOCA05H3F,TUT0006,Fall 2025,TH,13:00,14:00,Available on ACORN,30,,False,, Add,to +SOCA05H3F,TUT0008,Fall 2025,TH,18:00,19:00,Available onACORN,26,30,False,IN_PERSON,, +SOCA05H3F,TUT0009,Fall 2025,TH,19:00,20:00,Available onACORN,11,30,False,IN_PERSON,, +SOCA05H3F,TUT0010,Fall 2025,TH,17:00,18:00,Available onACORN,28,30,False,IN_PERSON,, +SOCA05H3F,TUT0011,Fall 2025,TH,10:00,11:00,Available onACORN,30,30,False,IN_PERSON,, +SOCA05H3F,TUT0012,Fall 2025,TH,11:00,12:00,Available onACORN,31,30,False,IN_PERSON,, +SOCA05H3F,TUT0013,Fall 2025,TH,12:00,13:00,Available onACORN,28,30,False,IN_PERSON,, +SOCA05H3F,TUT0014,Fall 2025,TH,09:00,10:00,Available onACORN,27,30,False,IN_PERSON,, +SOCA05H3F,TUT0015,Fall 2025,TH,14:00,15:00,Available onACORN,19,30,False,IN_PERSON,, +SOCB05H3F,LEC01,Fall 2025,WE,11:00,13:00,Available onACORN,106,135,True,IN_PERSON,"Landolt, P.", +SOCB05H3F,TUT0001,Fall 2025,WE,19:00,20:00,Available onACORN,30,30,False,IN_PERSON,, +SOCB05H3F,TUT0002,Fall 2025,WE,14:00,15:00,Available onACORN,28,30,False,IN_PERSON,, +SOCB05H3F,TUT0004,Fall 2025,WE,15:00,16:00,Available onACORN,20,30,False,IN_PERSON,,Room change(12/09/24) +SOCB05H3F,TUT0005,Fall 2025,WE,13:00,14:00,Available onACORN,28,30,False,IN_PERSON,, +SOCB42H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,79,135,True,IN_PERSON,"Silver, D.", +SOCB42H3F,TUT0001,Fall 2025,FR,10:00,11:00,Available on ACORN,23,30,False,IN_PERSON,, +SOCB42H3F,TUT0002,Fall 2025,FR,09:00,10:00,Available on ACORN,12,25,False,IN_PERSON,, +SOCB42H3F,TUT0003,Fall 2025,FR,12:00,13:00,Available on ACORN,22,30,False,IN_PERSON,, +SOCB42H3F,TUT0004,Fall 2025,FR,13:00,14:00,Available on ACORN,22,30,False,IN_PERSON,, +SOCB44H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,38,60,True,IN_PERSON,"Hannigan, J.", +SOCB44H3F,TUT0001,Fall 2025,MO,15:00,16:00,Available on ACORN,26,30,False,IN_PERSON,, +SOCB44H3F,TUT0002,Fall 2025,MO,16:00,17:00,Available on ACORN,9,30,False,IN_PERSON,, +SOCB47H3F,LEC01,Fall 2025,WE,13:00,15:00,Available on ACORN,43,100,True,IN_PERSON,"Kwan-Lafond, D.", +SOCB47H3F,TUT0001,Fall 2025,WE,19:00,20:00,Available on ACORN,13,30,False,IN_PERSON,, +SOCB47H3F,TUT0002,Fall 2025,FR,10:00,11:00,Available on ACORN,10,30,False,IN_PERSON,, +SOCB47H3F,TUT0003,Fall 2025,FR,11:00,12:00,Available on ACORN,20,30,False,IN_PERSON,, +SOCB58H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,43,80,True,IN_PERSON,"Stewart, L.", +SOCB58H3F,TUT0001,Fall 2025,FR,12:00,13:00,Available on ACORN,25,30,False,IN_PERSON,, +SOCB58H3F,TUT0002,Fall 2025,FR,13:00,14:00,Available on ACORN,18,30,False,IN_PERSON,, +SOCB60H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,11,40,True,IN_PERSON,"Hashemi, B.", +SOCB60H3F,TUT0001,Fall 2025,TU,09:00,10:00,Available on ACORN,5,20,False,IN_PERSON,, +SOCB60H3F,TUT0002,Fall 2025,TU,09:00,10:00,Available on ACORN,6,20,False,IN_PERSON,, +SOCC26H3F,LEC01,Fall 2025,FR,09:00,11:00,Available on ACORN,27,60,True,IN_PERSON,"Knezevic, I.", +SOCC27H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,30,40,True,IN_PERSON,"Hannigan, J.", +SOCC31H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,10,20,True,IN_PERSON,"Mullen, A.", +SOCC32H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,55,60,True,IN_PERSON,"Philips, M.", +SOCC49H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,26,30,True,IN_PERSON,"Spence, N.", +SOCC61H3F,LEC01,Fall 2025,FR,13:00,15:00,Available on ACORN,28,60,True,IN_PERSON,"Kwan-Lafond, D.", +SOCD01H3F,LEC01,Fall 2025,WE,11:00,13:00,Available on ACORN,10,20,True,IN_PERSON,"Knezevic, I.", +SOCD08H3F,LEC01,Fall 2025,TH,15:00,17:00,Available on ACORN,11,20,True,IN_PERSON,"Landolt, P.", +SOCD40H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +SOCD41H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +STAB22H3F,LEC01,Fall 2025,TU,12:00,13:00,Available on ACORN,319,350,True,IN_PERSON,"Kang, S.", +STAB22H3F,LEC01,Fall 2025,TH,12:00,13:00,Available on ACORN,319,350,True,IN_PERSON,"Kang, S.", +STAB22H3F,LEC01,Fall 2025,FR,12:00,13:00,Available on ACORN,319,350,True,IN_PERSON,"Kang, S.", +STAB22H3F,LEC02,Fall 2025,TU,10:00,11:00,Available on ACORN,215,234,True,IN_PERSON,"Kang, S.", +STAB22H3F,LEC02,Fall 2025,TH,10:00,11:00,Available on ACORN,215,234,True,IN_PERSON,"Kang, S.", +STAB22H3F,LEC02,Fall 2025,FR,10:00,11:00,Available on ACORN,215,234,True,IN_PERSON,"Kang, S.", +STAB22H3F,TUT0001,Fall 2025,WE,16:00,17:00,Available on ACORN,32,35,False,IN_PERSON, , +STAB22H3F,TUT0002,Fall 2025,MO,09:00,10:00,Available on ACORN,29,35,False,IN_PERSON, , +STAB22H3F,TUT0003,Fall 2025,TH,09:00,10:00,Available on ACORN,34,35,False,IN_PERSON, , +STAB22H3F,TUT0004,Fall 2025,MO,13:00,14:00,Available on ACORN,27,35,False,IN_PERSON, , +STAB22H3F,TUT0005,Fall 2025,TH,09:00,10:00,Available on ACORN,35,35,False,IN_PERSON, , +STAB22H3F,TUT0006,Fall 2025,FR,14:00,15:00,Available on ACORN,32,35,False,IN_PERSON, , +STAB22H3F,TUT0007,Fall 2025,TH,16:00,17:00,Available on ACORN,32,35,False,IN_PERSON, , +STAB22H3F,TUT0008,Fall 2025,FR,09:00,10:00,Available on ACORN,29,35,False,IN_PERSON, , +STAB22H3F,TUT0009,Fall 2025,FR,13:00,14:00,Available on ACORN,30,35,False,IN_PERSON, , +STAB22H3F,TUT0010,Fall 2025,FR,14:00,15:00,Available on ACORN,35,35,False,IN_PERSON,, +STAB22H3F,TUT0012,Fall 2025,WE,09:00,10:00,Available on ACORN,31,35,False,IN_PERSON,, +STAB22H3F,TUT0013,Fall 2025,TH,18:00,19:00,Available on ACORN,28,35,False,IN_PERSON,, +STAB22H3F,TUT0014,Fall 2025,MO,13:00,14:00,Available on ACORN,32,35,False,IN_PERSON,, +STAB22H3F,TUT0015,Fall 2025,TH,09:00,10:00,Available on ACORN,32,35,False,IN_PERSON,, +STAB22H3F,TUT0016,Fall 2025,FR,13:00,14:00,Available on ACORN,30,35,False,IN_PERSON,, +STAB22H3F,TUT0017,Fall 2025,FR,09:00,10:00,Available on ACORN,34,35,False,IN_PERSON,, +STAB22H3F,TUT0018,Fall 2025,TU,09:00,10:00,Available on ACORN,32,35,False,IN_PERSON,, +STAB23H3F,LEC01,Fall 2025,TU,14:00,15:00,Available on ACORN,181,207,True,IN_PERSON,"Clare, E.", +STAB23H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,181,207,True,IN_PERSON,"Clare, E.", +STAB23H3F,TUT0001,Fall 2025,TH,09:00,10:00,Available on ACORN,30,35,False,IN_PERSON,, +STAB23H3F,TUT0002,Fall 2025,TU,11:00,12:00,Available on ACORN,32,35,False,IN_PERSON,, +STAB23H3F,TUT0003,Fall 2025,TH,15:00,16:00,Available on ACORN,33,35,False,IN_PERSON,, +STAB23H3F,TUT0004,Fall 2025,TU,13:00,14:00,Available on ACORN,32,35,False,IN_PERSON,, +STAB23H3F,TUT0005,Fall 2025,MO,10:00,11:00,Available on ACORN,28,35,False,IN_PERSON,, +STAB23H3F,TUT0006,Fall 2025,WE,09:00,10:00,Available on ACORN,20,35,False,IN_PERSON,, +STAB52H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,135,175,True,IN_PERSON,"Wong, T.", +STAB52H3F,LEC01,Fall 2025,TH,09:00,10:00,Available on ACORN,135,175,True,IN_PERSON,"Wong, T.", +STAB52H3F,LEC02,Fall 2025,TU,18:00,20:00,Available on ACORN,93,165,True,IN_PERSON,"Randrianarisoa, T.", +STAB52H3F,LEC02,Fall 2025,TH,18:00,19:00,Available on ACORN,93,165,True,IN_PERSON,"Randrianarisoa, T.", +STAB52H3F,TUT0001,Fall 2025,MO,09:00,10:00,Available on ACORN,7,34,False,IN_PERSON, , +STAB52H3F,TUT0002,Fall 2025,WE,09:00,10:00,Available on ACORN,26,34,False,IN_PERSON, , +STAB52H3F,TUT0003,Fall 2025,TH,14:00,15:00,Available on ACORN,29,34,False,IN_PERSON, , +STAB52H3F,TUT0004,Fall 2025,MO,13:00,14:00,Available on ACORN,21,34,False,IN_PERSON, , +STAB52H3F,TUT0005,Fall 2025,TH,10:00,11:00,Available on ACORN,26,34,False,IN_PERSON,, +STAB52H3F,TUT0006,Fall 2025,FR,09:00,10:00,Available on ACORN,26,34,False,IN_PERSON,, +STAB52H3F,TUT0007,Fall 2025,WE,19:00,20:00,Available on ACORN,30,34,False,IN_PERSON,, +STAB52H3F,TUT0008,Fall 2025,MO,12:00,13:00,Available on ACORN,17,34,False,IN_PERSON,, +STAB52H3F,TUT0009,Fall 2025,TU,12:00,13:00,Available on ACORN,21,34,False,IN_PERSON,, +STAB52H3F,TUT0010,Fall 2025,MO,10:00,11:00,Available on ACORN,24,34,False,IN_PERSON,, +STAB53H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,74,120,True,IN_PERSON,"Samarakoon, M.", +STAB53H3F,LEC01,Fall 2025,FR,11:00,12:00,Available on ACORN,74,120,True,IN_PERSON,"Samarakoon, M.", +STAB53H3F,TUT0001,Fall 2025,MO,14:00,15:00,Available on ACORN,29,34,False,IN_PERSON,, +STAB53H3F,TUT0002,Fall 2025,TH,16:00,17:00,Available on ACORN,27,34,False,IN_PERSON,, +STAB53H3F,TUT0003,Fall 2025,FR,14:00,15:00,Available on ACORN,18,34,False,IN_PERSON,, +STAB57H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,93,135,True,IN_PERSON,"Shams, S.", +STAB57H3F,LEC01,Fall 2025,TH,09:00,10:00,Available on ACORN,93,135,True,IN_PERSON,"Shams, S.", +STAB57H3F,TUT0001,Fall 2025,MO,19:00,20:00,Available on ACORN,15,34,False,IN_PERSON,, +STAB57H3F,TUT0002,Fall 2025,WE,13:00,14:00,Available on ACORN,27,34,False,IN_PERSON,, +STAB57H3F,TUT0003,Fall 2025,FR,14:00,15:00,Available on ACORN,33,34,False,IN_PERSON,, +STAB57H3F,TUT0004,Fall 2025,TU,19:00,20:00,Available on ACORN,18,34,False,IN_PERSON,, +STAC32H3F,LEC01,Fall 2025,TU,13:00,14:00,Available on ACORN,110,108,True,IN_PERSON,"Butler, K.", +STAC32H3F,LEC01,Fall 2025,TH,12:00,13:00,Available on ACORN,110,108,True,IN_PERSON,"Butler, K.", +STAC32H3F,LEC02,Fall 2025,TU,15:00,16:00,Available on ACORN,59,60,True,IN_PERSON,"Butler, K.", +STAC32H3F,LEC02,Fall 2025,TH,17:00,18:00,Available on ACORN,59,60,True,IN_PERSON,"Butler, K.", +STAC32H3F,TUT0001,Fall 2025,WE,15:00,16:00,Available on ACORN,44,45,False,IN_PERSON,, +STAC32H3F,TUT0002,Fall 2025,WE,16:00,17:00,Available on ACORN,45,45,False,IN_PERSON,, +STAC50H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,94,135,True,IN_PERSON,"Ghaznavi, M.", +STAC50H3F,LEC01,Fall 2025,WE,14:00,15:00,Available on ACORN,94,135,True,IN_PERSON,"Ghaznavi, M.", +STAC51H3F,LEC01,Fall 2025,TU,11:00,13:00,Available on ACORN,33,120,True,IN_PERSON,"Shams, S.", +STAC51H3F,LEC01,Fall 2025,TH,11:00,12:00,Available on ACORN,33,120,True,IN_PERSON,"Shams, S.", +STAC51H3F,TUT0001,Fall 2025,MO,15:00,16:00,Available on ACORN,17,40,False,IN_PERSON,, +STAC51H3F,TUT0002,Fall 2025,FR,14:00,15:00,Available on ACORN,14,40,False,IN_PERSON,, +STAC53H3F,LEC01,Fall 2025,TU,09:00,10:00,Available onACORN,140,160,True,IN_PERSON,"Samarakoon,M.",TH room change09/11/24 +STAC53H3F,LEC01,Fall 2025,TH,09:00,11:00,Available onACORN,140,160,True,IN_PERSON,"Samarakoon,M.",TH room change09/11/24 +STAC62H3F,LEC01,Fall 2025,MO,12:00,13:00,Available on ACORN,71,175,True,IN_PERSON,"Gunasingam, M.", +STAC62H3F,LEC01,Fall 2025,WE,12:00,14:00,Available on ACORN,71,175,True,IN_PERSON,"Gunasingam, M.", +STAC67H3F,LEC01,Fall 2025,WE,16:00,17:00,Available onACORN,57,80,True,IN_PERSON,"Kang, S.",Friday room change15/10/24 +STAC67H3F,LEC01,Fall 2025,FR,13:00,15:00,Available onACORN,57,80,True,IN_PERSON,"Kang, S.",Friday room change15/10/24 +STAC67H3F,TUT0001,Fall 2025,TU,17:00,18:00,Available onACORN,21,50,False,IN_PERSON,, +STAC67H3F,TUT0002,Fall 2025,FR,09:00,10:00,Available onACORN,36,50,False,IN_PERSON,, +STAD37H3F,LEC01,Fall 2025,MO,11:00,12:00,Available on ACORN,105,175,True,IN_PERSON,"Shams, S.", +STAD37H3F,LEC01,Fall 2025,TH,12:00,14:00,Available on ACORN,105,175,True,IN_PERSON,"Shams, S.", +STAD57H3F,LEC01,Fall 2025,TU,16:00,18:00,Available on ACORN,32,70,True,IN_PERSON,"Wong, T.", +STAD57H3F,LEC01,Fall 2025,TH,10:00,11:00,Available on ACORN,32,70,True,IN_PERSON,"Wong, T.", +STAD78H3F,LEC01,Fall 2025,TU,11:00,14:00,Available on ACORN,26,50,True,IN_PERSON,"Roy, D.", +STAD92H3F,LEC01,Fall 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +STAD93H3F,LEC01,Fall 2025,,,,Available on ACORN,2,9999,True,IN_PERSON,, +STAD95H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +STAD95H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +THRA10H3F,LEC01,Fall 2025,TH,13:00,15:00,Available onACORN,92,100,True,IN_PERSON,"Leffler, E.", +THRA10H3F,TUT0001,Fall 2025,TH,09:00,10:00,Available onACORN,21,25,False,IN_PERSON,, +THRA10H3F,TUT0002,Fall 2025,TH,10:00,11:00,Available onACORN,21,25,False,IN_PERSON,,Room change(11/09/24) +THRA10H3F,TUT0003,Fall 2025,TH,11:00,12:00,Available onACORN,24,25,False,IN_PERSON,, +THRA10H3F,TUT0004,Fall 2025,TH,12:00,13:00,Available onACORN,24,25,False,IN_PERSON,, +THRB20H3F,LEC01,Fall 2025,MO,10:00,13:00,Available on ACORN,26,60,True,IN_PERSON,"Leffler, E.", +THRB22H3F,LEC01,Fall 2025,TU,10:00,13:00,Available onACORN,31,40,True,IN_PERSON,"Da Silva Melo,C.",Room change08/28/24 +THRB31H3F,LEC01,Fall 2025,MO,13:00,15:00,Available onACORN,24,25,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRB31H3F,LEC01,Fall 2025,WE,13:00,15:00,Available onACORN,24,25,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRB50H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,31,30,True,IN_PERSON,"DeGrow, D.", +THRB50H3F,LEC01,Fall 2025,WE,15:00,17:00,Available on ACORN,31,30,True,IN_PERSON,"DeGrow, D.", +THRC21H3F,LEC01,Fall 2025,WE,19:00,21:00,Available on ACORN,11,30,True,IN_PERSON,"Da Silva Melo, C.", +THRC50H3F,LEC01,Fall 2025,TU,13:00,16:00,Available on ACORN,18,25,True,IN_PERSON,"Freeman, B.", +THRD90H3F,LEC01,Fall 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +VPAA10H3F,LEC01,Fall 2025,TU,17:00,19:00,Available on ACORN,410,425,True,IN_PERSON,"Klimek, C.", +VPAA10H3F,TUT0001,Fall 2025,WE,09:00,10:00,Available on ACORN,29,30,False,IN_PERSON, , +VPAA10H3F,TUT0002,Fall 2025,WE,09:00,10:00,Available on ACORN,28,30,False,IN_PERSON, , +VPAA10H3F,TUT0003,Fall 2025,WE,19:00,20:00,Available on ACORN,28,30,False,IN_PERSON, , +VPAA10H3F,TUT0004,Fall 2025,WE,19:00,20:00,Available on ACORN,29,30,False,IN_PERSON, , +VPAA10H3F,TUT0005,Fall 2025,WE,20:00,21:00,Available on ACORN,30,30,False,IN_PERSON, , +VPAA10H3F,TUT0006,Fall 2025,WE,20:00,21:00,Available on ACORN,24,30,False,IN_PERSON, , +VPAA10H3F,TUT0007,Fall 2025,WE,19:00,20:00,Available on ACORN,29,30,False,IN_PERSON, , +VPAA10H3F,TUT0008,Fall 2025,WE,19:00,20:00,Available on ACORN,30,30,False,IN_PERSON, , +VPAA10H3F,TUT0009,Fall 2025,WE,13:00,14:00,Available on ACORN,30,30,False,IN_PERSON, , +VPAA10H3F,TUT0010,Fall 2025,WE,13:00,14:00,Available on ACORN,31,30,False,IN_PERSON,, +VPAA10H3F,TUT0011,Fall 2025,WE,14:00,15:00,Available on ACORN,29,30,False,IN_PERSON,, +VPAA10H3F,TUT0012,Fall 2025,WE,14:00,15:00,Available on ACORN,30,30,False,IN_PERSON,, +VPAA10H3F,TUT0013,Fall 2025,WE,19:00,20:00,Available on ACORN,30,30,False,IN_PERSON,, +VPAA10H3F,TUT0014,Fall 2025,WE,19:00,20:00,Available on ACORN,25,30,False,IN_PERSON,, +VPAB10H3F,LEC01,Fall 2025,WE,09:00,12:00,Available on ACORN,133,140,True,IN_PERSON,"Chan, C.", +VPAB13H3F,LEC01,Fall 2025,TH,09:00,12:00,Available onACORN,137,140,True,IN_PERSON,"Flynn, S.",Room change08/28/24 +VPAB16H3F,LEC01,Fall 2025,FR,09:00,12:00,Available on ACORN,222,225,True,IN_PERSON,"Chan, C.", +VPAB18H3F,LEC01,Fall 2025,WE,12:00,15:00,Available on ACORN,214,225,True,IN_PERSON,"Sundar Singh, C.", +VPAC16H3F,LEC01,Fall 2025,TU,09:00,12:00,Available on ACORN,141,140,True,IN_PERSON,"Sicondolfo, C.", +VPAC17H3F,LEC01,Fall 2025,FR,12:00,15:00,Available on ACORN,177,175,True,IN_PERSON,"Edworthy, S.", +VPAC21H3F,LEC01,Fall 2025,TH,18:00,21:00,Available on ACORN,133,180,True,IN_PERSON,"Campbell, N.", +VPAD11H3F,LEC01,Fall 2025,TH,13:00,15:00,Available on ACORN,44,50,True,IN_PERSON,"Sicondolfo, C.", +VPAD14H3F,LEC01,Fall 2025,,,,Available on ACORN,0,6,True,IN_PERSON,, +VPHA46H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,201,207,True,IN_PERSON,"Gu, Y.", +VPHB58H3F,LEC01,Fall 2025,WE,14:00,16:00,Available on ACORN,35,40,True,IN_PERSON,"Irving, A.", +VPHB63H3F,LEC01,Fall 2025,TH,10:00,12:00,Available on ACORN,38,40,True,IN_PERSON,"Webster, E.", +VPHC42H3F,LEC01,Fall 2025,MO,09:00,11:00,Available on ACORN,39,40,True,IN_PERSON,"Webster, E.", +VPHC54H3F,LEC01,Fall 2025,TU,15:00,17:00,Available on ACORN,15,40,True,IN_PERSON,"Webster, E.", +VPSA62H3F,LEC01,Fall 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +VPSA62H3F,LEC01,Fall 2025,TU,14:00,17:00,Available on ACORN,19,20,True,IN_PERSON,"Koroshegyi, A.", +VPSA62H3F,LEC02,Fall 2025,WE,14:00,17:00,Available on ACORN,21,20,True,IN_PERSON,"Brown, A.", +VPSA62H3F,LEC03,Fall 2025,TH,14:00,17:00,Available on ACORN,20,20,True,IN_PERSON,"Pivato, J.", +VPSA62H3F,LEC04,Fall 2025,FR,10:00,13:00,Available on ACORN,18,20,True,IN_PERSON,"Goreas, L.", +VPSA63H3F,LEC01,Fall 2025,TU,11:00,14:00,Available on ACORN,101,100,True,IN_PERSON,"Brown, A.", +VPSB01H3F,LEC01,Fall 2025,TU,13:00,16:00,Available on ACORN,67,70,True,IN_PERSON,"Mazinani, S.", +VPSB56H3F,LEC01,Fall 2025,MO,10:00,13:00,Available on ACORN,23,20,True,IN_PERSON,"Koroshegyi, A.", +VPSB58H3F,LEC01,Fall 2025,TU,14:00,17:00,Available on ACORN,9,20,True,IN_PERSON,"Onodera, M.", +VPSB59H3F,LEC01,Fall 2025,WE,10:00,13:00,Available on ACORN,11,20,True,IN_PERSON,"Goreas, L.", +VPSB61H3F,LEC01,Fall 2025,WE,10:00,13:00,Available on ACORN,18,20,True,IN_PERSON,"Leach, A.", +VPSB70H3F,LEC01,Fall 2025,TU,10:00,13:00,Available on ACORN,21,20,True,IN_PERSON,"Irving, A.", +VPSB73H3F,LEC01,Fall 2025,FR,12:00,15:00,Available on ACORN,9,20,True,IN_PERSON,"Irving, A.", +VPSB75H3F,LEC01,Fall 2025,TH,10:00,13:00,Available on ACORN,17,20,True,IN_PERSON,"Mazinani, S.", +VPSB88H3F,LEC01,Fall 2025,TH,14:00,17:00,Available on ACORN,22,20,True,IN_PERSON,"Nish-Lapidus, M.", +VPSB89H3F,LEC01,Fall 2025,FR,10:00,13:00,Available on ACORN,20,20,True,IN_PERSON,"Pugen, G.", +VPSC56H3F,LEC01,Fall 2025,WE,14:00,17:00,Available on ACORN,22,20,True,IN_PERSON,"Abdallah, H.", +VPSC56H3F,LEC02,Fall 2025,WE,10:00,13:00,Available on ACORN,21,20,True,IN_PERSON,"Onodera, M.", +VPSC85H3F,LEC01,Fall 2025,FR,10:00,13:00,Available on ACORN,52,55,True,IN_PERSON,"Cruz, P.", +VPSC90H3F,LEC01,Fall 2025,TU,10:00,13:00,Available on ACORN,16,18,True,IN_PERSON,"Cho, H.", +VPSC91H3F,LEC01,Fall 2025,MO,14:00,17:00,Available on ACORN,23,20,True,IN_PERSON,"Pivato, J.", +VPSC94H3F,LEC01,Fall 2025,TH,10:00,13:00,Available on ACORN,24,20,True,IN_PERSON,"Hlady, M.", +VPSC95H3F,LEC01,Fall 2025,MO,10:00,13:00,Available on ACORN,23,20,True,IN_PERSON,"Howes, H.", +VPSD61H3F,LEC01,Fall 2025,MO,14:00,17:00,Available on ACORN,24,20,True,IN_PERSON,"Abdallah, H.", +WSTA01H3F,LEC01,Fall 2025,TH,11:00,13:00,Available onACORN,225,234,True,IN_PERSON,"Talahite-Moodley,A.", +WSTA01H3F,TUT0001,Fall 2025,TH,15:00,16:00,Available onACORN,21,21,False,IN_PERSON,, +WSTA01H3F,TUT0002,Fall 2025,TH,18:00,19:00,Available onACORN,15,21,False,IN_PERSON,, +WSTA01H3F,TUT0003,Fall 2025,TH,16:00,17:00,Available onACORN,18,21,False,IN_PERSON,, +WSTA01H3F,TUT0004,Fall 2025,TH,14:00,15:00,Available on ACORN,21,,False,, , +WSTA01H3F,TUT0005,Fall 2025,TH,17:00,18:00,Available on ACORN,21,,False,, , +WSTA01H3F,TUT0006,Fall 2025,TH,15:00,16:00,Available on ACORN,21,,False,, , +WSTA01H3F,TUT0007,Fall 2025,TH,13:00,14:00,Available on ACORN,21,,False,, , +WSTA01H3F,TUT0008,Fall 2025,TH,13:00,14:00,Available on ACORN,21,,False,, , +WSTA01H3F,TUT0009,Fall 2025,TH,17:00,18:00,Available on ACORN,18,,False,, , +WSTA01H3F,TUT0010,Fall 2025,TH,14:00,15:00,Available on ACORN,21,,False,, , +WSTA01H3F,TUT0011,Fall 2025,TH,16:00,17:00,Available on ACORN,19,,False,, , +WSTA01H3F,TUT0012,Fall 2025,TH,13:00,14:00,Available onACORN,20,19,False,IN_PERSON,, +WSTB05H3F,LEC01,Fall 2025,TU,09:00,11:00,Available on ACORN,66,80,True,IN_PERSON,"Guberman, C.", +WSTB22H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,21,30,True,IN_PERSON,"Maynard, R.", +WSTB25H3F,LEC01,Fall 2025,MO,13:00,15:00,Available on ACORN,22,60,True,IN_PERSON,"Ye, S.", +WSTC02H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,13,15,True,IN_PERSON,"Guberman, C.", +WSTC22H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,17,50,True,IN_PERSON,"English, J.", +WSTC28H3F,LEC01,Fall 2025,TH,11:00,13:00,Available on ACORN,20,25,True,IN_PERSON,"Hachimi, A.", +WSTC30H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,18,50,True,IN_PERSON,"Ye, S.", +WSTD01H3F,LEC01,Fall 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,"Johnston, N.", +WSTD08H3F,LEC01,Fall 2025,MO,11:00,13:00,Available on ACORN,12,15,True,IN_PERSON,"Maynard, R.", +WSTD09H3F,LEC01,Fall 2025,TU,13:00,15:00,Available on ACORN,16,17,True,IN_PERSON,"Hachimi, A.", diff --git a/course-matrix/data/tables/offerings_fall_2025_test.csv b/course-matrix/data/tables/offerings_fall_2025_test.csv new file mode 100644 index 00000000..33bae6d7 --- /dev/null +++ b/course-matrix/data/tables/offerings_fall_2025_test.csv @@ -0,0 +1,48 @@ +code,meeting_section,offering,day,start,end,location,current,max,is_waitlisted,delivery_mode,instructor,notes +ACMB10H3F,LEC01,Fall 2024,WE,10:00,12:00,Available onACORN,27,60,True,IN_PERSON,"deChamplain-Leverenz,D.", +ACMC01H3F,LEC01,Fall 2024,,,,Available on ACORN,0,20,True,IN_PERSON,"Klimek, C.", +ACMD01H3F,LEC01,Fall 2024,,,,Available on ACORN,2,20,True,IN_PERSON,"Klimek, C.", +ACMD02H3F,LEC01,Fall 2024,,,,Available on ACORN,0,20,True,IN_PERSON,"Klimek, C.", +ACMD91H3F,LEC01,Fall 2024,,,,Available on ACORN,1,9999,True,IN_PERSON,, +ACMD92H3F,LEC01,Fall 2024,,,,Available on ACORN,0,9999,True,IN_PERSON,, +ACMD93Y3Y,LEC01,Fall 2024,,,,Available on ACORN,0,9999,True,IN_PERSON,, +ACTB40H3F,LEC01,Fall 2024,TH,18:00,21:00,Available on ACORN,104,135,True,IN_PERSON,"Gao, J.", +ACTB40H3F,TUT0001,Fall 2024,FR,14:00,15:00,Available on ACORN,28,34,False,IN_PERSON,, +ACTB40H3F,TUT0002,Fall 2024,MO,10:00,11:00,Available on ACORN,30,34,False,IN_PERSON,, +ACTB40H3F,TUT0003,Fall 2024,TU,09:00,10:00,Available on ACORN,18,34,False,IN_PERSON,, +ACTB40H3F,TUT0004,Fall 2024,TH,17:00,18:00,Available on ACORN,27,34,False,IN_PERSON,, +AFSA01H3F,LEC01,Fall 2024,WE,11:00,13:00,Available on ACORN,49,60,True,IN_PERSON,"Ilmi, A.", +AFSA01H3F,TUT0001,Fall 2024,WE,09:00,10:00,Available on ACORN,8,10,False,IN_PERSON,, +AFSA01H3F,TUT0002,Fall 2024,WE,10:00,11:00,Available on ACORN,11,10,False,IN_PERSON,, +AFSA01H3F,TUT0003,Fall 2024,WE,13:00,14:00,Available on ACORN,7,10,False,IN_PERSON,, +AFSA01H3F,TUT0004,Fall 2024,WE,19:00,20:00,Available on ACORN,11,17,False,IN_PERSON,, +AFSA01H3F,TUT0006,Fall 2024,WE,15:00,16:00,Available on ACORN,10,10,False,IN_PERSON,, +AFSB51H3F,LEC01,Fall 2024,TU,11:00,13:00,Available on ACORN,9,20,True,IN_PERSON,"Rockel, S.", +AFSB51H3F,TUT0001,Fall 2024,TU,15:00,16:00,Available on ACORN,8,10,False,IN_PERSON,, +AFSD07H3F,LEC01,Fall 2024,MO,11:00,13:00,Available on ACORN,4,10,True,IN_PERSON,"Ilmi, A.", +AFSD20H3F,LEC01,Fall 2024,WE,13:00,15:00,Available on ACORN,5,10,True,IN_PERSON,"Mariyathas, S.", +ANTA01H3F,LEC01,Fall 2024,MO,15:00,17:00,Available on ACORN,223,241,True,IN_PERSON,"Silcox, M.", +ANTA01H3F,LEC02,Fall 2024,TH,11:00,13:00,Available on ACORN,220,241,True,IN_PERSON,"Silcox, M.", +ANTA01H3F,TUT0001,Fall 2024,TH,09:00,10:00,Available on ACORN,28,31,False,IN_PERSON,, +ANTA01H3F,TUT0002,Fall 2024,TH,10:00,11:00,Available on ACORN,31,31,False,IN_PERSON,, +ANTA01H3F,TUT0003,Fall 2024,TH,15:00,16:00,Available on ACORN,31,31,False,IN_PERSON,, +ANTA01H3F,TUT0004,Fall 2024,TH,16:00,17:00,Available on ACORN,28,31,False,IN_PERSON,, +ANTA01H3F,TUT0005,Fall 2024,FR,10:00,11:00,Available on ACORN,26,30,False,IN_PERSON,, +ANTA01H3F,TUT0006,Fall 2024,FR,11:00,12:00,Available on ACORN,26,30,False,IN_PERSON,, +ANTA01H3F,TUT0007,Fall 2024,FR,12:00,13:00,Available on ACORN,27,30,False,IN_PERSON,, +ANTA01H3F,TUT0008,Fall 2024,FR,13:00,14:00,Available on ACORN,30,30,False,IN_PERSON,, +ANTA01H3F,TUT0009,Fall 2024,TH,09:00,10:00,Available on ACORN,29,30,False,IN_PERSON,, +ANTA01H3F,TUT0010,Fall 2024,TH,10:00,11:00,Available on ACORN,28,30,False,IN_PERSON,, +ANTA01H3F,TUT0011,Fall 2024,TH,15:00,16:00,Available on ACORN,29,30,False,IN_PERSON,, +ANTA01H3F,TUT0012,Fall 2024,TH,16:00,17:00,Available on ACORN,26,30,False,IN_PERSON,, +ANTA01H3F,TUT0013,Fall 2024,FR,10:00,11:00,Available on ACORN,27,30,False,IN_PERSON,, +ANTA01H3F,TUT0014,Fall 2024,FR,11:00,12:00,Available on ACORN,29,30,False,IN_PERSON,, +ANTA01H3F,TUT0015,Fall 2024,FR,12:00,13:00,Available on ACORN,21,30,False,IN_PERSON,, +ANTA01H3F,TUT0016,Fall 2024,FR,13:00,14:00,Available on ACORN,25,30,False,IN_PERSON,, +ANTA02H3F,LEC01,Fall 2024,TU,11:00,13:00,Available onACORN,186,200,True,IN_PERSON,"Dahl, B.", +ANTA02H3F,TUT0001,Fall 2024,FR,10:00,11:00,Available onACORN,32,33,False,IN_PERSON,, +ANTA02H3F,TUT0002,Fall 2024,FR,09:00,10:00,Available onACORN,24,33,False,IN_PERSON,, +ANTA02H3F,TUT0003,Fall 2024,FR,12:00,13:00,Available onACORN,37,40,False,IN_PERSON,, +ANTA02H3F,TUT0004,Fall 2024,TH,10:00,11:00,Available onACORN,30,30,False,IN_PERSON,, +ANTA02H3F,TUT0005,Fall 2024,TH,09:00,10:00,Available onACORN,25,30,False,IN_PERSON,, +ANTA02H3F,TUT0006,Fall 2024,TH,12:00,13:00,Available onACORN,35,40,False,IN_PERSON,,Time/room change08/27/24 diff --git a/course-matrix/data/tables/offerings_fall_2025_test_2.csv b/course-matrix/data/tables/offerings_fall_2025_test_2.csv new file mode 100644 index 00000000..f64c8032 --- /dev/null +++ b/course-matrix/data/tables/offerings_fall_2025_test_2.csv @@ -0,0 +1,58 @@ +code,meeting_section,offering,day,start,end,location,current,max,is_waitlisted,delivery_mode,instructor,notes +,LEC01,Fall 2025,,,,Available on ACORN,15,160,True,ONLINE_ASYNCHRONOUS,"Chan, P.", +,LEC02,Fall 2025,,,,Available on ACORN,19,125,True,ONLINE_ASYNCHRONOUS,"Abdoun Mohamed, M.", +,LEC03,Fall 2025,,,,Available on ACORN,3,40,True,ONLINE_ASYNCHRONOUS,"Abdoun Mohamed, M.", +COPC99H3F,LEC01,Fall 2025,,,,Available on ACORN,10,20,True,ONLINE_ASYNCHRONOUS,"Chan, P.", +COPC99H3F,LEC02,Fall 2025,,,,Available on ACORN,41,65,True,ONLINE_ASYNCHRONOUS,"Abdoun Mohamed, M.", +CSCA08H3F,LEC01,Fall 2025,MO,12:00,13:00,Available on ACORN,131,150,True,IN_PERSON,"Huang, Y.", +CSCA08H3F,LEC01,Fall 2025,FR,13:00,15:00,Available on ACORN,131,150,True,IN_PERSON,"Huang, Y.", +CSCA08H3F,LEC02,Fall 2025,TU,13:00,14:00,Available on ACORN,135,150,True,IN_PERSON,"Gawde, P.", +CSCA08H3F,LEC02,Fall 2025,TH,13:00,15:00,Available on ACORN,135,150,True,IN_PERSON,"Gawde, P.", +CSCA08H3F,LEC03,Fall 2025,TU,15:00,16:00,Available on ACORN,142,150,True,IN_PERSON,"Gawde, P.", +CSCA08H3F,LEC03,Fall 2025,TH,15:00,17:00,Available on ACORN,142,150,True,IN_PERSON,"Gawde, P.", +CSCA08H3F,LEC04,Fall 2025,MO,16:00,17:00,Available on ACORN,134,150,True,IN_PERSON,"Huang, Y.", +CSCA08H3F,LEC04,Fall 2025,WE,13:00,15:00,Available on ACORN,134,150,True,IN_PERSON,"Huang, Y.", +CSCA20H3F,LEC01,Fall 2025,WE,09:00,11:00,Available on ACORN,178,234,True,IN_PERSON,"Harrington, B.", +CSCA20H3F,LEC02,Fall 2025,MO,11:00,13:00,Available on ACORN,243,300,True,IN_PERSON,"Harrington, B.", +CSCA20H3F,TUT0001,Fall 2025,MO,13:00,15:00,Available on ACORN,31,38,False,IN_PERSON, , +CSCA20H3F,TUT0002,Fall 2025,MO,15:00,17:00,Available on ACORN,37,38,False,IN_PERSON, , +CSCA20H3F,TUT0003,Fall 2025,TU,09:00,11:00,Available on ACORN,32,38,False,IN_PERSON, , +CSCA20H3F,TUT0004,Fall 2025,FR,09:00,11:00,Available on ACORN,31,38,False,IN_PERSON, , +CSCA20H3F,TUT0005,Fall 2025,TU,16:00,18:00,Available on ACORN,31,38,False,IN_PERSON, , +CSCA20H3F,TUT0006,Fall 2025,TU,18:00,20:00,Available on ACORN,23,38,False,IN_PERSON, , +CSCA20H3F,TUT0007,Fall 2025,TH,09:00,11:00,Available on ACORN,26,38,False,IN_PERSON, , +CSCA20H3F,TUT0008,Fall 2025,TH,11:00,13:00,Available on ACORN,32,38,False,IN_PERSON, , +CSCA20H3F,TUT0009,Fall 2025,TH,13:00,15:00,Available on ACORN,33,38,False,IN_PERSON, , +CSCA20H3F,TUT0010,Fall 2025,TH,15:00,17:00,Available on ACORN,29,38,False,IN_PERSON, , +CSCA20H3F,TUT0011,Fall 2025,TH,17:00,19:00,Available on ACORN,29,38,False,IN_PERSON, , +CSCA20H3F,TUT0012,Fall 2025,FR,11:00,13:00,Available on ACORN,27,38,False,IN_PERSON, , +CSCA20H3F,TUT0013,Fall 2025,FR,13:00,15:00,Available on ACORN,28,38,False,IN_PERSON, , +CSCA20H3F,TUT0014,Fall 2025,MO,09:00,11:00,Available on ACORN,31,38,False,IN_PERSON, , +CSCA67H3F,LEC01,Fall 2025,FR,09:00,11:00,Available on ACORN,200,,False,, , +CSCA67H3F,LEC02,Fall 2025,FR,11:00,13:00,Available on ACORN,200,,False,, , +CSCA67H3F,LEC03,Fall 2025,WE,11:00,13:00,Available on ACORN,156,,False,,M. , +CSCA67H3F,TUT0001,Fall 2025,TU,09:00,10:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0002,Fall 2025,WE,09:00,10:00,Available on ACORN,32,,False,, , +CSCA67H3F,TUT0003,Fall 2025,MO,13:00,14:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0004,Fall 2025,FR,14:00,15:00,Available on ACORN,32,,False,, , +CSCA67H3F,TUT0005,Fall 2025,MO,16:00,17:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0006,Fall 2025,TH,09:00,10:00,Available on ACORN,32,,False,, , +CSCA67H3F,TUT0007,Fall 2025,FR,13:00,14:00,Available on ACORN,32,,False,, , +CSCA67H3F,TUT0008,Fall 2025,MO,09:00,10:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0009,Fall 2025,TH,13:00,14:00,Available on ACORN,32,,False,, , +CSCA67H3F,TUT0010,Fall 2025,MO,09:00,10:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0011,Fall 2025,WE,11:00,12:00,Available on ACORN,33,,False,,change , +CSCA67H3F,TUT0012,Fall 2025,FR,13:00,14:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0013,Fall 2025,FR,14:00,15:00,Available on ACORN,32,,False,, , +CSCA67H3F,TUT0014,Fall 2025,TU,09:00,10:00,Available on ACORN,33,,False,, , +CSCA67H3F,TUT0015,Fall 2025,TH,09:00,10:00,Available onACORN,26,33,False,IN_PERSON,, +CSCA67H3F,TUT0016,Fall 2025,WE,19:00,20:00,Available onACORN,26,33,False,IN_PERSON,, +CSCA67H3F,TUT0017,Fall 2025,WE,09:00,10:00,Available onACORN,25,33,False,IN_PERSON,, +CSCB07H3F,LEC01,Fall 2025,MO,15:00,17:00,Available on ACORN,118,120,True,IN_PERSON,"Abou Assi,",R. +CSCB07H3F,LEC02,Fall 2025,MO,19:00,21:00,Available on ACORN,57,84,True,IN_PERSON,"Abou Assi,",R. +CSCB07H3F,TUT0001,Fall 2025,TU,11:00,12:00,Available on ACORN,32,34,False,IN_PERSON, , +CSCB07H3F,TUT0002,Fall 2025,TU,12:00,13:00,Available on ACORN,30,34,False,IN_PERSON, , +CSCB07H3F,TUT0003,Fall 2025,MO,09:00,10:00,Available on ACORN,28,34,False,IN_PERSON, , +CSCB07H3F,TUT0004,Fall 2025,WE,13:00,14:00,Available on ACORN,31,34,False,IN_PERSON, , +CSCB07H3F,TUT0005,Fall 2025,WE,14:00,15:00,Available on ACORN,26,34,False,IN_PERSON,, +CSCB07H3F,TUT0006,Fall 2025,MO,10:00,11:00,Available on ACORN,28,34,False,IN_PERSON,, diff --git a/course-matrix/data/tables/offerings_fall_2025_test_3.csv b/course-matrix/data/tables/offerings_fall_2025_test_3.csv new file mode 100644 index 00000000..60d04a82 --- /dev/null +++ b/course-matrix/data/tables/offerings_fall_2025_test_3.csv @@ -0,0 +1,42 @@ +code,meeting_section,offering,day,start,end,location,current,max,is_waitlisted,delivery_mode,instructor,notes +,PRA0008,Fall 2025,MO,13:00,17:00,Available on ACORN,9,16,False,IN_PERSON,, +CHMB41H3F,LEC01,Fall 2025,TU,10:00,11:00,Available on ACORN,213,300,True,IN_PERSON,"Dalili, S.", +CHMB41H3F,LEC01,Fall 2025,TH,10:00,12:00,Available on ACORN,213,300,True,IN_PERSON,"Dalili, S.", +CHMB41H3F,LEC02,Fall 2025,,,,64,100,,False,,"Asynchronous Dalili,",S. +CHMB41H3F,PRA0001,Fall 2025,WE,09:00,13:00,Available on ACORN,12,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0002,Fall 2025,WE,09:00,13:00,Available on ACORN,15,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0003,Fall 2025,WE,09:00,13:00,Available on ACORN,12,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0004,Fall 2025,WE,09:00,13:00,Available on ACORN,10,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0005,Fall 2025,WE,09:00,13:00,Available on ACORN,10,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0006,Fall 2025,WE,09:00,13:00,Available on ACORN,11,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0007,Fall 2025,WE,09:00,13:00,Available on ACORN,11,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0008,Fall 2025,WE,09:00,13:00,Available on ACORN,13,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0009,Fall 2025,TH,13:00,17:00,Available on ACORN,9,16,False,IN_PERSON, ,Add +CHMB41H3F,PRA0011,Fall 2025,TH,13:00,17:00,Available on ACORN,9,16,False,IN_PERSON, , +CHMB41H3F,PRA0012,Fall 2025,TH,13:00,17:00,Available on ACORN,9,16,False,IN_PERSON, , +CHMB41H3F,PRA0013,Fall 2025,TH,13:00,17:00,Available on ACORN,9,16,False,IN_PERSON, , +CHMB41H3F,PRA0014,Fall 2025,TH,13:00,17:00,Available on ACORN,11,16,False,IN_PERSON, , +CHMB41H3F,PRA0015,Fall 2025,TH,13:00,17:00,Available on ACORN,11,16,False,IN_PERSON, , +CHMB41H3F,PRA0016,Fall 2025,TH,13:00,17:00,Available on ACORN,11,16,False,IN_PERSON, , +CHMB41H3F,PRA0017,Fall 2025,FR,09:00,13:00,Available on ACORN,14,16,False,IN_PERSON, , +CHMB41H3F,PRA0018,Fall 2025,FR,09:00,13:00,Available on ACORN,7,16,False,IN_PERSON, , +CHMB41H3F,PRA0019,Fall 2025,FR,09:00,13:00,Available on ACORN,12,16,False,IN_PERSON, , +CHMB41H3F,PRA0020,Fall 2025,FR,09:00,13:00,Available on ACORN,13,16,False,IN_PERSON, , +CHMB41H3F,PRA0021,Fall 2025,FR,09:00,13:00,Available on ACORN,13,16,False,IN_PERSON, , +CHMB41H3F,PRA0022,Fall 2025,FR,09:00,13:00,Available on ACORN,12,16,False,IN_PERSON, , +CHMB41H3F,PRA0023,Fall 2025,FR,09:00,13:00,Available on ACORN,7,16,False,IN_PERSON, , +CHMB41H3F,PRA0024,Fall 2025,FR,09:00,13:00,Available on ACORN,12,16,False,IN_PERSON, , +CHMB41H3F,PRA0025,Fall 2025,FR,09:00,13:00,Available on ACORN,11,16,False,IN_PERSON, , +CHMB41H3F,PRA0026,Fall 2025,FR,09:00,13:00,Available on ACORN,0,16,False,IN_PERSON, , +CHMB41H3F,PRA0027,Fall 2025,FR,09:00,13:00,Available on ACORN,0,16,False,IN_PERSON, , +CHMB41H3F,PRA0028,Fall 2025,FR,09:00,13:00,Available on ACORN,0,16,False,IN_PERSON, , +CHMB41H3F,TUT0001,Fall 2025,TH,17:00,18:00,Available on ACORN,21,40,False,IN_PERSON, , +CHMB41H3F,TUT0002,Fall 2025,TH,17:00,18:00,Available on ACORN,30,40,False,IN_PERSON, , +CHMB41H3F,TUT0003,Fall 2025,TH,18:00,19:00,Available on ACORN,30,40,False,IN_PERSON, , +CHMB41H3F,TUT0004,Fall 2025,TH,19:00,20:00,Available on ACORN,25,40,False,IN_PERSON, , +CHMB41H3F,TUT0005,Fall 2025,TH,19:00,20:00,Available on ACORN,29,40,False,IN_PERSON, , +CHMB41H3F,TUT0006,Fall 2025,TH,19:00,20:00,Available on ACORN,25,40,False,IN_PERSON, , +CHMB41H3F,TUT0007,Fall 2025,TH,19:00,20:00,Available on ACORN,30,40,False,IN_PERSON, , +CHMB41H3F,TUT0008,Fall 2025,TH,19:00,20:00,Available on ACORN,30,40,False,IN_PERSON, , +CHMB41H3F,TUT0009,Fall 2025,TH,19:00,20:00,Available on ACORN,29,40,False,IN_PERSON,, +CHMB41H3F,TUT0010,Fall 2025,TH,19:00,20:00,Available on ACORN,28,40,False,IN_PERSON,, diff --git a/course-matrix/data/tables/offerings_summer_2025.csv b/course-matrix/data/tables/offerings_summer_2025.csv new file mode 100644 index 00000000..9b1f369e --- /dev/null +++ b/course-matrix/data/tables/offerings_summer_2025.csv @@ -0,0 +1,860 @@ +code,meeting_section,offering,day,start,end,location,current,max,is_waitlisted,delivery_mode,instructor,notes +ACMC01H3Y,LEC01,Summer 2025,,,,Available on ACORN,2,20,True,IN_PERSON,"Klimek, C./ Sicondolfo, C.", +ACMD01H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,20,True,IN_PERSON,"Klimek, C./ Sicondolfo, C.", +ACMD02H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,20,True,IN_PERSON,, +ACMD98H3F,LEC01,Summer 2025,MO,14:00,17:00,Available on ACORN,12,20,True,IN_PERSON,"MacGregor, G.", +ACMD98H3F,LEC01,Summer 2025,TH,14:00,17:00,Available on ACORN,12,20,True,IN_PERSON,"MacGregor, G.", +AFSC52H3F,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,3,17,True,IN_PERSON,"Gervers, M.", +AFSC52H3F,LEC01,Summer 2025,FR,10:00,12:00,Available on ACORN,3,17,True,IN_PERSON,"Gervers, M.", +ANTA01H3F,LEC01,Summer 2025,MO,10:00,12:00,Available onACORN,80,120,True,IN_PERSON,"Smeltzer,E.",Room change(30/04/24) +ANTA01H3F,LEC01,Summer 2025,WE,10:00,12:00,Available onACORN,80,120,True,IN_PERSON,"Smeltzer,E.",Room change(30/04/24) +ANTA01H3F,TUT0001,Summer 2025,FR,11:00,12:00,Available onACORN,28,30,False,IN_PERSON,, +ANTA01H3F,TUT0002,Summer 2025,FR,12:00,13:00,Available onACORN,26,30,False,IN_PERSON,, +ANTA01H3F,TUT0003,Summer 2025,FR,13:00,14:00,Available onACORN,16,30,False,IN_PERSON,, +ANTA01H3F,TUT0004,Summer 2025,FR,14:00,15:00,Available onACORN,8,30,False,IN_PERSON,, +ANTA02H3Y,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,114,165,True,ONLINE_SYNCHRONOUS,"Van Dyk, J.", +ANTA02H3Y,TUT0001,Summer 2025,TH,11:00,12:00,Available on ACORN,27,33,False,ONLINE_SYNCHRONOUS,, +ANTA02H3Y,TUT0002,Summer 2025,TH,12:00,13:00,Available on ACORN,24,33,False,ONLINE_SYNCHRONOUS,, +ANTA02H3Y,TUT0003,Summer 2025,WE,14:00,15:00,Available on ACORN,27,33,False,ONLINE_SYNCHRONOUS,, +ANTA02H3Y,TUT0004,Summer 2025,WE,15:00,16:00,Available on ACORN,26,33,False,ONLINE_SYNCHRONOUS,, +ANTA02H3Y,TUT0005,Summer 2025,WE,16:00,17:00,Available on ACORN,9,33,False,ONLINE_SYNCHRONOUS,, +ANTB09H3Y,LEC01,Summer 2025,WE,12:00,14:00,Available on ACORN,69,80,True,ONLINE_SYNCHRONOUS,"Nixon, K.", +ANTB14H3Y,LEC01,Summer 2025,MO,13:00,15:00,Available on ACORN,29,50,True,ONLINE_SYNCHRONOUS,"Smeltzer, E.", +ANTB14H3Y,TUT0001,Summer 2025,MO,15:00,16:00,Available on ACORN,17,25,False,ONLINE_SYNCHRONOUS,, +ANTB14H3Y,TUT0002,Summer 2025,MO,16:00,17:00,Available on ACORN,11,25,False,ONLINE_SYNCHRONOUS,, +ANTC04H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +ANTC04H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +ANTC18H3S,LEC01,Summer 2025,WE,15:00,17:00,Available onACORN,53,60,True,,"El Helou,M.",Day/Time Change(30/04/24) +ANTC18H3S,LEC01,Summer 2025,FR,13:00,15:00,Available onACORN,53,60,True,,"El Helou,M.",Day/Time Change(30/04/24) +ANTC24H3F,LEC01,Summer 2025,TU,13:00,15:00,Available on ACORN,77,80,True,ONLINE_SYNCHRONOUS,"Kilroy-Marac, K.", +ANTC24H3F,LEC01,Summer 2025,TH,13:00,15:00,Available on ACORN,77,80,True,ONLINE_SYNCHRONOUS,"Kilroy-Marac, K.", +ANTD32H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +ANTD32H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +ANTD70H3F,LEC01,Summer 2025,TU,10:00,16:00,Available on ACORN,10,15,True,IN_PERSON,"Janz, L.", +ANTD70H3F,LEC01,Summer 2025,TH,10:00,16:00,Available on ACORN,10,15,True,IN_PERSON,"Janz, L.", +BIOA01H3Y,LEC01,Summer 2025,TU,12:00,15:00,Available on ACORN,91,120,True,IN_PERSON,"Williams, K.", +BIOA01H3Y,PRA0001,Summer 2025,TU,09:00,12:00,Available on ACORN,19,24,False,IN_PERSON,, +BIOA01H3Y,PRA0002,Summer 2025,TU,09:00,12:00,Available on ACORN,20,24,False,IN_PERSON,, +BIOA01H3Y,PRA0003,Summer 2025,TU,15:00,18:00,Available on ACORN,19,24,False,IN_PERSON,, +BIOA01H3Y,PRA0004,Summer 2025,TU,15:00,18:00,Available on ACORN,18,24,False,IN_PERSON,, +BIOA01H3Y,PRA0005,Summer 2025,WE,10:00,13:00,Available on ACORN,15,24,False,IN_PERSON,, +BIOA02H3Y,LEC01,Summer 2025,TH,12:00,15:00,Available on ACORN,72,96,True,IN_PERSON,"Chang, T.", +BIOA02H3Y,PRA0001,Summer 2025,TH,09:00,12:00,Available on ACORN,18,24,False,IN_PERSON,, +BIOA02H3Y,PRA0002,Summer 2025,TH,09:00,12:00,Available on ACORN,18,24,False,IN_PERSON,, +BIOA02H3Y,PRA0003,Summer 2025,TH,15:00,18:00,Available on ACORN,20,24,False,IN_PERSON,, +BIOA02H3Y,PRA0004,Summer 2025,TH,15:00,18:00,Available on ACORN,16,24,False,IN_PERSON,, +BIOB10H3F,LEC01,Summer 2025,MO,10:00,12:00,Available on ACORN,226,300,True,IN_PERSON,"Gimenez, C./ Mahtani, T.", +BIOB10H3F,LEC01,Summer 2025,TH,10:00,12:00,Available on ACORN,226,300,True,IN_PERSON,"Gimenez, C./ Mahtani, T.", +BIOB10H3F,TUT0001,Summer 2025,TH,12:00,13:00,Available on ACORN,225,300,False,IN_PERSON,, +BIOB11H3S,LEC01,Summer 2025,MO,10:00,12:00,Available on ACORN,218,475,True,IN_PERSON,"Bell, E.", +BIOB11H3S,LEC01,Summer 2025,TH,10:00,12:00,Available on ACORN,218,475,True,IN_PERSON,"Bell, E.", +BIOB11H3S,TUT0001,Summer 2025,TH,12:00,13:00,Available on ACORN,214,475,False,IN_PERSON,, +BIOB12H3Y,LEC01,Summer 2025,TU,09:00,10:00,Available on ACORN,43,48,True,IN_PERSON,"Bawa, D.", +BIOB12H3Y,PRA0001,Summer 2025,TU,10:00,13:00,Available on ACORN,21,24,False,IN_PERSON, , +BIOB12H3Y,PRA0001,Summer 2025,WE,10:00,13:00,Available on ACORN,21,24,False,IN_PERSON, , +BIOB12H3Y,PRA0002,Summer 2025,TU,10:00,13:00,Available on ACORN,0,24,False,IN_PERSON, , +BIOB12H3Y,PRA0002,Summer 2025,WE,10:00,13:00,Available on ACORN,0,24,False,IN_PERSON, , +BIOB12H3Y,PRA0003,Summer 2025,TU,14:00,17:00,Available on ACORN,21,24,False,IN_PERSON, , +BIOB12H3Y,PRA0003,Summer 2025,WE,14:00,17:00,Available on ACORN,21,24,False,IN_PERSON, , +BIOB12H3Y,PRA0004,Summer 2025,TU,14:00,17:00,Available on ACORN,0,24,False,IN_PERSON, , +BIOB12H3Y,PRA0004,Summer 2025,WE,14:00,17:00,Available on ACORN,0,24,False,IN_PERSON,, +BIOB32H3Y,LEC01,Summer 2025,FR,10:00,11:00,Available on ACORN,63,72,True,IN_PERSON,"Brown, J.", +BIOB32H3Y,PRA0001,Summer 2025,FR,11:00,14:00,Available on ACORN,21,24,False,IN_PERSON,, +BIOB32H3Y,PRA0002,Summer 2025,FR,11:00,14:00,Available on ACORN,19,24,False,IN_PERSON,, +BIOB32H3Y,PRA0003,Summer 2025,TH,14:00,17:00,Available on ACORN,23,24,False,IN_PERSON,, +BIOB33H3Y,LEC01,Summer 2025,MO,15:00,17:00,Available on ACORN,68,120,True,IN_PERSON,"Zigouris, J.", +BIOB34H3Y,LEC01,Summer 2025,TH,18:00,20:00,Available on ACORN,118,130,True,IN_PERSON,"Brown, J.", +BIOB34H3Y,TUT0001,Summer 2025,TH,20:00,21:00,Available on ACORN,110,130,False,IN_PERSON,, +BIOB50H3Y,LEC01,Summer 2025,WE,14:00,16:00,Available on ACORN,153,165,True,IN_PERSON,"Fitzpatrick, M.", +BIOB50H3Y,TUT0001,Summer 2025,WE,16:00,17:00,Available on ACORN,143,165,False,IN_PERSON,, +BIOB51H3Y,LEC01,Summer 2025,TH,14:00,16:00,Available on ACORN,74,125,True,IN_PERSON,"Fitzpatrick, M.", +BIOB51H3Y,TUT0001,Summer 2025,TH,16:00,17:00,Available on ACORN,71,100,False,IN_PERSON,, +BIOB52H3Y,LEC01,Summer 2025,TU,12:00,13:00,Available on ACORN,8,24,True,IN_PERSON,"Keir, K.", +BIOB52H3Y,PRA0001,Summer 2025,TU,13:00,17:00,Available on ACORN,8,24,False,IN_PERSON,, +BIOB98H3Y,LEC01,Summer 2025,,,,Available on ACORN,29,45,True,IN_PERSON,FACULTY, +BIOB99H3Y,LEC01,Summer 2025,,,,Available on ACORN,2,10,True,IN_PERSON,FACULTY, +BIOC12H3Y,LEC01,Summer 2025,WE,09:00,11:00,Available on ACORN,74,120,True,IN_PERSON,"Brunt, S.", +BIOC13H3Y,LEC01,Summer 2025,MO,14:00,17:00,Available on ACORN,92,135,True,IN_PERSON,"Bell, E.", +BIOC15H3Y,LEC01,Summer 2025,WE,12:00,14:00,Available on ACORN,55,96,True,IN_PERSON,"Bawa, D.", +BIOC15H3Y,PRA0001,Summer 2025,WE,09:00,12:00,Available on ACORN,18,24,False,IN_PERSON,, +BIOC15H3Y,PRA0002,Summer 2025,WE,09:00,12:00,Available on ACORN,5,24,False,IN_PERSON,, +BIOC15H3Y,PRA0003,Summer 2025,WE,14:00,17:00,Available on ACORN,17,24,False,IN_PERSON,, +BIOC15H3Y,PRA0004,Summer 2025,WE,14:00,17:00,Available on ACORN,14,24,False,IN_PERSON,, +BIOC17H3Y,LEC01,Summer 2025,TU,12:00,14:00,Available on ACORN,92,120,True,IN_PERSON,"Brunt, S.", +BIOC17H3Y,PRA0001,Summer 2025,TU,09:00,12:00,Available on ACORN,19,24,False,IN_PERSON,, +BIOC17H3Y,PRA0002,Summer 2025,TU,09:00,12:00,Available on ACORN,21,24,False,IN_PERSON,, +BIOC17H3Y,PRA0003,Summer 2025,TU,14:00,17:00,Available on ACORN,21,24,False,IN_PERSON,, +BIOC17H3Y,PRA0004,Summer 2025,TU,14:00,17:00,Available on ACORN,17,24,False,IN_PERSON,, +BIOC17H3Y,PRA0005,Summer 2025,WE,14:00,17:00,Available on ACORN,14,24,False,IN_PERSON,, +BIOC23H3Y,LEC01,Summer 2025,TH,08:00,10:00,Available on ACORN,11,24,True,IN_PERSON,"Bawa, D.", +BIOC23H3Y,PRA0001,Summer 2025,TH,10:00,14:00,Available on ACORN,11,24,False,IN_PERSON,, +BIOC23H3Y,PRA0002,Summer 2025,TH,10:00,14:00,Available on ACORN,0,24,False,IN_PERSON,, +BIOC99H3Y,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,0,10,True,IN_PERSON,"Fitzpatrick, M.", +BIOD21H3Y,LEC01,Summer 2025,TH,17:00,18:00,Available on ACORN,9,24,True,IN_PERSON,"Bawa, D.", +BIOD21H3Y,PRA0001,Summer 2025,WE,14:00,17:00,Available on ACORN,9,24,False,IN_PERSON,, +BIOD21H3Y,PRA0001,Summer 2025,TH,14:00,17:00,Available on ACORN,9,24,False,IN_PERSON,, +BIOD32H3Y,LEC01,Summer 2025,MO,09:00,10:00,Available on ACORN,31,50,True,IN_PERSON,"Reid, S.", +BIOD32H3Y,LEC01,Summer 2025,WE,09:00,10:00,Available on ACORN,31,50,True,IN_PERSON,"Reid, S.", +BIOD67H3Y,LEC01,Summer 2025,,,,Available on ACORN,3,5,True,IN_PERSON,FACULTY, +BIOD95H3Y,LEC01,Summer 2025,,,,Available on ACORN,6,20,True,IN_PERSON,"Fitzpatrick, M.", +BIOD98Y3Y,LEC01,Summer 2025,,,,Available on ACORN,8,15,True,IN_PERSON,"Fitzpatrick, M.", +BIOD99Y3Y,LEC01,Summer 2025,,,,Available on ACORN,2,15,True,IN_PERSON,"Fitzpatrick, M.", +CDPD00H3Y,LEC01,Summer 2025,,,,Available on ACORN,15,20,True,IN_PERSON,, +CDPD01H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,10,True,IN_PERSON,, +CHMA11H3Y,LEC01,Summer 2025,MO,09:00,11:00,Available on ACORN,124,192,True,IN_PERSON,"Jenne, A./ Kim, S.", +CHMA11H3Y,LEC01,Summer 2025,WE,09:00,11:00,Available on ACORN,124,192,True,IN_PERSON,"Jenne, A./ Kim, S.", +CHMA11H3Y,PRA0001,Summer 2025,TU,10:00,13:00,Available on ACORN,21,24,False,IN_PERSON,, +CHMA11H3Y,PRA0002,Summer 2025,TU,10:00,13:00,Available on ACORN,18,24,False,IN_PERSON,, +CHMA11H3Y,PRA0003,Summer 2025,TU,10:00,13:00,Available on ACORN,11,24,False,IN_PERSON,, +CHMA11H3Y,PRA0004,Summer 2025,TU,10:00,13:00,Available on ACORN,22,24,False,IN_PERSON,, +CHMA11H3Y,PRA0005,Summer 2025,TU,10:00,13:00,Available on ACORN,6,24,False,IN_PERSON,, +CHMA11H3Y,PRA0006,Summer 2025,TU,10:00,13:00,Available on ACORN,12,24,False,IN_PERSON,, +CHMA11H3Y,PRA0007,Summer 2025,TU,10:00,13:00,Available on ACORN,18,24,False,IN_PERSON,, +CHMA11H3Y,PRA0008,Summer 2025,TU,10:00,13:00,Available on ACORN,16,24,False,IN_PERSON,, +CHMB16H3Y,LEC01,Summer 2025,TU,14:00,16:00,Available on ACORN,47,48,True,IN_PERSON,"Jenne, A./ Kim, S.", +CHMB16H3Y,LEC01,Summer 2025,TH,13:00,15:00,Available on ACORN,47,48,True,IN_PERSON,"Jenne, A./ Kim, S.", +CHMB16H3Y,PRA0001,Summer 2025,WE,13:00,17:00,Available on ACORN,16,16,False,IN_PERSON,, +CHMB16H3Y,PRA0002,Summer 2025,WE,13:00,17:00,Available on ACORN,15,16,False,IN_PERSON,, +CHMB16H3Y,PRA0003,Summer 2025,WE,13:00,17:00,Available on ACORN,16,16,False,IN_PERSON,, +CHMB42H3Y,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,48,120,True,IN_PERSON,"Shao, T.", +CHMB42H3Y,LEC01,Summer 2025,TH,10:00,12:00,Available on ACORN,48,120,True,IN_PERSON,"Shao, T.", +CHMB42H3Y,PRA0001,Summer 2025,WE,10:00,14:00,Available on ACORN,7,16,False,IN_PERSON,, +CHMB42H3Y,PRA0002,Summer 2025,WE,10:00,14:00,Available on ACORN,7,16,False,IN_PERSON,, +CHMB42H3Y,PRA0003,Summer 2025,WE,10:00,14:00,Available on ACORN,0,16,False,IN_PERSON,, +CHMB42H3Y,PRA0004,Summer 2025,FR,09:00,13:00,Available on ACORN,13,16,False,IN_PERSON,, +CHMB42H3Y,PRA0005,Summer 2025,FR,09:00,13:00,Available on ACORN,12,16,False,IN_PERSON,, +CHMB42H3Y,PRA0006,Summer 2025,FR,09:00,13:00,Available on ACORN,9,16,False,IN_PERSON,, +CHMB42H3Y,PRA0007,Summer 2025,FR,09:00,13:00,Available on ACORN,0,16,False,IN_PERSON,, +CHMB42H3Y,PRA0008,Summer 2025,FR,09:00,13:00,Available on ACORN,0,16,False,IN_PERSON,, +CHMB42H3Y,TUT0001,Summer 2025,WE,16:00,17:00,Available on ACORN,14,40,False,IN_PERSON,, +CHMB42H3Y,TUT0002,Summer 2025,WE,16:00,17:00,Available on ACORN,0,40,False,IN_PERSON,, +CHMB42H3Y,TUT0003,Summer 2025,TH,16:00,17:00,Available on ACORN,34,40,False,IN_PERSON,, +CHMD90Y3Y,LEC01,Summer 2025,,,,Available on ACORN,5,10,True,IN_PERSON,"Kerman, K.", +CHMD91H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,10,True,IN_PERSON,"Kerman, K.", +CITC10H3Y,LEC01,Summer 2025,WE,13:00,15:00,Available on ACORN,74,80,True,ONLINE_SYNCHRONOUS,"McCormack, K.", +CITC14H3Y,LEC01,Summer 2025,TH,19:00,21:00,Available on ACORN,46,60,True,IN_PERSON,"Snow, K.", +CITC16H3Y,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,72,80,True,ONLINE_SYNCHRONOUS,"Anderson, V.", +CITD10H3Y,LEC01,Summer 2025,TH,11:00,13:00,Available on ACORN,9,25,True,IN_PERSON,"Solomon, R.", +CLAA04H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +CLAA06H3F,LEC01,Summer 2025,TU,17:00,19:00,Available on ACORN,86,200,True,IN_PERSON,"Cooper, K.", +CLAA06H3F,LEC01,Summer 2025,TH,17:00,19:00,Available on ACORN,86,200,True,IN_PERSON,"Cooper, K.", +CLAB20H3Y,LEC01,Summer 2025,WE,15:00,17:00,Available on ACORN,16,60,True,IN_PERSON,"Leghissa, G.", +COPB10Y3S,LEC01,Summer 2025,TU,12:00,14:00,Available on ACORN,24,120,True,IN_PERSON,"Haque, F.", +COPB10Y3S,LEC01,Summer 2025,TH,12:00,14:00,Available on ACORN,24,120,True,IN_PERSON,"Haque, F.", +COPB50H3S,LEC01,Summer 2025,,,,Available on ACORN,47,120,True,ONLINE_ASYNCHRONOUS,"Lott, A.", +COPB50H3Y,LEC01,Summer 2025,,,,Available onACORN,55,250,True,,"Heer, K./ Jeremiah, C./Kowalchuk, A.", +COPB50H3Y,PRA0002,Summer 2025,TU,14:00,16:00,Available onACORN,50,150,False,,, +COPB51H3Y,LEC02,Summer 2025,,,,"Co-op,",,,False,,Computer &,Mathematical +COPB51H3Y,LEC01,Summer 2025,,,,240,,,False,,"K./ Jeremiah,",C./ +COPB51H3Y,PRA0003,Summer 2025,FR,09:00,11:00,Available onACORN,29,80,False,IN_PERSON,"Kowalchuk, A.", +COPB51H3Y,PRA0004,Summer 2025,TH,09:00,11:00,Available onACORN,106,120,False,,"Jeremiah, C./ Li, K.", +COPB51H3Y,PRA0005,Summer 2025,TU,10:00,12:00,Available onACORN,31,40,False,IN_PERSON,"Li, K.", +COPB52H3Y,LEC01,Summer 2025,,,,Available onACORN,72,240,True,,"Chan, P./ Epp, K.", +COPB52H3Y,LEC02,Summer 2025,,,,Available onACORN,46,375,True,,"Abdoun Mohamed, M./Epp, K.", +COPB52H3Y,LEC03,Summer 2025,,,,Available onACORN,12,70,True,,"Chan, P.", +COPB52H3Y,PRA0002,Summer 2025,FR,09:00,11:00,Available onACORN,23,160,False,IN_PERSON,"Chan, P.", +COPB52H3Y,PRA0003,Summer 2025,TU,09:00,11:00,Available onACORN,17,200,False,,"Abdoun Mohamed, M./Epp, K.", +COPB52H3Y,PRA0004,Summer 2025,TH,15:00,17:00,Available onACORN,29,150,False,IN_PERSON,"Abdoun Mohamed, M.", +COPB52H3Y,PRA0005,Summer 2025,FR,13:00,15:00,Available onACORN,60,200,False,,"Chan, P.", +COPB53H3Y,LEC01,Summer 2025,,,,Available on ACORN,43,85,True,ONLINE_ASYNCHRONOUS,"Epp, K.", +COPB53H3Y,LEC02,Summer 2025,,,,Available on ACORN,45,75,True,ONLINE_ASYNCHRONOUS,"Epp, K.", +COPC98H3Y,LEC01,Summer 2025,,,,Available on ACORN,20,90,True,ONLINE_ASYNCHRONOUS,"Chan, P.", +COPC98H3Y,LEC02,Summer 2025,,,,Available on ACORN,37,90,True,ONLINE_ASYNCHRONOUS,"Abdoun Mohamed, M.", +COPC99H3Y,LEC01,Summer 2025,,,,Available on ACORN,4,20,True,ONLINE_ASYNCHRONOUS,"Chan, P.", +COPC99H3Y,LEC02,Summer 2025,,,,Available on ACORN,50,70,True,ONLINE_ASYNCHRONOUS,"Abdoun Mohamed, M.", +COPC99H3Y,LEC101,Summer 2025,,,,Available on ACORN,0,10,False,ONLINE_ASYNCHRONOUS,"Uliaszek, A.", +COPC99H3Y,LEC101,Summer 2025,,,,Available on ACORN,4,10,False,ONLINE_ASYNCHRONOUS,"Ruocco, A.", +CSCA08H3Y,LEC101,Summer 2025,,,,Available on ACORN,0,10,False,ONLINE_ASYNCHRONOUS,"Uliaszek, A.", +CSCA08H3Y,LEC01,Summer 2025,MO,13:00,15:00,Available on ACORN,76,120,True,IN_PERSON,"Syed, B.", +CSCA08H3Y,LEC01,Summer 2025,WE,14:00,15:00,Available on ACORN,76,120,True,IN_PERSON,"Syed, B.", +CSCA48H3Y,LEC01,Summer 2025,MO,14:00,15:00,Available on ACORN,112,175,True,IN_PERSON,"Abou Assi,",R. +CSCA48H3Y,LEC01,Summer 2025,WE,13:00,15:00,Available on ACORN,112,175,True,IN_PERSON,"Abou Assi,",R. +CSCA48H3Y,TUT0001,Summer 2025,TU,14:00,15:00,Available on ACORN,20,33,False,IN_PERSON, , +CSCA48H3Y,TUT0002,Summer 2025,WE,11:00,12:00,Available on ACORN,19,33,False,IN_PERSON, , +CSCA48H3Y,TUT0003,Summer 2025,TH,13:00,14:00,Available on ACORN,20,33,False,IN_PERSON, , +CSCA48H3Y,TUT0004,Summer 2025,TH,12:00,13:00,Available on ACORN,18,33,False,IN_PERSON,, +CSCA48H3Y,TUT0005,Summer 2025,WE,12:00,13:00,Available on ACORN,24,33,False,IN_PERSON,, +CSCA48H3Y,TUT0006,Summer 2025,MO,11:00,12:00,Available on ACORN,11,33,False,IN_PERSON,, +CSCA67H3Y,LEC01,Summer 2025,MO,15:00,17:00,Available on ACORN,39,70,True,IN_PERSON,"Meskar, E.", +CSCA67H3Y,LEC01,Summer 2025,FR,14:00,15:00,Available on ACORN,39,70,True,IN_PERSON,"Meskar, E.", +CSCA67H3Y,TUT0001,Summer 2025,WE,11:00,12:00,Available on ACORN,16,26,False,IN_PERSON,, +CSCA67H3Y,TUT0002,Summer 2025,WE,16:00,17:00,Available on ACORN,9,16,False,IN_PERSON,, +CSCA67H3Y,TUT0003,Summer 2025,TH,10:00,11:00,Available on ACORN,6,16,False,IN_PERSON,, +CSCA67H3Y,TUT0004,Summer 2025,TH,17:00,18:00,Available on ACORN,7,18,False,IN_PERSON,, +CSCB07H3Y,LEC01,Summer 2025,MO,09:00,11:00,Available on ACORN,98,135,True,IN_PERSON,"Abou Assi, R.", +CSCB07H3Y,TUT0001,Summer 2025,MO,13:00,14:00,Available on ACORN,29,35,False,IN_PERSON,, +CSCB07H3Y,TUT0002,Summer 2025,TU,09:00,10:00,Available on ACORN,17,35,False,IN_PERSON,, +CSCB07H3Y,TUT0003,Summer 2025,TH,10:00,11:00,Available on ACORN,24,35,False,IN_PERSON,, +CSCB07H3Y,TUT0004,Summer 2025,MO,14:00,15:00,Available on ACORN,28,35,False,IN_PERSON,, +CSCB09H3Y,LEC01,Summer 2025,TH,14:00,16:00,Available on ACORN,118,135,True,IN_PERSON,"Lai, A.", +CSCB09H3Y,TUT0001,Summer 2025,TU,12:00,13:00,Available on ACORN,24,35,False,IN_PERSON,, +CSCB09H3Y,TUT0002,Summer 2025,TU,13:00,14:00,Available on ACORN,31,35,False,IN_PERSON,, +CSCB09H3Y,TUT0003,Summer 2025,TU,14:00,15:00,Available on ACORN,28,35,False,IN_PERSON,, +CSCB09H3Y,TUT0004,Summer 2025,WE,16:00,17:00,Available on ACORN,34,35,False,IN_PERSON,, +CSCB36H3Y,LEC01,Summer 2025,WE,12:00,14:00,Available on ACORN,61,120,True,IN_PERSON,"Cheng, N.", +CSCB36H3Y,LEC01,Summer 2025,FR,13:00,14:00,Available on ACORN,61,120,True,IN_PERSON,"Cheng, N.", +CSCB36H3Y,TUT0001,Summer 2025,FR,12:00,13:00,Available on ACORN,36,41,False,IN_PERSON,, +CSCB36H3Y,TUT0002,Summer 2025,TH,09:00,10:00,Available on ACORN,25,41,False,IN_PERSON,, +CSCB58H3Y,LEC01,Summer 2025,TU,10:00,13:00,Available on ACORN,71,90,True,IN_PERSON,"Ibrahim, K.", +CSCB58H3Y,PRA0001,Summer 2025,TH,11:00,15:00,Available on ACORN,30,33,False,IN_PERSON,, +CSCB58H3Y,PRA0002,Summer 2025,TH,16:00,20:00,Available on ACORN,29,33,False,IN_PERSON,, +CSCB58H3Y,PRA0003,Summer 2025,MO,12:00,15:00,Available on ACORN,12,33,False,IN_PERSON,, +CSCB63H3Y,LEC01,Summer 2025,MO,11:00,13:00,Available on ACORN,56,80,True,IN_PERSON,"Bapat, A.", +CSCB63H3Y,LEC01,Summer 2025,WE,11:00,12:00,Available on ACORN,56,80,True,IN_PERSON,"Bapat, A.", +CSCB63H3Y,TUT0001,Summer 2025,FR,09:00,10:00,Available on ACORN,28,35,False,IN_PERSON,, +CSCB63H3Y,TUT0002,Summer 2025,MO,15:00,16:00,Available on ACORN,28,35,False,IN_PERSON,, +CSCC01H3Y,LEC01,Summer 2025,TU,17:00,19:00,Available on ACORN,79,120,True,IN_PERSON,"Agrawal, P.", +CSCC01H3Y,TUT0002,Summer 2025,TU,15:00,16:00,Available on ACORN,29,35,False,IN_PERSON,, +CSCC01H3Y,TUT0003,Summer 2025,TU,16:00,17:00,Available on ACORN,31,35,False,IN_PERSON,, +CSCC01H3Y,TUT0004,Summer 2025,TH,14:00,15:00,Available on ACORN,19,35,False,IN_PERSON,, +CSCC09H3Y,LEC01,Summer 2025,TH,17:00,19:00,Available on ACORN,50,100,True,IN_PERSON,"Yong, C.", +CSCC09H3Y,PRA0001,Summer 2025,MO,15:00,17:00,Available on ACORN,12,35,False,IN_PERSON,, +CSCC09H3Y,PRA0002,Summer 2025,TU,15:00,17:00,Available on ACORN,23,35,False,IN_PERSON,, +CSCC09H3Y,PRA0003,Summer 2025,WE,09:00,11:00,Available on ACORN,4,35,False,IN_PERSON,, +CSCC09H3Y,PRA0004,Summer 2025,WE,19:00,21:00,Available on ACORN,11,35,False,IN_PERSON,, +CSCC10H3Y,LEC01,Summer 2025,WE,12:00,14:00,Available on ACORN,64,120,True,IN_PERSON,"Nizam, N.", +CSCC10H3Y,TUT0001,Summer 2025,FR,13:00,14:00,Available on ACORN,30,40,False,IN_PERSON,, +CSCC10H3Y,TUT0002,Summer 2025,TH,11:00,12:00,Available on ACORN,34,40,False,IN_PERSON,, +CSCC24H3Y,LEC01,Summer 2025,TH,12:00,14:00,Available on ACORN,39,90,True,IN_PERSON,"Lai, A.", +CSCC24H3Y,TUT0002,Summer 2025,TU,11:00,12:00,Available on ACORN,17,33,False,IN_PERSON,, +CSCC24H3Y,TUT0003,Summer 2025,WE,15:00,16:00,Available on ACORN,21,33,False,IN_PERSON,, +CSCC43H3Y,LEC01,Summer 2025,MO,09:00,11:00,Available on ACORN,69,150,True,ONLINE_SYNCHRONOUS,"ZHANG, Q.", +CSCC43H3Y,TUT0001,Summer 2025,MO,14:00,15:00,Available on ACORN,30,34,False,ONLINE_SYNCHRONOUS,, +CSCC43H3Y,TUT0003,Summer 2025,MO,13:00,14:00,Available on ACORN,18,34,False,IN_PERSON,, +CSCC43H3Y,TUT0004,Summer 2025,TU,09:00,10:00,Available on ACORN,20,34,False,ONLINE_SYNCHRONOUS,, +CSCC63H3Y,LEC01,Summer 2025,TU,12:00,14:00,Available on ACORN,91,138,True,IN_PERSON,"Corlett, E.", +CSCC63H3Y,LEC01,Summer 2025,TH,14:00,15:00,Available on ACORN,91,138,True,IN_PERSON,"Corlett, E.", +CSCC63H3Y,TUT0001,Summer 2025,MO,14:00,15:00,Available on ACORN,18,34,False,IN_PERSON,, +CSCC63H3Y,TUT0002,Summer 2025,WE,14:00,15:00,Available on ACORN,20,34,False,IN_PERSON,, +CSCC63H3Y,TUT0003,Summer 2025,TH,15:00,16:00,Available on ACORN,27,34,False,IN_PERSON,, +CSCC63H3Y,TUT0004,Summer 2025,FR,10:00,11:00,Available on ACORN,22,34,False,IN_PERSON,, +CSCC69H3Y,LEC01,Summer 2025,FR,11:00,13:00,Available on ACORN,114,155,True,IN_PERSON,"Schroeder, B.", +CSCC69H3Y,TUT0001,Summer 2025,MO,15:00,16:00,Available on ACORN,19,34,False,IN_PERSON, , +CSCC69H3Y,TUT0002,Summer 2025,TH,16:00,17:00,Available on ACORN,30,34,False,IN_PERSON, , +CSCC69H3Y,TUT0003,Summer 2025,TH,17:00,18:00,Available on ACORN,16,34,False,IN_PERSON, , +CSCC69H3Y,TUT0004,Summer 2025,TH,15:00,16:00,Available on ACORN,25,34,False,IN_PERSON, , +CSCC69H3Y,TUT0005,Summer 2025,MO,14:00,15:00,Available on ACORN,23,34,False,IN_PERSON,, +CSCD03H3Y,LEC01,Summer 2025,WE,10:00,12:00,Available on ACORN,54,60,True,IN_PERSON,"Harrington, B.", +CSCD03H3Y,TUT0001,Summer 2025,WE,13:00,13:30,Available on ACORN,13,15,False,IN_PERSON,, +CSCD03H3Y,TUT0002,Summer 2025,WE,13:30,14:00,Available on ACORN,15,15,False,IN_PERSON,, +CSCD03H3Y,TUT0003,Summer 2025,WE,14:00,14:30,Available on ACORN,13,15,False,IN_PERSON,, +CSCD03H3Y,TUT0004,Summer 2025,WE,14:30,15:00,Available on ACORN,9,15,False,IN_PERSON,, +CSCD92H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,10,True,IN_PERSON,"Harrington, B.", +CSCD94H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,10,True,IN_PERSON,"Ponce Castro, M.", +CSCD95H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,10,True,IN_PERSON,"Anderson, A.", +ECTB58H3F,LEC01,Summer 2025,MO,10:00,12:00,Available on ACORN,23,30,True,IN_PERSON,"Payne, C.", +ECTB58H3F,LEC01,Summer 2025,WE,10:00,12:00,Available on ACORN,23,30,True,IN_PERSON,"Payne, C.", +ECTB60H3F,LEC01,Summer 2025,,,,Available on ACORN,41,30,True,ONLINE_ASYNCHRONOUS,"Wu, H.", +ECTB60H3F,LEC02,Summer 2025,,,,Available on ACORN,27,30,True,ONLINE_ASYNCHRONOUS,"Wu, H.", +ECTB61H3F,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,34,30,True,ONLINE_SYNCHRONOUS,"Ma, J.", +ECTB61H3F,LEC01,Summer 2025,TH,10:00,12:00,Available on ACORN,34,30,True,ONLINE_SYNCHRONOUS,"Ma, J.", +ECTB61H3F,LEC02,Summer 2025,TU,12:00,14:00,Available on ACORN,33,30,True,ONLINE_SYNCHRONOUS,"Ma, J.", +ECTB61H3F,LEC02,Summer 2025,TH,12:00,14:00,Available on ACORN,33,30,True,ONLINE_SYNCHRONOUS,"Ma, J.", +ECTC61H3F,LEC01,Summer 2025,TU,20:00,22:00,Available on ACORN,32,30,True,ONLINE_SYNCHRONOUS,"Ma, J.", +ECTC61H3F,LEC01,Summer 2025,TH,20:00,22:00,Available on ACORN,32,30,True,ONLINE_SYNCHRONOUS,"Ma, J.", +ECTC62H3F,LEC01,Summer 2025,,,,Available on ACORN,32,30,True,ONLINE_ASYNCHRONOUS,"Song, Z.", +ECTD66H3F,LEC01,Summer 2025,,,,Available on ACORN,9,20,True,ONLINE_ASYNCHRONOUS,"Song, Z.", +ECTD68H3F,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,29,30,True,ONLINE_SYNCHRONOUS,"Wang, R.", +ECTD68H3F,LEC01,Summer 2025,TH,10:00,12:00,Available on ACORN,29,30,True,ONLINE_SYNCHRONOUS,"Wang, R.", +ECTD68H3F,LEC101,Summer 2025,,,,Available on ACORN,20,22,True,IN_PERSON,"Mandrak, N.", +ECTD68H3F,LEC102,Summer 2025,,,,Available on ACORN,13,22,True,IN_PERSON,"Livingstone, S.", +EESA06H3Y,LEC01,Summer 2025,,,,Available on ACORN,291,9999,True,ONLINE_ASYNCHRONOUS,"Kennedy, K.", +EESA09H3Y,LEC01,Summer 2025,,,,Available on ACORN,82,9999,True,ONLINE_ASYNCHRONOUS,"Mohsin, T.", +EESA10H3Y,LEC01,Summer 2025,,,,Available on ACORN,279,9999,True,ONLINE_ASYNCHRONOUS,"Stefanovic, S.", +EESC16H3Y,LEC01,Summer 2025,,,,Available on ACORN,11,14,True,IN_PERSON,"Daxberger, H.", +EESC24H3Y,LEC01,Summer 2025,,,,Available on ACORN,3,25,True,IN_PERSON,"Archontitsis, G.", +EESD07H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,2,True,IN_PERSON,"Daxberger, H.", +EESD09H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,"Martin, A.", +EESD10Y3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,"Martin, A.", +EESD33H3F,LEC01,Summer 2025,MO,09:00,19:00,Available on ACORN,10,25,False,IN_PERSON,"Meriano, M.", +EESD33H3F,LEC01,Summer 2025,TU,09:00,19:00,Available on ACORN,10,25,False,IN_PERSON,"Meriano, M.", +EESD33H3F,LEC01,Summer 2025,WE,09:00,19:00,Available on ACORN,10,25,False,IN_PERSON,"Meriano, M.", +EESD33H3F,LEC01,Summer 2025,TH,09:00,19:00,Available on ACORN,10,25,False,IN_PERSON,"Meriano, M.", +EESD33H3F,LEC01,Summer 2025,FR,09:00,19:00,Available on ACORN,10,25,False,IN_PERSON,"Meriano, M.", +ENGA01H3S,LEC01,Summer 2025,TU,09:00,11:00,Available on ACORN,86,100,True,ONLINE_SYNCHRONOUS,"DuBois, A.", +ENGA01H3S,LEC01,Summer 2025,TH,09:00,11:00,Available on ACORN,86,100,True,ONLINE_SYNCHRONOUS,"DuBois, A.", +ENGA01H3S,LEC02,Summer 2025,TU,09:00,11:00,Available on ACORN,80,100,True,ONLINE_SYNCHRONOUS,"Stafford, R.", +ENGA01H3S,LEC02,Summer 2025,TH,09:00,11:00,Available on ACORN,80,100,True,ONLINE_SYNCHRONOUS,"Stafford, R.", +ENGA02H3F,LEC01,Summer 2025,TU,10:00,13:00,Available on ACORN,15,25,True,IN_PERSON,"Elkaim, J.", +ENGA02H3F,LEC01,Summer 2025,TH,10:00,13:00,Available on ACORN,15,25,True,IN_PERSON,"Elkaim, J.", +ENGA02H3F,LEC02,Summer 2025,TU,10:00,13:00,Available on ACORN,20,25,True,ONLINE_SYNCHRONOUS,"Keyzad, N.", +ENGA02H3F,LEC02,Summer 2025,TH,10:00,13:00,Available on ACORN,20,25,True,ONLINE_SYNCHRONOUS,"Keyzad, N.", +ENGB02H3S,LEC01,Summer 2025,TU,14:00,17:00,Available on ACORN,26,35,True,IN_PERSON,"Keyzad, N.", +ENGB02H3S,LEC01,Summer 2025,TH,14:00,17:00,Available on ACORN,26,35,True,IN_PERSON,"Keyzad, N.", +ENGB04H3S,LEC01,Summer 2025,TU,12:00,14:00,Available on ACORN,56,60,True,,- Synchronous,"DuBois," +ENGB04H3S,LEC01,Summer 2025,TH,12:00,14:00,Available on ACORN,56,60,True,,- Synchronous,"DuBois," +ENGB34H3F,LEC01,Summer 2025,TU,12:00,14:00,Available on ACORN,56,60,True,ONLINE_SYNCHRONOUS,"DuBois, A.", +ENGB34H3F,LEC01,Summer 2025,TH,12:00,14:00,Available on ACORN,56,60,True,ONLINE_SYNCHRONOUS,"DuBois, A.", +ENGB70H3S,LEC01,Summer 2025,TU,18:00,21:00,Available on ACORN,36,50,True,IN_PERSON,"Lister, I.", +ENGB70H3S,LEC01,Summer 2025,TH,18:00,21:00,Available on ACORN,36,50,True,IN_PERSON,"Lister, I.", +ENGB70H3S,LEC01,Summer 2025,MO,14:00,17:00,Available on ACORN,88,100,True,ONLINE_SYNCHRONOUS,"Jacob, E.", +ENGB70H3S,LEC01,Summer 2025,WE,14:00,17:00,Available on ACORN,88,100,True,ONLINE_SYNCHRONOUS,"Jacob, E.", +ENGC27H3F,LEC01,Summer 2025,WE,10:00,13:00,Available on ACORN,40,50,True,IN_PERSON,"Wey, L.", +ENGC27H3F,LEC01,Summer 2025,FR,10:00,13:00,Available on ACORN,40,50,True,IN_PERSON,"Wey, L.", +ENGC43H3F,LEC01,Summer 2025,TU,14:00,17:00,Available on ACORN,44,50,True,IN_PERSON,"Stafford, R.", +ENGC43H3F,LEC01,Summer 2025,TH,14:00,17:00,Available on ACORN,44,50,True,IN_PERSON,"Stafford, R.", +ENGC56H3S,LEC01,Summer 2025,TU,18:00,21:00,Available on ACORN,47,50,True,ONLINE_SYNCHRONOUS,"Morris, J.", +ENGC56H3S,LEC01,Summer 2025,TH,18:00,21:00,Available on ACORN,47,50,True,ONLINE_SYNCHRONOUS,"Morris, J.", +ENGD07H3S,LEC01,Summer 2025,TU,15:00,17:00,Available on ACORN,23,26,True,ONLINE_SYNCHRONOUS,"DuBois, A.", +ENGD07H3S,LEC01,Summer 2025,TH,15:00,17:00,Available on ACORN,23,26,True,ONLINE_SYNCHRONOUS,"DuBois, A.", +ENGD60H3F,LEC01,Summer 2025,MO,15:00,17:00,Available onACORN,14,22,True,IN_PERSON,"Bennett, C.",Room change(09/05/24) +ENGD60H3F,LEC01,Summer 2025,WE,15:00,17:00,Available onACORN,14,22,True,IN_PERSON,"Bennett, C.",Room change(09/05/24) +FREA96H3F,LEC01,Summer 2025,TU,17:00,20:00,Available on ACORN,62,100,True,,"Sonina, S.", +FREA96H3F,TUT0001,Summer 2025,TU,16:00,17:00,Available on ACORN,9,20,False,,, +FREA96H3F,TUT0001,Summer 2025,TH,19:00,20:00,Available on ACORN,9,20,False,,, +FREA96H3F,TUT0002,Summer 2025,TU,13:00,14:00,Available on ACORN,18,20,False,,, +FREA96H3F,TUT0002,Summer 2025,TH,16:00,17:00,Available on ACORN,18,20,False,,, +FREA96H3F,TUT0003,Summer 2025,TU,15:00,16:00,Available on ACORN,18,20,False,,, +FREA96H3F,TUT0003,Summer 2025,TH,18:00,19:00,Available on ACORN,18,20,False,,, +FREA96H3F,TUT0004,Summer 2025,TU,14:00,15:00,Available on ACORN,15,20,False,,, +FREA96H3F,TUT0004,Summer 2025,TH,17:00,18:00,Available on ACORN,15,20,False,,, +FREA97H3S,LEC01,Summer 2025,TU,17:00,20:00,Available onACORN,27,60,True,,"Sonina, S.", +FREA97H3S,TUT0001,Summer 2025,TU,16:00,17:00,Available onACORN,13,20,False,,,Time/room change(08/07/24) +FREA97H3S,TUT0001,Summer 2025,TH,16:00,17:00,Available onACORN,13,20,False,,,Time/room change(08/07/24) +FREA97H3S,TUT0002,Summer 2025,TU,15:00,16:00,Available onACORN,14,20,False,,, +FREA97H3S,TUT0002,Summer 2025,TH,17:00,18:00,Available onACORN,14,20,False,,, +FREB17H3F,LEC01,Summer 2025,MO,10:00,12:00,Available on ACORN,12,30,True,IN_PERSON,"Pillet, M.", +FREB17H3F,LEC01,Summer 2025,WE,10:00,12:00,Available on ACORN,12,30,True,IN_PERSON,"Pillet, M.", +FREB18H3Y,LEC01,Summer 2025,TU,12:00,15:00,Available on ACORN,23,30,True,IN_PERSON,"Sonina, S.", +FREB27H3F,LEC01,Summer 2025,MO,12:00,14:00,Available on ACORN,42,40,True,ONLINE_SYNCHRONOUS,"Pillet, M.", +FREB27H3F,LEC01,Summer 2025,TH,12:00,14:00,Available on ACORN,42,40,True,ONLINE_SYNCHRONOUS,"Pillet, M.", +FRED02H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +FRED03H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +FRED04H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +FRED05H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +FSTA02H3F,LEC01,Summer 2025,,,,Available on ACORN,265,295,True,ONLINE_ASYNCHRONOUS,"Pilcher, J.", +FSTC37H3F,LEC01,Summer 2025,MO,11:00,13:00,Available on ACORN,17,25,True,IN_PERSON,"Bariola Gonzales, N.", +FSTC37H3F,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,17,25,True,IN_PERSON,"Bariola Gonzales, N.", +FSTC54H3F,LEC01,Summer 2025,TU,11:00,13:00,Available on ACORN,13,16,True,IN_PERSON,"Guo, Y.", +FSTC54H3F,LEC01,Summer 2025,TH,11:00,13:00,Available on ACORN,13,16,True,IN_PERSON,"Guo, Y.", +GASC54H3F,LEC01,Summer 2025,TU,11:00,13:00,Available on ACORN,16,17,True,IN_PERSON,"Guo, Y.", +GASC54H3F,LEC01,Summer 2025,TH,11:00,13:00,Available on ACORN,16,17,True,IN_PERSON,"Guo, Y.", +GGRA30H3Y,LEC01,Summer 2025,TH,17:00,19:00,Available on ACORN,73,120,True,IN_PERSON,"Paudel, K.", +GGRA30H3Y,PRA0001,Summer 2025,TH,19:00,20:00,Available on ACORN,27,30,False,IN_PERSON,, +GGRA30H3Y,PRA0002,Summer 2025,TH,19:00,20:00,Available on ACORN,26,30,False,IN_PERSON,, +GGRA30H3Y,PRA0003,Summer 2025,TH,20:00,21:00,Available on ACORN,20,30,False,IN_PERSON,, +GGRA30H3Y,PRA0004,Summer 2025,TH,20:00,21:00,Available on ACORN,0,30,False,IN_PERSON,, +GGRB05H3Y,LEC01,Summer 2025,MO,13:00,15:00,Available on ACORN,54,80,True,IN_PERSON,"Bernard, O.", +GGRB05H3Y,TUT0001,Summer 2025,MO,15:00,16:00,Available on ACORN,27,30,False,IN_PERSON,, +GGRB05H3Y,TUT0002,Summer 2025,MO,16:00,17:00,Available on ACORN,26,30,False,IN_PERSON,, +GGRB28H3Y,LEC01,Summer 2025,TU,11:00,13:00,Available on ACORN,77,90,True,ONLINE_SYNCHRONOUS,"Majeed, M.", +GGRB28H3Y,TUT0001,Summer 2025,TU,13:00,14:00,Available on ACORN,27,30,False,ONLINE_SYNCHRONOUS,, +GGRB28H3Y,TUT0002,Summer 2025,TU,14:00,15:00,Available on ACORN,30,30,False,ONLINE_SYNCHRONOUS,, +GGRB28H3Y,TUT0003,Summer 2025,TU,15:00,16:00,Available on ACORN,16,30,False,ONLINE_SYNCHRONOUS,, +GGRC25H3F,LEC01,Summer 2025,MO,09:00,11:00,Available on ACORN,73,80,True,ONLINE_SYNCHRONOUS,"Kepe, T.", +GGRC25H3F,LEC01,Summer 2025,WE,09:00,11:00,Available on ACORN,73,80,True,ONLINE_SYNCHRONOUS,"Kepe, T.", +GGRC54H3F,LEC01,Summer 2025,TH,09:00,11:00,Available on ACORN,10,10,False,IN_PERSON,"Montero Munoz, S.", +GGRD01H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +GGRD31H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +HISA04H3F,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,47,150,True,IN_PERSON,"Elhalaby, E./ deSouza, S.", +HISA04H3F,LEC01,Summer 2025,TH,10:00,12:00,Available on ACORN,47,150,True,IN_PERSON,"Elhalaby, E./ deSouza, S.", +HISA07H3Y,LEC01,Summer 2025,FR,11:00,13:00,Available on ACORN,23,87,True,IN_PERSON,"Spurrier, T.", +HISB02H3S,LEC01,Summer 2025,MO,11:00,13:00,Available on ACORN,48,60,True,IN_PERSON,"Khalifa, N.", +HISB02H3S,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,48,60,True,IN_PERSON,"Khalifa, N.", +HISB12H3Y,LEC01,Summer 2025,WE,15:00,17:00,Available on ACORN,23,60,True,IN_PERSON,"Leghissa, G.", +HISB14H3S,LEC01,Summer 2025,TU,12:00,14:00,Available on ACORN,42,100,True,IN_PERSON,"Kilgore, K.", +HISB14H3S,LEC01,Summer 2025,TH,12:00,14:00,Available on ACORN,42,100,True,IN_PERSON,"Kilgore, K.", +HISB14H3S,TUT0002,Summer 2025,TU,10:30,12:00,Available on ACORN,16,20,False,IN_PERSON,, +HISB14H3S,TUT0002,Summer 2025,TH,10:30,12:00,Available on ACORN,16,20,False,IN_PERSON,, +HISB14H3S,TUT0003,Summer 2025,TU,14:00,15:30,Available on ACORN,15,20,False,IN_PERSON,, +HISB14H3S,TUT0003,Summer 2025,TH,14:00,15:30,Available on ACORN,15,20,False,IN_PERSON,, +HISB14H3S,TUT0004,Summer 2025,TU,15:30,17:00,Available on ACORN,11,20,False,IN_PERSON,, +HISB14H3S,TUT0004,Summer 2025,TH,15:30,17:00,Available on ACORN,11,20,False,IN_PERSON,, +HISB14H3S,TUT0004,Summer 2025,TU,15:30,17:00,Available on ACORN,11,20,False,IN_PERSON,,Cancelled (18/04/24) +HISB14H3S,TUT0004,Summer 2025,TH,15:30,17:00,Available on ACORN,11,20,False,IN_PERSON,,Cancelled (18/04/24) +HISB59H3F,LEC01,Summer 2025,MO,15:00,17:00,Available on ACORN,19,60,True,IN_PERSON,"deSouza, S.", +HISB59H3F,LEC01,Summer 2025,WE,15:00,17:00,Available on ACORN,19,60,True,IN_PERSON,"deSouza, S.", +HISC37H3F,LEC01,Summer 2025,MO,11:00,13:00,Available on ACORN,14,25,True,IN_PERSON,"Bariola Gonzales, N.", +HISC37H3F,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,14,25,True,IN_PERSON,"Bariola Gonzales, N.", +HISC52H3F,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,5,17,True,IN_PERSON,"Gervers, M.", +HISC52H3F,LEC01,Summer 2025,FR,10:00,12:00,Available on ACORN,5,17,True,IN_PERSON,"Gervers, M.", +HISC54H3F,LEC01,Summer 2025,TU,11:00,13:00,Available on ACORN,14,16,True,IN_PERSON,"Guo, Y.", +HISC54H3F,LEC01,Summer 2025,TH,11:00,13:00,Available on ACORN,14,16,True,IN_PERSON,"Guo, Y.", +HISD01H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +HISD02H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +HISD63H3F,LEC01,Summer 2025,TU,13:00,15:00,Available on ACORN,5,15,True,IN_PERSON,"Gervers, M.", +HISD63H3F,LEC01,Summer 2025,FR,13:00,15:00,Available on ACORN,5,15,True,IN_PERSON,"Gervers, M.", +HLTA02H3F,LEC01,Summer 2025,TU,09:00,11:00,Available on ACORN,113,120,True,IN_PERSON,"Bytautas, J.", +HLTA02H3F,LEC01,Summer 2025,WE,09:00,11:00,Available on ACORN,113,120,True,IN_PERSON,"Bytautas, J.", +HLTA02H3F,TUT0001,Summer 2025,WE,12:00,14:00,Available on ACORN,29,30,False,IN_PERSON,, +HLTA02H3F,TUT0002,Summer 2025,WE,14:00,16:00,Available on ACORN,28,30,False,IN_PERSON,, +HLTA02H3F,TUT0003,Summer 2025,WE,12:00,14:00,Available on ACORN,30,30,False,IN_PERSON,, +HLTA02H3F,TUT0004,Summer 2025,WE,14:00,16:00,Available on ACORN,25,30,False,IN_PERSON,, +HLTA03H3S,LEC01,Summer 2025,TU,09:00,11:00,Available on ACORN,77,80,True,IN_PERSON,"Colaco, K.", +HLTA03H3S,LEC01,Summer 2025,WE,09:00,11:00,Available on ACORN,77,80,True,IN_PERSON,"Colaco, K.", +HLTA03H3S,TUT0001,Summer 2025,WE,12:00,14:00,Available on ACORN,39,40,False,IN_PERSON,, +HLTA03H3S,TUT0002,Summer 2025,WE,14:00,16:00,Available on ACORN,36,40,False,IN_PERSON,, +HLTB15H3Y,LEC01,Summer 2025,TU,09:00,11:00,Available on ACORN,61,70,True,IN_PERSON,"Butler, S.", +HLTB15H3Y,TUT0001,Summer 2025,WE,13:00,14:00,Available on ACORN,28,35,False,IN_PERSON,, +HLTB15H3Y,TUT0002,Summer 2025,WE,14:00,15:00,Available on ACORN,33,35,False,IN_PERSON,, +HLTB16H3Y,LEC01,Summer 2025,TH,09:00,11:00,Available on ACORN,48,70,True,IN_PERSON,"Mbulaheni, T.", +HLTB16H3Y,TUT0001,Summer 2025,FR,09:00,10:00,Available on ACORN,22,35,False,IN_PERSON,, +HLTB16H3Y,TUT0002,Summer 2025,FR,10:00,11:00,Available on ACORN,26,35,False,IN_PERSON,, +HLTB22H3S,LEC01,Summer 2025,TU,15:00,17:00,Available on ACORN,35,40,True,IN_PERSON,"Colaco, K.", +HLTB22H3S,LEC01,Summer 2025,WE,15:00,17:00,Available on ACORN,35,40,True,IN_PERSON,"Colaco, K.", +HLTB22H3S,TUT0001,Summer 2025,TH,11:00,13:00,Available on ACORN,32,40,False,IN_PERSON,, +HLTB50H3Y,LEC01,Summer 2025,TU,12:00,14:00,Available on ACORN,87,105,True,ONLINE_SYNCHRONOUS,"Nair, A.", +HLTB50H3Y,TUT0001,Summer 2025,WE,15:00,16:00,Available on ACORN,28,30,False,ONLINE_SYNCHRONOUS,, +HLTB50H3Y,TUT0002,Summer 2025,WE,16:00,17:00,Available on ACORN,28,35,False,ONLINE_SYNCHRONOUS,, +HLTB50H3Y,TUT0003,Summer 2025,WE,19:00,20:00,Available on ACORN,30,35,False,ONLINE_SYNCHRONOUS,, +HLTC22H3Y,LEC01,Summer 2025,TH,19:00,21:00,Available on ACORN,64,70,True,IN_PERSON,"Marani, H.", +HLTC23H3Y,LEC01,Summer 2025,WE,09:00,11:00,Available on ACORN,71,90,True,IN_PERSON,"Ahmed, S.", +HLTC27H3Y,LEC01,Summer 2025,TH,14:00,16:00,Available on ACORN,55,60,True,IN_PERSON,"Hughes, S.", +HLTC27H3Y,TUT0001,Summer 2025,TH,17:00,18:00,Available on ACORN,28,30,False,IN_PERSON,,Room change (07/06/24) +HLTC27H3Y,TUT0002,Summer 2025,TH,18:00,19:00,Available on ACORN,27,30,False,IN_PERSON,,Room change (07/06/24) +HLTD01H3Y,LEC01,Summer 2025,,,,Available on ACORN,3,9999,True,IN_PERSON,, +HLTD22H3Y,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,23,25,True,IN_PERSON,"Drakes, S.", +HLTD50H3Y,LEC01,Summer 2025,FR,12:00,14:00,Available on ACORN,24,25,True,IN_PERSON,"Jafine, H.", +HLTD71Y3Y,LEC01,Summer 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +IDSA01H3Y,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,96,200,True,ONLINE_SYNCHRONOUS,"Kocsis, J.", +IDSA01H3Y,TUT0001,Summer 2025,WE,13:00,14:00,Available on ACORN,31,40,False,ONLINE_SYNCHRONOUS,, +IDSA01H3Y,TUT0002,Summer 2025,WE,14:00,15:00,Available on ACORN,32,40,False,ONLINE_SYNCHRONOUS,, +IDSA01H3Y,TUT0003,Summer 2025,WE,15:00,16:00,Available on ACORN,20,40,False,ONLINE_SYNCHRONOUS,, +IDSA01H3Y,TUT0004,Summer 2025,WE,16:00,17:00,Available on ACORN,11,40,False,ONLINE_SYNCHRONOUS,, +IDSA01H3Y,TUT0005,Summer 2025,WE,10:00,11:00,Available on ACORN,0,40,False,ONLINE_SYNCHRONOUS,, +IDSD14H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +IDSD15H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +JOUB03H3Y,LEC01,Summer 2025,,,,Available onACORN,15,20,True,IN_PERSON,CENTENNIAL,See Centennial timetable for day/time/roominformation +JOUC13H3Y,LEC01,Summer 2025,,,,Available onACORN,15,20,True,IN_PERSON,CENTENNIAL,See Centennial timetable for day/time/roominformation +JOUC25H3S,LEC01,Summer 2025,,,,Available onACORN,15,20,True,IN_PERSON,CENTENNIAL,See Centennial timetable for day/time/roominformation +LGGA10H3F,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,26,30,True,IN_PERSON,"Kim, H.", +LGGA10H3F,LEC01,Summer 2025,TH,10:00,12:00,Available on ACORN,26,30,True,IN_PERSON,"Kim, H.", +LGGA10H3F,LEC02,Summer 2025,TU,10:00,12:00,Available on ACORN,24,30,True,IN_PERSON,"Back, U.", +LGGA10H3F,LEC02,Summer 2025,TH,10:00,12:00,Available on ACORN,24,30,True,IN_PERSON,"Back, U.", +LGGA74H3F,LEC01,Summer 2025,TU,10:00,13:00,Available on ACORN,13,30,True,IN_PERSON,"Vivekanandan, P.", +LGGA74H3F,LEC01,Summer 2025,TH,10:00,13:00,Available on ACORN,13,30,True,IN_PERSON,"Vivekanandan, P.", +LGGA82Y3Y,LEC01,Summer 2025,TU,09:00,12:00,Available onACORN,27,30,True,IN_PERSON,"Kondo, M.",Friday room change(10/05/24) +LGGA82Y3Y,LEC01,Summer 2025,FR,09:00,12:00,Available onACORN,27,30,True,IN_PERSON,"Kondo, M.",Friday room change(10/05/24) +LGGA90Y3Y,LEC01,Summer 2025,TU,17:00,19:00,Available on ACORN,31,30,True,IN_PERSON,"Tapia Cruz, V.", +LGGA90Y3Y,LEC01,Summer 2025,TH,17:00,19:00,Available on ACORN,31,30,True,IN_PERSON,"Tapia Cruz, V.", +LGGA91Y3Y,LEC01,Summer 2025,MO,15:00,17:00,Available onACORN,23,30,True,IN_PERSON,"Elamroussy,A.",WE room change05/10/2024 +LGGA91Y3Y,LEC01,Summer 2025,WE,15:00,17:00,Available onACORN,23,30,True,IN_PERSON,"Elamroussy,A.",WE room change05/10/2024 +LGGC65H3S,LEC01,Summer 2025,,,,Available on ACORN,54,30,True,ONLINE_ASYNCHRONOUS,"Wu, H.", +LGGC65H3S,LEC02,Summer 2025,,,,Available on ACORN,32,30,True,ONLINE_ASYNCHRONOUS,"Wu, H.", +LINA01H3F,LEC01,Summer 2025,MO,12:00,14:00,Available on ACORN,484,650,True,ONLINE_SYNCHRONOUS,"Moghaddam, S.", +LINA01H3F,LEC01,Summer 2025,WE,12:00,14:00,Available on ACORN,484,650,True,ONLINE_SYNCHRONOUS,"Moghaddam, S.", +LINA01H3F,TUT0001,Summer 2025,,,,Available on ACORN,36,40,False,ONLINE_ASYNCHRONOUS,, +LINA01H3F,TUT0002,Summer 2025,,,,Available on ACORN,37,40,False,ONLINE_ASYNCHRONOUS,, +LINA01H3F,TUT0003,Summer 2025,,,,Available on ACORN,38,40,False,ONLINE_ASYNCHRONOUS,, +LINA01H3F,TUT0004,Summer 2025,,,,Available on ACORN,37,40,False,ONLINE_ASYNCHRONOUS,, +LINA01H3F,TUT0005,Summer 2025,,,,Available on ACORN,37,40,False,ONLINE_ASYNCHRONOUS,, +LINA01H3F,TUT0006,Summer 2025,,,,Available on ACORN,38,40,False,ONLINE_ASYNCHRONOUS,, +LINA01H3F,TUT0007,Summer 2025,,,,Available on ACORN,36,40,False,ONLINE_ASYNCHRONOUS,, +LINA01H3F,TUT0008,Summer 2025,,,,Available on ACORN,36,40,False,ONLINE_ASYNCHRONOUS,, +LINA01H3F,TUT0009,Summer 2025,,,,Available on ACORN,37,40,False,ONLINE_ASYNCHRONOUS,, +LINA01H3F,TUT0010,Summer 2025,,,,Available on ACORN,36,40,False,ONLINE_ASYNCHRONOUS,, +LINA01H3F,TUT0011,Summer 2025,,,,Available on ACORN,37,40,False,ONLINE_ASYNCHRONOUS,, +LINA01H3F,TUT0012,Summer 2025,,,,Available on ACORN,40,40,False,ONLINE_ASYNCHRONOUS,, +LINA01H3F,TUT0013,Summer 2025,,,,Available on ACORN,39,43,False,ONLINE_ASYNCHRONOUS,, +LINA02H3S,LEC01,Summer 2025,MO,12:00,14:00,Available on ACORN,177,200,True,ONLINE_SYNCHRONOUS,"Moghaddam, S.", +LINA02H3S,LEC01,Summer 2025,WE,12:00,14:00,Available on ACORN,177,200,True,ONLINE_SYNCHRONOUS,"Moghaddam, S.", +LINA02H3S,TUT0001,Summer 2025,,,,Available on ACORN,28,30,False,ONLINE_ASYNCHRONOUS,, +LINA02H3S,TUT0002,Summer 2025,,,,Available on ACORN,27,30,False,ONLINE_ASYNCHRONOUS,, +LINA02H3S,TUT0003,Summer 2025,,,,Available on ACORN,28,30,False,ONLINE_ASYNCHRONOUS,, +LINA02H3S,TUT0004,Summer 2025,,,,Available on ACORN,20,30,False,ONLINE_ASYNCHRONOUS,, +LINA02H3S,TUT0005,Summer 2025,,,,Available on ACORN,19,25,False,ONLINE_ASYNCHRONOUS,, +LINA02H3S,TUT0006,Summer 2025,,,,Available on ACORN,17,25,False,ONLINE_ASYNCHRONOUS,, +LINA02H3S,TUT0007,Summer 2025,,,,Available on ACORN,9,25,False,ONLINE_ASYNCHRONOUS,, +LINA02H3S,TUT0008,Summer 2025,,,,Available on ACORN,10,25,False,ONLINE_ASYNCHRONOUS,, +LINB06H3F,LEC01,Summer 2025,TU,13:00,15:00,Available on ACORN,48,100,True,IN_PERSON,"Milway, D.", +LINB06H3F,LEC01,Summer 2025,TH,13:00,15:00,Available on ACORN,48,100,True,IN_PERSON,"Milway, D.", +LINB09H3F,LEC01,Summer 2025,MO,15:00,17:00,Available on ACORN,34,70,True,IN_PERSON,"Craioveanu, R.", +LINB09H3F,LEC01,Summer 2025,WE,15:00,17:00,Available on ACORN,34,70,True,IN_PERSON,"Craioveanu, R.", +LINB09H3F,TUT0001,Summer 2025,MO,14:00,15:00,Available on ACORN,26,35,False,IN_PERSON,, +LINB09H3F,TUT0001,Summer 2025,WE,14:00,15:00,Available on ACORN,26,35,False,IN_PERSON,, +LINB09H3F,TUT0002,Summer 2025,MO,13:00,14:00,Available on ACORN,8,35,False,IN_PERSON,, +LINB09H3F,TUT0002,Summer 2025,WE,13:00,14:00,Available on ACORN,8,35,False,IN_PERSON,, +LINB18H3Y,LEC01,Summer 2025,,,,Available on ACORN,140,300,True,ONLINE_ASYNCHRONOUS,"Moghaddam, S.", +LINB18H3Y,TUT0001,Summer 2025,,,,Available on ACORN,39,45,False,ONLINE_ASYNCHRONOUS,, +LINB18H3Y,TUT0002,Summer 2025,,,,Available on ACORN,35,45,False,ONLINE_ASYNCHRONOUS,, +LINB18H3Y,TUT0003,Summer 2025,,,,Available on ACORN,38,45,False,ONLINE_ASYNCHRONOUS,, +LINB18H3Y,TUT0004,Summer 2025,,,,Available on ACORN,20,45,False,ONLINE_ASYNCHRONOUS,, +LINB60H3F,LEC01,Summer 2025,TU,16:00,18:00,Available on ACORN,40,50,True,ONLINE_SYNCHRONOUS,"Wang, R.", +LINB60H3F,LEC01,Summer 2025,TH,16:00,18:00,Available on ACORN,40,50,True,ONLINE_SYNCHRONOUS,"Wang, R.", +LINB98H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,10,True,IN_PERSON,, +LINC61H3S,LEC01,Summer 2025,TU,15:00,17:00,Available on ACORN,31,40,True,IN_PERSON,"Takahashi, E.", +LINC61H3S,LEC01,Summer 2025,TH,15:00,17:00,Available on ACORN,31,40,True,IN_PERSON,"Takahashi, E.", +LIND01H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +LIND02H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +LIND03H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +MATA22H3Y,LEC01,Summer 2025,WE,10:00,11:00,Available on ACORN,97,300,True,IN_PERSON,"Kielstra, T.", +MATA22H3Y,LEC01,Summer 2025,FR,10:00,12:00,Available on ACORN,97,300,True,IN_PERSON,"Kielstra, T.", +MATA22H3Y,TUT0001,Summer 2025,TH,14:00,16:00,Available on ACORN,17,34,False,IN_PERSON,, +MATA22H3Y,TUT0002,Summer 2025,WE,15:00,17:00,Available on ACORN,18,34,False,IN_PERSON,,Room change (09/05/24) +MATA22H3Y,TUT0003,Summer 2025,TU,14:00,16:00,Available on ACORN,18,34,False,IN_PERSON,, +MATA22H3Y,TUT0004,Summer 2025,FR,12:00,14:00,Available on ACORN,24,34,False,IN_PERSON,, +MATA22H3Y,TUT0005,Summer 2025,TH,17:00,19:00,Available on ACORN,20,34,False,IN_PERSON,, +MATA23H3Y,LEC01,Summer 2025,WE,11:00,12:00,Available on ACORN,40,80,True,IN_PERSON,"Breuss, N.", +MATA23H3Y,LEC01,Summer 2025,FR,10:00,12:00,Available on ACORN,40,80,True,IN_PERSON,"Breuss, N.", +MATA23H3Y,TUT0001,Summer 2025,MO,12:00,13:00,Available on ACORN,16,34,False,IN_PERSON,, +MATA23H3Y,TUT0002,Summer 2025,MO,13:00,14:00,Available on ACORN,24,34,False,IN_PERSON,, +MATA34H3Y,LEC01,Summer 2025,TU,13:00,14:00,Available on ACORN,44,230,True,IN_PERSON,"Hart, E.", +MATA34H3Y,LEC01,Summer 2025,TH,13:00,15:00,Available on ACORN,44,230,True,IN_PERSON,"Hart, E.", +MATA34H3Y,TUT0001,Summer 2025,MO,10:00,11:00,Available on ACORN,3,34,False,IN_PERSON,, +MATA34H3Y,TUT0005,Summer 2025,TH,15:00,16:00,Available on ACORN,28,34,False,IN_PERSON,, +MATA34H3Y,TUT0006,Summer 2025,FR,13:00,14:00,Available on ACORN,12,34,False,IN_PERSON,, +MATA35H3Y,LEC01,Summer 2025,WE,12:00,14:00,Available on ACORN,45,86,True,IN_PERSON,"Breuss, N.", +MATA35H3Y,LEC01,Summer 2025,FR,12:00,13:00,Available on ACORN,45,86,True,IN_PERSON,"Breuss, N.", +MATA35H3Y,TUT0001,Summer 2025,WE,15:00,16:00,Available on ACORN,23,34,False,IN_PERSON,, +MATA35H3Y,TUT0002,Summer 2025,FR,13:00,14:00,Available on ACORN,15,34,False,IN_PERSON,, +MATA35H3Y,TUT0003,Summer 2025,FR,11:00,12:00,Available on ACORN,7,34,False,IN_PERSON,, +MATA36H3Y,LEC01,Summer 2025,MO,11:00,13:00,Available on ACORN,56,135,True,IN_PERSON,"Hart, E.", +MATA36H3Y,LEC01,Summer 2025,TH,12:00,13:00,Available on ACORN,56,135,True,IN_PERSON,"Hart, E.", +MATA36H3Y,TUT0001,Summer 2025,MO,13:00,14:00,Available on ACORN,23,34,False,IN_PERSON,, +MATA36H3Y,TUT0002,Summer 2025,FR,13:00,14:00,Available on ACORN,12,34,False,IN_PERSON,, +MATA36H3Y,TUT0004,Summer 2025,MO,15:00,16:00,Available on ACORN,21,34,False,IN_PERSON,, +MATA37H3Y,LEC01,Summer 2025,TU,16:00,17:00,Available on ACORN,137,200,True,IN_PERSON,"Smith, K.", +MATA37H3Y,LEC01,Summer 2025,TH,15:00,17:00,Available on ACORN,137,200,True,IN_PERSON,"Smith, K.", +MATA37H3Y,TUT0001,Summer 2025,FR,13:00,15:00,Available on ACORN,13,34,False,IN_PERSON, , +MATA37H3Y,TUT0002,Summer 2025,MO,13:00,15:00,Available on ACORN,11,34,False,IN_PERSON, , +MATA37H3Y,TUT0003,Summer 2025,TU,11:00,13:00,Available on ACORN,31,34,False,IN_PERSON, , +MATA37H3Y,TUT0004,Summer 2025,TH,11:00,13:00,Available on ACORN,31,34,False,IN_PERSON, , +MATA37H3Y,TUT0005,Summer 2025,TU,17:00,19:00,Available on ACORN,23,34,False,IN_PERSON, , +MATA37H3Y,TUT0006,Summer 2025,TU,18:00,20:00,Available on ACORN,28,34,False,IN_PERSON,, +MATA67H3Y,LEC01,Summer 2025,MO,15:00,17:00,Available on ACORN,24,50,True,IN_PERSON,"Meskar, E.", +MATA67H3Y,LEC01,Summer 2025,FR,14:00,15:00,Available on ACORN,24,50,True,IN_PERSON,"Meskar, E.", +MATA67H3Y,TUT0001,Summer 2025,WE,11:00,12:00,Available on ACORN,5,8,False,IN_PERSON,, +MATA67H3Y,TUT0002,Summer 2025,WE,16:00,17:00,Available on ACORN,7,16,False,IN_PERSON,, +MATA67H3Y,TUT0003,Summer 2025,TH,10:00,11:00,Available on ACORN,9,16,False,IN_PERSON,, +MATA67H3Y,TUT0004,Summer 2025,TH,17:00,18:00,Available on ACORN,3,12,False,IN_PERSON,, +MATB24H3Y,LEC01,Summer 2025,WE,10:00,11:00,Available on ACORN,117,129,True,IN_PERSON,"Memarpanahi, P.", +MATB24H3Y,LEC01,Summer 2025,FR,10:00,12:00,Available on ACORN,117,129,True,IN_PERSON,"Memarpanahi, P.", +MATB24H3Y,LEC02,Summer 2025,WE,15:00,17:00,Available on ACORN,53,127,True,IN_PERSON,"Memarpanahi, P.", +MATB24H3Y,LEC02,Summer 2025,FR,14:00,15:00,Available on ACORN,53,127,True,IN_PERSON,"Memarpanahi, P.", +MATB24H3Y,TUT0001,Summer 2025,MO,15:00,17:00,Available on ACORN,32,34,False,IN_PERSON,, +MATB24H3Y,TUT0002,Summer 2025,TU,17:00,19:00,Available on ACORN,31,34,False,IN_PERSON,, +MATB24H3Y,TUT0003,Summer 2025,WE,11:00,13:00,Available on ACORN,21,34,False,IN_PERSON,, +MATB24H3Y,TUT0004,Summer 2025,WE,13:00,15:00,Available on ACORN,22,34,False,IN_PERSON,, +MATB24H3Y,TUT0005,Summer 2025,FR,12:00,14:00,Available on ACORN,31,34,False,IN_PERSON,, +MATB24H3Y,TUT0006,Summer 2025,TU,17:00,19:00,Available on ACORN,10,34,False,IN_PERSON,, +MATB24H3Y,TUT0007,Summer 2025,TH,19:00,21:00,Available on ACORN,23,34,False,IN_PERSON,, +MATB41H3Y,LEC01,Summer 2025,TU,19:00,20:00,Available on ACORN,142,185,True,IN_PERSON,"Hessami Pilehrood, T.", +MATB41H3Y,LEC01,Summer 2025,TH,17:00,19:00,Available on ACORN,142,185,True,IN_PERSON,"Hessami Pilehrood, T.", +MATB41H3Y,TUT0002,Summer 2025,TU,16:00,17:00,Available on ACORN,33,35,False,IN_PERSON,, +MATB41H3Y,TUT0003,Summer 2025,FR,12:00,13:00,Available on ACORN,30,35,False,IN_PERSON,, +MATB41H3Y,TUT0004,Summer 2025,MO,11:00,12:00,Available on ACORN,23,35,False,IN_PERSON,, +MATB41H3Y,TUT0005,Summer 2025,TU,18:00,19:00,Available on ACORN,25,35,False,IN_PERSON,, +MATB41H3Y,TUT0006,Summer 2025,TH,19:00,20:00,Available on ACORN,28,35,False,IN_PERSON,, +MATB42H3Y,LEC01,Summer 2025,TU,09:00,10:00,Available on ACORN,33,120,True,IN_PERSON,"Ye, K.", +MATB42H3Y,LEC01,Summer 2025,TH,09:00,11:00,Available on ACORN,33,120,True,IN_PERSON,"Ye, K.", +MATB42H3Y,TUT0002,Summer 2025,TU,16:00,18:00,Available on ACORN,21,35,False,IN_PERSON,, +MATB42H3Y,TUT0003,Summer 2025,FR,12:00,14:00,Available on ACORN,12,35,False,IN_PERSON,, +MATC01H3Y,LEC01,Summer 2025,MO,16:00,17:00,Available on ACORN,31,60,True,IN_PERSON,"Smith, K.", +MATC01H3Y,LEC01,Summer 2025,WE,15:00,17:00,Available on ACORN,31,60,True,IN_PERSON,"Smith, K.", +MATC01H3Y,TUT0001,Summer 2025,MO,15:00,16:00,Available on ACORN,17,35,False,IN_PERSON,, +MATC01H3Y,TUT0002,Summer 2025,TH,13:00,14:00,Available on ACORN,14,35,False,IN_PERSON,, +MATD92H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +MATD93H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +MATD94H3Y,LEC01,Summer 2025,,,,Available on ACORN,7,9999,True,IN_PERSON,, +MATD95H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,"Smith, K.", +MDSA01H3F,LEC01,Summer 2025,MO,15:00,17:00,Available on ACORN,321,350,True,ONLINE_SYNCHRONOUS,"Visan, L.", +MDSA01H3F,LEC01,Summer 2025,WE,15:00,17:00,Available on ACORN,321,350,True,ONLINE_SYNCHRONOUS,"Visan, L.", +MDSB61H3F,LEC01,Summer 2025,TU,16:00,18:00,Available on ACORN,86,120,True,IN_PERSON,"Visan, L.", +MDSB61H3F,LEC01,Summer 2025,TH,16:00,18:00,Available on ACORN,86,120,True,IN_PERSON,"Visan, L.", +MDSC41H3S,LEC01,Summer 2025,MO,12:00,14:00,Available on ACORN,72,75,True,ONLINE_SYNCHRONOUS,"Park, J.", +MDSC41H3S,LEC01,Summer 2025,WE,12:00,14:00,Available on ACORN,72,75,True,ONLINE_SYNCHRONOUS,"Park, J.", +MDSC65H3F,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,97,100,True,ONLINE_SYNCHRONOUS,"Ross, A.", +MDSC65H3F,LEC01,Summer 2025,TH,10:00,12:00,Available on ACORN,97,100,True,ONLINE_SYNCHRONOUS,"Ross, A.", +MDSC66H3F,LEC01,Summer 2025,MO,12:00,14:00,Available on ACORN,95,100,True,ONLINE_SYNCHRONOUS,"Visan, L.", +MDSC66H3F,LEC01,Summer 2025,WE,12:00,14:00,Available on ACORN,95,100,True,ONLINE_SYNCHRONOUS,"Visan, L.", +MDSD01H3F,LEC01,Summer 2025,WE,10:00,12:00,Available onACORN,35,35,True,,"Bhatia, A.",Delivery mode changed30/04/24Course is fully online. +MDSD01H3F,LEC01,Summer 2025,FR,10:00,12:00,Available onACORN,35,35,True,,"Bhatia, A.",Delivery mode changed30/04/24Course is fully online. +MGAB02H3F,LEC01,Summer 2025,TU,09:00,11:00,Available on ACORN,38,60,True,IN_PERSON,"Chen, L.", +MGAB02H3F,LEC01,Summer 2025,TH,09:00,11:00,Available on ACORN,38,60,True,IN_PERSON,"Chen, L.", +MGAB02H3F,TUT0001,Summer 2025,FR,10:00,11:00,Available on ACORN,33,60,False,IN_PERSON,, +MGAB03H3F,LEC02,Summer 2025,TU,11:00,13:00,Available on ACORN,53,63,True,IN_PERSON,"Chen, L.", +MGAB03H3F,LEC02,Summer 2025,TH,11:00,13:00,Available on ACORN,53,63,True,IN_PERSON,"Chen, L.", +MGAB03H3F,LEC03,Summer 2025,TU,15:00,17:00,Available on ACORN,60,63,True,IN_PERSON,"Chen, L.", +MGAB03H3F,LEC03,Summer 2025,TH,15:00,17:00,Available on ACORN,60,63,True,IN_PERSON,"Chen, L.", +MGAB03H3F,TUT0002,Summer 2025,FR,12:00,14:00,Available on ACORN,45,60,False,IN_PERSON,, +MGAB03H3F,TUT0003,Summer 2025,FR,10:00,12:00,Available on ACORN,57,60,False,IN_PERSON,, +MGAC01H3Y,LEC01,Summer 2025,MO,13:00,15:00,Available on ACORN,22,40,True,IN_PERSON,"Quan Fun, G.", +MGAC01H3Y,TUT0001,Summer 2025,FR,13:00,15:00,Available on ACORN,17,40,False,IN_PERSON,, +MGAC02H3Y,LEC01,Summer 2025,TU,12:00,14:00,Available on ACORN,35,41,True,IN_PERSON,"Kong, D.", +MGAC02H3Y,TUT0001,Summer 2025,TU,17:00,19:00,Available on ACORN,29,41,False,IN_PERSON,, +MGAC03H3Y,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,19,40,True,IN_PERSON,"Quan Fun, G.", +MGAC03H3Y,TUT0001,Summer 2025,TH,11:00,13:00,Available on ACORN,13,80,False,IN_PERSON,, +MGAC70H3Y,LEC01,Summer 2025,MO,15:00,17:00,Available on ACORN,32,40,True,IN_PERSON,"Kong, D.", +MGAD40H3Y,LEC01,Summer 2025,MO,09:00,11:00,Available on ACORN,31,40,True,IN_PERSON,"Kong, D.", +MGAD45H3Y,LEC01,Summer 2025,MO,11:00,13:00,Available on ACORN,22,40,True,IN_PERSON,"Kong, D.", +MGAD50H3Y,LEC01,Summer 2025,WE,09:00,11:00,Available on ACORN,17,40,True,IN_PERSON,"Quan Fun, G.", +MGAD65H3Y,LEC01,Summer 2025,TH,19:00,22:00,Available on ACORN,20,60,True,IN_PERSON,"Phung, P./ Ratnam, S.", +MGAD70H3Y,LEC01,Summer 2025,MO,13:00,15:00,Available on ACORN,21,30,True,IN_PERSON,"Kong, D.", +MGEA02H3Y,LEC01,Summer 2025,TH,09:00,12:00,Available on ACORN,101,120,True,IN_PERSON,"Parkinson, J.", +MGEA06H3Y,LEC01,Summer 2025,WE,14:00,17:00,Available on ACORN,70,120,True,IN_PERSON,"Au, I.", +MGEB02H3Y,LEC01,Summer 2025,TU,09:00,12:00,Available on ACORN,68,80,True,IN_PERSON,"Mazaheri, A.", +MGEB02H3Y,LEC02,Summer 2025,TU,14:00,17:00,Available on ACORN,68,80,True,IN_PERSON,"Mazaheri, A.", +MGEB02H3Y,LEC03,Summer 2025,TU,17:00,20:00,Available on ACORN,60,80,True,IN_PERSON,"Turner, L.", +MGEB02H3Y,TUT0001,Summer 2025,WE,15:00,17:00,Available on ACORN,138,160,False,IN_PERSON,, +MGEB06H3Y,LEC01,Summer 2025,FR,09:00,12:00,Available on ACORN,68,80,True,IN_PERSON,"Parkinson, J.", +MGEB06H3Y,LEC02,Summer 2025,TH,14:00,17:00,Available on ACORN,71,80,True,IN_PERSON,"Parkinson, J.", +MGEB11H3Y,LEC01,Summer 2025,FR,12:00,15:00,Available on ACORN,103,120,True,IN_PERSON,"Yu, V.", +MGEB12H3Y,LEC01,Summer 2025,FR,09:00,12:00,Available on ACORN,53,80,True,IN_PERSON,"Mazaheri, A.", +MGEB12H3Y,LEC02,Summer 2025,FR,12:00,15:00,Available on ACORN,73,80,True,IN_PERSON,"Mazaheri, A.", +MGEC02H3Y,LEC01,Summer 2025,WE,09:00,12:00,Available on ACORN,50,60,True,IN_PERSON,"Mazaheri, A.", +MGEC06H3Y,LEC01,Summer 2025,TH,09:00,12:00,Available on ACORN,50,60,True,IN_PERSON,"Mazaheri, A.", +MGEC11H3Y,LEC01,Summer 2025,TH,13:00,15:00,Available on ACORN,35,40,True,IN_PERSON,"Yu, V.", +MGEC40H3Y,LEC02,Summer 2025,MO,15:00,17:00,Available on ACORN,49,60,True,IN_PERSON,"Parkinson, J.", +MGEC41H3Y,LEC01,Summer 2025,TU,09:00,11:00,Available on ACORN,12,60,True,IN_PERSON,"Parkinson, J.", +MGEC61H3Y,LEC01,Summer 2025,TU,11:00,13:00,Available on ACORN,24,60,True,IN_PERSON,"Au, I.", +MGEC61H3Y,LEC02,Summer 2025,TU,13:00,15:00,Available on ACORN,29,60,True,IN_PERSON,"Au, I.", +MGEC71H3Y,LEC01,Summer 2025,MO,10:00,12:00,Available on ACORN,33,60,True,IN_PERSON,"Parkinson, J.", +MGEC71H3Y,LEC02,Summer 2025,WE,13:00,15:00,Available on ACORN,40,60,True,IN_PERSON,"Parkinson, J.", +MGEC93H3Y,LEC01,Summer 2025,FR,09:00,11:00,Available on ACORN,51,60,True,IN_PERSON,"Au, I.", +MGED90H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +MGED91H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +MGFB10H3F,LEC01,Summer 2025,TU,09:00,11:00,Available on ACORN,29,60,True,IN_PERSON,"Ahmed, S.", +MGFB10H3F,LEC01,Summer 2025,TH,09:00,11:00,Available on ACORN,29,60,True,IN_PERSON,"Ahmed, S.", +MGFB10H3F,LEC02,Summer 2025,TU,12:00,14:00,Available on ACORN,49,60,True,IN_PERSON,"Ahmed, S.", +MGFB10H3F,LEC02,Summer 2025,TH,12:00,14:00,Available on ACORN,49,60,True,IN_PERSON,"Ahmed, S.", +MGFC10H3S,LEC01,Summer 2025,TU,09:00,11:00,Available on ACORN,62,63,True,IN_PERSON,"Ahmed, S.", +MGFC10H3S,LEC01,Summer 2025,TH,09:00,11:00,Available on ACORN,62,63,True,IN_PERSON,"Ahmed, S.", +MGFC10H3S,LEC02,Summer 2025,TU,13:00,15:00,Available on ACORN,57,63,True,IN_PERSON,"Ahmed, S.", +MGFC10H3S,LEC02,Summer 2025,TH,13:00,15:00,Available on ACORN,57,63,True,IN_PERSON,"Ahmed, S.", +MGFC20H3S,LEC01,Summer 2025,MO,13:00,15:00,Available on ACORN,37,42,True,IN_PERSON,"Ahmed, S.", +MGFC20H3S,LEC01,Summer 2025,WE,13:00,15:00,Available on ACORN,37,42,True,IN_PERSON,"Ahmed, S.", +MGFD15H3S,LEC01,Summer 2025,TU,12:00,14:00,Available on ACORN,42,60,True,IN_PERSON,"Ansari, R./ Mir, U./ Zhao, Y.", +MGFD15H3S,LEC01,Summer 2025,TH,12:00,14:00,Available on ACORN,42,60,True,IN_PERSON,"Ansari, R./ Mir, U./ Zhao, Y.", +MGHA12H3S,LEC01,Summer 2025,TU,11:00,13:00,Available on ACORN,45,60,True,IN_PERSON,"Syed, I.", +MGHA12H3S,LEC01,Summer 2025,TH,11:00,13:00,Available on ACORN,45,60,True,IN_PERSON,"Syed, I.", +MGHA12H3S,LEC02,Summer 2025,TU,15:00,17:00,Available on ACORN,43,60,True,IN_PERSON,"Syed, I.", +MGHA12H3S,LEC02,Summer 2025,TH,15:00,17:00,Available on ACORN,43,60,True,IN_PERSON,"Syed, I.", +MGHB02H3F,LEC01,Summer 2025,TU,11:00,13:00,Available on ACORN,47,64,True,IN_PERSON,"Hansen, S.", +MGHB02H3F,LEC01,Summer 2025,TH,11:00,13:00,Available on ACORN,47,64,True,IN_PERSON,"Hansen, S.", +MGHB02H3F,LEC02,Summer 2025,TU,13:00,15:00,Available on ACORN,53,64,True,IN_PERSON,"Hansen, S.", +MGHB02H3F,LEC02,Summer 2025,TH,13:00,15:00,Available on ACORN,53,64,True,IN_PERSON,"Hansen, S.", +MGHC02H3F,LEC01,Summer 2025,MO,11:00,13:00,Available on ACORN,38,40,True,IN_PERSON,"Wilfred, S.", +MGHC02H3F,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,38,40,True,IN_PERSON,"Wilfred, S.", +MGHC02H3F,LEC02,Summer 2025,MO,13:00,15:00,Available on ACORN,39,40,True,IN_PERSON,"Syed, I.", +MGHC02H3F,LEC02,Summer 2025,WE,13:00,15:00,Available on ACORN,39,40,True,IN_PERSON,"Syed, I.", +MGHC02H3F,LEC03,Summer 2025,MO,15:00,17:00,Available on ACORN,17,40,False,IN_PERSON,"Syed, I.", +MGHC02H3F,LEC03,Summer 2025,WE,15:00,17:00,Available on ACORN,17,40,False,IN_PERSON,"Syed, I.", +MGIB01H3Y,LEC01,Summer 2025,TU,11:00,13:00,Available on ACORN,15,40,True,IN_PERSON,"Dewan, T.", +MGIB01H3Y,LEC02,Summer 2025,TU,13:00,15:00,Available on ACORN,21,40,True,IN_PERSON,"Dewan, T.", +MGMB01H3Y,LEC01,Summer 2025,TH,11:00,13:00,Available on ACORN,36,42,True,IN_PERSON,"Dewan, T.", +MGMB01H3Y,LEC02,Summer 2025,WE,13:00,15:00,Available on ACORN,39,42,True,IN_PERSON,"Dewan, T.", +MGMB01H3Y,LEC03,Summer 2025,TH,13:00,15:00,Available on ACORN,37,42,True,IN_PERSON,"Dewan, T.", +MGMB01H3Y,LEC04,Summer 2025,WE,15:00,17:00,Available on ACORN,0,40,True,IN_PERSON,"Dewan, T.", +MGMC02H3S,LEC01,Summer 2025,MO,09:00,11:00,Available on ACORN,34,35,True,IN_PERSON,"McConkey, W.", +MGMC02H3S,LEC01,Summer 2025,WE,09:00,11:00,Available on ACORN,34,35,True,IN_PERSON,"McConkey, W.", +MGMC11H3S,LEC01,Summer 2025,MO,11:00,13:00,Available on ACORN,42,42,True,IN_PERSON,"McConkey, W.", +MGMC11H3S,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,42,42,True,IN_PERSON,"McConkey, W.", +MGMC12H3F,LEC01,Summer 2025,TU,13:00,15:00,Available on ACORN,36,42,True,IN_PERSON,"Aggarwal, P.", +MGMC12H3F,LEC01,Summer 2025,TH,13:00,15:00,Available on ACORN,36,42,True,IN_PERSON,"Aggarwal, P.", +MGMD10H3F,LEC01,Summer 2025,TU,11:00,13:00,Available on ACORN,19,20,True,IN_PERSON,"Aggarwal, P.", +MGMD10H3F,LEC01,Summer 2025,TH,11:00,13:00,Available on ACORN,19,20,True,IN_PERSON,"Aggarwal, P.", +MGMD21H3Y,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,21,20,True,IN_PERSON,"Dewan, T.", +MGOC10H3F,LEC01,Summer 2025,TU,13:00,15:00,Available on ACORN,61,65,True,IN_PERSON,"Quan, V.", +MGOC10H3F,LEC01,Summer 2025,TH,13:00,15:00,Available on ACORN,61,65,True,IN_PERSON,"Quan, V.", +MGOC10H3F,LEC02,Summer 2025,TU,15:00,17:00,Available on ACORN,56,65,True,IN_PERSON,"Quan, V.", +MGOC10H3F,LEC02,Summer 2025,TH,15:00,17:00,Available on ACORN,56,65,True,IN_PERSON,"Quan, V.", +MGOC15H3F,LEC01,Summer 2025,TU,13:00,15:00,Available on ACORN,34,40,True,IN_PERSON,"Cire, A.", +MGOC15H3F,LEC01,Summer 2025,TH,13:00,15:00,Available on ACORN,34,40,True,IN_PERSON,"Cire, A.", +MGOC20H3S,LEC01,Summer 2025,TU,13:00,15:00,Available on ACORN,61,63,True,IN_PERSON,"McConkey, W.", +MGOC20H3S,LEC01,Summer 2025,TH,13:00,15:00,Available on ACORN,61,63,True,IN_PERSON,"McConkey, W.", +MGOC20H3S,LEC02,Summer 2025,TU,15:00,17:00,Available on ACORN,61,63,True,IN_PERSON,"McConkey, W.", +MGOC20H3S,LEC02,Summer 2025,TH,15:00,17:00,Available on ACORN,61,63,True,IN_PERSON,"McConkey, W.", +MGOD31H3S,LEC01,Summer 2025,TU,13:00,15:00,Available on ACORN,18,30,True,IN_PERSON,"Cire, A.", +MGOD31H3S,LEC01,Summer 2025,TH,13:00,15:00,Available on ACORN,18,30,True,IN_PERSON,"Cire, A.", +MGSC01H3F,LEC01,Summer 2025,TU,15:00,17:00,Available on ACORN,32,42,True,IN_PERSON,"Olatoye, F.", +MGSC01H3F,LEC01,Summer 2025,TH,15:00,17:00,Available on ACORN,32,42,True,IN_PERSON,"Olatoye, F.", +MGSC14H3F,LEC01,Summer 2025,TU,17:00,19:00,Available on ACORN,59,65,True,IN_PERSON,"Constantinou, P.", +MGSC14H3F,LEC01,Summer 2025,TH,17:00,19:00,Available on ACORN,59,65,True,IN_PERSON,"Constantinou, P.", +MGSC30H3Y,LEC01,Summer 2025,TH,17:00,19:00,Available on ACORN,45,60,True,IN_PERSON,"Meng, J.", +MGSD01H3F,LEC01,Summer 2025,TU,17:00,19:00,Available on ACORN,9,20,True,IN_PERSON,"Guiyab, J.", +MGSD01H3F,LEC01,Summer 2025,TH,17:00,19:00,Available on ACORN,9,20,True,IN_PERSON,"Guiyab, J.", +MGSD40H3S,LEC01,Summer 2025,TU,15:00,17:00,Available on ACORN,21,40,True,IN_PERSON,"Yazdanian, E.", +MGSD40H3S,LEC01,Summer 2025,TH,15:00,17:00,Available on ACORN,21,40,True,IN_PERSON,"Yazdanian, E.", +MGTA01H3Y,LEC01,Summer 2025,MO,11:00,13:00,Available on ACORN,134,250,True,ONLINE_SYNCHRONOUS,"Toor, A.", +MGTA02H3Y,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,47,80,True,ONLINE_SYNCHRONOUS,"Toor, A.", +MGTA38H3Y,LEC01,Summer 2025,WE,15:00,17:00,Available on ACORN,18,30,True,IN_PERSON,"Shibaeva, M.", +MGTA38H3Y,TUT0001,Summer 2025,FR,11:00,13:00,Available on ACORN,17,30,False,IN_PERSON,, +MGTD80H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +MGTD82Y3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +MUZA99H3F,LEC01,Summer 2025,TU,13:00,15:00,Available on ACORN,383,500,True,ONLINE_SYNCHRONOUS,"Jacobs, Q.", +MUZA99H3F,LEC01,Summer 2025,TH,13:00,15:00,Available on ACORN,383,500,True,ONLINE_SYNCHRONOUS,"Jacobs, Q.", +NROB60H3Y,LEC01,Summer 2025,WE,13:00,15:00,Available on ACORN,57,75,True,IN_PERSON,"Bercovici, D.", +NROB60H3Y,PRA0001,Summer 2025,FR,09:00,11:00,Available on ACORN,20,25,False,IN_PERSON,, +NROB60H3Y,PRA0002,Summer 2025,FR,11:00,13:00,Available on ACORN,17,25,False,IN_PERSON,, +NROB60H3Y,PRA0003,Summer 2025,FR,13:00,15:00,Available on ACORN,20,25,False,IN_PERSON,, +NROB61H3Y,LEC01,Summer 2025,WE,09:00,11:00,Available on ACORN,59,60,True,IN_PERSON,"Bercovici, D.", +NROB61H3Y,PRA0001,Summer 2025,TH,09:00,12:00,Available on ACORN,13,15,False,IN_PERSON,, +NROB61H3Y,PRA0002,Summer 2025,TH,12:00,15:00,Available on ACORN,17,15,False,IN_PERSON,, +NROB61H3Y,PRA0003,Summer 2025,TH,15:00,18:00,Available on ACORN,13,15,False,IN_PERSON,, +NROB61H3Y,PRA0004,Summer 2025,TH,18:00,21:00,Available on ACORN,16,15,False,IN_PERSON,, +PHLB06H3Y,LEC01,Summer 2025,MO,11:00,14:00,Available on ACORN,60,100,True,IN_PERSON,"Lavigne, A.", +PHLB12H3S,LEC01,Summer 2025,TU,13:00,16:00,Available on ACORN,50,100,True,IN_PERSON,"Drusda, A.", +PHLB12H3S,LEC01,Summer 2025,TH,13:00,16:00,Available on ACORN,50,100,True,IN_PERSON,"Drusda, A.", +PHLB30H3F,LEC01,Summer 2025,WE,12:00,15:00,Available on ACORN,87,100,True,ONLINE_SYNCHRONOUS,"Gustafson, A.", +PHLB30H3F,LEC01,Summer 2025,FR,12:00,15:00,Available on ACORN,87,100,True,ONLINE_SYNCHRONOUS,"Gustafson, A.", +PHLB55H3F,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,95,120,True,ONLINE_SYNCHRONOUS,"Doppenberg, A.", +PHLB55H3F,LEC01,Summer 2025,TH,10:00,12:00,Available on ACORN,95,120,True,ONLINE_SYNCHRONOUS,"Doppenberg, A.", +PHLB55H3F,TUT0001,Summer 2025,TU,16:00,17:00,Available on ACORN,27,30,False,ONLINE_SYNCHRONOUS,, +PHLB55H3F,TUT0001,Summer 2025,TH,16:00,17:00,Available on ACORN,27,30,False,ONLINE_SYNCHRONOUS,, +PHLB55H3F,TUT0002,Summer 2025,TU,16:00,17:00,Available on ACORN,21,30,False,ONLINE_SYNCHRONOUS,, +PHLB55H3F,TUT0002,Summer 2025,TH,16:00,17:00,Available on ACORN,21,30,False,ONLINE_SYNCHRONOUS,, +PHLB55H3F,TUT0003,Summer 2025,TU,17:00,18:00,Available on ACORN,23,30,False,ONLINE_SYNCHRONOUS,, +PHLB55H3F,TUT0003,Summer 2025,TH,17:00,18:00,Available on ACORN,23,30,False,ONLINE_SYNCHRONOUS,, +PHLB55H3F,TUT0004,Summer 2025,TU,17:00,18:00,Available on ACORN,20,30,False,ONLINE_SYNCHRONOUS,, +PHLB55H3F,TUT0004,Summer 2025,TH,17:00,18:00,Available on ACORN,20,30,False,ONLINE_SYNCHRONOUS,, +PHLC10H3S,LEC01,Summer 2025,WE,12:00,15:00,Available on ACORN,46,50,True,ONLINE_SYNCHRONOUS,"Shoemaker, E.", +PHLC10H3S,LEC01,Summer 2025,FR,12:00,15:00,Available on ACORN,46,50,True,ONLINE_SYNCHRONOUS,"Shoemaker, E.", +PHLC93H3F,LEC01,Summer 2025,TU,13:00,16:00,Available on ACORN,35,50,True,ONLINE_SYNCHRONOUS,"Shoemaker, E.", +PHLC93H3F,LEC01,Summer 2025,TH,13:00,16:00,Available on ACORN,35,50,True,ONLINE_SYNCHRONOUS,"Shoemaker, E.", +PHLD90H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD91H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD92H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD93H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD94H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD95H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD96H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD97H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD98H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PHLD99H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +PHYA21H3Y,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,51,80,True,IN_PERSON,"McGraw, P.", +PHYA21H3Y,LEC01,Summer 2025,TH,10:00,11:00,Available on ACORN,51,80,True,IN_PERSON,"McGraw, P.", +PHYA21H3Y,PRA0001,Summer 2025,WE,09:00,12:00,Available on ACORN,17,21,False,IN_PERSON,, +PHYA21H3Y,PRA0002,Summer 2025,WE,09:00,12:00,Available on ACORN,14,21,False,IN_PERSON,, +PHYA21H3Y,PRA0003,Summer 2025,WE,13:00,16:00,Available on ACORN,20,22,False,IN_PERSON,, +PHYA21H3Y,PRA0004,Summer 2025,WE,13:00,16:00,Available on ACORN,0,21,False,IN_PERSON,, +PHYD01H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,10,True,IN_PERSON,"Weaver, D.", +PHYD72H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,40,True,IN_PERSON,"Weaver, D.", +PLIC24H3Y,LEC01,Summer 2025,TU,13:00,16:00,Available on ACORN,17,30,True,IN_PERSON,"Helms-Park, R.", +PLIC25H3Y,LEC01,Summer 2025,WE,13:00,16:00,Available on ACORN,24,30,True,IN_PERSON,"Helms-Park, R.", +PLID01H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PLID02H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +PLID50H3S,LEC01,Summer 2025,TU,12:00,15:00,Available on ACORN,17,30,True,IN_PERSON,"Monahan, P.", +PLID50H3S,LEC01,Summer 2025,TH,12:00,15:00,Available on ACORN,17,30,True,IN_PERSON,"Monahan, P.", +POLB30H3Y,LEC01,Summer 2025,TH,13:00,15:00,Available on ACORN,47,120,True,IN_PERSON,"Spahiu, I.", +POLB30H3Y,TUT0001,Summer 2025,TH,15:00,16:00,Available on ACORN,25,30,False,IN_PERSON,, +POLB30H3Y,TUT0002,Summer 2025,TH,16:00,17:00,Available on ACORN,22,30,False,IN_PERSON,, +POLB56H3F,LEC01,Summer 2025,MO,11:00,13:00,Available on ACORN,67,120,True,IN_PERSON,"Greenaway, C.", +POLB56H3F,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,67,120,True,IN_PERSON,"Greenaway, C.", +POLB56H3F,TUT0001,Summer 2025,MO,13:00,14:00,Available on ACORN,25,30,False,IN_PERSON,, +POLB56H3F,TUT0002,Summer 2025,MO,14:00,15:00,Available on ACORN,24,30,False,IN_PERSON,, +POLB56H3F,TUT0003,Summer 2025,MO,15:00,16:00,Available on ACORN,18,30,False,IN_PERSON,, +POLB57H3S,LEC01,Summer 2025,MO,11:00,13:00,Available on ACORN,51,120,True,IN_PERSON,"Greenaway, C.", +POLB57H3S,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,51,120,True,IN_PERSON,"Greenaway, C.", +POLB57H3S,TUT0001,Summer 2025,MO,13:00,14:00,Available on ACORN,25,30,False,IN_PERSON,, +POLB57H3S,TUT0002,Summer 2025,MO,14:00,15:00,Available on ACORN,25,30,False,IN_PERSON,, +POLB80H3F,LEC01,Summer 2025,TU,11:00,13:00,Available on ACORN,66,120,True,IN_PERSON,"Hoffmann, M.", +POLB80H3F,LEC01,Summer 2025,TH,11:00,13:00,Available on ACORN,66,120,True,IN_PERSON,"Hoffmann, M.", +POLB80H3F,TUT0001,Summer 2025,TU,13:00,14:00,Available on ACORN,27,30,False,IN_PERSON,, +POLB80H3F,TUT0002,Summer 2025,TU,14:00,15:00,Available on ACORN,24,30,False,IN_PERSON,, +POLB80H3F,TUT0003,Summer 2025,TU,15:00,16:00,Available on ACORN,15,30,False,IN_PERSON,, +POLB90H3S,LEC01,Summer 2025,TU,17:00,19:00,Available on ACORN,56,90,True,IN_PERSON,"Playford, N.", +POLB90H3S,LEC01,Summer 2025,TH,17:00,19:00,Available on ACORN,56,90,True,IN_PERSON,"Playford, N.", +POLB90H3S,TUT0001,Summer 2025,TU,16:00,17:00,Available on ACORN,30,35,False,IN_PERSON,, +POLB90H3S,TUT0002,Summer 2025,TU,19:00,20:00,Available on ACORN,25,35,False,IN_PERSON,, +POLC21H3F,LEC01,Summer 2025,WE,13:00,15:00,Available on ACORN,21,60,True,IN_PERSON,"Levine, R.", +POLC21H3F,LEC01,Summer 2025,FR,13:00,15:00,Available on ACORN,21,60,True,IN_PERSON,"Levine, R.", +POLC32H3Y,LEC01,Summer 2025,WE,13:00,15:00,Available on ACORN,21,60,True,IN_PERSON,"Levine, R.", +POLC32H3Y,LEC01,Summer 2025,FR,13:00,15:00,Available on ACORN,21,60,True,IN_PERSON,"Levine, R.", +POLC40H3S,LEC01,Summer 2025,TH,17:00,19:00,Available on ACORN,48,80,True,IN_PERSON,"Spahiu, I.", +POLC40H3S,TUT0001,Summer 2025,TH,19:00,20:00,Available on ACORN,24,30,False,IN_PERSON,, +POLC40H3S,TUT0003,Summer 2025,TH,16:00,17:00,Available on ACORN,24,30,False,IN_PERSON,, +POLC78H3Y,LEC01,Summer 2025,WE,19:00,21:00,Available on ACORN,57,120,True,IN_PERSON,"Levine, R.", +POLC88H3F,LEC01,Summer 2025,TU,15:00,17:00,Available on ACORN,36,60,True,IN_PERSON,"Hoffmann, M.", +POLC88H3F,LEC01,Summer 2025,TH,15:00,17:00,Available on ACORN,36,60,True,IN_PERSON,"Hoffmann, M.", +POLC93H3F,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,41,60,True,IN_PERSON,"Levine, R.", +POLC93H3F,LEC01,Summer 2025,FR,11:00,13:00,Available on ACORN,41,60,True,IN_PERSON,"Levine, R.", +POLD95H3Y,LEC01,Summer 2025,,,,Available on ACORN,3,9999,True,IN_PERSON,, +POLD98H3Y,LEC01,Summer 2025,,,,Available on ACORN,3,9999,True,IN_PERSON,, +PSCB90H3Y,LEC01,Summer 2025,,,,Available on ACORN,11,25,True,IN_PERSON,"Voznyy, O.", +PSYA01H3Y,LEC01,Summer 2025,,,,Available on ACORN,469,9999,True,ONLINE_ASYNCHRONOUS,"Pare, D.", +PSYA02H3Y,LEC01,Summer 2025,,,,Available on ACORN,389,9999,True,ONLINE_ASYNCHRONOUS,"McPhee, A.", +PSYB10H3Y,LEC01,Summer 2025,,,,Available on ACORN,185,9999,True,ONLINE_ASYNCHRONOUS,"Thiruchselvam, R.", +PSYB20H3Y,LEC01,Summer 2025,,,,Available on ACORN,159,9999,True,ONLINE_ASYNCHRONOUS,"Cirelli, L.", +PSYB32H3Y,LEC01,Summer 2025,,,,Available on ACORN,269,9999,True,ONLINE_ASYNCHRONOUS,"Zakzanis, K.", +PSYB51H3Y,LEC01,Summer 2025,,,,Available on ACORN,62,9999,True,ONLINE_ASYNCHRONOUS,"Niemeier, M.", +PSYB55H3Y,LEC01,Summer 2025,,,,Available on ACORN,251,9999,True,ONLINE_ASYNCHRONOUS,"Souza, M.", +PSYB70H3Y,LEC01,Summer 2025,,,,Available on ACORN,503,9999,True,ONLINE_ASYNCHRONOUS,"Bramesfeld, K.", +PSYC02H3Y,LEC01,Summer 2025,MO,11:00,13:00,Available on ACORN,54,60,True,IN_PERSON,"Schwartz, S.", +PSYC02H3Y,TUT0001,Summer 2025,TH,11:00,13:00,Available on ACORN,18,20,False,IN_PERSON,, +PSYC02H3Y,TUT0002,Summer 2025,TH,13:00,15:00,Available on ACORN,17,20,False,IN_PERSON,, +PSYC02H3Y,TUT0003,Summer 2025,TH,15:00,17:00,Available on ACORN,19,20,False,IN_PERSON,, +PSYC08H3Y,LEC01,Summer 2025,FR,12:00,15:00,Available on ACORN,58,80,True,IN_PERSON,"Sama, M.", +PSYC08H3Y,TUT0001,Summer 2025,WE,10:00,11:00,Available on ACORN,15,20,False,IN_PERSON,, +PSYC08H3Y,TUT0002,Summer 2025,WE,12:00,13:00,Available on ACORN,14,20,False,IN_PERSON,, +PSYC08H3Y,TUT0003,Summer 2025,WE,14:00,15:00,Available on ACORN,13,20,False,IN_PERSON,, +PSYC08H3Y,TUT0004,Summer 2025,WE,16:00,17:00,Available on ACORN,15,20,False,IN_PERSON,, +PSYC10H3Y,LEC01,Summer 2025,TU,09:00,11:00,Available on ACORN,73,100,True,IN_PERSON,"Schwartz, S.", +PSYC13H3Y,LEC01,Summer 2025,TH,11:00,13:00,Available on ACORN,66,100,True,IN_PERSON,"Cho, H.", +PSYC24H3F,LEC01,Summer 2025,TU,13:00,15:00,Available on ACORN,84,100,True,IN_PERSON,"McPhee, A.", +PSYC24H3F,LEC01,Summer 2025,TH,09:00,11:00,Available on ACORN,84,100,True,IN_PERSON,"McPhee, A.", +PSYC31H3Y,LEC01,Summer 2025,,,,Available on ACORN,69,100,True,ONLINE_ASYNCHRONOUS,"Zakzanis, K.", +PSYC34H3Y,LEC01,Summer 2025,WE,11:00,13:00,Available on ACORN,76,100,True,IN_PERSON,"Thiruchselvam, R.", +PSYC50H3Y,LEC01,Summer 2025,FR,09:00,11:00,Available on ACORN,47,100,True,IN_PERSON,"Shoura, M.", +PSYC62H3Y,LEC01,Summer 2025,TU,19:00,21:00,Available on ACORN,84,100,True,IN_PERSON,"Morrissey, M.", +PSYC70H3Y,LEC01,Summer 2025,TU,11:00,13:00,Available on ACORN,46,50,True,IN_PERSON,"Cree, G.", +PSYC70H3Y,TUT0001,Summer 2025,TU,14:00,15:00,Available on ACORN,24,25,False,IN_PERSON, , +PSYC70H3Y,TUT0002,Summer 2025,TU,15:00,16:00,Available on ACORN,22,25,False,IN_PERSON, , +PSYC71H3Y,LEC01,Summer 2025,TU,11:00,13:00,Available on ACORN,46,50,True,IN_PERSON,"Cree, G.", +PSYC71H3Y,TUT0001,Summer 2025,TU,14:00,15:00,Available on ACORN,24,25,False,IN_PERSON,, +PSYC71H3Y,TUT0002,Summer 2025,TU,15:00,16:00,Available on ACORN,22,25,False,IN_PERSON,, +PSYC71H3Y,LEC01,Summer 2025,MO,14:00,16:00,Available on ACORN,22,35,True,IN_PERSON,"Schwartz, S.", +PSYC85H3Y,LEC01,Summer 2025,WE,09:00,11:00,Available on ACORN,66,100,True,IN_PERSON,"Tharmaratnam, V.", +PSYD15H3Y,LEC01,Summer 2025,TU,13:00,15:00,Available on ACORN,20,24,True,IN_PERSON,"Wang, A.", +PSYD20H3Y,LEC01,Summer 2025,TH,13:00,15:00,Available on ACORN,22,24,True,IN_PERSON,"McPhee, A.", +PSYD33H3Y,LEC01,Summer 2025,WE,13:00,15:00,Available on ACORN,20,24,True,IN_PERSON,"Orjiakor, T.", +PSYD50H3Y,LEC01,Summer 2025,WE,15:00,17:00,Available on ACORN,15,24,True,IN_PERSON,"Sama, M.", +PSYD66H3Y,LEC01,Summer 2025,TU,09:00,11:00,Available on ACORN,19,24,True,IN_PERSON,"Di Domenico, S.", +SOCB05H3Y,LEC01,Summer 2025,MO,10:00,13:00,Available on ACORN,47,120,True,ONLINE_SYNCHRONOUS,"Parker, S.", +SOCB05H3Y,TUT0001,Summer 2025,MO,14:00,15:00,Available on ACORN,25,30,False,ONLINE_SYNCHRONOUS,, +SOCB05H3Y,TUT0003,Summer 2025,MO,16:00,17:00,Available on ACORN,18,30,False,ONLINE_SYNCHRONOUS,, +SOCB42H3F,LEC01,Summer 2025,TU,12:00,14:00,Available on ACORN,37,120,True,ONLINE_SYNCHRONOUS,"Braun, J.", +SOCB42H3F,LEC01,Summer 2025,TH,12:00,14:00,Available on ACORN,37,120,True,ONLINE_SYNCHRONOUS,"Braun, J.", +SOCB42H3F,TUT0001,Summer 2025,TU,14:00,15:00,Available on ACORN,22,30,False,ONLINE_SYNCHRONOUS,, +SOCB42H3F,TUT0002,Summer 2025,TU,15:00,16:00,Available on ACORN,14,30,False,ONLINE_SYNCHRONOUS,, +SOCB43H3S,LEC01,Summer 2025,TU,12:00,14:00,Available on ACORN,27,120,True,ONLINE_SYNCHRONOUS,"Braun, J.", +SOCB43H3S,LEC01,Summer 2025,TH,12:00,14:00,Available on ACORN,27,120,True,ONLINE_SYNCHRONOUS,"Braun, J.", +SOCB43H3S,TUT0001,Summer 2025,TU,14:00,15:00,Available on ACORN,17,30,False,ONLINE_SYNCHRONOUS,, +SOCB43H3S,TUT0002,Summer 2025,TU,15:00,16:00,Available on ACORN,8,30,False,ONLINE_SYNCHRONOUS,, +SOCC25H3Y,LEC01,Summer 2025,WE,13:00,15:00,Available on ACORN,48,60,True,ONLINE_SYNCHRONOUS,"Peruniak, J.", +SOCC30H3F,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,32,60,True,IN_PERSON,"Doherty, J.", +SOCC30H3F,LEC01,Summer 2025,WE,10:00,12:00,Available on ACORN,32,60,True,IN_PERSON,"Doherty, J.", +SOCD02H3Y,LEC01,Summer 2025,MO,13:00,16:00,Available on ACORN,10,14,True,IN_PERSON,"Kwan-Lafond, D.", +SOCD02H3Y,LEC01,Summer 2025,WE,13:00,16:00,Available on ACORN,10,14,True,IN_PERSON,"Kwan-Lafond, D.", +SOCD18H3S,LEC01,Summer 2025,MO,19:00,21:00,Available on ACORN,6,20,True,IN_PERSON,"DeGagne, M.", +SOCD18H3S,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,6,20,True,IN_PERSON,"DeGagne, M.", +SOCD40H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +SOCD41H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +STAB22H3Y,LEC01,Summer 2025,TU,16:00,17:00,Available on ACORN,187,300,True,IN_PERSON,"Samarakoon, M.", +STAB22H3Y,LEC01,Summer 2025,TH,15:00,17:00,Available on ACORN,187,300,True,IN_PERSON,"Samarakoon, M.", +STAB22H3Y,TUT0001,Summer 2025,MO,15:00,16:00,Available on ACORN,30,35,False,IN_PERSON,, +STAB22H3Y,TUT0002,Summer 2025,MO,16:00,17:00,Available on ACORN,14,35,False,IN_PERSON,, +STAB22H3Y,TUT0003,Summer 2025,TU,15:00,16:00,Available on ACORN,34,35,False,IN_PERSON,, +STAB22H3Y,TUT0004,Summer 2025,TU,17:00,18:00,Available on ACORN,31,35,False,IN_PERSON,, +STAB22H3Y,TUT0005,Summer 2025,WE,12:00,13:00,Available on ACORN,29,35,False,IN_PERSON,, +STAB22H3Y,TUT0006,Summer 2025,TH,13:00,14:00,Available on ACORN,29,35,False,IN_PERSON,, +STAB22H3Y,TUT0007,Summer 2025,FR,11:00,12:00,Available on ACORN,19,35,False,IN_PERSON,, +STAB23H3Y,LEC01,Summer 2025,TU,12:00,13:00,Available onACORN,88,200,True,IN_PERSON,"Clare, E.", +STAB23H3Y,LEC01,Summer 2025,TH,12:00,14:00,Available onACORN,88,200,True,IN_PERSON,"Clare, E.", +STAB23H3Y,TUT0001,Summer 2025,WE,13:00,14:00,Available onACORN,28,34,False,IN_PERSON,, +STAB23H3Y,TUT0002,Summer 2025,TU,14:00,15:00,Available onACORN,36,39,False,IN_PERSON,, +STAB23H3Y,TUT0003,Summer 2025,WE,16:00,17:00,Available onACORN,24,34,False,IN_PERSON,,Time/day/room change22/04/24 +STAB52H3Y,LEC01,Summer 2025,TU,14:00,16:00,Available on ACORN,118,234,True,IN_PERSON,"Damouras, S.", +STAB52H3Y,LEC01,Summer 2025,TH,11:00,12:00,Available on ACORN,118,234,True,IN_PERSON,"Damouras, S.", +STAB52H3Y,TUT0001,Summer 2025,MO,15:00,16:00,Available on ACORN,24,34,False,IN_PERSON,, +STAB52H3Y,TUT0002,Summer 2025,FR,14:00,15:00,Available on ACORN,17,34,False,IN_PERSON,, +STAB52H3Y,TUT0003,Summer 2025,WE,11:00,12:00,Available on ACORN,20,34,False,IN_PERSON,, +STAB52H3Y,TUT0004,Summer 2025,WE,14:00,15:00,Available on ACORN,27,34,False,IN_PERSON,, +STAB52H3Y,TUT0005,Summer 2025,TH,13:00,14:00,Available on ACORN,30,34,False,IN_PERSON,, +STAC67H3Y,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,60,160,True,IN_PERSON,"Samarakoon, M.", +STAC67H3Y,LEC01,Summer 2025,FR,13:00,14:00,Available on ACORN,60,160,True,IN_PERSON,"Samarakoon, M.", +STAC67H3Y,TUT0001,Summer 2025,TU,13:00,14:00,Available on ACORN,27,50,False,IN_PERSON,, +STAC67H3Y,TUT0002,Summer 2025,FR,11:00,12:00,Available on ACORN,33,50,False,IN_PERSON,, +STAD92H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,"Wang, L.", +STAD93H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, +STAD94H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,"Butler, K.", +STAD95H3Y,LEC01,Summer 2025,,,,Available on ACORN,1,9999,True,IN_PERSON,, +VPHC52H3F,LEC01,Summer 2025,TU,10:00,12:00,Available on ACORN,5,17,True,IN_PERSON,"Gervers, M.", +VPHC52H3F,LEC01,Summer 2025,FR,10:00,12:00,Available on ACORN,5,17,True,IN_PERSON,"Gervers, M.", +VPSB58H3Y,LEC01,Summer 2025,WE,14:00,17:00,Available on ACORN,11,20,True,IN_PERSON,"Onodera, M.", +VPSB61H3Y,LEC01,Summer 2025,TH,10:00,13:00,Available on ACORN,13,20,True,IN_PERSON,"Leach, A.", +VPSB67H3Y,LEC01,Summer 2025,TU,10:00,13:00,Available on ACORN,19,20,True,IN_PERSON,"Klie, J.",Room change (06/05/24) +VPSB70H3Y,LEC01,Summer 2025,TU,14:00,17:00,Available on ACORN,17,20,True,IN_PERSON,"Leach, A.", +VPSC76H3Y,LEC01,Summer 2025,TU,10:00,13:00,Available onACORN,17,20,True,IN_PERSON,"Godden,V.",Room change(06/05/24) +VPSC90H3Y,LEC01,Summer 2025,WE,10:00,13:00,Available on ACORN,20,20,True,IN_PERSON,"Cho, H.", +WSTC40H3Y,LEC01,Summer 2025,TH,11:00,13:00,Available on ACORN,15,35,True,IN_PERSON,"Johnston, N.", +WSTD01H3Y,LEC01,Summer 2025,,,,Available on ACORN,0,9999,True,IN_PERSON,, diff --git a/course-matrix/data/tables/offerings_winter_2026.csv b/course-matrix/data/tables/offerings_winter_2026.csv new file mode 100644 index 00000000..5fc48dc9 --- /dev/null +++ b/course-matrix/data/tables/offerings_winter_2026.csv @@ -0,0 +1,2063 @@ +code,meeting_section,offering,day,start,end,location,current,max,is_waitlisted,delivery_mode,instructor,notes +ACMB10H3S,LEC01,Winter 2026,FR,10:00,12:00,Available onACORN,58,60,True,IN_PERSON,"Aguilera-Moradipour,M.", +ACMB10H3S,LEC01,Winter 2026,FR,10:00,12:00,Available onACORN,58,60,True,IN_PERSON,"Aguilera-Moradipour,M.", +ACMC01H3S,LEC01,Winter 2026,,,,Available on ACORN,0,20,True,IN_PERSON,"Sicondolfo, C.", +ACMC01H3S,LEC01,Winter 2026,,,,Available on ACORN,0,20,True,IN_PERSON,"Sicondolfo, C.", +ACMD01H3S,LEC01,Winter 2026,,,,Available on ACORN,4,20,True,IN_PERSON,"Sicondolfo, C.", +ACMD01H3S,LEC01,Winter 2026,,,,Available on ACORN,4,20,True,IN_PERSON,"Sicondolfo, C.", +ACMD02H3S,LEC01,Winter 2026,,,,Available on ACORN,0,20,True,IN_PERSON,"Sicondolfo, C.", +ACMD02H3S,LEC01,Winter 2026,,,,Available on ACORN,0,20,True,IN_PERSON,"Sicondolfo, C.", +ACMD91H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +ACMD91H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +ACMD92H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +ACMD92H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +AFSA03H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,19,20,True,IN_PERSON,"Von Lieres, B.", +AFSB01H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,6,20,True,IN_PERSON,"Callebert, R.", +AFSB01H3S,TUT0001,Winter 2026,TU,17:00,18:00,Available on ACORN,6,10,False,IN_PERSON,, +AFSC03H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,3,15,True,IN_PERSON,"Ilmi, A.", +AFSC55H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,8,25,True,IN_PERSON,"Rockel, S.", +AFSD07H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,5,10,True,IN_PERSON,"Ilmi, A.", +ANTA01H3S,LEC01,Winter 2026,MO,15:00,17:00,Available on ACORN,203,230,True,IN_PERSON,"Nargolwalla, M.", +ANTA01H3S,TUT0001,Winter 2026,FR,10:00,11:00,Available on ACORN,21,25,False,IN_PERSON,, +ANTA01H3S,TUT0002,Winter 2026,FR,11:00,12:00,Available on ACORN,23,25,False,IN_PERSON,, +ANTA01H3S,TUT0003,Winter 2026,FR,12:00,13:00,Available on ACORN,21,25,False,IN_PERSON,, +ANTA01H3S,TUT0004,Winter 2026,FR,13:00,14:00,Available on ACORN,23,25,False,IN_PERSON,, +ANTA01H3S,TUT0005,Winter 2026,FR,10:00,11:00,Available on ACORN,22,25,False,IN_PERSON,, +ANTA01H3S,TUT0006,Winter 2026,FR,11:00,12:00,Available on ACORN,23,25,False,IN_PERSON,, +ANTA01H3S,TUT0007,Winter 2026,FR,12:00,13:00,Available on ACORN,22,25,False,IN_PERSON,, +ANTA01H3S,TUT0008,Winter 2026,FR,13:00,14:00,Available on ACORN,23,25,False,IN_PERSON,, +ANTA01H3S,TUT0009,Winter 2026,FR,14:00,15:00,Available on ACORN,23,25,False,IN_PERSON,, +ANTA02H3S,LEC01,Winter 2026,MO,12:00,14:00,Available onACORN,195,230,True,IN_PERSON,"Cummings,M.", +ANTA02H3S,LEC02,Winter 2026,TU,11:00,13:00,Available onACORN,195,230,True,IN_PERSON,"Cummings,M.", +ANTA02H3S,TUT0001,Winter 2026,FR,09:00,10:00,Available onACORN,27,30,False,IN_PERSON,, +ANTA02H3S,TUT0002,Winter 2026,FR,10:00,11:00,Available onACORN,30,30,False,IN_PERSON,, +ANTA02H3S,TUT0003,Winter 2026,FR,11:00,12:00,Available onACORN,28,30,False,IN_PERSON,, +ANTA02H3S,TUT0004,Winter 2026,FR,12:00,13:00,Available onACORN,28,30,False,IN_PERSON,,Room change(09/01/24) +ANTA02H3S,TUT0005,Winter 2026,FR,13:00,14:00,Available onACORN,25,30,False,IN_PERSON,, +ANTA02H3S,TUT0006,Winter 2026,FR,14:00,15:00,Available onACORN,23,30,False,IN_PERSON,, +ANTA02H3S,TUT0007,Winter 2026,WE,16:00,17:00,Available onACORN,31,30,False,IN_PERSON,, +ANTA02H3S,TUT0008,Winter 2026,WE,16:00,17:00,Available onACORN,28,30,False,IN_PERSON,, +ANTA02H3S,TUT0009,Winter 2026,TH,09:00,10:00,Available onACORN,20,30,False,IN_PERSON,, +ANTA02H3S,TUT0010,Winter 2026,TH,17:00,18:00,Available onACORN,26,30,False,IN_PERSON,, +ANTA02H3S,TUT0011,Winter 2026,TH,18:00,19:00,Available onACORN,26,30,False,IN_PERSON,, +ANTA02H3S,TUT0012,Winter 2026,TH,19:00,20:00,Available onACORN,23,30,False,IN_PERSON,, +ANTA02H3S,TUT0013,Winter 2026,TH,20:00,21:00,Available onACORN,23,30,False,IN_PERSON,, +ANTA02H3S,TUT0014,Winter 2026,TH,14:00,15:00,Available onACORN,28,30,False,IN_PERSON,, +ANTA02H3S,TUT0015,Winter 2026,TH,12:00,13:00,Available onACORN,24,30,False,IN_PERSON,, +ANTB05H3S,LEC01,Winter 2026,WE,10:00,12:00,Available on ACORN,39,40,True,IN_PERSON,"Dahl, B.", +ANTB11H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,34,60,True,IN_PERSON,"Janz, L.", +ANTB12H3S,LEC01,Winter 2026,TH,13:00,15:00,Available onACORN,44,55,True,IN_PERSON,"De Aguiar Furuie,V.", +ANTB15H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,62,100,True,IN_PERSON,"Tripp, L.", +ANTB15H3S,TUT0001,Winter 2026,FR,10:00,11:00,Available on ACORN,24,30,False,IN_PERSON,, +ANTB15H3S,TUT0002,Winter 2026,FR,11:00,12:00,Available on ACORN,14,30,False,IN_PERSON,, +ANTB15H3S,TUT0003,Winter 2026,FR,12:00,13:00,Available on ACORN,23,30,False,IN_PERSON,, +ANTB18H3S,LEC01,Winter 2026,TH,15:00,17:00,Available on ACORN,43,80,True,IN_PERSON,"Krupa, C.", +ANTB20H3S,LEC01,Winter 2026,TU,13:00,15:00,Available onACORN,72,120,True,IN_PERSON,"Daswani,G.",Room change08/02/23 +ANTB20H3S,TUT0002,Winter 2026,TH,16:00,17:00,Available onACORN,27,30,False,IN_PERSON,, +ANTB20H3S,TUT0003,Winter 2026,TH,17:00,18:00,Available onACORN,23,30,False,IN_PERSON,, +ANTB20H3S,TUT0005,Winter 2026,TH,14:00,15:00,Available onACORN,22,25,False,IN_PERSON,, +ANTB80H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,40,60,True,IN_PERSON,"Butler, D.", +ANTB80H3S,TUT0001,Winter 2026,TU,13:00,14:00,Available on ACORN,12,25,False,IN_PERSON,, +ANTB80H3S,TUT0002,Winter 2026,TU,14:00,15:00,Available on ACORN,5,25,False,IN_PERSON,, +ANTB80H3S,TUT0003,Winter 2026,TU,15:00,16:00,Available on ACORN,23,25,False,IN_PERSON,, +ANTC03H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +ANTC04H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +ANTC12H3S,LEC01,Winter 2026,WE,15:00,17:00,Available onACORN,35,40,True,IN_PERSON,"Butt, W.",Room change09/07/23 +ANTC15H3S,LEC01,Winter 2026,WE,09:00,11:00,Available onACORN,44,60,True,IN_PERSON,"Vandenbeld Giles,M.", +ANTC17H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,36,46,True,IN_PERSON,"Nargolwalla, M.", +ANTC20H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,9,40,True,IN_PERSON,"Sorge, A.", +ANTC22H3S,LEC01,Winter 2026,TH,15:00,17:00,Available onACORN,17,60,True,IN_PERSON,"Cummings,M.",Room change(11/10/23) +ANTC27H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,20,60,True,IN_PERSON,"Teichroeb, J.", +ANTC32H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,7,40,True,IN_PERSON,"Sorge, A.", +ANTC33H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,12,40,True,IN_PERSON,"Daswani, G.", +ANTC48H3S,LEC01,Winter 2026,MO,13:00,16:00,Available on ACORN,4,40,True,IN_PERSON,"Dewar, G.", +ANTC59H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,20,40,True,IN_PERSON,"Paz, A.", +ANTC59H3S,TUT0001,Winter 2026,WE,13:00,14:00,Available on ACORN,19,30,False,IN_PERSON,, +ANTC61H3S,LEC01,Winter 2026,TH,13:00,15:00,Available onACORN,47,50,True,IN_PERSON,"Dahl, B.",Room change(13/10/23) +ANTC99H3S,LEC01,Winter 2026,TU,17:00,20:00,Available on ACORN,21,40,True,IN_PERSON,"Silcox, M.", +ANTD05H3Y,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,0,15,True,IN_PERSON,"Kilroy-Marac, K.", +ANTD06H3S,LEC01,Winter 2026,TU,09:00,11:00,Available onACORN,6,20,True,IN_PERSON,"Sorge, A.",Please see Quercus forroom number +ANTD15H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,14,25,True,IN_PERSON,"Paz, A.", +ANTD16H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,26,40,True,IN_PERSON,"Tripp, L.", +ANTD17H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,10,20,True,IN_PERSON,"Schillaci, M.", +ANTD22H3S,LEC01,Winter 2026,TH,12:00,14:00,Available on ACORN,7,25,True,IN_PERSON,"Teichroeb, J.", +ANTD31H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,, +ANTD35H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,14,25,True,IN_PERSON,"Dewar, G.", +ANTD98H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,5,25,True,IN_PERSON,"Krupa, C.", +ASTC25H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,32,40,True,IN_PERSON,"Artymowicz, P.", +ASTC25H3S,TUT0001,Winter 2026,TH,16:00,17:00,Available on ACORN,32,40,False,IN_PERSON, , +BIOA02H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,32,40,True,IN_PERSON,"Artymowicz, P.", +BIOA02H3S,TUT0001,Winter 2026,TH,16:00,17:00,Available on ACORN,32,40,False,IN_PERSON,, +BIOA02H3S,LEC01,Winter 2026,TU,11:00,12:00,Available onACORN,321,350,True,IN_PERSON,"Chang, T./ Keir, K./ Reid,S./ Stehlik, I.", +BIOA02H3S,LEC01,Winter 2026,TH,11:00,12:00,Available onACORN,321,350,True,IN_PERSON,"Chang, T./ Keir, K./ Reid,S./ Stehlik, I.", +BIOA02H3S,LEC01,Winter 2026,FR,10:00,11:00,Available onACORN,321,350,True,IN_PERSON,"Chang, T./ Keir, K./ Reid,S./ Stehlik, I.", +BIOA02H3S,LEC02,Winter 2026,TU,13:00,14:00,Available onACORN,477,500,True,IN_PERSON,"Chang, T./ Keir, K./ Reid,S./ Stehlik, I.", +BIOA02H3S,LEC02,Winter 2026,TH,13:00,14:00,Available onACORN,477,500,True,IN_PERSON,"Chang, T./ Keir, K./ Reid,S./ Stehlik, I.", +BIOA02H3S,LEC02,Winter 2026,FR,11:00,12:00,Available onACORN,477,500,True,IN_PERSON,"Chang, T./ Keir, K./ Reid,S./ Stehlik, I.", +BIOA02H3S,LEC03,Winter 2026,,,,Available onACORN,115,186,True,,"Chang, T./ Keir, K./ Reid,S./ Stehlik, I.", +BIOA02H3S,PRA0001,Winter 2026,MO,10:00,13:00,Available onACORN,0,24,False,IN_PERSON,, +BIOA02H3S,PRA0002,Winter 2026,MO,10:00,13:00,Available onACORN,0,24,False,IN_PERSON,, +BIOA02H3S,PRA0003,Winter 2026,MO,10:00,13:00,Available onACORN,0,24,False,IN_PERSON,, +BIOA02H3S,PRA0004,Winter 2026,MO,10:00,13:00,Available onACORN,0,24,False,IN_PERSON,, +BIOA02H3S,PRA0005,Winter 2026,MO,13:00,16:00,Available onACORN,0,24,False,IN_PERSON,, +BIOA02H3S,PRA0006,Winter 2026,MO,13:00,16:00,Available onACORN,19,24,False,IN_PERSON,, +BIOA02H3S,PRA0007,Winter 2026,MO,13:00,16:00,Available onACORN,12,24,False,IN_PERSON,, +BIOA02H3S,PRA0008,Winter 2026,MO,13:00,16:00,Available onACORN,22,24,False,IN_PERSON,, +BIOA02H3S,PRA0009,Winter 2026,TU,09:00,12:00,Available onACORN,21,24,False,IN_PERSON,, +BIOA02H3S,PRA0010,Winter 2026,TU,09:00,12:00,Available onACORN,23,24,False,IN_PERSON,, +BIOA02H3S,PRA0011,Winter 2026,TU,09:00,12:00,Available onACORN,13,24,False,IN_PERSON,, +BIOA02H3S,PRA0012,Winter 2026,TU,09:00,12:00,Available onACORN,24,24,False,IN_PERSON,, +BIOA02H3S,PRA0013,Winter 2026,TU,09:00,12:00,Available onACORN,11,24,False,IN_PERSON,, +BIOA02H3S,PRA0014,Winter 2026,TU,09:00,12:00,Available onACORN,24,24,False,IN_PERSON,, +BIOA02H3S,PRA0015,Winter 2026,TU,12:00,15:00,Available onACORN,24,24,False,IN_PERSON,, +BIOA02H3S,PRA0016,Winter 2026,TU,12:00,15:00,Available onACORN,24,24,False,IN_PERSON,, +BIOA02H3S,PRA0017,Winter 2026,TU,12:00,15:00,Available onACORN,17,24,False,IN_PERSON,, +BIOA02H3S,PRA0018,Winter 2026,TU,12:00,15:00,Available onACORN,21,24,False,IN_PERSON,, +BIOA02H3S,PRA0019,Winter 2026,TU,12:00,15:00,Available onACORN,22,24,False,IN_PERSON,, +BIOA02H3S,PRA0020,Winter 2026,TU,12:00,15:00,Available onACORN,24,24,False,IN_PERSON,, +BIOA02H3S,PRA0021,Winter 2026,TU,15:00,18:00,Available onACORN,23,24,False,IN_PERSON,, +BIOA02H3S,PRA0022,Winter 2026,TU,15:00,18:00,Available onACORN,22,24,False,IN_PERSON,, +BIOA02H3S,PRA0023,Winter 2026,TU,15:00,18:00,Available onACORN,21,24,False,IN_PERSON,, +BIOA02H3S,PRA0024,Winter 2026,TU,15:00,18:00,Available onACORN,22,24,False,IN_PERSON,, +BIOA02H3S,PRA0025,Winter 2026,TU,15:00,18:00,Available onACORN,22,24,False,IN_PERSON,, +BIOA02H3S,PRA0026,Winter 2026,TU,15:00,18:00,Available onACORN,23,24,False,IN_PERSON,, +BIOA02H3S,PRA0027,Winter 2026,WE,10:00,13:00,Available onACORN,22,24,False,IN_PERSON,, +BIOA02H3S,PRA0028,Winter 2026,WE,10:00,13:00,Available onACORN,21,24,False,IN_PERSON,, +BIOA02H3S,PRA0029,Winter 2026,WE,10:00,13:00,Available onACORN,19,24,False,IN_PERSON,, +BIOA02H3S,PRA0030,Winter 2026,WE,10:00,13:00,Available onACORN,22,24,False,IN_PERSON,, +BIOA02H3S,PRA0031,Winter 2026,WE,10:00,13:00,Available onACORN,20,24,False,IN_PERSON,, +BIOA02H3S,PRA0032,Winter 2026,WE,10:00,13:00,Available onACORN,17,24,False,IN_PERSON,, +BIOA02H3S,PRA0033,Winter 2026,WE,13:00,16:00,Available onACORN,21,24,False,IN_PERSON,, +BIOA02H3S,PRA0034,Winter 2026,WE,13:00,16:00,Available onACORN,21,24,False,IN_PERSON,, +BIOA02H3S,PRA0035,Winter 2026,WE,13:00,16:00,Available onACORN,22,24,False,IN_PERSON,, +BIOA02H3S,PRA0036,Winter 2026,WE,13:00,16:00,Available onACORN,23,24,False,IN_PERSON,, +BIOA02H3S,PRA0037,Winter 2026,WE,13:00,16:00,Available onACORN,22,24,False,IN_PERSON,, +BIOA02H3S,PRA0038,Winter 2026,WE,13:00,16:00,Available onACORN,23,24,False,IN_PERSON,, +BIOA02H3S,PRA0039,Winter 2026,TH,09:00,12:00,Available onACORN,23,24,False,IN_PERSON,, +BIOA02H3S,PRA0040,Winter 2026,TH,09:00,12:00,Available onACORN,23,24,False,IN_PERSON,, +BIOA02H3S,PRA0041,Winter 2026,TH,09:00,12:00,Available onACORN,23,24,False,IN_PERSON,, +BIOA02H3S,PRA0042,Winter 2026,TH,09:00,12:00,Available onACORN,21,24,False,IN_PERSON,, +BIOA02H3S,PRA0043,Winter 2026,TH,12:00,15:00,Available onACORN,22,24,False,IN_PERSON,, +BIOA02H3S,PRA0044,Winter 2026,TH,12:00,15:00,Available onACORN,24,24,False,IN_PERSON,, +BIOA02H3S,PRA0045,Winter 2026,TH,12:00,15:00,Available onACORN,23,24,False,IN_PERSON,, +BIOA02H3S,PRA0046,Winter 2026,TH,12:00,15:00,Available onACORN,21,24,False,IN_PERSON,, +BIOA02H3S,PRA0047,Winter 2026,TH,15:00,18:00,Available onACORN,23,24,False,IN_PERSON,, +BIOA02H3S,PRA0048,Winter 2026,TH,15:00,18:00,Available onACORN,22,24,False,IN_PERSON,, +BIOB11H3S,LEC01,Winter 2026,TU,12:00,13:00,Available onACORN,493,500,True,IN_PERSON,"Bell, E.", +BIOB11H3S,LEC01,Winter 2026,TH,12:00,13:00,Available onACORN,493,500,True,IN_PERSON,"Bell, E.", +BIOB11H3S,LEC02,Winter 2026,,,,Available onACORN,140,150,True,,"Bell, E.", +BIOB11H3S,TUT0001,Winter 2026,TH,17:00,19:00,Available onACORN,485,500,False,IN_PERSON,, +BIOB12H3S,LEC01,Winter 2026,MO,09:00,10:00,Available onACORN,132,144,True,IN_PERSON,"Bawa, D.",Room change08/23/23 +BIOB12H3S,PRA0001,Winter 2026,MO,10:00,13:00,Available onACORN,24,24,False,IN_PERSON,, +BIOB12H3S,PRA0001,Winter 2026,WE,10:00,13:00,Available onACORN,24,24,False,IN_PERSON,, +BIOB12H3S,PRA0002,Winter 2026,MO,10:00,13:00,Available onACORN,22,24,False,IN_PERSON,, +BIOB12H3S,PRA0002,Winter 2026,WE,10:00,13:00,Available onACORN,22,24,False,IN_PERSON,, +BIOB12H3S,PRA0003,Winter 2026,MO,14:00,17:00,Available onACORN,23,24,False,IN_PERSON,, +BIOB12H3S,PRA0003,Winter 2026,WE,14:00,17:00,Available onACORN,23,24,False,IN_PERSON,, +BIOB12H3S,PRA0004,Winter 2026,MO,14:00,17:00,Available onACORN,23,24,False,IN_PERSON,, +BIOB12H3S,PRA0004,Winter 2026,WE,14:00,17:00,Available onACORN,23,24,False,IN_PERSON,, +BIOB12H3S,PRA0005,Winter 2026,TU,08:00,11:00,Available onACORN,21,24,False,IN_PERSON,, +BIOB12H3S,PRA0005,Winter 2026,TH,08:00,11:00,Available onACORN,21,24,False,IN_PERSON,, +BIOB12H3S,PRA0006,Winter 2026,TU,08:00,11:00,Available onACORN,19,24,False,IN_PERSON,, +BIOB12H3S,PRA0006,Winter 2026,TH,08:00,11:00,Available onACORN,19,24,False,IN_PERSON,, +BIOB32H3S,LEC01,Winter 2026,MO,11:00,12:00,Available on ACORN,225,234,True,IN_PERSON,"Porteus, C.", +BIOB32H3S,PRA0001,Winter 2026,MO,13:00,16:00,Available on ACORN,23,24,False,IN_PERSON,, +BIOB32H3S,PRA0002,Winter 2026,MO,13:00,16:00,Available on ACORN,21,24,False,IN_PERSON,, +BIOB32H3S,PRA0003,Winter 2026,TU,11:00,14:00,Available on ACORN,18,24,False,IN_PERSON,, +BIOB32H3S,PRA0004,Winter 2026,TU,11:00,14:00,Available on ACORN,24,24,False,IN_PERSON,, +BIOB32H3S,PRA0005,Winter 2026,TU,14:00,17:00,Available on ACORN,21,24,False,IN_PERSON,, +BIOB32H3S,PRA0006,Winter 2026,TU,14:00,17:00,Available on ACORN,24,24,False,IN_PERSON,, +BIOB32H3S,PRA0007,Winter 2026,WE,11:00,14:00,Available on ACORN,23,24,False,IN_PERSON,, +BIOB32H3S,PRA0008,Winter 2026,WE,11:00,14:00,Available on ACORN,24,24,False,IN_PERSON,, +BIOB32H3S,PRA0009,Winter 2026,WE,14:00,17:00,Available on ACORN,23,24,False,IN_PERSON,, +BIOB32H3S,PRA0010,Winter 2026,WE,14:00,17:00,Available on ACORN,23,24,False,IN_PERSON,, +BIOB35H3S,LEC01,Winter 2026,WE,14:00,17:00,Available on ACORN,111,125,True,IN_PERSON,"Brown, J.", +BIOB38H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,187,234,True,IN_PERSON,"Stehlik, I.", +BIOB38H3S,TUT0001,Winter 2026,TH,17:00,19:00,Available on ACORN,184,234,False,IN_PERSON,, +BIOB51H3S,LEC01,Winter 2026,TU,10:00,11:00,Available on ACORN,485,515,True,IN_PERSON,"Fitzpatrick, M.", +BIOB51H3S,LEC01,Winter 2026,TH,10:00,11:00,Available on ACORN,485,515,True,IN_PERSON,"Fitzpatrick, M.", +BIOB51H3S,TUT0001,Winter 2026,TH,17:00,19:00,Available on ACORN,447,515,False,IN_PERSON,, +BIOB90H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,319,335,True,IN_PERSON,"Brown, J.", +BIOB98H3S,LEC01,Winter 2026,,,,Available on ACORN,12,14,True,IN_PERSON,FACULTY, +BIOB99H3S,LEC01,Winter 2026,,,,Available on ACORN,1,5,True,IN_PERSON,FACULTY, +BIOC10H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,22,27,True,IN_PERSON,"Mahtani, T.", +BIOC10H3S,TUT0001,Winter 2026,MO,15:00,17:00,Available on ACORN,22,27,False,IN_PERSON,, +BIOC13H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,84,175,True,IN_PERSON,"Gonzales-Vigil, E.", +BIOC13H3S,LEC01,Winter 2026,TH,12:00,13:00,Available on ACORN,84,175,True,IN_PERSON,"Gonzales-Vigil, E.", +BIOC14H3S,LEC01,Winter 2026,TH,11:00,13:00,Available onACORN,245,300,True,IN_PERSON,"Bawa, D.", +BIOC14H3S,TUT0001,Winter 2026,MO,10:00,11:00,Available onACORN,26,30,False,IN_PERSON,,Room Change(04/01/24) +BIOC14H3S,TUT0002,Winter 2026,MO,12:00,13:00,Available onACORN,26,30,False,IN_PERSON,, +BIOC14H3S,TUT0003,Winter 2026,MO,13:00,14:00,Available onACORN,25,30,False,IN_PERSON,, +BIOC14H3S,TUT0004,Winter 2026,TH,14:00,15:00,Available onACORN,28,30,False,IN_PERSON,, +BIOC14H3S,TUT0005,Winter 2026,TH,17:00,18:00,Available onACORN,28,30,False,IN_PERSON,, +BIOC14H3S,TUT0006,Winter 2026,TH,16:00,17:00,Available onACORN,30,30,False,IN_PERSON,, +BIOC14H3S,TUT0007,Winter 2026,MO,13:00,14:00,Available onACORN,29,30,False,IN_PERSON,, +BIOC14H3S,TUT0008,Winter 2026,MO,09:00,10:00,Available onACORN,7,30,False,IN_PERSON,, +BIOC14H3S,TUT0009,Winter 2026,MO,12:00,13:00,Available onACORN,22,30,False,IN_PERSON,, +BIOC14H3S,TUT0010,Winter 2026,TH,09:00,10:00,Available onACORN,24,30,False,IN_PERSON,, +BIOC17H3S,LEC01,Winter 2026,FR,09:00,11:00,Available on ACORN,165,192,True,IN_PERSON,"Brunt, S.", +BIOC17H3S,PRA0001,Winter 2026,TU,09:00,12:00,Available on ACORN,18,24,False,IN_PERSON,, +BIOC17H3S,PRA0002,Winter 2026,TU,09:00,12:00,Available on ACORN,22,24,False,IN_PERSON,, +BIOC17H3S,PRA0003,Winter 2026,TU,14:00,17:00,Available on ACORN,23,24,False,IN_PERSON,, +BIOC17H3S,PRA0004,Winter 2026,TU,14:00,17:00,Available on ACORN,22,24,False,IN_PERSON,, +BIOC17H3S,PRA0005,Winter 2026,WE,14:00,17:00,Available on ACORN,19,24,False,IN_PERSON,, +BIOC17H3S,PRA0006,Winter 2026,WE,14:00,17:00,Available on ACORN,19,24,False,IN_PERSON,, +BIOC17H3S,PRA0007,Winter 2026,TH,09:00,12:00,Available on ACORN,21,24,False,IN_PERSON,, +BIOC17H3S,PRA0008,Winter 2026,TH,09:00,12:00,Available on ACORN,21,24,False,IN_PERSON,, +BIOC21H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,103,115,True,IN_PERSON,"Brown, J.", +BIOC23H3S,LEC01,Winter 2026,MO,12:00,14:00,Available on ACORN,105,120,True,IN_PERSON,"Bell, E.", +BIOC23H3S,PRA0001,Winter 2026,TU,13:00,17:00,Available on ACORN,23,24,False,IN_PERSON,, +BIOC23H3S,PRA0002,Winter 2026,TU,13:00,17:00,Available on ACORN,20,24,False,IN_PERSON,, +BIOC23H3S,PRA0003,Winter 2026,TH,13:00,17:00,Available on ACORN,22,24,False,IN_PERSON,, +BIOC23H3S,PRA0004,Winter 2026,TH,13:00,17:00,Available on ACORN,22,24,False,IN_PERSON,, +BIOC23H3S,PRA0005,Winter 2026,TH,18:00,22:00,Available on ACORN,18,24,False,IN_PERSON,, +BIOC31H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,28,40,True,IN_PERSON,"Gazzarrini, S.", +BIOC31H3S,TUT0001,Winter 2026,TH,14:00,15:00,Available on ACORN,28,40,False,IN_PERSON,, +BIOC34H3S,LEC01,Winter 2026,MO,10:00,11:00,Available onACORN,204,300,True,IN_PERSON,"Reid, S.", +BIOC34H3S,LEC01,Winter 2026,WE,10:00,11:00,Available onACORN,204,300,True,IN_PERSON,"Reid, S.", +BIOC34H3S,LEC02,Winter 2026,,,,Available onACORN,126,150,True,,"Reid, S.", +BIOC39H3S,LEC01,Winter 2026,FR,12:00,14:00,Available on ACORN,293,300,True,IN_PERSON,"Mahtani, T.", +BIOC40H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,39,40,True,IN_PERSON,"Pan, X.", +BIOC54H3S,LEC01,Winter 2026,WE,13:00,16:00,Available on ACORN,113,120,True,IN_PERSON,"Persaud, K.", +BIOC54H3S,TUT0001,Winter 2026,TH,09:00,10:00,Available on ACORN,36,40,False,IN_PERSON,, +BIOC54H3S,TUT0002,Winter 2026,TH,10:00,11:00,Available on ACORN,38,40,False,IN_PERSON,, +BIOC54H3S,TUT0003,Winter 2026,TH,15:00,16:00,Available on ACORN,39,40,False,IN_PERSON,, +BIOC60H3S,LEC01,Winter 2026,MO,15:00,17:00,Available onACORN,32,40,True,IN_PERSON,"Zigouris, J.", +BIOC60H3S,TUT0001,Winter 2026,WE,12:00,14:00,Available onACORN,13,20,False,IN_PERSON,,Time changed 07/06/23.Room change 07/27/23. +BIOC60H3S,TUT0002,Winter 2026,WE,15:00,17:00,Available onACORN,19,20,False,IN_PERSON,, +BIOC61H3S,LEC01,Winter 2026,TU,14:00,16:00,Available onACORN,33,34,True,IN_PERSON,"Baruffaldi Yanez,L.", +BIOC61H3S,TUT0001,Winter 2026,TH,13:00,15:00,Available onACORN,33,34,False,IN_PERSON,, +BIOC70H3S,LEC01,Winter 2026,MO,14:00,16:00,Available on ACORN,87,90,True,IN_PERSON,"Andrade, M.", +BIOC70H3S,TUT0001,Winter 2026,MO,16:00,17:00,Available on ACORN,29,30,False,IN_PERSON,, +BIOC70H3S,TUT0003,Winter 2026,MO,19:00,20:00,Available on ACORN,28,30,False,IN_PERSON,, +BIOC70H3S,TUT0004,Winter 2026,TU,16:00,17:00,Available on ACORN,29,30,False,IN_PERSON,, +BIOC90H3S,LEC01,Winter 2026,,,,Available on ACORN,193,200,True,IN_PERSON,"Bell, E.", +BIOC99H3S,LEC01,Winter 2026,MO,15:00,17:00,Available onACORN,0,10,True,IN_PERSON,"Anreiter, I.",Room change(12/10/23) +BIOD06H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,7,35,True,IN_PERSON,"Koyama, M.", +BIOD07H3S,LEC01,Winter 2026,WE,12:00,14:00,Available on ACORN,18,35,True,IN_PERSON,"Pokusaeva, V.", +BIOD08H3S,LEC01,Winter 2026,FR,09:00,11:00,Available on ACORN,3,15,True,IN_PERSON,"Gruntman, E.", +BIOD08H3S,TUT0001,Winter 2026,MO,14:00,15:00,Available on ACORN,3,15,False,IN_PERSON,, +BIOD12H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,10,35,True,IN_PERSON,"Zhao, R.", +BIOD12H3S,TUT0001,Winter 2026,WE,16:00,17:00,Available on ACORN,9,35,False,IN_PERSON,, +BIOD20H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,35,35,True,IN_PERSON,"Gimenez, C.", +BIOD20H3S,TUT0001,Winter 2026,TH,10:00,11:00,Available on ACORN,33,35,False,IN_PERSON,, +BIOD23H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,12,24,True,IN_PERSON,"Bawa, D.", +BIOD25H3S,LEC01,Winter 2026,WE,14:00,16:00,Available on ACORN,39,40,True,IN_PERSON,"Filion, G.", +BIOD29H3S,LEC01,Winter 2026,MO,11:00,12:00,Available onACORN,39,40,True,IN_PERSON,"Ashok, A.",Will not open further onJuly 27th +BIOD29H3S,LEC01,Winter 2026,WE,11:00,13:00,Available onACORN,39,40,True,IN_PERSON,"Ashok, A.",Will not open further onJuly 27th +BIOD29H3S,TUT0001,Winter 2026,MO,16:00,17:00,Available onACORN,37,40,False,IN_PERSON,, +BIOD43H3S,LEC01,Winter 2026,MO,14:00,15:00,Available on ACORN,15,50,True,IN_PERSON,"Welch Jr., K.", +BIOD43H3S,LEC01,Winter 2026,WE,13:00,14:00,Available on ACORN,15,50,True,IN_PERSON,"Welch Jr., K.", +BIOD43H3S,TUT0001,Winter 2026,WE,14:00,16:00,Available on ACORN,15,30,False,IN_PERSON,, +BIOD43H3S,TUT0002,Winter 2026,TH,17:00,19:00,Available on ACORN,0,30,False,IN_PERSON,, +BIOD52H3S,LEC01,Winter 2026,WE,13:00,16:00,Available on ACORN,11,35,True,IN_PERSON,"Lovejoy, N.", +BIOD65H3S,LEC01,Winter 2026,TU,12:00,14:00,Available on ACORN,39,40,True,IN_PERSON,"Nash, J.", +BIOD66H3S,LEC01,Winter 2026,TH,09:00,12:00,Available on ACORN,4,35,True,IN_PERSON,"Cadotte, M.", +BIOD67H3S,LEC01,Winter 2026,,,,Available on ACORN,0,5,True,IN_PERSON,FACULTY, +BIOD95H3S,LEC01,Winter 2026,TU,14:00,15:00,Available onACORN,6,10,True,IN_PERSON,"Ashok, A./ Stehlik,I.", +BIOD96Y3Y,LEC01,Winter 2026,,,,Available on ACORN,0,8,True,IN_PERSON,"Tavares, W.", +BIOD98Y3Y,LEC01,Winter 2026,TU,14:00,15:00,Available on ACORN,0,43,True,IN_PERSON,"Ashok, A.", +BIOD99Y3Y,LEC01,Winter 2026,TU,14:00,15:00,Available on ACORN,0,5,True,IN_PERSON,"Ashok, A.", +CDPD00H3S,LEC01,Winter 2026,,,,Available on ACORN,0,5,True,ONLINE_ASYNCHRONOUS,, +CDPD01H3S,LEC01,Winter 2026,,,,Available on ACORN,3,10,True,ONLINE_ASYNCHRONOUS,, +CHMA10H3S,LEC01,Winter 2026,MO,10:00,11:00,Available onACORN,59,75,True,IN_PERSON,"Thavarajah,N.", +CHMA10H3S,LEC01,Winter 2026,WE,10:00,11:00,Available onACORN,59,75,True,IN_PERSON,"Thavarajah,N.", +CHMA10H3S,LEC01,Winter 2026,FR,10:00,11:00,Available onACORN,59,75,True,IN_PERSON,"Thavarajah,N.", +CHMA10H3S,LEC02,Winter 2026,,,,Available onACORN,114,200,True,,"Thavarajah,N.", +CHMA10H3S,PRA0001,Winter 2026,MO,14:00,17:00,Available onACORN,21,24,False,IN_PERSON,, +CHMA10H3S,PRA0002,Winter 2026,MO,14:00,17:00,Available onACORN,17,24,False,IN_PERSON,, +CHMA10H3S,PRA0003,Winter 2026,MO,14:00,17:00,Available onACORN,12,24,False,IN_PERSON,, +CHMA10H3S,PRA0004,Winter 2026,MO,14:00,17:00,Available onACORN,22,24,False,IN_PERSON,, +CHMA10H3S,PRA0005,Winter 2026,TU,14:00,17:00,Available onACORN,19,24,False,IN_PERSON,, +CHMA10H3S,PRA0006,Winter 2026,TU,14:00,17:00,Available onACORN,20,24,False,IN_PERSON,, +CHMA10H3S,PRA0007,Winter 2026,TU,14:00,17:00,Available onACORN,0,24,False,IN_PERSON,, +CHMA10H3S,PRA0008,Winter 2026,TU,14:00,17:00,Available onACORN,0,24,False,IN_PERSON,, +CHMA10H3S,PRA0009,Winter 2026,TU,09:00,12:00,Available onACORN,13,24,False,IN_PERSON,, +CHMA10H3S,PRA0010,Winter 2026,TU,09:00,12:00,Available onACORN,18,24,False,IN_PERSON,, +CHMA10H3S,PRA0011,Winter 2026,TU,09:00,12:00,Available onACORN,20,24,False,IN_PERSON,, +CHMA10H3S,PRA0012,Winter 2026,TU,09:00,12:00,Available onACORN,10,24,False,IN_PERSON,, +CHMA11H3S,LEC01,Winter 2026,MO,12:00,13:00,Available onACORN,468,500,True,IN_PERSON,"Sullan, R./ Thavarajah, N./Wania, F.", +CHMA11H3S,LEC01,Winter 2026,WE,12:00,13:00,Available onACORN,468,500,True,IN_PERSON,"Sullan, R./ Thavarajah, N./Wania, F.", +CHMA11H3S,LEC01,Winter 2026,FR,12:00,13:00,Available onACORN,468,500,True,IN_PERSON,"Sullan, R./ Thavarajah, N./Wania, F.", +CHMA11H3S,LEC02,Winter 2026,MO,13:00,14:00,Available onACORN,315,500,True,IN_PERSON,"Sullan, R./ Thavarajah, N./Wania, F.", +CHMA11H3S,LEC02,Winter 2026,WE,13:00,14:00,Available onACORN,315,500,True,IN_PERSON,"Sullan, R./ Thavarajah, N./Wania, F.", +CHMA11H3S,LEC02,Winter 2026,FR,13:00,14:00,Available onACORN,315,500,True,IN_PERSON,"Sullan, R./ Thavarajah, N./Wania, F.", +CHMA11H3S,LEC03,Winter 2026,,,,Available onACORN,72,200,True,,"Sullan, R./ Thavarajah, N./Wania, F.", +CHMA11H3S,PRA0001,Winter 2026,MO,09:00,12:00,Available onACORN,22,24,False,IN_PERSON,, +CHMA11H3S,PRA0002,Winter 2026,MO,09:00,12:00,Available onACORN,17,20,False,IN_PERSON,, +CHMA11H3S,PRA0003,Winter 2026,MO,09:00,12:00,Available onACORN,18,24,False,IN_PERSON,, +CHMA11H3S,PRA0004,Winter 2026,MO,09:00,12:00,Available onACORN,17,20,False,IN_PERSON,, +CHMA11H3S,PRA0005,Winter 2026,MO,14:00,17:00,Available onACORN,24,24,False,IN_PERSON,, +CHMA11H3S,PRA0006,Winter 2026,MO,14:00,17:00,Available onACORN,19,20,False,IN_PERSON,, +CHMA11H3S,PRA0007,Winter 2026,MO,14:00,17:00,Available onACORN,23,24,False,IN_PERSON,, +CHMA11H3S,PRA0008,Winter 2026,MO,14:00,17:00,Available onACORN,19,20,False,IN_PERSON,, +CHMA11H3S,PRA0009,Winter 2026,TU,09:00,12:00,Available onACORN,17,24,False,IN_PERSON,, +CHMA11H3S,PRA0010,Winter 2026,TU,09:00,12:00,Available onACORN,18,20,False,IN_PERSON,, +CHMA11H3S,PRA0011,Winter 2026,TU,09:00,12:00,Available onACORN,16,24,False,IN_PERSON,, +CHMA11H3S,PRA0012,Winter 2026,TU,09:00,12:00,Available onACORN,20,20,False,IN_PERSON,, +CHMA11H3S,PRA0013,Winter 2026,TU,14:00,17:00,Available onACORN,22,24,False,IN_PERSON,, +CHMA11H3S,PRA0014,Winter 2026,TU,14:00,17:00,Available onACORN,21,24,False,IN_PERSON,, +CHMA11H3S,PRA0015,Winter 2026,TU,14:00,17:00,Available onACORN,21,24,False,IN_PERSON,, +CHMA11H3S,PRA0016,Winter 2026,TU,14:00,17:00,Available onACORN,19,20,False,IN_PERSON,, +CHMA11H3S,PRA0017,Winter 2026,WE,09:00,12:00,Available onACORN,24,24,False,IN_PERSON,, +CHMA11H3S,PRA0018,Winter 2026,WE,09:00,12:00,Available onACORN,18,20,False,IN_PERSON,, +CHMA11H3S,PRA0019,Winter 2026,WE,09:00,12:00,Available onACORN,21,24,False,IN_PERSON,, +CHMA11H3S,PRA0020,Winter 2026,WE,09:00,12:00,Available onACORN,19,20,False,IN_PERSON,, +CHMA11H3S,PRA0021,Winter 2026,WE,14:00,17:00,Available onACORN,23,24,False,IN_PERSON,, +CHMA11H3S,PRA0022,Winter 2026,WE,14:00,17:00,Available onACORN,17,20,False,IN_PERSON,, +CHMA11H3S,PRA0023,Winter 2026,WE,14:00,17:00,Available onACORN,24,24,False,IN_PERSON,, +CHMA11H3S,PRA0024,Winter 2026,WE,14:00,17:00,Available onACORN,19,20,False,IN_PERSON,, +CHMA11H3S,PRA0025,Winter 2026,WE,14:00,17:00,Available onACORN,21,24,False,IN_PERSON,, +CHMA11H3S,PRA0026,Winter 2026,WE,14:00,17:00,Available onACORN,19,20,False,IN_PERSON,, +CHMA11H3S,PRA0027,Winter 2026,WE,14:00,17:00,Available onACORN,24,24,False,IN_PERSON,, +CHMA11H3S,PRA0028,Winter 2026,WE,14:00,17:00,Available onACORN,19,20,False,IN_PERSON,, +CHMA11H3S,PRA0029,Winter 2026,TH,09:00,12:00,Available onACORN,0,24,False,IN_PERSON,, +CHMA11H3S,PRA0030,Winter 2026,TH,09:00,12:00,Available onACORN,0,20,False,IN_PERSON,, +CHMA11H3S,PRA0031,Winter 2026,TH,09:00,12:00,Available onACORN,21,24,False,IN_PERSON,, +CHMA11H3S,PRA0032,Winter 2026,TH,09:00,12:00,Available onACORN,24,24,False,IN_PERSON,, +CHMA11H3S,PRA0033,Winter 2026,TH,09:00,12:00,Available onACORN,23,24,False,IN_PERSON,, +CHMA11H3S,PRA0034,Winter 2026,TH,09:00,12:00,Available onACORN,20,24,False,IN_PERSON,, +CHMA11H3S,PRA0035,Winter 2026,TH,09:00,12:00,Available onACORN,21,24,False,IN_PERSON,, +CHMA11H3S,PRA0036,Winter 2026,TH,09:00,12:00,Available onACORN,22,24,False,IN_PERSON,, +CHMA11H3S,PRA0037,Winter 2026,TH,14:00,17:00,Available onACORN,22,24,False,IN_PERSON,, +CHMA11H3S,PRA0038,Winter 2026,TH,14:00,17:00,Available onACORN,19,20,False,IN_PERSON,, +CHMA11H3S,PRA0039,Winter 2026,TH,14:00,17:00,Available onACORN,19,24,False,IN_PERSON,, +CHMA11H3S,PRA0040,Winter 2026,TH,14:00,17:00,Available onACORN,16,20,False,IN_PERSON,, +CHMA11H3S,PRA0041,Winter 2026,TH,14:00,17:00,Available onACORN,23,24,False,IN_PERSON,, +CHMA11H3S,PRA0042,Winter 2026,TH,14:00,17:00,Available onACORN,19,20,False,IN_PERSON,, +CHMA11H3S,PRA0043,Winter 2026,TH,14:00,17:00,Available onACORN,23,24,False,IN_PERSON,, +CHMA11H3S,PRA0044,Winter 2026,TH,14:00,17:00,Available onACORN,22,24,False,IN_PERSON,, +CHMA12H3S,LEC01,Winter 2026,MO,10:00,12:00,Available onACORN,37,45,True,IN_PERSON,"Kim, S./ Mikhaylichenko,S.", +CHMA12H3S,LEC01,Winter 2026,WE,12:00,13:00,Available onACORN,37,45,True,IN_PERSON,"Kim, S./ Mikhaylichenko,S.", +CHMA12H3S,PRA0001,Winter 2026,MO,14:00,17:00,Available onACORN,15,16,False,IN_PERSON,, +CHMA12H3S,PRA0002,Winter 2026,MO,14:00,17:00,Available onACORN,0,16,False,IN_PERSON,, +CHMA12H3S,PRA0003,Winter 2026,MO,14:00,17:00,Available onACORN,0,16,False,IN_PERSON,, +CHMA12H3S,PRA0004,Winter 2026,WE,09:00,12:00,Available onACORN,13,16,False,IN_PERSON,, +CHMA12H3S,PRA0005,Winter 2026,WE,09:00,12:00,Available onACORN,9,16,False,IN_PERSON,, +CHMA12H3S,PRA0006,Winter 2026,WE,09:00,12:00,Available onACORN,0,16,False,IN_PERSON,, +CHMA12H3S,PRA0007,Winter 2026,WE,14:00,17:00,Available onACORN,0,16,False,IN_PERSON,, +CHMA12H3S,PRA0008,Winter 2026,WE,14:00,17:00,Available onACORN,0,16,False,IN_PERSON,, +CHMA12H3S,PRA0009,Winter 2026,WE,14:00,17:00,Available onACORN,0,16,False,IN_PERSON,, +CHMB21H3S,LEC01,Winter 2026,MO,15:00,17:00,Available on ACORN,8,40,True,IN_PERSON,"Izmaylov, A.", +CHMB21H3S,LEC01,Winter 2026,WE,15:00,16:00,Available on ACORN,8,40,True,IN_PERSON,"Izmaylov, A.", +CHMB21H3S,PRA0001,Winter 2026,MO,13:00,15:00,Available on ACORN,8,40,False,IN_PERSON,, +CHMB41H3S,LEC01,Winter 2026,TU,13:00,15:00,Available onACORN,91,120,True,IN_PERSON,"Dalili, S.", +CHMB41H3S,LEC01,Winter 2026,FR,14:00,15:00,Available onACORN,91,120,True,IN_PERSON,"Dalili, S.", +CHMB41H3S,PRA0001,Winter 2026,TU,09:00,13:00,Available onACORN,11,16,False,IN_PERSON,, +CHMB41H3S,PRA0002,Winter 2026,TU,09:00,13:00,Available onACORN,11,16,False,IN_PERSON,, +CHMB41H3S,PRA0003,Winter 2026,TU,09:00,13:00,Available onACORN,7,16,False,IN_PERSON,, +CHMB41H3S,PRA0004,Winter 2026,TU,09:00,13:00,Available onACORN,0,16,False,IN_PERSON,, +CHMB41H3S,PRA0005,Winter 2026,TU,09:00,13:00,Available onACORN,0,16,False,IN_PERSON,, +CHMB41H3S,PRA0006,Winter 2026,TU,09:00,13:00,Available onACORN,0,16,False,IN_PERSON,, +CHMB41H3S,PRA0007,Winter 2026,FR,09:00,13:00,Available onACORN,13,16,False,IN_PERSON,, +CHMB41H3S,PRA0008,Winter 2026,FR,09:00,13:00,Available onACORN,12,16,False,IN_PERSON,, +CHMB41H3S,PRA0009,Winter 2026,FR,09:00,13:00,Available onACORN,13,16,False,IN_PERSON,, +CHMB41H3S,PRA0010,Winter 2026,FR,09:00,13:00,Available onACORN,14,16,False,IN_PERSON,, +CHMB41H3S,PRA0011,Winter 2026,FR,09:00,13:00,Available onACORN,10,16,False,IN_PERSON,, +CHMB41H3S,PRA0012,Winter 2026,FR,09:00,13:00,Available onACORN,0,16,False,IN_PERSON,, +CHMB41H3S,TUT0001,Winter 2026,TH,10:00,11:00,Available onACORN,30,40,False,IN_PERSON,, +CHMB41H3S,TUT0002,Winter 2026,TH,10:00,11:00,Available onACORN,35,40,False,IN_PERSON,,Room change08/14/23 +CHMB41H3S,TUT0003,Winter 2026,TH,10:00,11:00,Available onACORN,26,40,False,IN_PERSON,, +CHMB42H3S,LEC01,Winter 2026,MO,10:00,11:00,Available onACORN,127,175,True,IN_PERSON,"Shao, T.", +CHMB42H3S,LEC01,Winter 2026,TH,09:00,10:00,Available onACORN,127,175,True,IN_PERSON,"Shao, T.", +CHMB42H3S,LEC01,Winter 2026,FR,14:00,15:00,Available onACORN,127,175,True,IN_PERSON,"Shao, T.", +CHMB42H3S,LEC02,Winter 2026,,,,Available onACORN,56,175,True,,"Shao, T.", +CHMB42H3S,PRA0001,Winter 2026,WE,09:00,13:00,Available onACORN,0,14,False,IN_PERSON,, +CHMB42H3S,PRA0002,Winter 2026,WE,09:00,13:00,Available onACORN,0,14,False,IN_PERSON,, +CHMB42H3S,PRA0003,Winter 2026,WE,09:00,13:00,Available onACORN,0,16,False,IN_PERSON,, +CHMB42H3S,PRA0004,Winter 2026,WE,09:00,13:00,Available onACORN,0,16,False,IN_PERSON,, +CHMB42H3S,PRA0005,Winter 2026,TH,13:00,17:00,Available onACORN,12,16,False,IN_PERSON,, +CHMB42H3S,PRA0006,Winter 2026,TH,13:00,17:00,Available onACORN,12,16,False,IN_PERSON,, +CHMB42H3S,PRA0007,Winter 2026,TH,13:00,17:00,Available onACORN,12,16,False,IN_PERSON,, +CHMB42H3S,PRA0010,Winter 2026,TH,13:00,17:00,Available onACORN,9,16,False,IN_PERSON,, +CHMB42H3S,PRA0011,Winter 2026,TH,13:00,17:00,Available onACORN,12,16,False,IN_PERSON,, +CHMB42H3S,PRA0012,Winter 2026,TH,13:00,17:00,Available onACORN,12,16,False,IN_PERSON,, +CHMB42H3S,PRA0013,Winter 2026,TH,13:00,17:00,Available onACORN,14,16,False,IN_PERSON,, +CHMB42H3S,PRA0014,Winter 2026,TH,13:00,17:00,Available onACORN,12,16,False,IN_PERSON,, +CHMB42H3S,PRA0015,Winter 2026,TH,13:00,17:00,Available onACORN,13,16,False,IN_PERSON,, +CHMB42H3S,PRA0016,Winter 2026,TH,13:00,17:00,Available onACORN,11,16,False,IN_PERSON,, +CHMB42H3S,PRA0017,Winter 2026,FR,09:00,13:00,Available onACORN,10,14,False,IN_PERSON,, +CHMB42H3S,PRA0018,Winter 2026,FR,09:00,13:00,Available onACORN,10,14,False,IN_PERSON,, +CHMB42H3S,PRA0019,Winter 2026,FR,09:00,13:00,Available onACORN,12,16,False,IN_PERSON,, +CHMB42H3S,PRA0020,Winter 2026,FR,09:00,13:00,Available onACORN,11,16,False,IN_PERSON,, +CHMB42H3S,TUT0008,Winter 2026,TU,17:00,18:00,Available onACORN,30,40,False,IN_PERSON,, +CHMB42H3S,TUT0009,Winter 2026,TU,17:00,18:00,Available onACORN,0,40,False,IN_PERSON,, +CHMB55H3S,LEC01,Winter 2026,WE,11:00,12:00,Available on ACORN,55,60,True,IN_PERSON,"Oh, J.", +CHMB55H3S,LEC01,Winter 2026,FR,10:00,12:00,Available on ACORN,55,60,True,IN_PERSON,"Oh, J.", +CHMB62H3S,LEC01,Winter 2026,MO,12:00,13:00,Available onACORN,43,60,True,IN_PERSON,"Mikhaylichenko,S.", +CHMB62H3S,LEC01,Winter 2026,TU,17:00,19:00,Available onACORN,43,60,True,IN_PERSON,"Mikhaylichenko,S.", +CHMB62H3S,TUT0001,Winter 2026,TU,19:00,20:00,Available onACORN,23,30,False,IN_PERSON,,Room change(07/12/23) +CHMB62H3S,TUT0002,Winter 2026,TU,19:00,20:00,Available onACORN,20,30,False,IN_PERSON,,Room change(07/12/23) +CHMC16H3S,LEC01,Winter 2026,WE,10:00,17:00,Available on ACORN,23,28,True,IN_PERSON,"Simpson, A.", +CHMC31Y3S,LEC01,Winter 2026,FR,12:00,15:00,Available on ACORN,18,20,True,IN_PERSON,"Hadzovic, A.", +CHMC31Y3S,PRA0001,Winter 2026,TU,09:00,16:00,Available on ACORN,9,10,False,IN_PERSON,, +CHMC31Y3S,PRA0002,Winter 2026,TU,09:00,16:00,Available on ACORN,9,10,False,IN_PERSON,, +CHMC42H3S,LEC01,Winter 2026,MO,10:00,12:00,Available onACORN,21,60,True,IN_PERSON,"Mikhaylichenko, S./Zhang, X.", +CHMC42H3S,LEC01,Winter 2026,FR,11:00,12:00,Available onACORN,21,60,True,IN_PERSON,"Mikhaylichenko, S./Zhang, X.", +CHMC42H3S,PRA0001,Winter 2026,WE,13:00,17:00,Available onACORN,10,16,False,IN_PERSON,, +CHMC42H3S,PRA0002,Winter 2026,WE,13:00,17:00,Available onACORN,0,16,False,IN_PERSON,, +CHMC42H3S,PRA0003,Winter 2026,TH,09:00,13:00,Available onACORN,9,16,False,IN_PERSON,, +CHMC42H3S,PRA0004,Winter 2026,TH,09:00,13:00,Available onACORN,2,16,False,IN_PERSON,, +CHMC71H3S,LEC01,Winter 2026,MO,15:00,17:00,Available on ACORN,36,40,True,IN_PERSON,"Kerman, K.", +CHMD16H3S,LEC01,Winter 2026,MO,12:00,16:00,Available on ACORN,6,18,True,IN_PERSON,"Simpson, M.", +CHMD47H3S,LEC01,Winter 2026,TH,13:00,16:00,Available on ACORN,27,40,True,IN_PERSON,"Thavarajah, N.", +CHMD69H3S,LEC01,Winter 2026,TH,14:00,16:00,Available on ACORN,13,20,True,IN_PERSON,"Hadzovic, A.", +CHMD90Y3Y,LEC01,Winter 2026,,,,Available on ACORN,0,20,True,IN_PERSON,"Zhang, X.", +CHMD91H3S,LEC01,Winter 2026,,,,Available on ACORN,2,20,True,IN_PERSON,"Zhang, X.", +CHMD91H3Y,LEC01,Winter 2026,,,,Available on ACORN,0,20,True,IN_PERSON,"Zhang, X.", +CITB01H3S,LEC01,Winter 2026,TU,14:00,16:00,Available on ACORN,103,175,True,IN_PERSON,"Mah, J.", +CITB01H3S,TUT0001,Winter 2026,TU,18:00,19:00,Available on ACORN,31,40,False,IN_PERSON,, +CITB01H3S,TUT0003,Winter 2026,TU,17:00,18:00,Available on ACORN,33,40,False,IN_PERSON,, +CITB01H3S,TUT0004,Winter 2026,TU,16:00,17:00,Available on ACORN,38,40,False,IN_PERSON,, +CITB03H3S,LEC01,Winter 2026,TH,11:00,13:00,Available onACORN,95,120,True,IN_PERSON,"Sanaullah,I.",Date/time change(08/09/23) +CITB03H3S,TUT0001,Winter 2026,TH,09:00,10:00,Available onACORN,19,30,False,IN_PERSON,, +CITB03H3S,TUT0002,Winter 2026,TH,16:00,17:00,Available onACORN,25,30,False,IN_PERSON,, +CITB03H3S,TUT0003,Winter 2026,TH,13:00,14:00,Available onACORN,27,30,False,IN_PERSON,, +CITB03H3S,TUT0004,Winter 2026,TH,14:00,15:00,Available onACORN,23,30,False,IN_PERSON,, +CITB08H3S,LEC01,Winter 2026,MO,15:00,17:00,Available onACORN,67,80,True,IN_PERSON,"Calderon Figueroa,F.", +CITC03H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,54,60,True,IN_PERSON,"Mah, J.", +CITC04H3S,LEC01,Winter 2026,TU,19:00,21:00,Available on ACORN,53,60,True,IN_PERSON,"Snow, K.", +CITC07H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,47,60,True,IN_PERSON,"Schatz, D.", +CITC15H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,56,60,True,IN_PERSON,"Hyde, Z.", +CITC17H3S,LEC01,Winter 2026,TH,09:00,11:00,Available onACORN,26,60,True,IN_PERSON,"MonteroMunoz, S.",Time/Day/Room change(09/08/23) +CITD01H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,12,25,True,IN_PERSON,"McCormack, K.", +CITD05H3S,LEC01,Winter 2026,TH,15:00,18:00,Available on ACORN,25,25,True,IN_PERSON,"Bhatia, A.", +CITD30H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +CLAA06H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,220,258,True,IN_PERSON,"Cooper, K.", +CLAB06H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,35,53,True,IN_PERSON,"Blouin, K.", +CLAC11H3S,LEC01,Winter 2026,MO,15:00,17:00,Available on ACORN,13,50,True,IN_PERSON,"Leghissa, G.", +CLAC26H3S,LEC01,Winter 2026,TH,09:00,11:00,Available onACORN,2,7,True,IN_PERSON,"Blouin, K.",Time change(2/11/23) +CLAD69H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,3,3,True,IN_PERSON,"Dost, S.", +COPB12H3S,LEC01,Winter 2026,WE,09:00,10:00,Available onACORN,37,80,True,IN_PERSON,"Haque, F.", +COPB12H3S,LEC02,Winter 2026,WE,10:00,11:00,Available onACORN,79,80,True,IN_PERSON,"Haque, F.", +COPB12H3S,LEC03,Winter 2026,WE,11:00,12:00,Available onACORN,80,80,True,IN_PERSON,"Chiba, E.", +COPB12H3S,LEC04,Winter 2026,TH,12:00,13:00,Available onACORN,78,80,True,IN_PERSON,"McDowell (Simmons),K.", +COPB12H3S,LEC05,Winter 2026,TH,13:00,14:00,Available onACORN,77,80,True,IN_PERSON,"Chiba, E.", +COPB12H3S,TUT0001,Winter 2026,TU,19:00,21:00,Available onACORN,321,450,False,IN_PERSON,, +COPB14H3S,LEC01,Winter 2026,WE,12:00,13:00,Available on ACORN,50,60,True,IN_PERSON,"Cook, E.", +COPB14H3S,LEC02,Winter 2026,WE,13:00,14:00,Available on ACORN,19,60,True,IN_PERSON,"Amiri, N.", +COPB14H3S,TUT0001,Winter 2026,TU,19:00,21:00,Available on ACORN,66,120,False,IN_PERSON,, +COPB31H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,16,25,True,IN_PERSON,"Kanaan, M.", +COPB33H3Y,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,0,20,True,IN_PERSON,"Kanaan, M.", +COPB50H3S,LEC01,Winter 2026,,,,Available onACORN,11,11,True,,"Hasan, R./ Heer, K./Jeremiah, C./ Kowalchuk,A./ Li, K.", +COPB50H3S,LEC02,Winter 2026,,,,Available onACORN,438,497,True,,"Hasan, R./ Heer, K./Jeremiah, C./ Kowalchuk,A./ Li, K.", +COPB50H3S,PRA0001,Winter 2026,WE,09:00,11:00,Available onACORN,56,60,False,IN_PERSON,"Kowalchuk, A.", +COPB50H3S,PRA0002,Winter 2026,WE,15:00,17:00,Available onACORN,48,60,False,IN_PERSON,"Heer, K./ Li, K.",Room change09/07/23 +COPB50H3S,PRA0003,Winter 2026,MO,15:00,17:00,Available onACORN,66,80,False,IN_PERSON,"Heer, K.", +COPB50H3S,PRA0004,Winter 2026,TH,10:00,12:00,Available onACORN,78,86,False,IN_PERSON,"Jeremiah, C.", +COPB50H3S,PRA0005,Winter 2026,FR,09:00,11:00,Available onACORN,65,86,False,IN_PERSON,"Kowalchuk, A.", +COPB50H3S,PRA0006,Winter 2026,FR,13:00,15:00,Available onACORN,126,140,False,IN_PERSON,"Hasan, R./ Lott, A.",Room change(05/07/23) +COPB51H3S,LEC01,Winter 2026,,,,Available onACORN,3,5,True,,"Hasan, R./ Heer, K./Jeremiah, C./ Kowalchuk,A./ Li, K./ Lott, A.", +COPB51H3S,LEC02,Winter 2026,,,,Available onACORN,214,265,True,,"Hasan, R./ Heer, K./Jeremiah, C./ Kowalchuk,A./ Li, K./ Lott, A.", +COPB51H3S,LEC03,Winter 2026,,,,Available onACORN,216,265,True,,"Hasan, R./ Heer, K./Jeremiah, C./ Kowalchuk,A./ Lott, A.", +COPB51H3S,PRA0001,Winter 2026,MO,15:00,17:00,Available onACORN,74,80,False,IN_PERSON,"Hasan, R.", +COPB51H3S,PRA0002,Winter 2026,FR,13:00,15:00,Available onACORN,138,200,False,IN_PERSON,"Hasan, R./ Li, K./ Lott, A.",Room change(05/07/23) +COPB51H3S,PRA0003,Winter 2026,FR,09:00,11:00,Available onACORN,73,86,False,IN_PERSON,"Kowalchuk, A.", +COPB51H3S,PRA0004,Winter 2026,TH,10:00,12:00,Available onACORN,76,86,False,IN_PERSON,"Jeremiah, C.", +COPB51H3S,PRA0005,Winter 2026,WE,15:00,17:00,Available onACORN,63,86,False,IN_PERSON,"Heer, K.", +COPB52H3S,LEC01,Winter 2026,,,,Available onACORN,113,215,True,,"Chan, P./ Epp, K./Hamid, M.", +COPB52H3S,LEC02,Winter 2026,,,,Available onACORN,59,90,True,,"AbdounMohamed, M.", +COPB52H3S,PRA0001,Winter 2026,MO,15:00,17:00,Available onACORN,33,85,False,IN_PERSON,"Epp, K.",Room change(06/09/23) +COPB52H3S,PRA0002,Winter 2026,FR,09:00,11:00,Available onACORN,60,105,False,IN_PERSON,"Chan, P.", +COPB52H3S,PRA0003,Winter 2026,TU,09:00,11:00,Available onACORN,20,50,False,IN_PERSON,"Hamid, M.", +COPB52H3S,PRA0004,Winter 2026,TH,16:00,18:00,Available onACORN,57,95,False,IN_PERSON,"AbdounMohamed, M.", +COPB53H3S,LEC01,Winter 2026,,,,Available on ACORN,15,60,True,ONLINE_ASYNCHRONOUS,"Chan, P.", +COPB53H3S,LEC02,Winter 2026,,,,Available on ACORN,34,50,True,ONLINE_ASYNCHRONOUS,"Abdoun Mohamed, M.", +COPC98H3S,LEC01,Winter 2026,,,,Available on ACORN,29,200,True,ONLINE_ASYNCHRONOUS,"Hamid, M.", +COPC98H3S,LEC02,Winter 2026,,,,Available on ACORN,35,145,True,ONLINE_ASYNCHRONOUS,"Epp, K.", +COPC99H3S,LEC01,Winter 2026,,,,Available on ACORN,3,15,True,ONLINE_ASYNCHRONOUS,"Hamid, M.", +COPC99H3S,LEC02,Winter 2026,,,,Available on ACORN,40,55,True,ONLINE_ASYNCHRONOUS,"Epp, K.", +COPC99H3S,LEC101,Winter 2026,,,,Available on ACORN,0,15,False,IN_PERSON,"Zakzanis, K.", +COPC99H3S,LEC101,Winter 2026,,,,Available on ACORN,0,10,False,ONLINE_ASYNCHRONOUS,, +COPC99H3S,LEC101,Winter 2026,,,,Available on ACORN,0,10,False,IN_PERSON,"Zakzanis, K.", +CSCA08H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,130,175,True,IN_PERSON,"Gawde, P.", +CSCA08H3S,LEC01,Winter 2026,FR,14:00,15:00,Available on ACORN,130,175,True,IN_PERSON,"Gawde, P.", +CSCA08H3S,LEC02,Winter 2026,TU,09:00,11:00,Available on ACORN,153,175,True,IN_PERSON,"Gawde, P.", +CSCA08H3S,LEC02,Winter 2026,FR,10:00,11:00,Available on ACORN,153,175,True,IN_PERSON,"Gawde, P.", +CSCA48H3S,LEC01,Winter 2026,MO,13:00,14:00,Available on ACORN,175,,False,,"Castro, ", +CSCA48H3S,LEC01,Winter 2026,TH,10:00,12:00,Available on ACORN,175,,False,,"Castro, ", +CSCA48H3S,LEC02,Winter 2026,MO,12:00,13:00,Available on ACORN,175,,False,,Y. , +CSCA48H3S,LEC02,Winter 2026,WE,11:00,13:00,Available on ACORN,175,,False,,Y. , +CSCA48H3S,LEC03,Winter 2026,TU,12:00,14:00,Available on ACORN,175,,False,,Y. , +CSCA48H3S,LEC03,Winter 2026,TH,13:00,14:00,Available onACORN,103,175,True,IN_PERSON,"Huang, Y.", +CSCA48H3S,LEC04,Winter 2026,TU,10:00,12:00,Available onACORN,34,175,True,IN_PERSON,"Huang, Y.", +CSCA48H3S,LEC04,Winter 2026,TH,12:00,13:00,Available onACORN,34,175,True,IN_PERSON,"Huang, Y.", +CSCA48H3S,TUT0001,Winter 2026,MO,09:00,10:00,Available onACORN,27,33,False,IN_PERSON,, +CSCA48H3S,TUT0002,Winter 2026,FR,09:00,10:00,Available onACORN,22,33,False,IN_PERSON,, +CSCA48H3S,TUT0003,Winter 2026,FR,09:00,10:00,Available onACORN,17,33,False,IN_PERSON,, +CSCA48H3S,TUT0004,Winter 2026,TH,19:00,20:00,Available onACORN,19,33,False,IN_PERSON,,Room change -07/06/23 +CSCA48H3S,TUT0005,Winter 2026,MO,19:00,20:00,Available onACORN,23,33,False,IN_PERSON,, +CSCA48H3S,TUT0006,Winter 2026,WE,19:00,20:00,Available onACORN,24,33,False,IN_PERSON,, +CSCA48H3S,TUT0008,Winter 2026,FR,09:00,10:00,Available onACORN,20,33,False,IN_PERSON,, +CSCA48H3S,TUT0009,Winter 2026,MO,09:00,10:00,Available onACORN,28,33,False,IN_PERSON,, +CSCA48H3S,TUT0010,Winter 2026,WE,09:00,10:00,Available onACORN,24,33,False,IN_PERSON,, +CSCA48H3S,TUT0011,Winter 2026,TU,15:00,16:00,Available onACORN,27,33,False,IN_PERSON,, +CSCA48H3S,TUT0013,Winter 2026,FR,14:00,15:00,Available onACORN,26,33,False,IN_PERSON,,Room change(05/07/23) +CSCA48H3S,TUT0014,Winter 2026,WE,10:00,11:00,Available onACORN,26,33,False,IN_PERSON,, +CSCA48H3S,TUT0015,Winter 2026,TU,19:00,20:00,Available onACORN,23,33,False,IN_PERSON,, +CSCA48H3S,TUT0016,Winter 2026,MO,19:00,20:00,Available onACORN,21,30,False,IN_PERSON,, +CSCA67H3S,LEC01,Winter 2026,MO,15:00,17:00,Available on ACORN,66,115,True,IN_PERSON,"Tell, R.", +CSCA67H3S,TUT0001,Winter 2026,WE,16:00,17:00,Available on ACORN,14,25,False,IN_PERSON,, +CSCA67H3S,TUT0002,Winter 2026,WE,09:00,10:00,Available on ACORN,14,25,False,IN_PERSON,, +CSCA67H3S,TUT0003,Winter 2026,TU,09:00,10:00,Available on ACORN,7,25,False,IN_PERSON,, +CSCA67H3S,TUT0004,Winter 2026,TH,17:00,18:00,Available on ACORN,12,25,False,IN_PERSON,, +CSCA67H3S,TUT0005,Winter 2026,TH,12:00,13:00,Available on ACORN,10,25,False,IN_PERSON,, +CSCA67H3S,TUT0006,Winter 2026,TH,12:00,13:00,Available on ACORN,9,25,False,IN_PERSON,, +CSCB09H3S,LEC01,Winter 2026,WE,12:00,14:00,Available on ACORN,85,120,True,IN_PERSON,"Ponce Castro, M.", +CSCB09H3S,LEC02,Winter 2026,WE,09:00,11:00,Available on ACORN,20,80,True,IN_PERSON,"Ponce Castro, M.", +CSCB09H3S,TUT0001,Winter 2026,WE,19:00,20:00,Available on ACORN,28,35,False,IN_PERSON,, +CSCB09H3S,TUT0002,Winter 2026,MO,19:00,20:00,Available on ACORN,26,35,False,IN_PERSON,, +CSCB09H3S,TUT0004,Winter 2026,TH,19:00,20:00,Available on ACORN,20,35,False,IN_PERSON,, +CSCB09H3S,TUT0005,Winter 2026,FR,09:00,10:00,Available on ACORN,27,35,False,IN_PERSON,, +CSCB20H3S,LEC01,Winter 2026,MO,09:00,11:00,Available on ACORN,139,175,True,IN_PERSON,"Gawde, P.", +CSCB20H3S,TUT0001,Winter 2026,MO,12:00,13:00,Available on ACORN,34,35,False,IN_PERSON,, +CSCB20H3S,TUT0002,Winter 2026,WE,11:00,12:00,Available on ACORN,30,35,False,IN_PERSON,, +CSCB20H3S,TUT0003,Winter 2026,WE,14:00,15:00,Available on ACORN,27,35,False,IN_PERSON,, +CSCB20H3S,TUT0005,Winter 2026,FR,10:00,11:00,Available on ACORN,26,35,False,IN_PERSON,, +CSCB20H3S,TUT0006,Winter 2026,FR,13:00,14:00,Available on ACORN,21,35,False,IN_PERSON,, +CSCB58H3S,LEC01,Winter 2026,MO,11:00,12:00,Available onACORN,39,120,True,IN_PERSON,"Vijaykumar,N.", +CSCB58H3S,LEC01,Winter 2026,TU,12:00,14:00,Available onACORN,39,120,True,IN_PERSON,"Vijaykumar,N.", +CSCB58H3S,LEC02,Winter 2026,MO,15:00,16:00,Available onACORN,72,80,True,IN_PERSON,"Giannoula, C.", +CSCB58H3S,LEC02,Winter 2026,TU,15:00,17:00,Available onACORN,72,80,True,IN_PERSON,"Giannoula, C.", +CSCB58H3S,PRA0001,Winter 2026,MO,19:00,22:00,Available onACORN,19,40,False,IN_PERSON,, +CSCB58H3S,PRA0002,Winter 2026,TU,18:00,21:00,Available onACORN,33,40,False,IN_PERSON,, +CSCB58H3S,PRA0004,Winter 2026,TH,18:00,21:00,Available onACORN,20,40,False,IN_PERSON,, +CSCB58H3S,PRA0005,Winter 2026,TH,14:00,17:00,Available onACORN,35,40,False,IN_PERSON,, +CSCB58H3S,TUT0001,Winter 2026,TU,09:00,10:00,Available onACORN,29,40,False,IN_PERSON,,Room change(20/06/23) +CSCB58H3S,TUT0002,Winter 2026,FR,12:00,13:00,Available onACORN,36,40,False,IN_PERSON,, +CSCB58H3S,TUT0003,Winter 2026,FR,13:00,14:00,Available onACORN,10,40,False,IN_PERSON,, +CSCB58H3S,TUT0004,Winter 2026,TH,17:00,18:00,Available onACORN,33,40,False,IN_PERSON,, +CSCB63H3S,LEC01,Winter 2026,MO,13:00,14:00,Available onACORN,33,120,True,IN_PERSON,"Lai, A.", +CSCB63H3S,LEC01,Winter 2026,TH,15:00,17:00,Available onACORN,33,120,True,IN_PERSON,"Lai, A.", +CSCB63H3S,LEC02,Winter 2026,MO,09:00,10:00,Available onACORN,106,120,True,IN_PERSON,"Tafliovich,A.",Room change (12/01/24) +CSCB63H3S,LEC02,Winter 2026,TH,09:00,11:00,Available onACORN,106,120,True,IN_PERSON,"Tafliovich,A.",Room change (12/01/24) +CSCB63H3S,TUT0001,Winter 2026,TH,12:00,13:00,Available onACORN,29,35,False,IN_PERSON,,Time/date/room change(16/01/24) +CSCB63H3S,TUT0002,Winter 2026,MO,10:00,11:00,Available onACORN,30,35,False,IN_PERSON,,Room and time change(12/12/23) +CSCB63H3S,TUT0003,Winter 2026,TH,19:00,20:00,Available onACORN,25,35,False,IN_PERSON,, +CSCB63H3S,TUT0005,Winter 2026,WE,11:00,12:00,Available onACORN,34,35,False,IN_PERSON,,Room change 07/27/23 +CSCB63H3S,TUT0006,Winter 2026,WE,19:00,20:00,Available onACORN,17,35,False,IN_PERSON,, +CSCC01H3S,LEC01,Winter 2026,MO,13:00,15:00,Available onACORN,81,86,True,IN_PERSON,"Abou Assi,R.", +CSCC01H3S,LEC02,Winter 2026,TU,17:00,19:00,Available onACORN,38,120,True,IN_PERSON,"Abou Assi,R.", +CSCC01H3S,TUT0001,Winter 2026,TU,11:00,12:00,Available onACORN,25,40,False,IN_PERSON,,Room change(18/01/24) +CSCC01H3S,TUT0002,Winter 2026,TU,12:00,13:00,Available onACORN,23,40,False,IN_PERSON,,Room change(18/01/24) +CSCC01H3S,TUT0003,Winter 2026,WE,13:00,14:00,Available onACORN,39,40,False,IN_PERSON,,Room change(18/01/24) +CSCC01H3S,TUT0004,Winter 2026,MO,16:00,17:00,Available onACORN,32,40,False,IN_PERSON,,Room change(18/01/24) +CSCC11H3S,LEC01,Winter 2026,TU,10:00,11:00,Available on ACORN,27,80,True,IN_PERSON,"Dousty, M.", +CSCC11H3S,LEC01,Winter 2026,TH,10:00,11:00,Available on ACORN,27,80,True,IN_PERSON,"Dousty, M.", +CSCC11H3S,LEC02,Winter 2026,FR,13:00,15:00,Available on ACORN,58,80,True,IN_PERSON,"Fleet, D.", +CSCC11H3S,TUT0001,Winter 2026,FR,11:00,12:00,Available on ACORN,25,34,False,IN_PERSON,, +CSCC11H3S,TUT0002,Winter 2026,WE,15:00,16:00,Available on ACORN,12,34,False,IN_PERSON,, +CSCC11H3S,TUT0003,Winter 2026,WE,14:00,15:00,Available on ACORN,24,34,False,IN_PERSON,, +CSCC11H3S,TUT0004,Winter 2026,TH,16:00,17:00,Available on ACORN,24,34,False,IN_PERSON,, +CSCC24H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,88,100,True,IN_PERSON,"Tafliovich, A.", +CSCC24H3S,LEC02,Winter 2026,FR,11:00,13:00,Available on ACORN,40,80,True,IN_PERSON,"Tafliovich, A.", +CSCC24H3S,TUT0001,Winter 2026,TU,14:00,16:00,Available on ACORN,23,33,False,IN_PERSON,, +CSCC24H3S,TUT0002,Winter 2026,TU,16:00,18:00,Available on ACORN,26,33,False,IN_PERSON,, +CSCC24H3S,TUT0003,Winter 2026,WE,09:00,11:00,Available on ACORN,22,33,False,IN_PERSON,, +CSCC24H3S,TUT0004,Winter 2026,WE,15:00,17:00,Available on ACORN,34,33,False,IN_PERSON,, +CSCC24H3S,TUT0005,Winter 2026,MO,13:00,15:00,Available on ACORN,22,33,False,IN_PERSON,, +CSCC63H3S,LEC01,Winter 2026,MO,12:00,13:00,Available on ACORN,74,120,True,IN_PERSON,"Hadzilacos, V.", +CSCC63H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,74,120,True,IN_PERSON,"Hadzilacos, V.", +CSCC63H3S,TUT0001,Winter 2026,TH,15:00,16:00,Available on ACORN,52,75,False,IN_PERSON,, +CSCC63H3S,TUT0002,Winter 2026,TH,17:00,18:00,Available on ACORN,22,75,False,IN_PERSON,, +CSCC69H3S,LEC01,Winter 2026,FR,09:00,11:00,Available on ACORN,83,150,True,IN_PERSON,"Sans, T.", +CSCC69H3S,TUT0001,Winter 2026,TH,09:00,10:00,Available on ACORN,21,33,False,IN_PERSON,, +CSCC69H3S,TUT0002,Winter 2026,TU,19:00,20:00,Available on ACORN,25,33,False,IN_PERSON,, +CSCC69H3S,TUT0003,Winter 2026,WE,19:00,20:00,Available on ACORN,12,33,False,IN_PERSON,, +CSCC69H3S,TUT0004,Winter 2026,MO,09:00,10:00,Available on ACORN,24,33,False,IN_PERSON,, +CSCC73H3S,LEC01,Winter 2026,MO,11:00,12:00,Available onACORN,75,86,True,IN_PERSON,"Bretscher,A.", +CSCC73H3S,LEC01,Winter 2026,WE,09:00,11:00,Available onACORN,75,86,True,IN_PERSON,"Bretscher,A.", +CSCC73H3S,LEC02,Winter 2026,MO,14:00,15:00,Available onACORN,31,45,True,IN_PERSON,"Bretscher,A.",Room change(09/08/23) +CSCC73H3S,LEC02,Winter 2026,TH,09:00,11:00,Available onACORN,31,45,True,IN_PERSON,"Bretscher,A.",Room change(09/08/23) +CSCC73H3S,TUT0001,Winter 2026,TU,12:00,13:00,Available onACORN,29,35,False,IN_PERSON,, +CSCC73H3S,TUT0002,Winter 2026,WE,13:00,14:00,Available onACORN,30,35,False,IN_PERSON,, +CSCC73H3S,TUT0003,Winter 2026,TH,09:00,10:00,Available onACORN,23,35,False,IN_PERSON,, +CSCC73H3S,TUT0004,Winter 2026,WE,19:00,20:00,Available onACORN,23,35,False,IN_PERSON,, +CSCD03H3S,LEC01,Winter 2026,MO,15:00,17:00,Available on ACORN,38,50,True,IN_PERSON,"Harrington, B.", +CSCD03H3S,LEC02,Winter 2026,MO,13:00,15:00,Available on ACORN,42,50,True,IN_PERSON,"Harrington, B.", +CSCD03H3S,TUT0001,Winter 2026,WE,10:00,10:30,Available on ACORN,3,10,False,IN_PERSON,, +CSCD03H3S,TUT0002,Winter 2026,WE,10:30,11:00,Available on ACORN,7,10,False,IN_PERSON,, +CSCD03H3S,TUT0003,Winter 2026,WE,11:00,11:30,Available on ACORN,7,10,False,IN_PERSON,, +CSCD03H3S,TUT0005,Winter 2026,WE,12:00,12:30,Available on ACORN,8,10,False,IN_PERSON,, +CSCD03H3S,TUT0006,Winter 2026,WE,12:30,13:00,Available on ACORN,8,10,False,IN_PERSON,, +CSCD03H3S,TUT0007,Winter 2026,WE,13:00,13:30,Available on ACORN,9,10,False,IN_PERSON,, +CSCD03H3S,TUT0008,Winter 2026,WE,13:30,14:00,Available on ACORN,9,10,False,IN_PERSON,, +CSCD03H3S,TUT0009,Winter 2026,WE,14:00,14:30,Available on ACORN,9,10,False,IN_PERSON,, +CSCD03H3S,TUT0010,Winter 2026,WE,14:30,15:00,Available on ACORN,10,10,False,IN_PERSON,, +CSCD03H3S,TUT0011,Winter 2026,WE,15:00,15:30,Available on ACORN,9,10,False,IN_PERSON,, +CSCD27H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,116,135,True,IN_PERSON,"Sans, T.", +CSCD27H3S,PRA0001,Winter 2026,TU,13:00,14:00,Available on ACORN,32,34,False,IN_PERSON,, +CSCD27H3S,PRA0002,Winter 2026,WE,12:00,13:00,Available on ACORN,23,34,False,IN_PERSON,, +CSCD27H3S,PRA0003,Winter 2026,TH,16:00,17:00,Available on ACORN,28,34,False,IN_PERSON,, +CSCD27H3S,PRA0004,Winter 2026,TH,15:00,16:00,Available on ACORN,31,34,False,IN_PERSON,, +CSCD27H3S,TUT0001,Winter 2026,TU,17:00,18:00,Available on ACORN,29,34,False,IN_PERSON,, +CSCD27H3S,TUT0002,Winter 2026,TU,14:00,15:00,Available on ACORN,33,34,False,IN_PERSON,, +CSCD27H3S,TUT0003,Winter 2026,TU,09:00,10:00,Available on ACORN,23,34,False,IN_PERSON,, +CSCD27H3S,TUT0004,Winter 2026,FR,13:00,14:00,Available on ACORN,30,34,False,IN_PERSON,, +CSCD37H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,20,40,True,IN_PERSON,"Pancer, R.", +CSCD37H3S,LEC01,Winter 2026,WE,14:00,15:00,Available on ACORN,20,40,True,IN_PERSON,"Pancer, R.", +CSCD43H3S,LEC01,Winter 2026,FR,09:00,11:00,Available on ACORN,16,45,True,IN_PERSON,"Koudas, N.", +CSCD43H3S,TUT0001,Winter 2026,TU,09:00,10:00,Available on ACORN,16,45,False,IN_PERSON,, +CSCD84H3S,LEC01,Winter 2026,MO,09:00,11:00,Available onACORN,78,110,True,IN_PERSON,"Meskar, E.",Room change08/23/23 +CSCD84H3S,TUT0001,Winter 2026,TU,11:00,12:00,Available onACORN,31,40,False,IN_PERSON,, +CSCD84H3S,TUT0002,Winter 2026,TU,15:00,16:00,Available onACORN,33,40,False,IN_PERSON,, +CSCD84H3S,TUT0003,Winter 2026,TU,16:00,17:00,Available onACORN,13,30,False,IN_PERSON,, +CSCD92H3S,LEC01,Winter 2026,,,,Available on ACORN,4,20,True,IN_PERSON,FACULTY, +CSCD94H3S,LEC01,Winter 2026,,,,Available on ACORN,8,20,True,IN_PERSON,FACULTY, +CSCD94H3Y,LEC01,Winter 2026,,,,Available on ACORN,0,5,True,IN_PERSON,FACULTY, +CSCD95H3S,LEC01,Winter 2026,,,,Available on ACORN,2,10,True,IN_PERSON,FACULTY, +CTLA01H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,22,25,True,IN_PERSON,"Khoo, E.", +CTLA01H3S,PRA0001,Winter 2026,WE,12:00,13:00,Available on ACORN,22,25,False,IN_PERSON,, +CTLA21H3S,LEC01,Winter 2026,TU,10:00,13:00,Available on ACORN,7,25,True,IN_PERSON,"Garcia Balan, S.", +CTLB03H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,12,33,True,IN_PERSON,"Bongard, C.", +ECTB58H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,29,30,True,IN_PERSON,"Payne, C.", +ECTB61H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,26,30,True,IN_PERSON,"Ma, J.", +ECTB61H3S,LEC02,Winter 2026,TH,15:00,17:00,Available on ACORN,29,30,True,IN_PERSON,"Ma, J.", +ECTB66H3S,LEC01,Winter 2026,TH,18:00,20:00,Available on ACORN,30,30,True,IN_PERSON,"Ma, J.", +ECTC62H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,23,30,True,IN_PERSON,"Song, Z.", +ECTC63H3S,LEC01,Winter 2026,WE,12:00,14:00,Available on ACORN,30,30,True,IN_PERSON,"Payne, C.", +ECTD65H3S,LEC01,Winter 2026,TH,12:00,14:00,Available on ACORN,27,30,True,IN_PERSON,"Payne, C.", +ECTD66H3S,LEC01,Winter 2026,TU,12:00,14:00,Available on ACORN,28,30,True,IN_PERSON,"Song, Z.", +ECTD68H3S,LEC01,Winter 2026,TU,16:00,18:00,Available on ACORN,11,30,True,IN_PERSON,"Wang, R.", +ECTD69H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,30,30,True,IN_PERSON,"Payne, C.", +ECTD69H3S,LEC101,Winter 2026,TU,09:00,11:00,Available onACORN,7,9,True,IN_PERSON,"Heron, P.",Room change(20/06/23) +ECTD69H3S,LEC101,Winter 2026,MO,13:00,16:00,Available on ACORN,19,40,True,IN_PERSON,"Smith, K.", +ECTD69H3S,LEC101,Winter 2026,TH,09:00,11:00,Available on ACORN,30,45,True,IN_PERSON,"Wallace, K.", +ECTD69H3S,LEC101,Winter 2026,FR,10:00,12:00,Available on ACORN,28,30,True,IN_PERSON,"Tozer, L.", +ECTD69H3S,LEC101,Winter 2026,TU,10:00,12:00,Available onACORN,25,40,True,IN_PERSON,"Fedoseev, A./Spence, E.",Room change(20/06/23) +ECTD69H3S,LEC101,Winter 2026,TH,11:00,12:00,Available onACORN,25,40,True,IN_PERSON,"Fedoseev, A./Spence, E.",Room change(20/06/23) +ECTD69H3S,LEC101,Winter 2026,,,,Available on ACORN,3,10,True,ONLINE_ASYNCHRONOUS,"Archontitsis, G.", +EESA06H3S,LEC01,Winter 2026,MO,10:00,12:00,Available onACORN,469,500,True,IN_PERSON,"Kennedy,K.", +EESA06H3S,LEC02,Winter 2026,,,,Available onACORN,1000,9999,True,,"Kennedy,K.", +EESA10H3S,LEC01,Winter 2026,,,,Available onACORN,935,9999,True,,"Stefanovic,S.", +EESA10H3S,LEC02,Winter 2026,TU,17:00,19:00,Available onACORN,313,500,True,IN_PERSON,"Stefanovic,S.",Date/Time Change(18/09/23) +EESA11H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,242,260,True,IN_PERSON,"Stefanovic, J.", +EESB03H3S,LEC01,Winter 2026,WE,10:00,11:00,Available on ACORN,88,175,True,IN_PERSON,"Mohsin, T.", +EESB03H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,88,175,True,IN_PERSON,"Mohsin, T.", +EESB03H3S,TUT0001,Winter 2026,WE,09:00,10:00,Available on ACORN,23,30,False,IN_PERSON,, +EESB03H3S,TUT0002,Winter 2026,WE,09:00,10:00,Available on ACORN,18,30,False,IN_PERSON,, +EESB03H3S,TUT0003,Winter 2026,WE,16:00,17:00,Available on ACORN,22,30,False,IN_PERSON,, +EESB03H3S,TUT0004,Winter 2026,WE,16:00,17:00,Available on ACORN,25,30,False,IN_PERSON,, +EESB03H3S,TUT0005,Winter 2026,WE,16:00,17:00,Available on ACORN,0,30,False,IN_PERSON,, +EESB03H3S,TUT0006,Winter 2026,WE,09:00,10:00,Available on ACORN,0,30,False,IN_PERSON,, +EESB16H3S,LEC01,Winter 2026,TU,18:00,20:00,Available onACORN,40,75,True,IN_PERSON,"Hathaway,M.", +EESB16H3S,TUT0001,Winter 2026,TU,11:00,12:00,Available onACORN,16,25,False,IN_PERSON,, +EESB16H3S,TUT0002,Winter 2026,TU,17:00,18:00,Available onACORN,24,25,False,IN_PERSON,, +EESB16H3S,TUT0003,Winter 2026,TU,16:00,17:00,Available onACORN,0,25,False,IN_PERSON,,Time change(02/10/23) +EESB19H3S,LEC01,Winter 2026,MO,12:00,14:00,Available on ACORN,22,40,True,IN_PERSON,"Daxberger, H.", +EESB19H3S,PRA0001,Winter 2026,MO,15:00,17:00,Available on ACORN,5,20,False,IN_PERSON,, +EESB19H3S,PRA0002,Winter 2026,MO,15:00,17:00,Available on ACORN,17,20,False,IN_PERSON,, +EESB20H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,19,36,True,IN_PERSON,"Kennedy, K.", +EESB20H3S,PRA0001,Winter 2026,WE,11:00,13:00,Available on ACORN,14,20,False,IN_PERSON,, +EESB20H3S,PRA0002,Winter 2026,WE,11:00,13:00,Available on ACORN,4,20,False,IN_PERSON,, +EESB22H3S,LEC01,Winter 2026,TH,15:00,18:00,Available on ACORN,6,11,True,IN_PERSON,"Heron, P.",Room EV502 +EESC03H3S,LEC01,Winter 2026,MO,12:00,14:00,Available on ACORN,65,78,True,IN_PERSON,"Doughty, M.", +EESC03H3S,PRA0001,Winter 2026,MO,14:00,16:00,Available on ACORN,33,40,False,IN_PERSON,, +EESC03H3S,PRA0002,Winter 2026,MO,14:00,16:00,Available on ACORN,30,38,False,IN_PERSON,, +EESC04H3S,LEC01,Winter 2026,TU,17:00,19:00,Available on ACORN,51,60,True,IN_PERSON,"Martin, A.", +EESC04H3S,PRA0001,Winter 2026,TH,09:00,11:00,Available on ACORN,12,21,False,IN_PERSON,, +EESC04H3S,PRA0002,Winter 2026,TH,11:00,13:00,Available on ACORN,18,21,False,IN_PERSON,, +EESC04H3S,PRA0003,Winter 2026,TH,13:00,15:00,Available on ACORN,20,21,False,IN_PERSON,, +EESC04H3S,PRA0004,Winter 2026,TH,15:00,17:00,Available on ACORN,0,21,False,IN_PERSON,, +EESC13H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,84,86,True,IN_PERSON,"Safari, E.", +EESC18H3S,LEC01,Winter 2026,TH,14:00,16:00,Available on ACORN,33,60,True,IN_PERSON,"Dittrich, M.", +EESC18H3S,TUT0001,Winter 2026,TU,17:00,18:00,Available on ACORN,31,60,False,IN_PERSON,, +EESC24H3S,LEC01,Winter 2026,,,,Available on ACORN,2,9999,True,IN_PERSON,"Smith, K.", +EESC25H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,20,25,True,IN_PERSON,"Mohsin, T.", +EESC25H3S,TUT0001,Winter 2026,MO,15:00,16:00,Available on ACORN,19,25,False,IN_PERSON,, +EESC26H3S,LEC01,Winter 2026,WE,16:00,17:00,Available on ACORN,5,20,True,IN_PERSON,"Heron, P.", +EESC26H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,5,20,True,IN_PERSON,"Heron, P.", +EESC30H3S,LEC01,Winter 2026,FR,13:00,15:00,Available on ACORN,29,40,True,IN_PERSON,"Bell, T.", +EESC30H3S,PRA0001,Winter 2026,TU,09:00,11:00,Available on ACORN,12,20,False,IN_PERSON,, +EESC30H3S,PRA0002,Winter 2026,WE,13:00,15:00,Available on ACORN,17,20,False,IN_PERSON,, +EESC37H3S,LEC01,Winter 2026,TU,12:00,14:00,Available on ACORN,16,21,True,IN_PERSON,"Daxberger, H.", +EESC37H3S,PRA0001,Winter 2026,TU,14:00,17:00,Available on ACORN,16,21,False,IN_PERSON,, +EESD02H3S,LEC01,Winter 2026,MO,10:00,13:00,Available on ACORN,14,80,True,IN_PERSON,"Stefanovic, S.", +EESD09H3S,LEC01,Winter 2026,,,,Available on ACORN,2,9999,True,IN_PERSON,"Martin, A.", +EESD09H3Y,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,"Martin, A.", +EESD10Y3Y,LEC01,Winter 2026,,,,Available on ACORN,0,20,True,IN_PERSON,"Martin, A.", +EESD17Y3Y,LEC01,Winter 2026,TH,18:00,20:00,Available on ACORN,0,6,True,IN_PERSON,"MacLellan, J.", +EESD18H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,10,20,True,IN_PERSON,"Klenk, N.", +EESD20H3S,LEC01,Winter 2026,TU,09:00,11:00,Available onACORN,25,25,True,IN_PERSON,"Heron, P.",Room change(20/06/23) +EESD28H3S,LEC01,Winter 2026,MO,10:00,13:00,Available on ACORN,3,16,True,IN_PERSON,"Neumann, A.", +EESD31H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,12,15,True,IN_PERSON,"Mohsin, T.", +EESD31H3S,TUT0001,Winter 2026,TU,15:00,16:00,Available on ACORN,10,15,False,IN_PERSON,, +ENGA02H3S,LEC01,Winter 2026,MO,10:00,13:00,Available onACORN,24,25,True,IN_PERSON,"Dufoe, N.", +ENGA02H3S,LEC02,Winter 2026,WE,19:00,22:00,Available onACORN,19,25,True,,"Johnston,M.", +ENGA02H3S,LEC03,Winter 2026,TH,10:00,13:00,Available onACORN,23,25,True,,"Keyzad, N.",Changed to onlinesynchronous 07/24/23 +ENGA02H3S,LEC04,Winter 2026,TH,10:00,13:00,Available onACORN,7,25,True,IN_PERSON,"Cardwell, E.", +ENGA02H3S,LEC05,Winter 2026,FR,11:00,14:00,Available onACORN,22,25,True,IN_PERSON,"Elkaim, J.", +ENGA02H3S,LEC06,Winter 2026,MO,10:00,13:00,Available onACORN,18,25,True,,"Keyzad, N.", +ENGA02H3S,LEC07,Winter 2026,MO,10:00,13:00,Available onACORN,20,25,True,IN_PERSON,"Windsor, R.", +ENGA02H3S,LEC08,Winter 2026,MO,10:00,13:00,Available onACORN,23,25,True,IN_PERSON,"Reid, M.", +ENGA03H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,207,225,True,IN_PERSON,"Westoll, A.", +ENGA03H3S,TUT0001,Winter 2026,WE,19:00,20:00,Available on ACORN,24,25,False,IN_PERSON,, +ENGA03H3S,TUT0002,Winter 2026,WE,19:00,20:00,Available on ACORN,24,25,False,IN_PERSON,, +ENGA03H3S,TUT0003,Winter 2026,WE,20:00,21:00,Available on ACORN,22,25,False,IN_PERSON,, +ENGA03H3S,TUT0004,Winter 2026,WE,20:00,21:00,Available on ACORN,17,25,False,IN_PERSON,, +ENGA03H3S,TUT0005,Winter 2026,FR,09:00,10:00,Available on ACORN,20,25,False,IN_PERSON,, +ENGA03H3S,TUT0006,Winter 2026,FR,10:00,11:00,Available on ACORN,25,25,False,IN_PERSON,, +ENGA03H3S,TUT0007,Winter 2026,FR,11:00,12:00,Available on ACORN,24,25,False,IN_PERSON,, +ENGA03H3S,TUT0008,Winter 2026,FR,12:00,13:00,Available on ACORN,23,25,False,IN_PERSON,, +ENGA03H3S,TUT0009,Winter 2026,FR,13:00,14:00,Available on ACORN,23,25,False,IN_PERSON,, +ENGA11H3S,LEC01,Winter 2026,WE,10:00,12:00,Available on ACORN,277,400,True,IN_PERSON,"Braune, S.", +ENGB07H3S,LEC01,Winter 2026,TU,15:00,18:00,Available on ACORN,26,50,True,IN_PERSON,"Kinaschuk, K.", +ENGB12H3S,LEC01,Winter 2026,FR,09:00,12:00,Available on ACORN,49,60,True,IN_PERSON,"Cardwell, E.", +ENGB25H3S,LEC01,Winter 2026,TU,16:00,19:00,Available on ACORN,54,65,True,ONLINE_SYNCHRONOUS,"Rodgers, J.", +ENGB28H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,83,120,True,IN_PERSON,"Nikkila, S.", +ENGB28H3S,TUT0001,Winter 2026,TU,20:00,21:00,Available on ACORN,10,30,False,IN_PERSON,, +ENGB28H3S,TUT0002,Winter 2026,TU,18:00,19:00,Available on ACORN,28,30,False,IN_PERSON,, +ENGB28H3S,TUT0003,Winter 2026,TU,19:00,20:00,Available on ACORN,24,30,False,IN_PERSON,, +ENGB28H3S,TUT0004,Winter 2026,TU,19:00,20:00,Available on ACORN,21,30,False,IN_PERSON,, +ENGB30H3S,LEC01,Winter 2026,TH,09:00,12:00,Available on ACORN,79,100,True,IN_PERSON,"Wey, L.", +ENGB33H3S,LEC01,Winter 2026,MO,09:00,12:00,Available on ACORN,21,50,True,IN_PERSON,"Welburn, J.", +ENGB35H3S,LEC01,Winter 2026,WE,09:00,12:00,Available on ACORN,98,135,True,IN_PERSON,"Stafford, R.", +ENGB60H3S,LEC01,Winter 2026,TH,14:00,16:00,Available on ACORN,13,20,True,IN_PERSON,"Tysdal, D.", +ENGB63H3S,LEC01,Winter 2026,TH,09:00,11:00,Available onACORN,19,20,True,IN_PERSON,"Westoll, A.",Date/Time/Room change25/07/23 +ENGB63H3S,LEC02,Winter 2026,TH,09:00,11:00,Available onACORN,17,20,True,IN_PERSON,"Golshan,S.", +ENGB70H3S,LEC01,Winter 2026,TU,10:00,12:00,Available onACORN,108,120,True,IN_PERSON,"Stoddard,M.",Time change(24/08/23) +ENGB70H3S,TUT0001,Winter 2026,TU,16:00,17:00,Available onACORN,23,30,False,IN_PERSON,, +ENGB70H3S,TUT0002,Winter 2026,TU,14:00,15:00,Available onACORN,28,30,False,IN_PERSON,, +ENGB70H3S,TUT0003,Winter 2026,TU,15:00,16:00,Available onACORN,28,30,False,IN_PERSON,, +ENGB70H3S,TUT0004,Winter 2026,TU,13:00,14:00,Available onACORN,28,30,False,IN_PERSON,, +ENGB71H3S,LEC01,Winter 2026,MO,19:00,22:00,Available onACORN,22,25,True,,"Jacob, E.",Changed to onlinesynchronous08/01/23 +ENGB71H3S,LEC02,Winter 2026,TH,15:00,18:00,Available onACORN,21,25,True,IN_PERSON,"Sooriyakumaran, M.", +ENGB71H3S,LEC03,Winter 2026,FR,11:00,14:00,Available onACORN,21,25,True,IN_PERSON,"ONeill, H./Sooriyakumaran, M.", +ENGB72H3S,LEC01,Winter 2026,WE,13:00,16:00,Available on ACORN,17,25,True,IN_PERSON,"Franklin, K.", +ENGB77H3S,LEC01,Winter 2026,MO,14:00,17:00,Available on ACORN,54,60,True,IN_PERSON,"Sengupta, R.", +ENGC07H3S,LEC01,Winter 2026,WE,10:00,13:00,Available on ACORN,26,50,True,IN_PERSON,"Lundy, R.", +ENGC13H3S,LEC01,Winter 2026,WE,13:00,16:00,Available on ACORN,16,50,True,IN_PERSON,"Soni, R.", +ENGC14H3S,LEC01,Winter 2026,FR,12:00,15:00,Available on ACORN,27,50,True,IN_PERSON,"Vernon, K.", +ENGC15H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,46,50,True,IN_PERSON,"Nikkila, S.", +ENGC15H3S,LEC01,Winter 2026,TH,10:00,11:00,Available on ACORN,46,50,True,IN_PERSON,"Nikkila, S.", +ENGC22H3S,LEC01,Winter 2026,TU,11:00,14:00,Available on ACORN,49,50,True,IN_PERSON,"Bolus-Reichert, C.", +ENGC41H3S,LEC01,Winter 2026,TH,15:00,18:00,Available on ACORN,49,50,True,IN_PERSON,"Nikkila, S.", +ENGC74H3S,LEC01,Winter 2026,MO,10:00,13:00,Available on ACORN,15,17,True,IN_PERSON,"Assif, M.", +ENGC82H3S,LEC01,Winter 2026,TH,09:00,12:00,Available on ACORN,46,55,True,IN_PERSON,"Stoddard, M.", +ENGC86H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,10,20,True,IN_PERSON,"Lundy, R.", +ENGC87H3S,LEC01,Winter 2026,TU,18:00,20:00,Available on ACORN,20,20,True,IN_PERSON,"Wright, C.", +ENGC90H3S,LEC01,Winter 2026,FR,10:00,13:00,Available on ACORN,48,55,True,IN_PERSON,"Wey, L.", +ENGC94H3S,LEC01,Winter 2026,MO,13:00,16:00,Available on ACORN,44,45,True,IN_PERSON,"Saljoughi, S.", +ENGD02Y3Y,LEC01,Winter 2026,MO,14:00,17:00,Available on ACORN,0,15,False,IN_PERSON,"Assif, M.", +ENGD53H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,33,33,True,IN_PERSON,"Bolus-Reichert, C.", +ENGD54H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,15,20,True,IN_PERSON,"Tysdal, D.", +ENGD59H3S,LEC01,Winter 2026,TU,15:00,17:00,Available onACORN,22,24,True,,"DuBois, A.",Changed to onlinesynchronous 11/28/23 +ENGD94H3S,LEC01,Winter 2026,WE,13:00,16:00,Available on ACORN,22,22,True,IN_PERSON,"Maurice, A.", +ENGD95H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,19,20,True,IN_PERSON,"Westoll, A.", +ESTB03H3S,LEC01,Winter 2026,TU,13:00,16:00,Available onACORN,16,21,True,IN_PERSON,"Klenk, N./ Webster,E.", +ESTB03H3S,PRA0001,Winter 2026,TU,08:00,11:00,Available onACORN,14,21,False,IN_PERSON,, +ESTB04H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,35,60,True,IN_PERSON,"Tozer, L.", +ESTC35H3S,LEC01,Winter 2026,MO,12:00,15:00,Available on ACORN,35,50,True,IN_PERSON,"Klenk, N.", +ESTC40H3S,LEC01,Winter 2026,TH,18:00,20:00,Available on ACORN,8,15,True,IN_PERSON,"Salas Reyes, R.", +ESTD17Y3Y,LEC01,Winter 2026,TH,18:00,20:00,Available on ACORN,0,34,True,IN_PERSON,"MacLellan, J.", +ESTD18H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,26,40,True,IN_PERSON,"Klenk, N.", +ESTD19H3S,LEC01,Winter 2026,TU,19:00,21:00,Available on ACORN,43,50,True,IN_PERSON,"Chiotti, Q.", +FLDA01Y3Y,LEC01,Winter 2026,,,,Available on ACORN,0,28,True,IN_PERSON,, +FLDC01H3S,LEC01,Winter 2026,,,,Available on ACORN,0,10,True,IN_PERSON,, +FLDD01H3S,LEC01,Winter 2026,,,,Available on ACORN,3,10,True,IN_PERSON,, +FLDD02H3S,LEC01,Winter 2026,,,,Available on ACORN,0,10,True,IN_PERSON,, +FREA02H3S,LEC01,Winter 2026,MO,10:00,13:00,Available on ACORN,5,30,True,IN_PERSON,"Pillet, M.", +FREA02H3S,LEC02,Winter 2026,TU,10:00,13:00,Available on ACORN,12,30,True,IN_PERSON,"Pillet, M.", +FREA02H3S,LEC03,Winter 2026,WE,09:00,12:00,Available on ACORN,11,30,True,IN_PERSON,"Elzine, N.", +FREA97H3S,LEC01,Winter 2026,TU,17:00,20:00,Available on ACORN,52,60,True,IN_PERSON,"Sonina, S.", +FREA97H3S,TUT0001,Winter 2026,TH,16:00,17:00,Available on ACORN,18,20,False,IN_PERSON,, +FREA97H3S,TUT0002,Winter 2026,TH,17:00,18:00,Available on ACORN,16,21,False,IN_PERSON,, +FREA97H3S,TUT0003,Winter 2026,TH,18:00,19:00,Available on ACORN,17,20,False,IN_PERSON,, +FREA99H3S,LEC01,Winter 2026,TU,17:00,20:00,Available on ACORN,18,35,True,IN_PERSON,"Gaughan, C.", +FREB02H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,24,30,True,IN_PERSON,"Beauquis, C.", +FREB02H3S,LEC01,Winter 2026,TH,12:00,13:00,Available on ACORN,24,30,True,IN_PERSON,"Beauquis, C.", +FREB02H3S,LEC02,Winter 2026,TU,13:00,15:00,Available on ACORN,17,30,True,IN_PERSON,"Cote, S.", +FREB02H3S,LEC02,Winter 2026,TH,13:00,14:00,Available on ACORN,17,30,True,IN_PERSON,"Cote, S.", +FREB08H3S,LEC01,Winter 2026,TU,16:00,18:00,Available on ACORN,23,30,True,IN_PERSON,"Mittler, S.", +FREB08H3S,LEC01,Winter 2026,TH,16:00,17:00,Available on ACORN,23,30,True,IN_PERSON,"Mittler, S.", +FREB35H3S,LEC01,Winter 2026,MO,12:00,14:00,Available on ACORN,23,40,True,IN_PERSON,"Ballin, M.", +FREB37H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,33,40,True,IN_PERSON,"Riendeau, P.", +FREB46H3S,LEC01,Winter 2026,TU,12:00,15:00,Available onACORN,28,40,True,IN_PERSON,"Sonina, S.",Room change(20/06/23) +FREB84H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,14,40,True,IN_PERSON,"Mittler, S.", +FREC02H3S,LEC01,Winter 2026,TU,09:00,12:00,Available on ACORN,22,25,True,IN_PERSON,"English, J.", +FREC02H3S,LEC02,Winter 2026,TH,12:00,15:00,Available on ACORN,23,25,True,IN_PERSON,"Peric, K.", +FREC02H3S,LEC03,Winter 2026,MO,14:00,17:00,Available on ACORN,22,25,True,IN_PERSON,"Peric, K.", +FREC10H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,20,30,True,IN_PERSON,"Beauquis, C.", +FREC38H3S,LEC01,Winter 2026,TH,14:00,16:00,Available on ACORN,26,30,True,IN_PERSON,"Riendeau, P.", +FREC46H3S,LEC01,Winter 2026,WE,11:00,14:00,Available onACORN,12,30,True,IN_PERSON,"Gamboa Gonzalez,O.", +FREC58H3S,LEC01,Winter 2026,WE,13:00,16:00,Available on ACORN,19,30,True,IN_PERSON,"Lenina, N.", +FREC63H3S,LEC01,Winter 2026,TH,12:00,14:00,Available on ACORN,11,30,True,IN_PERSON,"Mittler, S.", +FRED02H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +FRED03H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +FRED04H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +FRED05H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +FRED06H3S,LEC01,Winter 2026,TH,11:00,14:00,Available on ACORN,27,25,True,IN_PERSON,"Pillet, M.", +FSTB01H3S,LEC01,Winter 2026,TU,11:00,13:00,Available onACORN,56,60,True,IN_PERSON,"Bariola Gonzales,N.", +FSTB01H3S,TUT0001,Winter 2026,TU,13:00,14:30,Available onACORN,18,20,False,IN_PERSON,, +FSTB01H3S,TUT0002,Winter 2026,TU,14:30,16:00,Available onACORN,20,20,False,IN_PERSON,, +FSTB01H3S,TUT0003,Winter 2026,TU,16:30,18:00,Available onACORN,17,20,False,IN_PERSON,, +FSTC05H3S,LEC01,Winter 2026,TH,11:00,13:00,Available onACORN,29,30,True,IN_PERSON,"Vercillo, S.",Room change01/08/24 +FSTC05H3S,TUT0001,Winter 2026,TH,15:00,16:30,Available onACORN,14,15,False,IN_PERSON,, +FSTC05H3S,TUT0002,Winter 2026,TH,17:00,18:30,Available onACORN,13,15,False,IN_PERSON,, +FSTC43H3S,LEC01,Winter 2026,MO,14:00,17:00,Available on ACORN,9,12,True,IN_PERSON,"MacDonald, K.", +FSTD01H3S,LEC01,Winter 2026,,,,Available on ACORN,3,9999,True,IN_PERSON,FACULTY, +FSTD02H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,15,20,True,IN_PERSON,"Vercillo, S.", +GASB58H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,43,49,True,IN_PERSON,"Chen, L.", +GASB58H3S,TUT0001,Winter 2026,TU,16:00,17:00,Available on ACORN,9,10,False,IN_PERSON,, +GASB58H3S,TUT0002,Winter 2026,TU,19:00,20:00,Available on ACORN,11,12,False,IN_PERSON,, +GASB58H3S,TUT0003,Winter 2026,TU,20:00,21:00,Available on ACORN,13,17,False,IN_PERSON,, +GASB58H3S,TUT0004,Winter 2026,TU,17:00,18:00,Available on ACORN,8,10,False,IN_PERSON,, +GASC12H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,19,20,True,IN_PERSON,"Butt, W.", +GASC51H3S,LEC01,Winter 2026,TH,15:00,17:00,Available on ACORN,21,31,True,IN_PERSON,"Grewal, A.", +GASD30H3S,LEC01,Winter 2026,MO,15:00,17:00,Available onACORN,7,7,True,IN_PERSON,"Ye, S.",Room change(12/10/23) +GASD54H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,9,9,True,IN_PERSON,"Raman, B.", +GASD55H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,9,10,True,IN_PERSON,"Elhalaby, E.", +GGRA03H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,182,300,True,IN_PERSON,"McCormack, K.", +GGRA03H3S,TUT0001,Winter 2026,WE,10:00,11:00,Available on ACORN,30,30,False,IN_PERSON,, +GGRA03H3S,TUT0002,Winter 2026,WE,10:00,11:00,Available on ACORN,28,30,False,IN_PERSON,, +GGRA03H3S,TUT0003,Winter 2026,WE,09:00,10:00,Available on ACORN,28,30,False,IN_PERSON,, +GGRA03H3S,TUT0004,Winter 2026,WE,09:00,10:00,Available on ACORN,11,30,False,IN_PERSON,, +GGRA03H3S,TUT0005,Winter 2026,WE,12:00,13:00,Available on ACORN,28,30,False,IN_PERSON,, +GGRA03H3S,TUT0008,Winter 2026,WE,15:00,16:00,Available on ACORN,27,30,False,IN_PERSON,, +GGRA03H3S,TUT0009,Winter 2026,WE,16:00,17:00,Available on ACORN,28,30,False,IN_PERSON,, +GGRB03H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,26,60,True,IN_PERSON,"Majeed, M.", +GGRB03H3S,TUT0001,Winter 2026,WE,15:00,16:00,Available on ACORN,25,40,False,IN_PERSON,, +GGRB28H3S,LEC01,Winter 2026,TH,13:00,15:00,Available onACORN,94,175,True,IN_PERSON,"Majeed,M.", +GGRB28H3S,TUT0001,Winter 2026,TH,16:00,17:00,Available onACORN,36,40,False,IN_PERSON,,Room change(04/12/23) +GGRB28H3S,TUT0003,Winter 2026,TH,17:00,18:00,Available onACORN,32,35,False,IN_PERSON,, +GGRB28H3S,TUT0004,Winter 2026,TH,18:00,19:00,Available onACORN,25,40,False,IN_PERSON,,Room change(04/12/23) +GGRB32H3S,LEC01,Winter 2026,FR,10:00,12:00,Available on ACORN,27,50,True,IN_PERSON,"Brauen, G.", +GGRB32H3S,TUT0001,Winter 2026,FR,12:00,13:00,Available on ACORN,27,45,False,IN_PERSON,, +GGRC12H3S,LEC01,Winter 2026,TH,09:00,11:00,Available onACORN,17,30,True,IN_PERSON,"TiznadoAitken, I.",Room change(18/01/24) +GGRC12H3S,PRA0001,Winter 2026,TH,11:00,12:00,Available onACORN,17,30,False,IN_PERSON,, +GGRC15H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,5,15,True,IN_PERSON,"Brauen, G.", +GGRC15H3S,PRA0001,Winter 2026,TU,15:00,16:00,Available on ACORN,5,15,False,IN_PERSON,, +GGRC24H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,24,40,True,IN_PERSON,"Ekers, M.", +GGRC28H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,44,60,True,IN_PERSON,"Latulippe, N.", +GGRC31H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,57,60,True,IN_PERSON,"Su, X.", +GGRC32H3S,LEC01,Winter 2026,WE,10:00,12:00,Available on ACORN,23,40,True,IN_PERSON,"Akbari, K.", +GGRC32H3S,PRA0001,Winter 2026,WE,12:00,13:00,Available on ACORN,21,24,False,IN_PERSON,, +GGRC43H3S,LEC01,Winter 2026,MO,14:00,17:00,Available on ACORN,11,13,True,IN_PERSON,"MacDonald, K.", +GGRC44H3S,LEC01,Winter 2026,TU,17:00,19:00,Available on ACORN,67,80,True,IN_PERSON,"Burton, W.", +GGRD01H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +GGRD09H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,9,20,True,IN_PERSON,"Mollett, S.", +GGRD15H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,12,20,True,IN_PERSON,"Gagliardi, M.", +GGRD30H3S,LEC01,Winter 2026,MO,11:00,14:00,Available on ACORN,13,20,True,IN_PERSON,"Brauen, G.", +GGRD31H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +GGRD49H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,11,20,True,IN_PERSON,"Goffe, R.", +HISA05H3S,LEC01,Winter 2026,WE,12:00,14:00,Available onACORN,108,200,True,IN_PERSON,"Riddell,W.", +HISA05H3S,TUT0001,Winter 2026,WE,19:00,20:00,Available onACORN,13,20,False,IN_PERSON,, +HISA05H3S,TUT0002,Winter 2026,WE,15:00,16:00,Available onACORN,18,20,False,IN_PERSON,, +HISA05H3S,TUT0003,Winter 2026,WE,16:00,17:00,Available onACORN,15,20,False,IN_PERSON,, +HISA05H3S,TUT0004,Winter 2026,WE,19:00,20:00,Available onACORN,14,21,False,IN_PERSON,, +HISA05H3S,TUT0005,Winter 2026,WE,15:00,16:00,Available onACORN,16,21,False,IN_PERSON,, +HISA05H3S,TUT0006,Winter 2026,WE,16:00,17:00,Available onACORN,17,21,False,IN_PERSON,, +HISA05H3S,TUT0008,Winter 2026,FR,11:00,12:00,Available onACORN,13,21,False,IN_PERSON,,Room change(16/10/23) +HISB03H3S,LEC01,Winter 2026,MO,10:00,11:00,Available on ACORN,22,25,True,IN_PERSON,"Riddell, W.", +HISB03H3S,LEC01,Winter 2026,WE,10:00,11:00,Available on ACORN,22,25,True,IN_PERSON,"Riddell, W.", +HISB11H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,52,74,True,IN_PERSON,"Blouin, K.", +HISB40H3S,LEC01,Winter 2026,MO,12:00,14:00,Available onACORN,55,75,True,IN_PERSON,"Hastings,P.", +HISB40H3S,TUT0001,Winter 2026,MO,14:00,15:00,Available onACORN,23,25,False,IN_PERSON,, +HISB40H3S,TUT0002,Winter 2026,MO,15:00,16:00,Available onACORN,22,25,False,IN_PERSON,,Room change(06/09/23) +HISB40H3S,TUT0003,Winter 2026,MO,16:00,17:00,Available onACORN,10,25,False,IN_PERSON,, +HISB52H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,5,20,True,IN_PERSON,"Callebert, R.", +HISB52H3S,TUT0001,Winter 2026,TU,17:00,18:00,Available on ACORN,5,10,False,IN_PERSON,, +HISB58H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,27,31,True,IN_PERSON,"Chen, L.", +HISB58H3S,TUT0001,Winter 2026,TU,16:00,17:00,Available on ACORN,10,10,False,IN_PERSON,, +HISB58H3S,TUT0002,Winter 2026,TU,19:00,20:00,Available on ACORN,6,8,False,IN_PERSON,, +HISB58H3S,TUT0003,Winter 2026,TU,20:00,21:00,Available on ACORN,3,3,False,IN_PERSON,, +HISB58H3S,TUT0004,Winter 2026,TU,17:00,18:00,Available on ACORN,8,10,False,IN_PERSON,, +HISB64H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,44,60,True,IN_PERSON,"Fergani, D.", +HISB64H3S,TUT0001,Winter 2026,MO,15:00,16:00,Available on ACORN,16,20,False,IN_PERSON,, +HISB64H3S,TUT0002,Winter 2026,MO,16:00,17:00,Available on ACORN,17,20,False,IN_PERSON,, +HISB64H3S,TUT0003,Winter 2026,TU,19:00,20:00,Available on ACORN,11,20,False,IN_PERSON,, +HISB93H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,52,60,True,IN_PERSON,"Arthurs, J.", +HISB93H3S,TUT0001,Winter 2026,FR,11:00,12:00,Available on ACORN,19,20,False,IN_PERSON,, +HISB93H3S,TUT0002,Winter 2026,FR,10:00,11:00,Available on ACORN,18,20,False,IN_PERSON,, +HISB93H3S,TUT0003,Winter 2026,FR,09:00,10:00,Available on ACORN,15,20,False,IN_PERSON,, +HISC01H3S,LEC01,Winter 2026,TU,13:00,15:00,Available onACORN,18,40,True,IN_PERSON,"deSouza,S.",Room change -07/24/23 +HISC05H3S,LEC01,Winter 2026,TH,11:00,13:00,Available onACORN,15,20,True,IN_PERSON,"Vercillo, S.",Room change01/08/24 +HISC05H3S,TUT0001,Winter 2026,TH,15:00,16:30,Available onACORN,10,10,False,IN_PERSON,, +HISC05H3S,TUT0002,Winter 2026,TH,17:00,18:30,Available onACORN,5,10,False,IN_PERSON,, +HISC07H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,3,50,True,IN_PERSON,"Price, M.", +HISC16H3S,LEC01,Winter 2026,TH,09:00,11:00,Available onACORN,10,20,True,IN_PERSON,"Blouin, K.",Time change(2/11/23) +HISC20H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,41,50,True,IN_PERSON,"Arthurs, J.", +HISC26H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,29,50,True,IN_PERSON,"Nelson IV, W.", +HISC36H3S,LEC01,Winter 2026,MO,11:00,12:00,Available on ACORN,19,40,True,IN_PERSON,"Kazal, R.", +HISC36H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,19,40,True,IN_PERSON,"Kazal, R.", +HISC36H3S,TUT0001,Winter 2026,WE,13:00,14:00,Available on ACORN,14,20,False,IN_PERSON,, +HISC36H3S,TUT0002,Winter 2026,WE,14:00,15:00,Available on ACORN,3,20,False,IN_PERSON,, +HISC51H3S,LEC01,Winter 2026,TH,15:00,17:00,Available on ACORN,15,19,True,IN_PERSON,"Grewal, A.", +HISC55H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,13,25,True,IN_PERSON,"Rockel, S.", +HISD01H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +HISD02H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +HISD31H3S,LEC01,Winter 2026,MO,15:00,17:00,Available on ACORN,8,15,True,IN_PERSON,"Kazal, R.", +HISD54H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,6,6,True,IN_PERSON,"Raman, B.", +HISD55H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,5,5,True,IN_PERSON,"Elhalaby, E.", +HISD69H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,12,12,True,IN_PERSON,"Dost, S.", +HLTA03H3S,LEC01,Winter 2026,TH,14:00,16:00,Available onACORN,350,400,True,IN_PERSON,"Wong, C.", +HLTA03H3S,TUT0001,Winter 2026,TH,17:00,18:00,Available onACORN,35,34,False,IN_PERSON,, +HLTA03H3S,TUT0002,Winter 2026,TH,17:00,18:00,Available onACORN,32,34,False,IN_PERSON,, +HLTA03H3S,TUT0003,Winter 2026,TH,18:00,19:00,Available onACORN,31,34,False,IN_PERSON,, +HLTA03H3S,TUT0004,Winter 2026,TH,18:00,19:00,Available onACORN,31,34,False,IN_PERSON,, +HLTA03H3S,TUT0005,Winter 2026,TH,19:00,20:00,Available onACORN,33,34,False,IN_PERSON,, +HLTA03H3S,TUT0006,Winter 2026,TH,19:00,20:00,Available onACORN,30,34,False,IN_PERSON,, +HLTA03H3S,TUT0007,Winter 2026,TH,20:00,21:00,Available onACORN,25,34,False,IN_PERSON,, +HLTA03H3S,TUT0008,Winter 2026,TH,20:00,21:00,Available onACORN,7,30,False,IN_PERSON,, +HLTA03H3S,TUT0009,Winter 2026,FR,11:00,12:00,Available onACORN,33,34,False,IN_PERSON,, +HLTA03H3S,TUT0010,Winter 2026,FR,12:00,13:00,Available onACORN,32,34,False,IN_PERSON,,Room change08/15/23 +HLTA03H3S,TUT0011,Winter 2026,FR,13:00,14:00,Available onACORN,31,34,False,IN_PERSON,, +HLTA03H3S,TUT0012,Winter 2026,FR,14:00,15:00,Available onACORN,29,30,False,IN_PERSON,, +HLTA91H3S,LEC01,Winter 2026,TU,17:00,20:00,Available on ACORN,26,25,True,IN_PERSON,"Yousaf, A.", +HLTB15H3S,LEC01,Winter 2026,TU,17:00,19:00,Available onACORN,230,240,True,IN_PERSON,"Butler, S.", +HLTB15H3S,TUT0001,Winter 2026,WE,09:00,10:00,Available onACORN,27,30,False,IN_PERSON,, +HLTB15H3S,TUT0002,Winter 2026,WE,09:00,10:00,Available onACORN,27,30,False,IN_PERSON,, +HLTB15H3S,TUT0003,Winter 2026,WE,10:00,11:00,Available onACORN,28,30,False,IN_PERSON,, +HLTB15H3S,TUT0004,Winter 2026,WE,10:00,11:00,Available onACORN,28,30,False,IN_PERSON,, +HLTB15H3S,TUT0005,Winter 2026,FR,11:00,12:00,Available onACORN,29,30,False,IN_PERSON,, +HLTB15H3S,TUT0006,Winter 2026,FR,11:00,12:00,Available onACORN,32,30,False,IN_PERSON,, +HLTB15H3S,TUT0007,Winter 2026,FR,12:00,13:00,Available onACORN,29,30,False,IN_PERSON,,Room change(12/10/23) +HLTB15H3S,TUT0008,Winter 2026,FR,12:00,13:00,Available onACORN,29,30,False,IN_PERSON,,Room change08/15/23 +HLTB22H3S,LEC01,Winter 2026,TH,09:00,11:00,Available onACORN,196,240,True,IN_PERSON,"Colaco, K.", +HLTB22H3S,TUT0001,Winter 2026,FR,09:00,10:00,Available onACORN,26,30,False,IN_PERSON,, +HLTB22H3S,TUT0002,Winter 2026,FR,09:00,10:00,Available onACORN,14,30,False,IN_PERSON,, +HLTB22H3S,TUT0003,Winter 2026,FR,10:00,11:00,Available onACORN,25,30,False,IN_PERSON,, +HLTB22H3S,TUT0004,Winter 2026,FR,10:00,11:00,Available onACORN,23,30,False,IN_PERSON,, +HLTB22H3S,TUT0005,Winter 2026,FR,11:00,12:00,Available onACORN,30,30,False,IN_PERSON,, +HLTB22H3S,TUT0006,Winter 2026,FR,11:00,12:00,Available onACORN,28,30,False,IN_PERSON,,Room change08/15/23 +HLTB22H3S,TUT0007,Winter 2026,FR,12:00,13:00,Available onACORN,21,30,False,IN_PERSON,, +HLTB22H3S,TUT0008,Winter 2026,FR,12:00,13:00,Available onACORN,29,30,False,IN_PERSON,, +HLTB22H3S,TUT0009,Winter 2026,FR,13:00,14:00,Available onACORN,0,30,False,IN_PERSON,, +HLTB22H3S,TUT0010,Winter 2026,FR,14:00,15:00,Available onACORN,0,30,False,IN_PERSON,, +HLTB41H3S,LEC01,Winter 2026,TH,12:00,14:00,Available on ACORN,172,300,True,IN_PERSON,"Massaquoi, N.", +HLTB41H3S,TUT0001,Winter 2026,TH,20:00,21:00,Available on ACORN,0,33,False,IN_PERSON,, +HLTB41H3S,TUT0002,Winter 2026,TH,16:00,17:00,Available on ACORN,30,33,False,IN_PERSON,, +HLTB41H3S,TUT0003,Winter 2026,TH,16:00,17:00,Available on ACORN,34,33,False,IN_PERSON,, +HLTB41H3S,TUT0004,Winter 2026,TH,20:00,21:00,Available on ACORN,0,30,False,IN_PERSON,, +HLTB41H3S,TUT0005,Winter 2026,TH,17:00,18:00,Available on ACORN,32,33,False,IN_PERSON,, +HLTB41H3S,TUT0006,Winter 2026,TH,17:00,18:00,Available on ACORN,27,33,False,IN_PERSON,, +HLTB41H3S,TUT0007,Winter 2026,TH,18:00,19:00,Available on ACORN,25,33,False,IN_PERSON,, +HLTB41H3S,TUT0008,Winter 2026,TH,18:00,19:00,Available on ACORN,23,33,False,IN_PERSON,, +HLTB42H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,84,120,True,IN_PERSON,"Perri, M.", +HLTB42H3S,TUT0001,Winter 2026,FR,10:00,11:00,Available on ACORN,24,32,False,IN_PERSON,, +HLTB42H3S,TUT0002,Winter 2026,FR,11:00,12:00,Available on ACORN,25,32,False,IN_PERSON,, +HLTB42H3S,TUT0003,Winter 2026,FR,12:00,13:00,Available on ACORN,11,32,False,IN_PERSON,, +HLTB42H3S,TUT0004,Winter 2026,FR,13:00,14:00,Available on ACORN,23,32,False,IN_PERSON,, +HLTB42H3S,TUT0005,Winter 2026,FR,14:00,15:00,Available on ACORN,0,32,False,IN_PERSON,, +HLTC16H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,73,80,True,IN_PERSON,"Schlueter, D.", +HLTC20H3S,LEC01,Winter 2026,TH,15:00,17:00,Available onACORN,26,30,True,,"Nair, A.",Delivery change(21/11/23) +HLTC22H3S,LEC01,Winter 2026,TH,15:00,17:00,Available on ACORN,119,135,True,IN_PERSON,"Colaco, K.", +HLTC25H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,49,80,True,IN_PERSON,"Wong, C.", +HLTC26H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,55,60,True,IN_PERSON,"Ahmed, S.", +HLTC27H3S,LEC01,Winter 2026,WE,10:00,12:00,Available on ACORN,47,60,True,IN_PERSON,"Schlueter, D.", +HLTC27H3S,LEC02,Winter 2026,TH,17:00,19:00,Available on ACORN,40,60,True,IN_PERSON,"Schlueter, D.", +HLTC27H3S,TUT0001,Winter 2026,FR,12:00,13:00,Available on ACORN,28,30,False,IN_PERSON,, +HLTC27H3S,TUT0002,Winter 2026,FR,14:00,15:00,Available on ACORN,18,30,False,IN_PERSON,, +HLTC27H3S,TUT0003,Winter 2026,TH,19:00,20:00,Available on ACORN,27,30,False,IN_PERSON,, +HLTC27H3S,TUT0004,Winter 2026,TH,20:00,21:00,Available on ACORN,13,30,False,IN_PERSON,, +HLTC43H3S,LEC01,Winter 2026,MO,09:00,11:00,Available on ACORN,30,60,True,IN_PERSON,"Bytautas, J.", +HLTC44H3S,LEC01,Winter 2026,FR,10:00,12:00,Available onACORN,25,50,True,IN_PERSON,"GalvezHernandez, P.",Room change(08/11/23) +HLTC47H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,3,40,True,IN_PERSON,"Bisaillon, L.", +HLTC52H3S,LEC01,Winter 2026,TH,09:00,11:00,Available onACORN,27,30,True,IN_PERSON,"Lalani, M.",Room change(18/01/24) +HLTC55H3S,LEC01,Winter 2026,TU,14:00,16:00,Available on ACORN,45,50,True,IN_PERSON,"Charise, A.", +HLTC60H3S,LEC01,Winter 2026,TU,12:00,14:00,Available onACORN,43,60,True,,"Nair, A.",Delivery change(21/11/23) +HLTD01H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +HLTD07H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,21,25,True,IN_PERSON,"Parsons, J.", +HLTD18H3S,LEC01,Winter 2026,TU,11:00,14:00,Available onACORN,5,25,True,IN_PERSON,"Carneiro, K./ Manolson,M.", +HLTD22H3S,LEC01,Winter 2026,FR,09:00,11:00,Available on ACORN,24,25,True,IN_PERSON,"Drakes, S.", +HLTD23H3S,LEC01,Winter 2026,TH,15:00,17:00,Available on ACORN,3,25,True,IN_PERSON,"Benoit, A.", +HLTD25H3S,LEC01,Winter 2026,TU,09:00,12:00,Available on ACORN,3,25,True,IN_PERSON,"Tsuji, L.", +HLTD47H3S,LEC01,Winter 2026,TH,14:00,17:00,Available on ACORN,6,25,True,IN_PERSON,"Gebremikael, L.", +HLTD51H3S,LEC01,Winter 2026,WE,14:00,16:00,Available on ACORN,17,25,True,IN_PERSON,"Charise, A.", +HLTD52H3S,LEC01,Winter 2026,WE,11:00,13:00,Available onACORN,30,25,True,,"Nair, A.",Delivery change(21/11/23) +HLTD71Y3Y,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +HLTD80H3S,LEC01,Winter 2026,TU,12:00,14:00,Available on ACORN,22,25,True,IN_PERSON,"Antabe, R.", +HLTD81H3S,LEC01,Winter 2026,FR,12:00,14:00,Available on ACORN,7,25,True,IN_PERSON,"Tavares, W.", +IDSA02H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,33,40,True,IN_PERSON,"Von Lieres, B.", +IDSB02H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,147,175,True,IN_PERSON,"Isaac, M.", +IDSB06H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,72,80,True,IN_PERSON,"Torres-Ruiz, A.", +IDSB07H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,75,80,True,IN_PERSON,"Wai, Z.", +IDSC01H3S,LEC01,Winter 2026,FR,11:00,14:00,Available on ACORN,10,20,True,IN_PERSON,"Von Lieres, B.", +IDSC03H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,13,25,True,IN_PERSON,"Ilmi, A.", +IDSC07H3S,LEC01,Winter 2026,TH,18:00,20:00,Available onACORN,17,60,True,IN_PERSON,"Soyalp Gulcugil,I.", +IDSC08H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,40,40,True,IN_PERSON,"Chan, L.", +IDSC11H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,23,40,True,IN_PERSON,"Torres-Ruiz, A.", +IDSC13H3S,LEC01,Winter 2026,TH,12:00,14:00,Available on ACORN,11,40,True,IN_PERSON,"Kingston, P.", +IDSD02H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,22,25,True,IN_PERSON,"Von Lieres, B.", +IDSD07H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,13,15,True,IN_PERSON,"Ilmi, A.", +IDSD08H3S,LEC01,Winter 2026,TH,09:00,12:00,Available onACORN,19,20,True,IN_PERSON,"Chan, L.",Time/room change07/27/23 +IDSD14H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +IDSD15H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +JOUA02H3S,LEC01,Winter 2026,TU,10:00,12:00,Available on ACORN,65,86,True,IN_PERSON,"Burchell, K.", +JOUB02H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,45,56,True,IN_PERSON,"Yu, S.", +JOUB05H3S,LEC01,Winter 2026,,,,Available onACORN,16,20,True,IN_PERSON,CENTENNIAL,See Centennial timetable forday/time/room information +JOUB20H3S,LEC01,Winter 2026,,,,Available onACORN,16,20,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +JOUB24H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,56,60,True,IN_PERSON,"Burchell, K.", +JOUC18H3S,LEC01,Winter 2026,,,,Available onACORN,16,20,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +JOUC19H3S,LEC01,Winter 2026,,,,Available onACORN,16,20,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +JOUC20H3S,LEC01,Winter 2026,,,,Available onACORN,16,20,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +JOUC30H3S,LEC01,Winter 2026,TU,11:00,13:00,Available onACORN,19,30,True,IN_PERSON,"McLeod,M.",Room change(20/06/23) +JOUC60H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,9,11,True,IN_PERSON,"Yu, S.", +JOUC62H3S,LEC01,Winter 2026,TU,19:00,21:00,Available on ACORN,1,3,True,IN_PERSON,"Visan, L.", +JOUC63H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,9,10,True,IN_PERSON,"Cudjoe, J.", +JOUD10H3S,LEC01,Winter 2026,TU,14:00,17:00,Available onACORN,14,15,True,IN_PERSON,"Lourenco, D./Roderique, H.", +LGGA12H3S,LEC01,Winter 2026,TU,13:00,14:00,Available on ACORN,29,30,True,IN_PERSON,"Back, U.", +LGGA12H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,29,30,True,IN_PERSON,"Back, U.", +LGGA61H3S,LEC01,Winter 2026,MO,09:00,12:00,Available on ACORN,17,30,True,IN_PERSON,"Wang, R.", +LGGA75H3S,LEC01,Winter 2026,TH,17:00,20:00,Available on ACORN,12,30,True,IN_PERSON,"Kulamohan, K.", +LGGB61H3S,LEC01,Winter 2026,TU,10:00,13:00,Available on ACORN,18,30,True,IN_PERSON,"Wang, R.", +LGGC65H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,29,30,True,IN_PERSON,"Ma, J.", +LGGC65H3S,LEC02,Winter 2026,MO,15:00,17:00,Available on ACORN,29,30,True,IN_PERSON,"Ma, J.", +LINA02H3S,LEC01,Winter 2026,MO,12:00,14:00,Available onACORN,266,300,True,IN_PERSON,"Moghaddam,S.", +LINA02H3S,TUT0001,Winter 2026,,,,Available onACORN,33,40,False,,, +LINA02H3S,TUT0002,Winter 2026,,,,Available onACORN,34,40,False,,, +LINA02H3S,TUT0003,Winter 2026,,,,Available onACORN,35,40,False,,, +LINA02H3S,TUT0004,Winter 2026,,,,Available onACORN,34,40,False,,, +LINA02H3S,TUT0005,Winter 2026,,,,Available onACORN,33,40,False,,, +LINA02H3S,TUT0006,Winter 2026,,,,Available onACORN,35,40,False,,, +LINA02H3S,TUT0007,Winter 2026,,,,Available onACORN,34,40,False,,, +LINA02H3S,TUT0008,Winter 2026,,,,Available onACORN,28,40,False,,, +LINB04H3S,LEC01,Winter 2026,MO,09:00,11:00,Available on ACORN,96,130,True,IN_PERSON,"Kang, Y.", +LINB04H3S,TUT0001,Winter 2026,WE,11:00,12:00,Available on ACORN,17,33,False,IN_PERSON,, +LINB04H3S,TUT0002,Winter 2026,WE,12:00,13:00,Available on ACORN,28,33,False,IN_PERSON,, +LINB04H3S,TUT0003,Winter 2026,WE,15:00,16:00,Available on ACORN,25,33,False,ONLINE_SYNCHRONOUS,, +LINB04H3S,TUT0004,Winter 2026,WE,14:00,15:00,Available on ACORN,26,33,False,ONLINE_SYNCHRONOUS,, +LINB10H3S,LEC01,Winter 2026,FR,10:00,12:00,Available on ACORN,90,120,True,IN_PERSON,"Kosogorova, M.", +LINB18H3S,LEC01,Winter 2026,,,,Available on ACORN,369,300,True,ONLINE_ASYNCHRONOUS,"Moghaddam, S.", +LINB18H3S,TUT0001,Winter 2026,,,,Available on ACORN,42,45,False,ONLINE_ASYNCHRONOUS,, +LINB18H3S,TUT0002,Winter 2026,,,,Available on ACORN,43,45,False,ONLINE_ASYNCHRONOUS,, +LINB18H3S,TUT0003,Winter 2026,,,,Available on ACORN,42,45,False,ONLINE_ASYNCHRONOUS,, +LINB18H3S,TUT0004,Winter 2026,,,,Available on ACORN,42,45,False,ONLINE_ASYNCHRONOUS,, +LINB18H3S,TUT0005,Winter 2026,,,,Available on ACORN,42,45,False,ONLINE_ASYNCHRONOUS,, +LINB18H3S,TUT0006,Winter 2026,,,,Available on ACORN,40,45,False,ONLINE_ASYNCHRONOUS,, +LINB18H3S,TUT0007,Winter 2026,,,,Available on ACORN,43,45,False,ONLINE_ASYNCHRONOUS,, +LINB18H3S,TUT0008,Winter 2026,,,,Available on ACORN,41,45,False,ONLINE_ASYNCHRONOUS,, +LINB18H3S,TUT0009,Winter 2026,,,,Available on ACORN,34,45,False,ONLINE_ASYNCHRONOUS,, +LINB29H3S,LEC01,Winter 2026,MO,11:00,14:00,Available on ACORN,36,35,True,IN_PERSON,"Clare, E.", +LINB35H3S,LEC01,Winter 2026,TU,09:00,11:00,Available onACORN,11,80,True,IN_PERSON,"Bhattasali,S.", +LINB35H3S,TUT0003,Winter 2026,TH,10:00,11:00,Available onACORN,10,27,False,IN_PERSON,,Time change(23/11/23) +LINB60H3S,LEC01,Winter 2026,TU,14:00,16:00,Available on ACORN,57,60,True,IN_PERSON,"Wang, R.", +LINB62H3S,LEC01,Winter 2026,FR,12:00,15:00,Available on ACORN,22,25,True,IN_PERSON,"Pizzacalla, M.", +LINB62H3S,LEC02,Winter 2026,TU,18:00,21:00,Available on ACORN,21,25,True,IN_PERSON,"Pizzacalla, M.", +LINB98H3S,LEC01,Winter 2026,,,,Available on ACORN,0,10,True,IN_PERSON,FACULTY, +LINC02H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,31,40,True,IN_PERSON,"Coutsougera, P.", +LINC10H3S,LEC01,Winter 2026,WE,11:00,13:00,Available onACORN,35,40,True,IN_PERSON,"Milway, D.",Room change(21/11/23) +LINC11H3S,LEC01,Winter 2026,TH,13:00,16:00,Available on ACORN,57,60,True,IN_PERSON,"Taghipour, S.", +LIND01H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +LIND02H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +LIND03H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +LIND11H3S,LEC01,Winter 2026,MO,15:00,17:00,Available on ACORN,26,30,True,IN_PERSON,"Umana, B.", +MATA02H3S,LEC01,Winter 2026,MO,09:00,10:00,Available on ACORN,176,210,True,IN_PERSON,"Chrysostomou, S.", +MATA02H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,176,210,True,IN_PERSON,"Chrysostomou, S.", +MATA02H3S,TUT0001,Winter 2026,TU,19:00,20:00,Available on ACORN,25,35,False,IN_PERSON,, +MATA02H3S,TUT0002,Winter 2026,FR,09:00,10:00,Available on ACORN,27,35,False,IN_PERSON,, +MATA02H3S,TUT0003,Winter 2026,TH,18:00,19:00,Available on ACORN,31,35,False,IN_PERSON,, +MATA02H3S,TUT0004,Winter 2026,FR,14:00,15:00,Available on ACORN,34,35,False,IN_PERSON,, +MATA02H3S,TUT0005,Winter 2026,FR,09:00,10:00,Available on ACORN,28,35,False,IN_PERSON,, +MATA02H3S,TUT0006,Winter 2026,FR,14:00,15:00,Available on ACORN,31,35,False,IN_PERSON,, +MATA22H3S,LEC01,Winter 2026,TU,08:00,10:00,Available onACORN,163,350,True,IN_PERSON,"Kielstra, I.", +MATA22H3S,LEC01,Winter 2026,FR,08:00,09:00,Available onACORN,163,350,True,IN_PERSON,"Kielstra, I.", +MATA22H3S,LEC02,Winter 2026,WE,09:00,10:00,Available onACORN,282,350,True,IN_PERSON,"Kielstra, I.", +MATA22H3S,LEC02,Winter 2026,FR,11:00,13:00,Available onACORN,282,350,True,IN_PERSON,"Kielstra, I.", +MATA22H3S,LEC03,Winter 2026,WE,15:00,17:00,Available onACORN,168,207,True,IN_PERSON,"Kielstra, I.", +MATA22H3S,LEC03,Winter 2026,FR,13:00,14:00,Available onACORN,168,207,True,IN_PERSON,"Kielstra, I.", +MATA22H3S,TUT0001,Winter 2026,TH,19:00,21:00,Available onACORN,25,34,False,IN_PERSON,, +MATA22H3S,TUT0002,Winter 2026,FR,13:00,15:00,Available onACORN,24,34,False,IN_PERSON,,Room change(20/06/23) +MATA22H3S,TUT0003,Winter 2026,WE,19:00,21:00,Available onACORN,17,34,False,IN_PERSON,,Room change(16/01/24) +MATA22H3S,TUT0004,Winter 2026,TH,17:00,19:00,Available onACORN,29,34,False,IN_PERSON,, +MATA22H3S,TUT0005,Winter 2026,TU,17:00,19:00,Available onACORN,30,34,False,IN_PERSON,, +MATA22H3S,TUT0006,Winter 2026,FR,09:00,11:00,Available onACORN,26,34,False,IN_PERSON,, +MATA22H3S,TUT0007,Winter 2026,TH,15:00,17:00,Available onACORN,31,34,False,IN_PERSON,, +MATA22H3S,TUT0008,Winter 2026,FR,13:00,15:00,Available onACORN,26,34,False,IN_PERSON,, +MATA22H3S,TUT0009,Winter 2026,WE,19:00,21:00,Available onACORN,22,34,False,IN_PERSON,, +MATA22H3S,TUT0010,Winter 2026,MO,19:00,21:00,Available onACORN,19,34,False,IN_PERSON,, +MATA22H3S,TUT0011,Winter 2026,WE,19:00,21:00,Available onACORN,19,34,False,IN_PERSON,, +MATA22H3S,TUT0012,Winter 2026,TU,17:00,19:00,Available onACORN,24,34,False,IN_PERSON,,Room change(16/01/24) +MATA22H3S,TUT0013,Winter 2026,FR,09:00,11:00,Available onACORN,24,34,False,IN_PERSON,, +MATA22H3S,TUT0014,Winter 2026,TH,09:00,11:00,Available onACORN,26,34,False,IN_PERSON,, +MATA22H3S,TUT0015,Winter 2026,MO,09:00,11:00,Available onACORN,22,34,False,IN_PERSON,, +MATA22H3S,TUT0016,Winter 2026,WE,13:00,15:00,Available onACORN,31,34,False,IN_PERSON,, +MATA22H3S,TUT0017,Winter 2026,TH,15:00,17:00,Available onACORN,29,34,False,IN_PERSON,, +MATA22H3S,TUT0018,Winter 2026,FR,13:00,15:00,Available onACORN,26,34,False,IN_PERSON,, +MATA22H3S,TUT0019,Winter 2026,MO,19:00,21:00,Available onACORN,15,34,False,IN_PERSON,, +MATA22H3S,TUT0020,Winter 2026,WE,19:00,21:00,Available onACORN,24,34,False,IN_PERSON,,Room change(03/01/24) +MATA22H3S,TUT0021,Winter 2026,TH,19:00,21:00,Available onACORN,25,34,False,IN_PERSON,, +MATA22H3S,TUT0022,Winter 2026,TU,17:00,19:00,Available onACORN,21,34,False,IN_PERSON,, +MATA22H3S,TUT0023,Winter 2026,FR,09:00,11:00,Available onACORN,24,34,False,IN_PERSON,, +MATA22H3S,TUT0024,Winter 2026,TU,09:00,11:00,Available onACORN,25,34,False,IN_PERSON,, +MATA22H3S,TUT0025,Winter 2026,FR,13:00,15:00,Available onACORN,28,34,False,IN_PERSON,, +MATA23H3S,LEC01,Winter 2026,TU,12:00,14:00,Available onACORN,125,234,True,IN_PERSON,"Breuss, N.", +MATA23H3S,LEC01,Winter 2026,TH,13:00,14:00,Available onACORN,125,234,True,IN_PERSON,"Breuss, N.", +MATA23H3S,TUT0001,Winter 2026,MO,20:00,21:00,Available onACORN,13,33,False,IN_PERSON,, +MATA23H3S,TUT0002,Winter 2026,MO,19:00,20:00,Available onACORN,26,33,False,IN_PERSON,, +MATA23H3S,TUT0003,Winter 2026,WE,19:00,20:00,Available onACORN,26,33,False,IN_PERSON,, +MATA23H3S,TUT0004,Winter 2026,MO,09:00,10:00,Available onACORN,11,33,False,IN_PERSON,, +MATA23H3S,TUT0005,Winter 2026,FR,09:00,10:00,Available onACORN,23,33,False,IN_PERSON,,Room change(15/11/23) +MATA23H3S,TUT0006,Winter 2026,TU,15:00,16:00,Available onACORN,26,30,False,IN_PERSON,, +MATA29H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,80,120,True,IN_PERSON,"Sharma, S.", +MATA29H3S,LEC01,Winter 2026,TH,12:00,13:00,Available on ACORN,80,120,True,IN_PERSON,"Sharma, S.", +MATA29H3S,TUT0001,Winter 2026,MO,19:00,21:00,Available on ACORN,25,33,False,IN_PERSON,, +MATA29H3S,TUT0002,Winter 2026,TU,09:00,11:00,Available on ACORN,17,33,False,IN_PERSON,, +MATA29H3S,TUT0003,Winter 2026,TH,15:00,17:00,Available on ACORN,22,33,False,IN_PERSON,, +MATA29H3S,TUT0004,Winter 2026,WE,19:00,21:00,Available on ACORN,15,33,False,IN_PERSON,, +MATA30H3S,LEC01,Winter 2026,TU,09:00,10:00,Available on ACORN,86,120,True,IN_PERSON,"Sharma, S.", +MATA30H3S,LEC01,Winter 2026,TH,08:00,10:00,Available on ACORN,86,120,True,IN_PERSON,"Sharma, S.", +MATA30H3S,TUT0001,Winter 2026,MO,09:00,11:00,Available on ACORN,27,35,False,IN_PERSON,, +MATA30H3S,TUT0003,Winter 2026,TH,15:00,17:00,Available on ACORN,26,35,False,IN_PERSON,, +MATA30H3S,TUT0004,Winter 2026,FR,11:00,13:00,Available on ACORN,29,35,False,IN_PERSON,, +MATA31H3S,LEC01,Winter 2026,WE,13:00,15:00,Available onACORN,56,86,True,IN_PERSON,"Balchev, S.",Time/date/room change(08/12/23) +MATA31H3S,LEC01,Winter 2026,TH,14:00,15:00,Available onACORN,56,86,True,IN_PERSON,"Balchev, S.",Time/date/room change(08/12/23) +MATA31H3S,TUT0001,Winter 2026,WE,19:00,21:00,Available onACORN,25,33,False,IN_PERSON,, +MATA31H3S,TUT0002,Winter 2026,TH,19:00,21:00,Available onACORN,12,33,False,IN_PERSON,, +MATA31H3S,TUT0003,Winter 2026,TU,17:00,19:00,Available onACORN,19,33,False,IN_PERSON,, +MATA34H3S,LEC01,Winter 2026,MO,08:00,09:00,Available onACORN,146,200,True,IN_PERSON,"Grinnell,R.", +MATA34H3S,LEC01,Winter 2026,FR,08:00,10:00,Available onACORN,146,200,True,IN_PERSON,"Grinnell,R.", +MATA34H3S,LEC02,Winter 2026,TU,12:00,13:00,Available onACORN,198,234,True,IN_PERSON,"Grinnell,R.", +MATA34H3S,LEC02,Winter 2026,TH,15:00,17:00,Available onACORN,198,234,True,IN_PERSON,"Grinnell,R.", +MATA34H3S,TUT0001,Winter 2026,MO,09:00,10:00,Available onACORN,20,34,False,IN_PERSON,, +MATA34H3S,TUT0002,Winter 2026,TH,19:00,20:00,Available onACORN,28,34,False,IN_PERSON,, +MATA34H3S,TUT0003,Winter 2026,MO,19:00,20:00,Available onACORN,12,34,False,IN_PERSON,, +MATA34H3S,TUT0004,Winter 2026,WE,19:00,20:00,Available onACORN,27,34,False,IN_PERSON,, +MATA34H3S,TUT0005,Winter 2026,TU,17:00,18:00,Available onACORN,31,34,False,IN_PERSON,, +MATA34H3S,TUT0006,Winter 2026,TH,18:00,19:00,Available onACORN,30,34,False,IN_PERSON,, +MATA34H3S,TUT0007,Winter 2026,TH,17:00,18:00,Available onACORN,30,34,False,IN_PERSON,, +MATA34H3S,TUT0008,Winter 2026,TU,18:00,19:00,Available onACORN,28,34,False,IN_PERSON,, +MATA34H3S,TUT0009,Winter 2026,MO,16:00,17:00,Available onACORN,30,34,False,IN_PERSON,, +MATA34H3S,TUT0010,Winter 2026,FR,14:00,15:00,Available onACORN,30,34,False,IN_PERSON,, +MATA34H3S,TUT0011,Winter 2026,MO,09:00,10:00,Available onACORN,23,34,False,IN_PERSON,, +MATA34H3S,TUT0012,Winter 2026,TH,09:00,10:00,Available onACORN,28,34,False,IN_PERSON,,Room change12/01/24 +MATA34H3S,TUT0013,Winter 2026,WE,12:00,13:00,Available onACORN,26,34,False,IN_PERSON,, +MATA35H3S,LEC01,Winter 2026,MO,08:00,10:00,Available onACORN,178,315,True,IN_PERSON,"Ye, K.", +MATA35H3S,LEC01,Winter 2026,TH,08:00,09:00,Available onACORN,178,315,True,IN_PERSON,"Ye, K.", +MATA35H3S,TUT0001,Winter 2026,TH,11:00,12:00,Available onACORN,25,34,False,IN_PERSON,, +MATA35H3S,TUT0002,Winter 2026,FR,13:00,14:00,Available onACORN,24,34,False,IN_PERSON,,Room change(05/07/23) +MATA35H3S,TUT0003,Winter 2026,TU,15:00,16:00,Available onACORN,19,34,False,IN_PERSON,, +MATA35H3S,TUT0004,Winter 2026,TU,18:00,19:00,Available onACORN,15,34,False,IN_PERSON,, +MATA35H3S,TUT0005,Winter 2026,TU,17:00,18:00,Available onACORN,22,34,False,IN_PERSON,, +MATA35H3S,TUT0006,Winter 2026,FR,14:00,15:00,Available onACORN,18,34,False,IN_PERSON,, +MATA35H3S,TUT0007,Winter 2026,FR,09:00,10:00,Available onACORN,25,34,False,IN_PERSON,, +MATA35H3S,TUT0008,Winter 2026,TH,09:00,10:00,Available onACORN,29,34,False,IN_PERSON,, +MATA36H3S,LEC01,Winter 2026,MO,08:00,10:00,Available onACORN,241,320,True,IN_PERSON,"Cavers, M.", +MATA36H3S,LEC01,Winter 2026,TH,08:00,09:00,Available onACORN,241,320,True,IN_PERSON,"Cavers, M.", +MATA36H3S,LEC02,Winter 2026,TU,08:00,09:00,Available onACORN,83,120,True,IN_PERSON,"Cavers, M.", +MATA36H3S,LEC02,Winter 2026,FR,08:00,10:00,Available onACORN,83,120,True,IN_PERSON,"Cavers, M.", +MATA36H3S,TUT0001,Winter 2026,TH,18:00,19:00,Available onACORN,26,33,False,IN_PERSON,, +MATA36H3S,TUT0002,Winter 2026,TU,15:00,16:00,Available onACORN,28,33,False,IN_PERSON,, +MATA36H3S,TUT0003,Winter 2026,FR,14:00,15:00,Available onACORN,27,33,False,IN_PERSON,,Room change(20/06/23) +MATA36H3S,TUT0004,Winter 2026,WE,16:00,17:00,Available onACORN,25,33,False,IN_PERSON,, +MATA36H3S,TUT0005,Winter 2026,WE,09:00,10:00,Available onACORN,29,33,False,IN_PERSON,, +MATA36H3S,TUT0006,Winter 2026,TH,09:00,10:00,Available onACORN,28,33,False,IN_PERSON,, +MATA36H3S,TUT0007,Winter 2026,MO,10:00,11:00,Available onACORN,30,33,False,IN_PERSON,,Room change08/23/23 +MATA36H3S,TUT0008,Winter 2026,WE,16:00,17:00,Available onACORN,25,33,False,IN_PERSON,, +MATA36H3S,TUT0009,Winter 2026,TU,09:00,10:00,Available onACORN,21,33,False,IN_PERSON,, +MATA36H3S,TUT0010,Winter 2026,FR,12:00,13:00,Available onACORN,28,33,False,IN_PERSON,, +MATA36H3S,TUT0011,Winter 2026,TH,09:00,10:00,Available onACORN,30,33,False,IN_PERSON,, +MATA36H3S,TUT0013,Winter 2026,TU,19:00,20:00,Available onACORN,23,33,False,IN_PERSON,, +MATA37H3S,LEC01,Winter 2026,TU,14:00,16:00,Available onACORN,57,200,True,IN_PERSON,"Bogachev,N.", +MATA37H3S,LEC01,Winter 2026,FR,14:00,15:00,Available onACORN,57,200,True,IN_PERSON,"Bogachev,N.", +MATA37H3S,LEC02,Winter 2026,MO,15:00,17:00,Available onACORN,165,201,True,IN_PERSON,"Smith, K.", +MATA37H3S,LEC02,Winter 2026,TH,17:00,18:00,Available onACORN,165,201,True,IN_PERSON,"Smith, K.", +MATA37H3S,LEC03,Winter 2026,MO,13:00,15:00,Available onACORN,182,225,True,IN_PERSON,"Smith, K.", +MATA37H3S,LEC03,Winter 2026,TH,14:00,15:00,Available onACORN,182,225,True,IN_PERSON,"Smith, K.", +MATA37H3S,TUT0001,Winter 2026,TU,18:00,20:00,Available onACORN,28,33,False,IN_PERSON,, +MATA37H3S,TUT0002,Winter 2026,TH,18:00,20:00,Available onACORN,25,33,False,IN_PERSON,, +MATA37H3S,TUT0003,Winter 2026,FR,13:00,15:00,Available onACORN,23,27,False,IN_PERSON,, +MATA37H3S,TUT0005,Winter 2026,MO,19:00,21:00,Available onACORN,21,33,False,IN_PERSON,, +MATA37H3S,TUT0006,Winter 2026,TH,08:00,10:00,Available onACORN,21,33,False,IN_PERSON,, +MATA37H3S,TUT0008,Winter 2026,WE,19:00,21:00,Available onACORN,28,33,False,IN_PERSON,, +MATA37H3S,TUT0009,Winter 2026,FR,09:00,11:00,Available onACORN,22,33,False,IN_PERSON,, +MATA37H3S,TUT0010,Winter 2026,TU,09:00,11:00,Available onACORN,26,33,False,IN_PERSON,, +MATA37H3S,TUT0011,Winter 2026,TU,18:00,20:00,Available onACORN,25,33,False,IN_PERSON,, +MATA37H3S,TUT0012,Winter 2026,TH,18:00,20:00,Available onACORN,27,33,False,IN_PERSON,, +MATA37H3S,TUT0013,Winter 2026,TU,17:00,19:00,Available onACORN,24,33,False,IN_PERSON,,Room change -07/12/23 +MATA37H3S,TUT0014,Winter 2026,TU,09:00,11:00,Available onACORN,15,33,False,IN_PERSON,, +MATA37H3S,TUT0015,Winter 2026,MO,19:00,21:00,Available onACORN,27,33,False,IN_PERSON,, +MATA37H3S,TUT0016,Winter 2026,TH,09:00,11:00,Available onACORN,22,33,False,IN_PERSON,, +MATA37H3S,TUT0018,Winter 2026,WE,19:00,21:00,Available onACORN,22,33,False,IN_PERSON,, +MATA37H3S,TUT0019,Winter 2026,FR,09:00,11:00,Available onACORN,26,33,False,IN_PERSON,, +MATA37H3S,TUT0020,Winter 2026,MO,09:00,11:00,Available onACORN,21,33,False,IN_PERSON,, +MATA67H3S,LEC01,Winter 2026,MO,15:00,17:00,Available on ACORN,22,35,True,IN_PERSON,"Tell, R.", +MATA67H3S,TUT0001,Winter 2026,WE,16:00,17:00,Available on ACORN,4,7,False,IN_PERSON,, +MATA67H3S,TUT0002,Winter 2026,WE,09:00,10:00,Available on ACORN,2,8,False,IN_PERSON,, +MATA67H3S,TUT0003,Winter 2026,TU,09:00,10:00,Available on ACORN,2,8,False,IN_PERSON,, +MATA67H3S,TUT0004,Winter 2026,TH,17:00,18:00,Available on ACORN,6,8,False,IN_PERSON,, +MATA67H3S,TUT0005,Winter 2026,TH,12:00,13:00,Available on ACORN,5,7,False,IN_PERSON,, +MATA67H3S,TUT0006,Winter 2026,TH,12:00,13:00,Available on ACORN,3,8,False,IN_PERSON,, +MATB24H3S,LEC01,Winter 2026,MO,16:00,17:00,Available onACORN,74,120,True,IN_PERSON,"Jiang, X.", +MATB24H3S,LEC01,Winter 2026,WE,15:00,17:00,Available onACORN,74,120,True,IN_PERSON,"Jiang, X.", +MATB24H3S,TUT0001,Winter 2026,TH,09:00,11:00,Available onACORN,22,32,False,IN_PERSON,,Room change(03/01/24) +MATB24H3S,TUT0002,Winter 2026,FR,13:00,15:00,Available onACORN,19,32,False,IN_PERSON,, +MATB24H3S,TUT0003,Winter 2026,FR,09:00,11:00,Available onACORN,12,32,False,IN_PERSON,, +MATB24H3S,TUT0004,Winter 2026,TU,19:00,21:00,Available onACORN,21,33,False,IN_PERSON,, +MATB42H3S,LEC01,Winter 2026,MO,12:00,13:00,Available onACORN,181,350,True,IN_PERSON,"Hessami Pilehrood,T.", +MATB42H3S,LEC01,Winter 2026,FR,13:00,15:00,Available onACORN,181,350,True,IN_PERSON,"Hessami Pilehrood,T.", +MATB42H3S,TUT0001,Winter 2026,TU,18:00,20:00,Available onACORN,25,34,False,IN_PERSON,, +MATB42H3S,TUT0002,Winter 2026,FR,08:00,10:00,Available onACORN,14,34,False,IN_PERSON,, +MATB42H3S,TUT0004,Winter 2026,TH,19:00,21:00,Available onACORN,33,34,False,IN_PERSON,, +MATB42H3S,TUT0006,Winter 2026,TU,13:00,15:00,Available onACORN,29,34,False,IN_PERSON,, +MATB42H3S,TUT0007,Winter 2026,WE,15:00,17:00,Available onACORN,31,34,False,IN_PERSON,, +MATB42H3S,TUT0008,Winter 2026,TU,09:00,11:00,Available onACORN,21,34,False,IN_PERSON,, +MATB42H3S,TUT0010,Winter 2026,TH,19:00,21:00,Available onACORN,27,34,False,IN_PERSON,, +MATB43H3S,LEC01,Winter 2026,MO,09:00,10:00,Available onACORN,22,80,True,IN_PERSON,"Memarpanahi,P.",Room change(12/12/23) +MATB43H3S,LEC01,Winter 2026,FR,09:00,11:00,Available onACORN,22,80,True,IN_PERSON,"Memarpanahi,P.",Room change(12/12/23) +MATB43H3S,TUT0002,Winter 2026,TU,17:00,19:00,Available onACORN,22,33,False,IN_PERSON,, +MATB61H3S,LEC01,Winter 2026,MO,14:00,16:00,Available on ACORN,73,234,True,IN_PERSON,"Jiang, X.", +MATB61H3S,LEC01,Winter 2026,WE,14:00,15:00,Available on ACORN,73,234,True,IN_PERSON,"Jiang, X.", +MATB61H3S,TUT0001,Winter 2026,TU,12:00,13:00,Available on ACORN,28,33,False,IN_PERSON,, +MATB61H3S,TUT0002,Winter 2026,TH,19:00,20:00,Available on ACORN,15,33,False,IN_PERSON,, +MATB61H3S,TUT0004,Winter 2026,WE,11:00,12:00,Available on ACORN,30,33,False,IN_PERSON,, +MATC01H3S,LEC01,Winter 2026,TU,12:00,13:00,Available onACORN,31,60,True,IN_PERSON,"Smith, K.",Room change(11/10/23) +MATC01H3S,LEC01,Winter 2026,TH,11:00,13:00,Available onACORN,31,60,True,IN_PERSON,"Smith, K.",Room change(11/10/23) +MATC01H3S,TUT0001,Winter 2026,TH,17:00,18:00,Available onACORN,31,60,False,IN_PERSON,, +MATC15H3S,LEC01,Winter 2026,TU,11:00,12:00,Available onACORN,37,80,True,IN_PERSON,"Meszaros,A.",Room change(11/10/23) +MATC15H3S,LEC01,Winter 2026,FR,11:00,13:00,Available onACORN,37,80,True,IN_PERSON,"Meszaros,A.",Room change(11/10/23) +MATC34H3S,LEC01,Winter 2026,MO,13:00,14:00,Available on ACORN,38,80,True,IN_PERSON,"Kewarth, J.", +MATC34H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,38,80,True,IN_PERSON,"Kewarth, J.", +MATC37H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,26,44,True,IN_PERSON,"Smith, K.", +MATC37H3S,LEC01,Winter 2026,TH,10:00,11:00,Available on ACORN,26,44,True,IN_PERSON,"Smith, K.", +MATC44H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,72,86,True,IN_PERSON,"Cavers, M.", +MATC44H3S,LEC01,Winter 2026,TH,09:00,10:00,Available on ACORN,72,86,True,IN_PERSON,"Cavers, M.", +MATC46H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,109,135,True,IN_PERSON,"Haslhofer, R.", +MATC46H3S,LEC01,Winter 2026,TH,16:00,17:00,Available on ACORN,109,135,True,IN_PERSON,"Haslhofer, R.", +MATC58H3S,LEC01,Winter 2026,MO,11:00,12:00,Available onACORN,13,35,True,IN_PERSON,"Jiang, X.",Thursday room change(30/08/23) +MATC58H3S,LEC01,Winter 2026,TH,11:00,13:00,Available onACORN,13,35,True,IN_PERSON,"Jiang, X.",Thursday room change(30/08/23) +MATC63H3S,LEC01,Winter 2026,TU,14:00,15:00,Available onACORN,8,25,True,IN_PERSON,"Haslhofer,R.",Room change(19/4/23) +MATC63H3S,LEC01,Winter 2026,TH,13:00,15:00,Available onACORN,8,25,True,IN_PERSON,"Haslhofer,R.",Room change(19/4/23) +MATD01H3S,LEC01,Winter 2026,WE,15:00,16:00,Available on ACORN,43,60,True,IN_PERSON,"Grinnell, R.", +MATD01H3S,LEC01,Winter 2026,FR,13:00,15:00,Available on ACORN,43,60,True,IN_PERSON,"Grinnell, R.", +MATD09H3S,LEC01,Winter 2026,MO,12:00,14:00,Available on ACORN,14,20,True,IN_PERSON,"Grinnell, R.", +MATD09H3S,LEC01,Winter 2026,FR,10:00,11:00,Available on ACORN,14,20,True,IN_PERSON,"Grinnell, R.", +MATD34H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,6,20,True,IN_PERSON,"Bogachev, N.", +MATD34H3S,LEC01,Winter 2026,TH,15:00,16:00,Available on ACORN,6,20,True,IN_PERSON,"Bogachev, N.", +MATD92H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +MATD93H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +MATD94H3S,LEC01,Winter 2026,,,,Available on ACORN,7,9999,True,IN_PERSON,FACULTY, +MATD95H3S,LEC01,Winter 2026,,,,Available on ACORN,6,9999,True,IN_PERSON,FACULTY, +MDSA02H3S,LEC01,Winter 2026,MO,14:00,16:00,Available onACORN,219,250,True,IN_PERSON,"Chalk, A.",Will not open furtheron July 27th +MDSA02H3S,LEC02,Winter 2026,WE,15:00,17:00,Available onACORN,229,230,True,,"Klimek, C.", +MDSB01H3S,LEC01,Winter 2026,TU,11:00,13:00,Available onACORN,112,115,True,IN_PERSON,"Guzman,C.",Room change(11/10/23) +MDSB10H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,57,100,True,IN_PERSON,"Kaye, L.", +MDSB15H3S,LEC01,Winter 2026,TH,15:00,17:00,Available onACORN,108,108,True,IN_PERSON,"Do NascimentoGrohmann, R.",Room change(11/10/23) +MDSB25H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,85,130,True,IN_PERSON,"Kaye, L.", +MDSB62H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,85,85,True,IN_PERSON,"Lobo, R.", +MDSB63H3S,LEC01,Winter 2026,TU,16:00,18:00,Available onACORN,84,86,True,IN_PERSON,"Lobo, R.",Will not open further onJuly 27th +MDSC01H3S,LEC01,Winter 2026,MO,09:00,11:00,Available on ACORN,57,56,True,IN_PERSON,"Visan, L.", +MDSC02H3S,LEC01,Winter 2026,MO,14:00,16:00,Available onACORN,92,95,True,IN_PERSON,"Lobo, R.",Room change08/15/23 +MDSC21H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,10,20,True,IN_PERSON,"Paz, A.", +MDSC21H3S,TUT0001,Winter 2026,WE,12:00,13:00,Available on ACORN,9,20,False,IN_PERSON,, +MDSC60H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,39,48,True,IN_PERSON,"Yu, S.", +MDSC62H3S,LEC01,Winter 2026,TU,19:00,21:00,Available on ACORN,44,48,True,IN_PERSON,"Visan, L.", +MDSC63H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,49,48,True,IN_PERSON,"Cudjoe, J.", +MDSC64H3S,LEC01,Winter 2026,WE,19:00,21:00,Available onACORN,68,70,True,IN_PERSON,"Do NascimentoGrohmann, R.",Room change(12/01/24) +MDSC66H3S,LEC01,Winter 2026,TH,10:00,12:00,Available on ACORN,60,60,True,IN_PERSON,"Cudjoe, J.", +MDSD01H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,24,20,True,IN_PERSON,"Cudjoe, J.", +MDSD02H3S,LEC01,Winter 2026,TU,13:00,15:00,Available onACORN,22,20,True,IN_PERSON,"Chalk, A.",Room change(20/06/23) +MGAB01H3S,LEC01,Winter 2026,TU,17:00,19:00,Available on ACORN,32,60,True,IN_PERSON,"Chen, L.", +MGAB01H3S,TUT0001,Winter 2026,TH,19:00,20:00,Available on ACORN,26,60,False,IN_PERSON,, +MGAB02H3S,LEC01,Winter 2026,TU,13:00,15:00,Available onACORN,55,60,True,IN_PERSON,"Chen, L.", +MGAB02H3S,LEC02,Winter 2026,TU,11:00,13:00,Available onACORN,57,60,True,IN_PERSON,"Chen, L.", +MGAB02H3S,LEC03,Winter 2026,MO,11:00,13:00,Available onACORN,52,60,True,IN_PERSON,"Li, N.", +MGAB02H3S,LEC04,Winter 2026,TU,09:00,11:00,Available onACORN,42,60,True,IN_PERSON,"Chen, L.", +MGAB02H3S,LEC05,Winter 2026,TH,09:00,11:00,Available onACORN,59,60,True,IN_PERSON,"Quan Fun, G.", +MGAB02H3S,LEC06,Winter 2026,TU,09:00,11:00,Available onACORN,56,60,True,IN_PERSON,"Kong, D.", +MGAB02H3S,LEC07,Winter 2026,MO,19:00,21:00,Available onACORN,16,60,True,IN_PERSON,"Li, N.", +MGAB02H3S,LEC08,Winter 2026,TH,11:00,13:00,Available onACORN,58,60,True,IN_PERSON,"Quan Fun, G.", +MGAB02H3S,LEC09,Winter 2026,MO,09:00,11:00,Available onACORN,12,60,True,IN_PERSON,"Li, N.", +MGAB02H3S,LEC10,Winter 2026,TU,17:00,19:00,Available onACORN,58,60,True,IN_PERSON,"Kong, D.", +MGAB02H3S,LEC11,Winter 2026,MO,19:00,21:00,Available onACORN,43,60,True,IN_PERSON,"Hassanali,M.", +MGAB02H3S,TUT0001,Winter 2026,TU,17:00,18:00,Available onACORN,114,120,False,IN_PERSON,, +MGAB02H3S,TUT0002,Winter 2026,TH,17:00,18:00,Available onACORN,113,120,False,IN_PERSON,, +MGAB02H3S,TUT0003,Winter 2026,TH,18:00,19:00,Available onACORN,44,120,False,IN_PERSON,, +MGAB02H3S,TUT0004,Winter 2026,FR,09:00,10:00,Available onACORN,112,120,False,,, +MGAB02H3S,TUT0005,Winter 2026,FR,09:00,10:00,Available onACORN,37,120,False,,, +MGAB02H3S,TUT0006,Winter 2026,TU,09:00,11:00,Available onACORN,59,60,False,,, +MGAB03H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,18,60,True,IN_PERSON,"Chen, L.", +MGAB03H3S,LEC02,Winter 2026,WE,11:00,13:00,Available on ACORN,52,60,True,IN_PERSON,"Chen, L.", +MGAB03H3S,LEC03,Winter 2026,WE,15:00,17:00,Available on ACORN,36,60,True,IN_PERSON,"Chen, L.", +MGAB03H3S,TUT0001,Winter 2026,TH,18:00,20:00,Available on ACORN,61,120,False,IN_PERSON,, +MGAB03H3S,TUT0002,Winter 2026,TU,19:00,21:00,Available on ACORN,33,80,False,IN_PERSON,, +MGAC01H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,22,40,True,IN_PERSON,"Quan Fun, G.", +MGAC01H3S,TUT0001,Winter 2026,TH,15:00,17:00,Available on ACORN,18,40,False,IN_PERSON,, +MGAC02H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,25,40,True,IN_PERSON,"Kong, D.", +MGAC02H3S,LEC02,Winter 2026,MO,13:00,15:00,Available on ACORN,14,40,True,IN_PERSON,"Kong, D.", +MGAC02H3S,TUT0001,Winter 2026,TH,17:00,19:00,Available on ACORN,11,40,False,IN_PERSON,, +MGAC02H3S,TUT0002,Winter 2026,WE,19:00,21:00,Available on ACORN,24,40,False,ONLINE_SYNCHRONOUS,, +MGAC03H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,19,40,True,IN_PERSON,"Quan Fun, G.", +MGAC03H3S,TUT0001,Winter 2026,FR,13:00,15:00,Available on ACORN,15,40,False,IN_PERSON,, +MGAC10H3S,LEC01,Winter 2026,TU,11:00,14:00,Available on ACORN,14,60,True,IN_PERSON,"Harvey, L.", +MGAC10H3S,TUT0001,Winter 2026,WE,12:00,13:00,Available on ACORN,12,60,False,IN_PERSON,, +MGAC50H3S,LEC01,Winter 2026,TU,19:00,22:00,Available onACORN,21,60,True,IN_PERSON,"Phung, P./ Ratnam,S.", +MGAC70H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,37,40,True,IN_PERSON,"Kong, D.", +MGAD20H3S,LEC01,Winter 2026,WE,09:00,12:00,Available on ACORN,28,60,True,IN_PERSON,"Harvey, L.", +MGAD40H3S,LEC02,Winter 2026,TU,15:00,17:00,Available on ACORN,38,41,True,IN_PERSON,"Kong, D.", +MGAD45H3S,LEC01,Winter 2026,MO,09:00,11:00,Available on ACORN,25,40,True,IN_PERSON,"Kong, D.", +MGAD50H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,9,40,True,IN_PERSON,"Quan Fun, G.", +MGAD65H3S,LEC01,Winter 2026,TH,19:00,22:00,Available onACORN,33,60,True,IN_PERSON,"Phung, P./ Ratnam,S.", +MGAD70H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,24,30,True,IN_PERSON,"Kong, D.", +MGEA05H3S,LEC01,Winter 2026,TH,18:00,21:00,Available on ACORN,210,350,True,IN_PERSON,"Parkinson, J.", +MGEA06H3S,LEC01,Winter 2026,MO,14:00,17:00,Available onACORN,341,350,True,IN_PERSON,"Au, I.", +MGEA06H3S,LEC02,Winter 2026,WE,14:00,17:00,Available onACORN,334,350,True,IN_PERSON,"Au, I.", +MGEA06H3S,LEC03,Winter 2026,,,,Available onACORN,298,350,True,,"Au, I.", +MGEB01H3S,LEC01,Winter 2026,TU,09:00,12:00,Available on ACORN,67,120,True,IN_PERSON,"Parkinson, J.", +MGEB02H3S,LEC01,Winter 2026,FR,12:00,15:00,Available on ACORN,71,80,True,IN_PERSON,"Mazaheri, A.", +MGEB02H3S,LEC02,Winter 2026,MO,19:00,22:00,Available on ACORN,73,80,True,IN_PERSON,"Mazaheri, A.", +MGEB05H3S,LEC01,Winter 2026,FR,09:00,12:00,Available on ACORN,77,120,True,IN_PERSON,"Au, I.", +MGEB06H3S,LEC01,Winter 2026,TH,14:00,17:00,Available onACORN,72,80,True,IN_PERSON,"Parkinson,J.",Will not open furtherJuly 27th. +MGEB06H3S,LEC02,Winter 2026,WE,14:00,17:00,Available onACORN,74,80,True,IN_PERSON,"Parkinson,J.",Will not open furtherJuly 27th. +MGEB06H3S,LEC03,Winter 2026,FR,09:00,12:00,Available onACORN,74,80,True,IN_PERSON,"Parkinson,J.", +MGEB06H3S,LEC04,Winter 2026,MO,14:00,17:00,Available onACORN,72,80,True,IN_PERSON,"Parkinson,J.", +MGEB11H3S,LEC01,Winter 2026,FR,12:00,15:00,Available on ACORN,97,120,True,IN_PERSON,"Turner, L.", +MGEB12H3S,LEC01,Winter 2026,MO,09:00,12:00,Available onACORN,72,80,True,IN_PERSON,"Mazaheri,A.",Will not open furtheron July 27th +MGEB12H3S,LEC02,Winter 2026,WE,19:00,22:00,Available onACORN,76,80,True,IN_PERSON,"Mazaheri,A.",Will not open furtheron July 27th +MGEB12H3S,LEC03,Winter 2026,,,,Available onACORN,177,200,True,,"Mazaheri,A.", +MGEB32H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,46,60,True,IN_PERSON,"Campolieti, M.", +MGEC02H3S,LEC01,Winter 2026,TH,11:00,14:00,Available on ACORN,47,60,True,IN_PERSON,"Mazaheri, A.", +MGEC02H3S,LEC02,Winter 2026,TH,17:00,20:00,Available on ACORN,51,60,True,IN_PERSON,"Mazaheri, A.", +MGEC06H3S,LEC01,Winter 2026,TU,14:00,17:00,Available onACORN,59,60,True,IN_PERSON,"Cavenaile,L.",Will not open further onJuly 27th +MGEC08H3S,LEC01,Winter 2026,TU,09:00,12:00,Available on ACORN,32,40,True,IN_PERSON,"Au, I.", +MGEC11H3S,LEC01,Winter 2026,FR,09:00,11:00,Available onACORN,17,40,True,IN_PERSON,"Chandra,A.", +MGEC11H3S,LEC02,Winter 2026,FR,13:00,15:00,Available onACORN,30,40,True,IN_PERSON,"Chandra,A.",Will not open further onJuly 27th +MGEC25H3S,LEC01,Winter 2026,FR,11:00,13:00,Available on ACORN,19,60,True,IN_PERSON,"Sood, A.", +MGEC34H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,57,60,True,IN_PERSON,"Campolieti, M.", +MGEC37H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,41,60,True,IN_PERSON,"Krashinsky, M.", +MGEC41H3S,LEC01,Winter 2026,FR,09:00,11:00,Available on ACORN,58,60,True,IN_PERSON,"Sood, A.", +MGEC41H3S,LEC02,Winter 2026,FR,13:00,15:00,Available on ACORN,59,60,True,IN_PERSON,"Sood, A.", +MGEC45H3S,LEC01,Winter 2026,TH,15:00,17:00,Available on ACORN,45,60,True,IN_PERSON,"Krashinsky, H.", +MGEC58H3S,LEC01,Winter 2026,FR,09:00,11:00,Available on ACORN,15,60,True,IN_PERSON,"Turner, L.", +MGEC61H3S,LEC01,Winter 2026,MO,09:00,11:00,Available on ACORN,53,60,True,IN_PERSON,"Au, I.", +MGEC61H3S,LEC02,Winter 2026,FR,13:00,15:00,Available on ACORN,55,60,True,IN_PERSON,"Au, I.", +MGEC71H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,55,60,True,IN_PERSON,"Parkinson, J.", +MGEC71H3S,LEC02,Winter 2026,FR,13:00,15:00,Available on ACORN,51,60,True,IN_PERSON,"Parkinson, J.", +MGEC81H3S,LEC01,Winter 2026,TH,14:00,16:00,Available on ACORN,59,60,True,ONLINE_SYNCHRONOUS,"Frazer, G.", +MGEC82H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,57,60,True,ONLINE_SYNCHRONOUS,"Frazer, G.", +MGED06H3S,LEC01,Winter 2026,TU,09:00,12:00,Available on ACORN,17,35,True,IN_PERSON,"Cavenaile, L.", +MGED50H3S,LEC01,Winter 2026,TH,09:00,12:00,Available on ACORN,7,10,True,IN_PERSON,"Krashinsky, H.", +MGED90H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +MGED91H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +MGFB10H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,17,60,True,IN_PERSON,"Ahmed, S.", +MGFB10H3S,LEC02,Winter 2026,WE,13:00,15:00,Available on ACORN,58,60,True,IN_PERSON,"Tong, J.", +MGFB10H3S,LEC03,Winter 2026,MO,09:00,11:00,Available on ACORN,56,60,True,IN_PERSON,"Tong, J.", +MGFB10H3S,LEC04,Winter 2026,MO,13:00,15:00,Available on ACORN,58,60,True,IN_PERSON,"Tong, J.", +MGFB10H3S,LEC05,Winter 2026,TH,15:00,17:00,Available on ACORN,50,60,True,IN_PERSON,"Ahmed, S.", +MGFC10H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,17,60,True,IN_PERSON,"Ahmed, S.", +MGFC10H3S,LEC02,Winter 2026,WE,13:00,15:00,Available on ACORN,58,60,True,IN_PERSON,"Tong, J.", +MGFC10H3S,LEC03,Winter 2026,MO,09:00,11:00,Available on ACORN,56,60,True,IN_PERSON,"Tong, J.", +MGFC10H3S,LEC04,Winter 2026,MO,13:00,15:00,Available on ACORN,58,60,True,IN_PERSON,"Tong, J.", +MGFC10H3S,LEC05,Winter 2026,TH,15:00,17:00,Available on ACORN,50,60,True,IN_PERSON,"Ahmed, S.", +MGFC10H3S,LEC01,Winter 2026,TU,17:00,19:00,Available on ACORN,44,60,True,IN_PERSON,"Chau, D.", +MGFC10H3S,LEC02,Winter 2026,TU,15:00,17:00,Available on ACORN,57,60,True,IN_PERSON,"Chau, D.", +MGFC10H3S,LEC03,Winter 2026,TH,15:00,17:00,Available on ACORN,47,60,True,IN_PERSON,"Chau, D.", +MGFC30H3S,LEC01,Winter 2026,TU,17:00,19:00,Available on ACORN,44,60,True,IN_PERSON,"Chau, D.", +MGFC30H3S,LEC02,Winter 2026,TU,15:00,17:00,Available on ACORN,57,60,True,IN_PERSON,"Chau, D.", +MGFC30H3S,LEC03,Winter 2026,TH,15:00,17:00,Available on ACORN,47,60,True,IN_PERSON,"Chau, D.", +MGFC30H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,59,61,True,IN_PERSON,"Mazaheri, A.", +MGFC30H3S,LEC02,Winter 2026,WE,15:00,17:00,Available on ACORN,47,61,True,IN_PERSON,"Mazaheri, A.", +MGFC35H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,45,60,True,IN_PERSON,"Chau, D.", +MGFC35H3S,LEC02,Winter 2026,TH,13:00,15:00,Available on ACORN,55,60,True,IN_PERSON,"Chau, D.", +MGFC35H3S,LEC03,Winter 2026,TH,17:00,19:00,Available on ACORN,43,60,True,IN_PERSON,"Leung, C.", +MGFC45H3S,LEC01,Winter 2026,MO,19:00,21:00,Available onACORN,45,50,True,IN_PERSON,"Chau, B./ Qureshi,O.", +MGFD25H3S,LEC01,Winter 2026,TU,17:00,19:00,Available on ACORN,39,40,True,IN_PERSON,"Chau, B.", +MGFD25H3S,LEC02,Winter 2026,TH,17:00,19:00,Available on ACORN,37,40,True,IN_PERSON,"Chau, B.", +MGFD30H3S,LEC01,Winter 2026,MO,15:00,17:00,Available on ACORN,44,50,True,IN_PERSON,"Mazaheri, A.", +MGFD40H3S,LEC01,Winter 2026,MO,09:00,11:00,Available on ACORN,11,35,True,IN_PERSON,"Vandezande, K.", +MGFD40H3S,LEC02,Winter 2026,MO,11:00,13:00,Available on ACORN,26,35,True,IN_PERSON,"Vandezande, K.", +MGFD40H3S,LEC03,Winter 2026,MO,15:00,17:00,Available on ACORN,21,35,True,IN_PERSON,"Vandezande, K.", +MGFD50H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,32,40,True,IN_PERSON,"Chau, D.", +MGFD60H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,34,40,True,IN_PERSON,"Chau, B.", +MGHA12H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,63,65,True,IN_PERSON,"Vardhmane, S.", +MGHA12H3S,LEC02,Winter 2026,FR,11:00,13:00,Available on ACORN,62,65,True,IN_PERSON,"Trougakos, J.", +MGHA12H3S,LEC03,Winter 2026,FR,13:00,15:00,Available on ACORN,59,65,True,IN_PERSON,"Trougakos, J.", +MGHA12H3S,LEC04,Winter 2026,TU,15:00,17:00,Available on ACORN,61,65,True,IN_PERSON,"Nwadei, T.", +MGHA12H3S,LEC05,Winter 2026,TU,09:00,11:00,Available on ACORN,63,65,True,IN_PERSON,"Nwadei, T.", +MGHA12H3S,LEC06,Winter 2026,TH,09:00,11:00,Available on ACORN,63,65,True,IN_PERSON,"Vardhmane, S.", +MGHB02H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,56,60,True,IN_PERSON,"Saks, A.", +MGHB02H3S,LEC02,Winter 2026,TU,13:00,15:00,Available on ACORN,55,60,True,IN_PERSON,"Saks, A.", +MGHC02H3S,LEC01,Winter 2026,MO,09:00,11:00,Available onACORN,34,43,True,IN_PERSON,"Addo-Bekoe,C.",Time change06/28/23 +MGHC02H3S,LEC02,Winter 2026,TU,13:00,15:00,Available onACORN,38,43,True,IN_PERSON,"Wilfred, S.", +MGHC02H3S,LEC03,Winter 2026,TU,15:00,17:00,Available onACORN,39,43,True,IN_PERSON,"Wilfred, S.", +MGHC02H3S,LEC04,Winter 2026,WE,13:00,15:00,Available onACORN,40,43,True,IN_PERSON,"Addo-Bekoe,C.", +MGHC02H3S,LEC05,Winter 2026,WE,15:00,17:00,Available onACORN,39,43,True,IN_PERSON,"Addo-Bekoe,C.", +MGHC23H3S,LEC01,Winter 2026,TU,15:00,17:00,Available onACORN,39,41,True,IN_PERSON,"Radhakrishnan, P.", +MGHC53H3S,LEC01,Winter 2026,WE,19:00,21:00,Available onACORN,32,40,True,IN_PERSON,"Radhakrishnan, P.", +MGHD25H3S,LEC01,Winter 2026,MO,11:00,13:00,Available onACORN,40,40,True,IN_PERSON,"Hansen, S.",Time change06/28/23 +MGHD26H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,34,40,True,IN_PERSON,"Saks, A.", +MGIA01H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,34,40,True,IN_PERSON,"Saks, A.", +MGIA01H3S,LEC01,Winter 2026,FR,13:00,15:00,Available on ACORN,24,40,True,IN_PERSON,"Dewan, T.", +MGIA01H3S,LEC02,Winter 2026,FR,11:00,13:00,Available on ACORN,39,40,True,IN_PERSON,"Dewan, T.", +MGIB02H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,43,60,True,IN_PERSON,"Hansen, S.", +MGIB02H3S,LEC02,Winter 2026,MO,15:00,17:00,Available on ACORN,28,60,True,IN_PERSON,"Hansen, S.", +MGID40H3S,LEC01,Winter 2026,FR,13:00,15:00,Available on ACORN,20,40,True,IN_PERSON,"Zemel, M.", +MGID79H3S,LEC01,Winter 2026,WE,10:00,12:00,Available on ACORN,20,40,True,IN_PERSON,"McElheran, K.", +MGMA01H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,54,60,True,IN_PERSON,"Chan, C.", +MGMA01H3S,LEC02,Winter 2026,TH,13:00,15:00,Available on ACORN,58,60,True,IN_PERSON,"Chan, C.", +MGMA01H3S,LEC03,Winter 2026,TH,17:00,19:00,Available on ACORN,28,60,True,IN_PERSON,"Chan, C.", +MGMA01H3S,LEC04,Winter 2026,TU,11:00,13:00,Available on ACORN,51,60,True,IN_PERSON,"Aggarwal, P.", +MGMA01H3S,LEC05,Winter 2026,TU,13:00,15:00,Available on ACORN,56,60,True,IN_PERSON,"Dewan, T.", +MGMB01H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,54,60,True,IN_PERSON,"Chan, C.", +MGMB01H3S,LEC02,Winter 2026,TH,13:00,15:00,Available on ACORN,58,60,True,IN_PERSON,"Chan, C.", +MGMB01H3S,LEC03,Winter 2026,TH,17:00,19:00,Available on ACORN,28,60,True,IN_PERSON,"Chan, C.", +MGMB01H3S,LEC04,Winter 2026,TU,11:00,13:00,Available on ACORN,51,60,True,IN_PERSON,"Aggarwal, P.", +MGMB01H3S,LEC05,Winter 2026,TU,13:00,15:00,Available on ACORN,56,60,True,IN_PERSON,"Dewan, T.", +MGMB01H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,32,40,True,IN_PERSON,"Shah, A.", +MGMB01H3S,LEC02,Winter 2026,MO,15:00,17:00,Available on ACORN,39,40,True,IN_PERSON,"Shah, A.", +MGMB01H3S,LEC03,Winter 2026,TU,11:00,13:00,Available on ACORN,34,40,True,IN_PERSON,"Dewan, T.", +MGMB01H3S,LEC04,Winter 2026,TU,13:00,15:00,Available on ACORN,38,40,True,IN_PERSON,"Shah, A.", +MGMB01H3S,LEC05,Winter 2026,TH,15:00,17:00,Available on ACORN,29,40,True,IN_PERSON,"Dewan, T.", +MGMC01H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,32,40,True,IN_PERSON,"Shah, A.", +MGMC01H3S,LEC02,Winter 2026,MO,15:00,17:00,Available on ACORN,39,40,True,IN_PERSON,"Shah, A.", +MGMC01H3S,LEC03,Winter 2026,TU,11:00,13:00,Available on ACORN,34,40,True,IN_PERSON,"Dewan, T.", +MGMC01H3S,LEC04,Winter 2026,TU,13:00,15:00,Available on ACORN,38,40,True,IN_PERSON,"Shah, A.", +MGMC01H3S,LEC05,Winter 2026,TH,15:00,17:00,Available on ACORN,29,40,True,IN_PERSON,"Dewan, T.", +MGMC01H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,32,40,True,IN_PERSON,"Dewan, T.", +MGMC02H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,32,40,True,IN_PERSON,"Dewan, T.", +MGMC02H3S,LEC01,Winter 2026,TH,11:00,13:00,Available onACORN,41,43,True,IN_PERSON,"McConkey,W.",Room change(30/08/23) +MGMC11H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,41,43,True,IN_PERSON,"McConkey, W.", +MGMC14H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,36,43,True,IN_PERSON,"Dewan, T.", +MGMD01H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,34,33,True,IN_PERSON,"Dewan, T.", +MGMD10H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,20,20,True,IN_PERSON,"Aggarwal, P.", +MGMD10H3S,LEC02,Winter 2026,TU,09:00,11:00,Available on ACORN,19,20,True,IN_PERSON,"Aggarwal, P.", +MGOC10H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,49,60,True,IN_PERSON,"Quan, V.", +MGOC10H3S,LEC02,Winter 2026,MO,15:00,17:00,Available on ACORN,56,60,True,IN_PERSON,"Quan, V.", +MGOC10H3S,LEC03,Winter 2026,WE,15:00,17:00,Available on ACORN,56,60,True,IN_PERSON,"Quan, V.", +MGOC15H3S,LEC01,Winter 2026,TU,11:00,13:00,Available onACORN,23,40,True,IN_PERSON,"Sekar, S.", +MGOC15H3S,LEC02,Winter 2026,TU,13:30,15:30,Available onACORN,37,40,True,IN_PERSON,"Sekar, S.",Time change(18/01/24) +MGOC20H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,59,60,True,IN_PERSON,"Quan, V.", +MGOC20H3S,LEC02,Winter 2026,TH,13:00,15:00,Available on ACORN,58,60,True,IN_PERSON,"Quan, V.", +MGOC20H3S,LEC03,Winter 2026,TH,09:00,11:00,Available on ACORN,39,60,True,IN_PERSON,"Quan, V.", +MGOC20H3S,LEC04,Winter 2026,TH,17:00,19:00,Available on ACORN,35,60,True,IN_PERSON,"Quan, V.", +MGSB01H3S,LEC01,Winter 2026,WE,12:00,14:00,Available on ACORN,77,85,True,IN_PERSON,"de Bettignies, J.", +MGSC01H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,42,43,True,IN_PERSON,"Olatoye, F.", +MGSC03H3S,LEC01,Winter 2026,MO,09:00,11:00,Available on ACORN,41,43,True,IN_PERSON,"Constantinou, P.", +MGSC14H3S,LEC01,Winter 2026,MO,15:00,17:00,Available on ACORN,64,65,True,IN_PERSON,"Constantinou, P.", +MGSC30H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,61,66,True,IN_PERSON,"Guiyab, J.", +MGSC35H3S,LEC01,Winter 2026,TU,17:00,19:00,Available on ACORN,32,33,True,IN_PERSON,"McConkey, W.", +MGSD01H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,20,21,True,IN_PERSON,"Laurence, H.", +MGSD05H3S,LEC01,Winter 2026,WE,12:00,14:00,Available on ACORN,4,35,True,IN_PERSON,"McElheran, K.", +MGSD15H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,26,34,True,IN_PERSON,"Yazdanian, E.", +MGSD24H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,35,35,True,IN_PERSON,"McConkey, W.", +MGTA01H3S,LEC01,Winter 2026,TU,10:00,12:00,Available on ACORN,280,300,True,IN_PERSON,"Toor, A.", +MGTA02H3S,LEC01,Winter 2026,MO,10:00,12:00,Available on ACORN,116,300,True,IN_PERSON,"Toor, A.", +MGTA02H3S,LEC02,Winter 2026,TU,13:00,15:00,Available on ACORN,195,300,True,IN_PERSON,"Toor, A.", +MGTA38H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,27,30,True,IN_PERSON,"Shibaeva, M.", +MGTA38H3S,LEC03,Winter 2026,MO,15:00,17:00,Available on ACORN,28,30,True,IN_PERSON,"Shibaeva, M.", +MGTA38H3S,LEC04,Winter 2026,TU,13:00,15:00,Available on ACORN,30,30,True,IN_PERSON,"Daga, S.", +MGTA38H3S,LEC05,Winter 2026,TU,15:00,17:00,Available on ACORN,29,30,True,IN_PERSON,"Daga, S.", +MGTA38H3S,LEC06,Winter 2026,TU,17:00,19:00,Available on ACORN,24,30,True,IN_PERSON,"Daga, S.", +MGTA38H3S,LEC07,Winter 2026,WE,09:00,11:00,Available on ACORN,16,30,True,IN_PERSON,"Daga, S.", +MGTA38H3S,LEC08,Winter 2026,WE,11:00,13:00,Available on ACORN,30,30,True,IN_PERSON,"Daga, S.", +MGTA38H3S,LEC09,Winter 2026,WE,15:00,17:00,Available on ACORN,30,30,True,IN_PERSON,"Daga, S.", +MGTA38H3S,LEC10,Winter 2026,TH,13:00,15:00,Available on ACORN,19,30,True,IN_PERSON,"Visan, L.", +MGTA38H3S,LEC11,Winter 2026,TH,17:00,19:00,Available on ACORN,18,30,True,IN_PERSON,"Visan, L.", +MGTA38H3S,TUT0001,Winter 2026,TH,19:00,21:00,Available on ACORN,58,60,False,IN_PERSON,, +MGTA38H3S,TUT0003,Winter 2026,TH,17:00,19:00,Available on ACORN,51,60,False,IN_PERSON,, +MGTA38H3S,TUT0004,Winter 2026,FR,11:00,13:00,Available on ACORN,48,60,False,IN_PERSON,, +MGTA38H3S,TUT0005,Winter 2026,FR,09:00,11:00,Available on ACORN,51,60,False,IN_PERSON,, +MGTA38H3S,TUT0006,Winter 2026,FR,11:00,13:00,Available on ACORN,39,60,False,IN_PERSON,, +MGTC28H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,22,50,True,IN_PERSON,"Chau, B.", +MGTD81H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +MGTD81H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +MGTD82Y3Y,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +MUZA60H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,16,18,True,IN_PERSON,"Tucker, L.", +MUZA61H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,11,15,True,IN_PERSON,"Tucker, L.", +MUZA62H3S,LEC01,Winter 2026,MO,17:00,19:00,Available on ACORN,53,27,True,IN_PERSON,"Murray, P.", +MUZA63H3S,LEC01,Winter 2026,MO,17:00,19:00,Available on ACORN,20,18,True,IN_PERSON,"Murray, P.", +MUZA64H3S,LEC01,Winter 2026,TU,16:00,18:00,Available on ACORN,3,9,True,IN_PERSON,"Leong, T.", +MUZA65H3S,LEC01,Winter 2026,TU,16:00,18:00,Available on ACORN,12,8,True,IN_PERSON,"Leong, T.", +MUZA66H3S,LEC01,Winter 2026,MO,17:00,20:00,Available on ACORN,10,6,True,IN_PERSON,"Berry, A.", +MUZA66H3S,LEC02,Winter 2026,WE,17:00,20:00,Available on ACORN,12,12,True,IN_PERSON,"Leong, T.", +MUZA67H3S,LEC01,Winter 2026,MO,17:00,20:00,Available onACORN,9,6,True,IN_PERSON,"Berry, A.",Will not open further onJuly 27th +MUZA67H3S,LEC02,Winter 2026,WE,17:00,20:00,Available onACORN,5,10,True,IN_PERSON,"Leong, T.", +MUZA80H3S,LEC01,Winter 2026,WE,09:00,12:00,Available onACORN,27,30,True,IN_PERSON,"Risk, L.",Will not open further onJuly 27th +MUZA80H3S,LEC02,Winter 2026,TU,18:00,21:00,Available onACORN,28,30,True,IN_PERSON,"Leong, T.",Will not open further onJuly 27th +MUZA80H3S,LEC03,Winter 2026,MO,10:00,13:00,Available onACORN,27,30,True,IN_PERSON,"Berry, A.", +MUZB01H3S,LEC01,Winter 2026,TU,12:00,15:00,Available onACORN,39,40,True,IN_PERSON,"Mantie, R.",Will not open further onJuly 27th +MUZB20H3S,LEC01,Winter 2026,TH,09:00,11:00,Available onACORN,39,40,True,IN_PERSON,"Campbell,M.",Will not open further onJuly 27th +MUZB60H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,5,10,True,IN_PERSON,"Tucker, L.", +MUZB61H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,6,10,True,IN_PERSON,"Tucker, L.", +MUZB62H3S,LEC01,Winter 2026,MO,17:00,19:00,Available on ACORN,7,10,True,IN_PERSON,"Murray, P.", +MUZB63H3S,LEC01,Winter 2026,MO,17:00,19:00,Available on ACORN,12,10,True,IN_PERSON,"Murray, P.", +MUZB64H3S,LEC01,Winter 2026,TU,16:00,18:00,Available on ACORN,3,8,True,IN_PERSON,"Leong, T.", +MUZB65H3S,LEC01,Winter 2026,TU,16:00,18:00,Available on ACORN,4,8,True,IN_PERSON,"Leong, T.", +MUZB66H3S,LEC01,Winter 2026,MO,17:00,20:00,Available onACORN,3,3,True,IN_PERSON,"Berry, A.",Will not open further onJuly 27th +MUZB66H3S,LEC02,Winter 2026,WE,17:00,20:00,Available onACORN,4,6,True,IN_PERSON,"Leong, T.", +MUZB67H3S,LEC01,Winter 2026,MO,17:00,20:00,Available on ACORN,2,3,True,IN_PERSON,"Berry, A.", +MUZB67H3S,LEC02,Winter 2026,WE,17:00,20:00,Available on ACORN,2,3,True,IN_PERSON,"Leong, T.", +MUZB80H3S,LEC01,Winter 2026,TH,14:00,16:00,Available onACORN,27,25,True,IN_PERSON,"Suzuki, K.",Will not open further onJuly 27th +MUZC21H3S,LEC01,Winter 2026,TU,10:00,12:00,Available on ACORN,23,25,True,IN_PERSON,"Campbell, M.", +MUZC42H3S,LEC01,Winter 2026,WE,13:00,15:00,Available onACORN,13,13,True,IN_PERSON,"Suzuki, K.",Will not open further onJuly 27th +MUZC60H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,6,10,True,IN_PERSON,"Tucker, L.", +MUZC61H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,1,10,True,IN_PERSON,"Tucker, L.", +MUZC62H3S,LEC01,Winter 2026,MO,17:00,19:00,Available on ACORN,8,10,True,IN_PERSON,"Murray, P.", +MUZC63H3S,LEC01,Winter 2026,MO,17:00,19:00,Available on ACORN,1,10,True,IN_PERSON,"Murray, P.", +MUZC64H3S,LEC01,Winter 2026,TU,16:00,18:00,Available on ACORN,4,6,True,IN_PERSON,"Leong, T.", +MUZC65H3S,LEC01,Winter 2026,TU,16:00,18:00,Available on ACORN,1,6,True,IN_PERSON,"Leong, T.", +MUZC66H3S,LEC01,Winter 2026,MO,17:00,20:00,Available on ACORN,5,3,True,IN_PERSON,"Berry, A.", +MUZC66H3S,LEC02,Winter 2026,WE,17:00,20:00,Available on ACORN,0,3,True,IN_PERSON,"Leong, T.", +MUZC67H3S,LEC01,Winter 2026,MO,17:00,20:00,Available on ACORN,3,3,True,IN_PERSON,"Berry, A.", +MUZC67H3S,LEC02,Winter 2026,WE,17:00,20:00,Available on ACORN,0,3,True,IN_PERSON,"Leong, T.", +MUZC80H3S,LEC01,Winter 2026,FR,13:00,15:00,Available on ACORN,27,30,False,IN_PERSON,"Herrera Veitia, P.", +MUZD80H3S,LEC01,Winter 2026,TU,14:00,16:00,Available on ACORN,13,20,True,IN_PERSON,"Stanbridge, A.", +MUZD81H3S,LEC01,Winter 2026,,,,Available on ACORN,1,5,True,IN_PERSON,FACULTY, +NMEB05H3S,LEC01,Winter 2026,,,,Available onACORN,25,30,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +NMEB05H3S,LEC02,Winter 2026,,,,Available onACORN,28,30,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +NMEB06H3S,LEC01,Winter 2026,,,,Available onACORN,25,30,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +NMEB06H3S,LEC02,Winter 2026,,,,Available onACORN,28,30,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +NMEB08H3S,LEC01,Winter 2026,,,,Available onACORN,25,30,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +NMEB08H3S,LEC02,Winter 2026,,,,Available onACORN,28,30,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +NMEB09H3S,LEC01,Winter 2026,,,,Available onACORN,25,30,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +NMEB09H3S,LEC02,Winter 2026,,,,Available onACORN,28,30,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +NMEB10H3S,LEC01,Winter 2026,,,,Available onACORN,25,30,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +NMEB10H3S,LEC02,Winter 2026,,,,Available onACORN,28,30,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +NMEC01H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,26,30,True,IN_PERSON,"Guzman, C.", +NROB61H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,146,175,True,IN_PERSON,"Rozeske, R.", +NROB61H3S,PRA0001,Winter 2026,FR,09:00,12:00,Available on ACORN,14,16,False,IN_PERSON,, +NROB61H3S,PRA0002,Winter 2026,FR,12:00,15:00,Available on ACORN,13,16,False,IN_PERSON,, +NROB61H3S,PRA0003,Winter 2026,WE,19:00,22:00,Available on ACORN,12,16,False,IN_PERSON,, +NROB61H3S,PRA0004,Winter 2026,TU,12:00,15:00,Available on ACORN,13,16,False,IN_PERSON,, +NROB61H3S,PRA0005,Winter 2026,TU,18:00,21:00,Available on ACORN,14,16,False,IN_PERSON,, +NROB61H3S,PRA0006,Winter 2026,WE,09:00,12:00,Available on ACORN,15,16,False,IN_PERSON,, +NROB61H3S,PRA0007,Winter 2026,WE,12:00,15:00,Available on ACORN,13,16,False,IN_PERSON,, +NROB61H3S,PRA0008,Winter 2026,TH,09:00,12:00,Available on ACORN,13,16,False,IN_PERSON,, +NROB61H3S,PRA0009,Winter 2026,TH,12:00,15:00,Available on ACORN,14,16,False,IN_PERSON,, +NROB61H3S,PRA0011,Winter 2026,TH,15:00,18:00,Available on ACORN,11,16,False,IN_PERSON,, +NROB61H3S,PRA0012,Winter 2026,TH,18:00,21:00,Available on ACORN,14,16,False,IN_PERSON,, +NROC36H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,59,60,True,IN_PERSON,"Bercovici, D.", +NROC61H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,92,100,True,IN_PERSON,"Gadziola, M.", +NROC61H3S,TUT0001,Winter 2026,TH,09:00,10:00,Available on ACORN,22,25,False,IN_PERSON,, +NROC61H3S,TUT0002,Winter 2026,TH,17:00,18:00,Available on ACORN,25,25,False,IN_PERSON,, +NROC61H3S,TUT0003,Winter 2026,TH,19:00,20:00,Available on ACORN,20,25,False,IN_PERSON,, +NROC61H3S,TUT0004,Winter 2026,TH,15:00,16:00,Available on ACORN,25,25,False,IN_PERSON,, +NROC63H3S,LEC01,Winter 2026,TH,12:00,14:00,Available on ACORN,19,20,True,IN_PERSON,"Ito Lee, R.", +NROD08H3S,LEC01,Winter 2026,FR,09:00,11:00,Available on ACORN,11,20,True,IN_PERSON,"Gruntman, E.", +NROD08H3S,TUT0001,Winter 2026,MO,14:00,15:00,Available on ACORN,11,20,False,IN_PERSON,, +PHLA10H3S,LEC01,Winter 2026,TU,11:00,12:00,Available onACORN,333,450,True,IN_PERSON,"Lee, A.", +PHLA10H3S,LEC01,Winter 2026,TH,11:00,12:00,Available onACORN,333,450,True,IN_PERSON,"Lee, A.", +PHLA10H3S,TUT0002,Winter 2026,TU,19:00,20:00,Available onACORN,18,30,False,IN_PERSON,, +PHLA10H3S,TUT0003,Winter 2026,WE,13:00,14:00,Available onACORN,28,30,False,,,Day/time change02/08/2023 +PHLA10H3S,TUT0004,Winter 2026,WE,13:00,14:00,Available onACORN,23,30,False,,,Day/time change02/08/2023 +PHLA10H3S,TUT0005,Winter 2026,TU,14:00,15:00,Available onACORN,21,30,False,IN_PERSON,, +PHLA10H3S,TUT0006,Winter 2026,TU,17:00,18:00,Available onACORN,21,30,False,IN_PERSON,, +PHLA10H3S,TUT0007,Winter 2026,WE,14:00,15:00,Available onACORN,22,30,False,,,Day/time change02/08/2023 +PHLA10H3S,TUT0008,Winter 2026,WE,14:00,15:00,Available onACORN,17,30,False,,,Day/time change02/08/2023 +PHLA10H3S,TUT0009,Winter 2026,TU,16:00,17:00,Available onACORN,19,30,False,IN_PERSON,, +PHLA10H3S,TUT0010,Winter 2026,TU,16:00,17:00,Available onACORN,30,30,False,IN_PERSON,, +PHLA10H3S,TUT0011,Winter 2026,WE,15:00,16:00,Available onACORN,18,30,False,,,Day/time change02/08/2023 +PHLA10H3S,TUT0012,Winter 2026,TU,17:00,18:00,Available onACORN,27,30,False,IN_PERSON,, +PHLA10H3S,TUT0013,Winter 2026,TU,18:00,19:00,Available onACORN,18,30,False,IN_PERSON,, +PHLA10H3S,TUT0014,Winter 2026,TU,18:00,19:00,Available onACORN,25,30,False,IN_PERSON,, +PHLA10H3S,TUT0015,Winter 2026,WE,15:00,16:00,Available onACORN,25,30,False,,,Day/time change02/08/2023 +PHLA10H3S,TUT0016,Winter 2026,WE,16:00,17:00,Available onACORN,19,30,False,,,Day/time change02/08/2023 +PHLB02H3S,LEC01,Winter 2026,TH,12:00,15:00,Available on ACORN,72,86,True,IN_PERSON,"Russell, H.", +PHLB05H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,111,120,True,IN_PERSON,"Blezy, M.", +PHLB05H3S,TUT0001,Winter 2026,TH,14:00,15:00,Available on ACORN,28,30,False,IN_PERSON,, +PHLB05H3S,TUT0002,Winter 2026,TH,14:00,15:00,Available on ACORN,27,30,False,IN_PERSON,, +PHLB05H3S,TUT0003,Winter 2026,TH,15:00,16:00,Available on ACORN,26,30,False,IN_PERSON,, +PHLB05H3S,TUT0004,Winter 2026,TH,15:00,16:00,Available on ACORN,26,30,False,IN_PERSON,, +PHLB09H3S,LEC01,Winter 2026,TU,16:00,17:00,Available on ACORN,438,480,True,IN_PERSON,"Mathison, E.", +PHLB09H3S,LEC01,Winter 2026,TH,16:00,17:00,Available on ACORN,438,480,True,IN_PERSON,"Mathison, E.", +PHLB09H3S,TUT0001,Winter 2026,TU,17:00,18:00,Available on ACORN,28,30,False,IN_PERSON,, +PHLB09H3S,TUT0002,Winter 2026,TU,17:00,18:00,Available on ACORN,30,30,False,IN_PERSON,, +PHLB09H3S,TUT0003,Winter 2026,TU,18:00,19:00,Available on ACORN,27,30,False,IN_PERSON,, +PHLB09H3S,TUT0004,Winter 2026,TU,18:00,19:00,Available on ACORN,29,30,False,IN_PERSON,, +PHLB09H3S,TUT0005,Winter 2026,TU,19:00,20:00,Available on ACORN,26,30,False,IN_PERSON,, +PHLB09H3S,TUT0006,Winter 2026,TU,19:00,20:00,Available on ACORN,28,30,False,IN_PERSON,, +PHLB09H3S,TUT0007,Winter 2026,TU,20:00,21:00,Available on ACORN,24,30,False,IN_PERSON,, +PHLB09H3S,TUT0008,Winter 2026,TU,20:00,21:00,Available on ACORN,25,30,False,IN_PERSON,, +PHLB09H3S,TUT0009,Winter 2026,WE,09:00,10:00,Available on ACORN,29,30,False,IN_PERSON,, +PHLB09H3S,TUT0010,Winter 2026,WE,09:00,10:00,Available on ACORN,27,30,False,IN_PERSON,, +PHLB09H3S,TUT0011,Winter 2026,WE,10:00,11:00,Available on ACORN,27,30,False,IN_PERSON,, +PHLB09H3S,TUT0012,Winter 2026,WE,10:00,11:00,Available on ACORN,30,30,False,IN_PERSON,, +PHLB09H3S,TUT0013,Winter 2026,WE,11:00,12:00,Available on ACORN,25,30,False,IN_PERSON,, +PHLB09H3S,TUT0014,Winter 2026,WE,11:00,12:00,Available on ACORN,27,30,False,IN_PERSON,, +PHLB09H3S,TUT0015,Winter 2026,WE,12:00,13:00,Available on ACORN,27,30,False,IN_PERSON,, +PHLB09H3S,TUT0016,Winter 2026,TH,11:00,12:00,Available on ACORN,28,30,False,IN_PERSON,, +PHLB17H3S,LEC01,Winter 2026,WE,12:00,13:00,Available on ACORN,49,100,True,IN_PERSON,"Pasternak, A.", +PHLB17H3S,LEC01,Winter 2026,FR,11:00,13:00,Available on ACORN,49,100,True,IN_PERSON,"Pasternak, A.", +PHLB55H3S,LEC01,Winter 2026,TU,13:00,15:00,Available onACORN,141,175,True,IN_PERSON,"Lee, A.",Room change08/02/23 +PHLB55H3S,TUT0001,Winter 2026,WE,11:00,12:00,Available onACORN,24,30,False,IN_PERSON,, +PHLB55H3S,TUT0002,Winter 2026,WE,11:00,12:00,Available onACORN,21,30,False,IN_PERSON,, +PHLB55H3S,TUT0003,Winter 2026,WE,12:00,13:00,Available onACORN,25,30,False,IN_PERSON,, +PHLB55H3S,TUT0004,Winter 2026,WE,12:00,13:00,Available onACORN,27,30,False,IN_PERSON,, +PHLB55H3S,TUT0005,Winter 2026,WE,09:00,10:00,Available onACORN,17,30,False,IN_PERSON,, +PHLB55H3S,TUT0006,Winter 2026,WE,13:00,14:00,Available onACORN,26,30,False,IN_PERSON,, +PHLB60H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,65,80,True,IN_PERSON,"Carter, E.", +PHLB60H3S,LEC01,Winter 2026,TH,15:00,16:00,Available on ACORN,65,80,True,IN_PERSON,"Carter, E.", +PHLB81H3S,LEC01,Winter 2026,TH,12:00,14:00,Available onACORN,137,150,True,IN_PERSON,"Carter, E.", +PHLB81H3S,TUT0001,Winter 2026,TH,16:00,17:00,Available onACORN,28,30,False,IN_PERSON,,Time change06/27/23 +PHLB81H3S,TUT0002,Winter 2026,TH,18:00,19:00,Available onACORN,27,30,False,IN_PERSON,, +PHLB81H3S,TUT0003,Winter 2026,TH,16:00,17:00,Available onACORN,28,30,False,IN_PERSON,, +PHLB81H3S,TUT0004,Winter 2026,TH,17:00,18:00,Available onACORN,28,30,False,IN_PERSON,, +PHLB81H3S,TUT0005,Winter 2026,TH,17:00,18:00,Available onACORN,25,30,False,IN_PERSON,, +PHLC03H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,21,35,True,IN_PERSON,"Anthony, Z.", +PHLC03H3S,LEC01,Winter 2026,TH,12:00,13:00,Available on ACORN,21,35,True,IN_PERSON,"Anthony, Z.", +PHLC05H3S,LEC01,Winter 2026,FR,12:00,15:00,Available on ACORN,24,35,True,IN_PERSON,"Howard, N.", +PHLC10H3S,LEC01,Winter 2026,TU,17:00,19:00,Available on ACORN,78,100,True,IN_PERSON,"Mathison, E.", +PHLC10H3S,LEC01,Winter 2026,TH,17:00,18:00,Available on ACORN,78,100,True,IN_PERSON,"Mathison, E.", +PHLC14H3S,LEC01,Winter 2026,FR,10:00,13:00,Available on ACORN,17,35,True,IN_PERSON,"Yarandi, S.", +PHLC20H3S,LEC01,Winter 2026,MO,10:00,13:00,Available on ACORN,28,35,True,IN_PERSON,"Yarandi, S.", +PHLC35H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,30,35,True,IN_PERSON,"Blezy, M.", +PHLC35H3S,LEC01,Winter 2026,TH,11:00,12:00,Available on ACORN,30,35,True,IN_PERSON,"Blezy, M.", +PHLC43H3S,LEC01,Winter 2026,WE,09:00,12:00,Available on ACORN,8,35,True,IN_PERSON,"Yarandi, S.", +PHLC51H3S,LEC01,Winter 2026,FR,11:00,14:00,Available on ACORN,9,30,True,IN_PERSON,"Kremer, P.", +PHLC80H3S,LEC01,Winter 2026,MO,13:00,16:00,Available on ACORN,21,30,True,IN_PERSON,"Bilenkyy, A.", +PHLC92H3S,LEC01,Winter 2026,WE,13:00,16:00,Available on ACORN,35,35,True,IN_PERSON,"Russell, H.", +PHLC99H3S,LEC01,Winter 2026,TU,13:00,16:00,Available onACORN,7,35,True,IN_PERSON,"Hellie, B.",Room change(08/01/24) +PHLD09H3S,LEC01,Winter 2026,MO,13:00,16:00,Available on ACORN,18,22,True,IN_PERSON,"Howard, N.", +PHLD31H3S,LEC01,Winter 2026,MO,10:00,13:00,Available onACORN,9,22,True,IN_PERSON,"Gerbasi, J.",Room change(09/01/24) +PHLD78H3S,LEC01,Winter 2026,WE,14:00,17:00,Available onACORN,8,22,True,IN_PERSON,"Pasternak,A.",Moved to department seminarroom and time change(07/12/23) +PHLD79H3S,LEC01,Winter 2026,TU,13:00,16:00,Available onACORN,5,22,True,IN_PERSON,"Wilson, J.",Room change(08/01/24) +PHLD85H3S,LEC01,Winter 2026,MO,17:00,20:00,Available on ACORN,1,5,True,IN_PERSON,"Russell, H.", +PHLD88Y3Y,LEC01,Winter 2026,MO,17:00,20:00,Available on ACORN,0,8,True,IN_PERSON,"Russell, H.", +PHLD89Y3Y,LEC01,Winter 2026,MO,17:00,20:00,Available on ACORN,0,8,True,IN_PERSON,"Mathison, E.", +PHLD90H3S,LEC01,Winter 2026,,,,Available on ACORN,2,9999,True,IN_PERSON,FACULTY, +PHLD91H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +PHLD92H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +PHLD93H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +PHLD95H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +PHLD95H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +PHLD96H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +PHLD97H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +PHLD98H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +PHLD99H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +PHYA10H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,90,120,True,IN_PERSON,"McGraw, P.", +PHYA10H3S,LEC01,Winter 2026,TH,15:00,16:00,Available on ACORN,90,120,True,IN_PERSON,"McGraw, P.", +PHYA10H3S,PRA0001,Winter 2026,TU,09:00,12:00,Available on ACORN,16,21,False,IN_PERSON,, +PHYA10H3S,PRA0002,Winter 2026,TU,09:00,12:00,Available on ACORN,18,21,False,IN_PERSON,, +PHYA10H3S,PRA0003,Winter 2026,WE,09:00,12:00,Available on ACORN,17,21,False,IN_PERSON,, +PHYA10H3S,PRA0004,Winter 2026,WE,09:00,12:00,Available on ACORN,1,21,False,IN_PERSON,, +PHYA10H3S,PRA0005,Winter 2026,WE,13:00,16:00,Available on ACORN,16,21,False,IN_PERSON,, +PHYA10H3S,PRA0006,Winter 2026,WE,13:00,16:00,Available on ACORN,18,21,False,IN_PERSON,, +PHYA10H3S,PRA0007,Winter 2026,TH,09:00,12:00,Available on ACORN,1,21,False,IN_PERSON,, +PHYA10H3S,PRA0008,Winter 2026,TH,09:00,12:00,Available on ACORN,0,21,False,IN_PERSON,, +PHYA21H3S,LEC01,Winter 2026,TU,14:00,15:00,Available onACORN,109,168,True,IN_PERSON,"Tawfiq, S.",TU Room change08/15/23 +PHYA21H3S,LEC01,Winter 2026,TH,10:00,12:00,Available onACORN,109,168,True,IN_PERSON,"Tawfiq, S.",TU Room change08/15/23 +PHYA21H3S,PRA0001,Winter 2026,WE,09:00,12:00,Available onACORN,19,21,False,IN_PERSON,, +PHYA21H3S,PRA0002,Winter 2026,WE,09:00,12:00,Available onACORN,16,21,False,IN_PERSON,, +PHYA21H3S,PRA0003,Winter 2026,WE,13:00,16:00,Available onACORN,20,21,False,IN_PERSON,, +PHYA21H3S,PRA0004,Winter 2026,WE,13:00,16:00,Available onACORN,15,21,False,IN_PERSON,, +PHYA21H3S,PRA0005,Winter 2026,FR,09:00,12:00,Available onACORN,20,21,False,IN_PERSON,, +PHYA21H3S,PRA0006,Winter 2026,FR,09:00,12:00,Available onACORN,0,21,False,IN_PERSON,, +PHYA21H3S,PRA0007,Winter 2026,TH,13:00,16:00,Available onACORN,19,21,False,IN_PERSON,, +PHYA21H3S,PRA0008,Winter 2026,TH,13:00,16:00,Available onACORN,0,21,False,IN_PERSON,, +PHYA22H3S,LEC01,Winter 2026,WE,10:00,12:00,Available on ACORN,114,147,True,IN_PERSON,"Weaver, D.", +PHYA22H3S,LEC01,Winter 2026,FR,12:00,13:00,Available on ACORN,114,147,True,IN_PERSON,"Weaver, D.", +PHYA22H3S,PRA0001,Winter 2026,MO,09:00,12:00,Available on ACORN,9,21,False,IN_PERSON,, +PHYA22H3S,PRA0002,Winter 2026,MO,09:00,12:00,Available on ACORN,0,21,False,IN_PERSON,, +PHYA22H3S,PRA0003,Winter 2026,MO,13:00,16:00,Available on ACORN,16,21,False,IN_PERSON,, +PHYA22H3S,PRA0004,Winter 2026,MO,13:00,16:00,Available on ACORN,16,21,False,IN_PERSON,, +PHYA22H3S,PRA0005,Winter 2026,TU,09:00,12:00,Available on ACORN,18,21,False,IN_PERSON,, +PHYA22H3S,PRA0006,Winter 2026,TU,09:00,12:00,Available on ACORN,19,21,False,IN_PERSON,, +PHYA22H3S,PRA0007,Winter 2026,TU,13:00,16:00,Available on ACORN,18,21,False,IN_PERSON,, +PHYA22H3S,PRA0008,Winter 2026,TU,13:00,16:00,Available on ACORN,18,21,False,IN_PERSON,, +PHYB21H3S,LEC01,Winter 2026,MO,10:00,11:00,Available onACORN,43,55,True,IN_PERSON,"Lowman,J.",Room change(12/01/24) +PHYB21H3S,LEC01,Winter 2026,TH,10:00,11:00,Available onACORN,43,55,True,IN_PERSON,"Lowman,J.",Room change(12/01/24) +PHYB21H3S,TUT0001,Winter 2026,MO,11:00,12:00,Available onACORN,42,55,False,IN_PERSON,, +PHYB52H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,40,50,True,IN_PERSON,"McGraw, P.", +PHYB52H3S,TUT0001,Winter 2026,WE,15:00,17:00,Available on ACORN,40,50,False,IN_PERSON,, +PHYB54H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,28,55,True,IN_PERSON,"Rein, H.", +PHYB54H3S,TUT0001,Winter 2026,TH,17:00,18:00,Available on ACORN,28,55,False,IN_PERSON,, +PHYC11H3S,LEC01,Winter 2026,TU,12:00,13:00,Available on ACORN,17,20,True,IN_PERSON,"Weaver, D.", +PHYC11H3S,PRA0001,Winter 2026,TU,14:00,17:00,Available on ACORN,8,10,False,IN_PERSON,, +PHYC11H3S,PRA0002,Winter 2026,WE,13:00,16:00,Available on ACORN,9,10,False,IN_PERSON,, +PHYC56H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,14,25,True,IN_PERSON,"Tawfiq, S.", +PHYC56H3S,TUT0001,Winter 2026,TU,09:00,11:00,Available on ACORN,13,25,False,IN_PERSON,, +PHYD01H3S,LEC01,Winter 2026,,,,Available on ACORN,1,10,True,IN_PERSON,"Weaver, D.", +PHYD02Y3Y,LEC01,Winter 2026,,,,Available on ACORN,0,10,True,IN_PERSON,"Weaver, D.", +PHYD38H3S,LEC01,Winter 2026,MO,10:00,12:00,Available on ACORN,16,20,True,IN_PERSON,"Artymowicz, P.", +PHYD38H3S,TUT0001,Winter 2026,MO,13:00,14:00,Available on ACORN,16,20,False,IN_PERSON,, +PHYD72H3S,LEC01,Winter 2026,,,,Available on ACORN,1,10,True,IN_PERSON,"Weaver, D.", +PLIC55H3S,LEC01,Winter 2026,TU,11:00,14:00,Available onACORN,27,30,True,IN_PERSON,"Kush, D.",Time change(14/08/23) +PLIC75H3S,LEC01,Winter 2026,TH,09:00,12:00,Available on ACORN,25,30,True,IN_PERSON,"Monahan, P.", +PLID01H3S,LEC01,Winter 2026,,,,Available on ACORN,2,9999,True,IN_PERSON,FACULTY, +PLID02H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +PLID03H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +PLID34H3S,LEC01,Winter 2026,TU,14:00,17:00,Available on ACORN,29,30,True,IN_PERSON,"Helms-Park, R.", +PLID44H3S,LEC01,Winter 2026,WE,13:00,16:00,Available on ACORN,28,30,True,IN_PERSON,"Helms-Park, R.", +PLID56H3S,LEC01,Winter 2026,TU,18:00,21:00,Available on ACORN,28,30,True,,"Komeili, M.", +PLID74H3S,LEC01,Winter 2026,TH,18:00,21:00,Available on ACORN,26,30,True,IN_PERSON,"Sanjeevan, T.", +PMDB30H3S,LEC01,Winter 2026,,,,Available onACORN,34,60,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +PMDB32Y3S,LEC01,Winter 2026,,,,Available onACORN,33,60,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +PMDB32Y3S,PRA0001,Winter 2026,,,,Available onACORN,29,30,False,IN_PERSON,,See Centennial Timetable forday/time/room information +PMDB32Y3S,PRA0002,Winter 2026,,,,Available onACORN,4,30,False,IN_PERSON,, +PMDB36H3S,LEC01,Winter 2026,,,,Available onACORN,34,60,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +PMDC54Y3S,LEC01,Winter 2026,,,,Available onACORN,19,35,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +PMDC54Y3S,PRA0001,Winter 2026,,,,Available onACORN,19,35,False,IN_PERSON,,See Centennial Timetable forday/time/room information +PMDC56H3S,LEC01,Winter 2026,,,,Available onACORN,19,35,True,IN_PERSON,CENTENNIAL,See Centennial Timetable forday/time/room information +PMDC56H3S,PRA0001,Winter 2026,,,,Available onACORN,19,11,False,IN_PERSON,,See Centennial Timetable forday/time/room information +POLA02H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,161,207,True,IN_PERSON,"Hoffmann, M.", +POLA02H3S,LEC02,Winter 2026,WE,11:00,13:00,Available on ACORN,126,207,True,IN_PERSON,"Renckens, S.", +POLA02H3S,TUT0001,Winter 2026,TU,09:00,10:00,Available on ACORN,29,30,False,IN_PERSON,, +POLA02H3S,TUT0002,Winter 2026,TU,10:00,11:00,Available on ACORN,29,30,False,IN_PERSON,, +POLA02H3S,TUT0003,Winter 2026,TU,16:00,17:00,Available on ACORN,26,30,False,IN_PERSON,, +POLA02H3S,TUT0004,Winter 2026,TU,09:00,10:00,Available on ACORN,26,30,False,IN_PERSON,, +POLA02H3S,TUT0005,Winter 2026,TU,17:00,18:00,Available on ACORN,28,30,False,IN_PERSON,, +POLA02H3S,TUT0006,Winter 2026,TU,15:00,16:00,Available on ACORN,23,27,False,IN_PERSON,, +POLA02H3S,TUT0010,Winter 2026,WE,09:00,10:00,Available on ACORN,19,30,False,IN_PERSON,, +POLA02H3S,TUT0011,Winter 2026,WE,10:00,11:00,Available on ACORN,22,25,False,IN_PERSON,, +POLA02H3S,TUT0012,Winter 2026,WE,16:00,17:00,Available on ACORN,16,30,False,IN_PERSON,, +POLA02H3S,TUT0013,Winter 2026,WE,14:00,15:00,Available on ACORN,27,30,False,IN_PERSON,, +POLA02H3S,TUT0014,Winter 2026,WE,14:00,15:00,Available on ACORN,24,30,False,IN_PERSON,, +POLA02H3S,TUT0015,Winter 2026,WE,10:00,11:00,Available on ACORN,17,25,False,IN_PERSON,, +POLB57H3S,LEC01,Winter 2026,TU,15:00,17:00,Available onACORN,218,270,True,IN_PERSON,"McDougall,A.", +POLB57H3S,TUT0001,Winter 2026,TU,09:00,10:00,Available onACORN,26,30,False,IN_PERSON,, +POLB57H3S,TUT0002,Winter 2026,TU,18:00,19:00,Available onACORN,23,30,False,IN_PERSON,, +POLB57H3S,TUT0003,Winter 2026,TU,18:00,19:00,Available onACORN,27,30,False,IN_PERSON,, +POLB57H3S,TUT0004,Winter 2026,TU,19:00,20:00,Available onACORN,20,30,False,IN_PERSON,, +POLB57H3S,TUT0005,Winter 2026,TU,19:00,20:00,Available onACORN,14,30,False,IN_PERSON,, +POLB57H3S,TUT0006,Winter 2026,TU,13:00,14:00,Available onACORN,28,30,False,IN_PERSON,,Room change08/15/23 +POLB57H3S,TUT0007,Winter 2026,TU,17:00,18:00,Available onACORN,27,30,False,IN_PERSON,, +POLB57H3S,TUT0008,Winter 2026,TU,17:00,18:00,Available onACORN,28,30,False,IN_PERSON,, +POLB57H3S,TUT0009,Winter 2026,TU,14:00,15:00,Available onACORN,23,25,False,IN_PERSON,, +POLB81H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,118,175,True,IN_PERSON,"Oduro, A.", +POLB81H3S,TUT0001,Winter 2026,MO,13:00,14:00,Available on ACORN,27,30,False,IN_PERSON,, +POLB81H3S,TUT0002,Winter 2026,MO,14:00,15:00,Available on ACORN,29,30,False,IN_PERSON,, +POLB81H3S,TUT0005,Winter 2026,MO,15:00,16:00,Available on ACORN,29,30,False,IN_PERSON,, +POLB81H3S,TUT0006,Winter 2026,MO,16:00,17:00,Available on ACORN,31,34,False,IN_PERSON,, +POLB91H3S,LEC01,Winter 2026,TU,11:00,13:00,Available onACORN,153,180,True,IN_PERSON,"Way, L.", +POLB91H3S,TUT0001,Winter 2026,TU,09:00,10:00,Available onACORN,24,30,False,IN_PERSON,, +POLB91H3S,TUT0002,Winter 2026,TU,10:00,11:00,Available onACORN,28,30,False,IN_PERSON,, +POLB91H3S,TUT0003,Winter 2026,TU,17:00,18:00,Available onACORN,25,30,False,IN_PERSON,, +POLB91H3S,TUT0004,Winter 2026,TU,16:00,17:00,Available onACORN,25,30,False,IN_PERSON,, +POLB91H3S,TUT0005,Winter 2026,TU,18:00,19:00,Available onACORN,21,30,False,IN_PERSON,, +POLB91H3S,TUT0006,Winter 2026,TU,14:00,15:00,Available onACORN,30,30,False,IN_PERSON,,Room change -7/10/23 +POLC36H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,79,120,True,IN_PERSON,"Spahiu, I.", +POLC36H3S,TUT0001,Winter 2026,MO,13:00,14:00,Available on ACORN,27,30,False,IN_PERSON,, +POLC36H3S,TUT0002,Winter 2026,MO,14:00,15:00,Available on ACORN,27,30,False,IN_PERSON,, +POLC36H3S,TUT0003,Winter 2026,MO,15:00,16:00,Available on ACORN,25,30,False,IN_PERSON,, +POLC39H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,74,84,True,IN_PERSON,"Kamal, F.", +POLC39H3S,TUT0001,Winter 2026,WE,13:00,14:00,Available on ACORN,27,30,False,IN_PERSON,, +POLC39H3S,TUT0002,Winter 2026,WE,14:00,15:00,Available on ACORN,24,30,False,IN_PERSON,, +POLC39H3S,TUT0003,Winter 2026,WE,16:00,17:00,Available on ACORN,21,30,False,IN_PERSON,, +POLC40H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,64,74,True,IN_PERSON,"Campisi, J.", +POLC56H3S,LEC01,Winter 2026,TH,15:00,17:00,Available on ACORN,41,63,True,IN_PERSON,"Cowie, C.", +POLC57H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,39,60,True,IN_PERSON,"Bernhardt, N.", +POLC70H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,49,60,True,IN_PERSON,"Kohn, M.", +POLC73H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,53,63,True,IN_PERSON,"Shanks, T.", +POLC87H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,25,60,True,IN_PERSON,"Norrlof, C.", +POLC88H3S,LEC01,Winter 2026,MO,15:00,17:00,Available on ACORN,66,70,True,IN_PERSON,"Campisi, J.", +POLC92H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,30,60,True,IN_PERSON,"Levine, R.", +POLC94H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,40,60,True,IN_PERSON,"Soremi, T.", +POLD02Y3Y,LEC01,Winter 2026,FR,13:00,15:00,Available on ACORN,0,10,True,IN_PERSON,"Soremi, T.", +POLD09H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,14,25,True,IN_PERSON,"Ahmad, A.", +POLD41H3S,LEC01,Winter 2026,MO,09:00,11:00,Available on ACORN,14,25,True,IN_PERSON,"Ahmad, A.", +POLD45H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,20,25,True,IN_PERSON,"Hurl, R.", +POLD46H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,22,25,True,IN_PERSON,"Oron, O.", +POLD50H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,23,25,True,IN_PERSON,"Soremi, T.", +POLD52H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,22,25,True,IN_PERSON,"Campisi, J.", +POLD54H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,9,25,True,IN_PERSON,"Cowie, C.", +POLD56H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,12,25,True,IN_PERSON,"Cochrane, C.", +POLD89H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,23,25,True,IN_PERSON,"Parker, S.", +POLD92H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,23,25,True,IN_PERSON,"Alsaadi, S.", +POLD95H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +POLD98H3S,LEC01,Winter 2026,,,,Available on ACORN,3,9999,True,IN_PERSON,FACULTY, +PPGB11H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,31,60,True,IN_PERSON,"Levine, R.", +PPGC67H3S,LEC01,Winter 2026,TU,10:00,12:00,Available on ACORN,76,90,True,IN_PERSON,"Greenaway, C.", +PPGD64H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,11,25,True,IN_PERSON,"Renckens, S.", +PSCB90H3S,LEC01,Winter 2026,,,,Available on ACORN,12,20,True,IN_PERSON,"Kim, S.", +PSCD02H3S,LEC01,Winter 2026,TH,09:00,11:00,Available on ACORN,21,30,True,IN_PERSON,"Wania, F.", +PSCD02H3S,TUT0001,Winter 2026,TH,11:00,12:00,Available on ACORN,21,28,False,IN_PERSON,, +PSCD11H3S,LEC01,Winter 2026,TH,19:00,22:00,Available on ACORN,44,45,True,IN_PERSON,"Verdecchia, R.", +PSYA02H3S,LEC01,Winter 2026,TU,09:00,10:00,Available onACORN,489,500,True,IN_PERSON,"McPhee,A.", +PSYA02H3S,LEC01,Winter 2026,WE,09:00,10:00,Available onACORN,489,500,True,IN_PERSON,"McPhee,A.", +PSYA02H3S,LEC01,Winter 2026,FR,09:00,10:00,Available onACORN,489,500,True,IN_PERSON,"McPhee,A.", +PSYA02H3S,LEC02,Winter 2026,,,,Available onACORN,1208,9999,True,,"McPhee,A.", +PSYB30H3S,LEC01,Winter 2026,WE,14:00,17:00,Available on ACORN,443,500,True,IN_PERSON,"Tritt, S.", +PSYB38H3S,LEC01,Winter 2026,WE,19:00,22:00,Available onACORN,205,350,True,IN_PERSON,"Morrissey,M.", +PSYB38H3S,LEC02,Winter 2026,,,,Available onACORN,137,150,True,,"Morrissey,M.", +PSYB51H3S,LEC01,Winter 2026,WE,11:00,14:00,Available onACORN,119,350,True,IN_PERSON,"Niemeier,M.", +PSYB51H3S,LEC02,Winter 2026,,,,Available onACORN,96,150,True,,"Niemeier,M.", +PSYB57H3S,LEC01,Winter 2026,WE,11:00,14:00,Available onACORN,226,234,True,IN_PERSON,"Pare, D.", +PSYB57H3S,LEC02,Winter 2026,,,,Available onACORN,230,260,True,,"Pare, D.", +PSYB64H3S,LEC01,Winter 2026,TH,18:00,21:00,Available onACORN,141,200,True,IN_PERSON,"Di Domenico,S.", +PSYB64H3S,LEC02,Winter 2026,,,,Available onACORN,206,260,True,,"Di Domenico,S.", +PSYB90H3Y,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +PSYC02H3S,LEC01,Winter 2026,TU,09:00,11:00,Available onACORN,57,60,True,IN_PERSON,"Schwartz,S.",Will not open further onJuly 27th +PSYC02H3S,TUT0001,Winter 2026,TH,19:00,21:00,Available onACORN,16,22,False,IN_PERSON,, +PSYC02H3S,TUT0002,Winter 2026,TH,15:00,17:00,Available onACORN,20,22,False,IN_PERSON,, +PSYC02H3S,TUT0003,Winter 2026,TH,17:00,19:00,Available onACORN,21,22,False,IN_PERSON,, +PSYC03H3S,LEC01,Winter 2026,FR,12:00,15:00,Available on ACORN,19,35,True,IN_PERSON,"Nestor, A.", +PSYC08H3S,LEC01,Winter 2026,WE,14:00,17:00,Available on ACORN,114,166,True,IN_PERSON,"Lewandowska, O.", +PSYC08H3S,LEC02,Winter 2026,TH,18:00,21:00,Available on ACORN,55,63,True,IN_PERSON,"Lewandowska, O.", +PSYC08H3S,TUT0001,Winter 2026,TU,09:00,10:00,Available on ACORN,15,25,False,IN_PERSON,, +PSYC08H3S,TUT0002,Winter 2026,TU,10:00,11:00,Available on ACORN,21,25,False,IN_PERSON,, +PSYC08H3S,TUT0003,Winter 2026,TU,16:00,17:00,Available on ACORN,20,29,False,IN_PERSON,, +PSYC08H3S,TUT0004,Winter 2026,TU,11:00,12:00,Available on ACORN,21,25,False,IN_PERSON,, +PSYC08H3S,TUT0005,Winter 2026,TU,12:00,13:00,Available on ACORN,23,25,False,IN_PERSON,, +PSYC08H3S,TUT0006,Winter 2026,TU,15:00,16:00,Available on ACORN,19,25,False,IN_PERSON,, +PSYC08H3S,TUT0007,Winter 2026,TU,17:00,18:00,Available on ACORN,7,25,False,IN_PERSON,, +PSYC08H3S,TUT0008,Winter 2026,TU,18:00,19:00,Available on ACORN,19,25,False,IN_PERSON,, +PSYC08H3S,TUT0009,Winter 2026,TU,19:00,20:00,Available on ACORN,20,25,False,IN_PERSON,, +PSYC12H3S,LEC01,Winter 2026,WE,15:00,17:00,Available onACORN,94,100,True,IN_PERSON,"Bramesfeld,K.",Will not open furtheron July 27th +PSYC14H3S,LEC01,Winter 2026,TU,15:00,17:00,Available onACORN,95,100,True,IN_PERSON,"Huang, F.",Will not open further onJuly 27th +PSYC15H3S,LEC01,Winter 2026,TH,15:00,17:00,Available on ACORN,93,100,True,IN_PERSON,"Bramesfeld, K.", +PSYC18H3S,LEC01,Winter 2026,MO,09:00,12:00,Available onACORN,94,100,True,,"Ford, B.",Will not open further on July 27thMoved online. Final exam remainsin-person. (12/06/23) +PSYC18H3S,LEC02,Winter 2026,MO,14:00,17:00,Available onACORN,97,100,True,,"Ford, B.",Will not open further on July 27thMoved online. Final exam remainsin-person. (12/06/23) +PSYC21H3S,LEC01,Winter 2026,TH,13:00,15:00,Available onACORN,97,100,True,IN_PERSON,"McPhee,A.",Will not open further onJuly 27th +PSYC22H3S,LEC01,Winter 2026,MO,09:00,11:00,Available onACORN,89,100,True,IN_PERSON,"Cirelli, L.",Will not open further onJuly 27th +PSYC27H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,86,100,True,IN_PERSON,"Haley, D.", +PSYC30H3S,LEC01,Winter 2026,WE,11:00,13:00,Available on ACORN,95,100,True,IN_PERSON,"Tritt, S.", +PSYC34H3S,LEC01,Winter 2026,FR,11:00,13:00,Available on ACORN,97,100,True,IN_PERSON,"Thiruchselvam, R.", +PSYC38H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,92,100,True,IN_PERSON,"Best, M.", +PSYC39H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,90,100,True,IN_PERSON,"Bagby, M.", +PSYC51H3S,LEC01,Winter 2026,TH,19:00,21:00,Available on ACORN,48,90,True,IN_PERSON,"Sama, M.", +PSYC54H3S,LEC01,Winter 2026,TH,15:00,17:00,Available on ACORN,81,100,True,IN_PERSON,"Lewandowska, O.", +PSYC58H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,89,100,True,IN_PERSON,"Cree, G.", +PSYC62H3S,LEC01,Winter 2026,TU,17:00,19:00,Available on ACORN,257,300,True,IN_PERSON,"Morrissey, M.", +PSYC70H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,70,75,True,IN_PERSON,"Cree, G.", +PSYC70H3S,LEC02,Winter 2026,TU,15:00,17:00,Available on ACORN,92,100,True,IN_PERSON,"Cree, G.", +PSYC70H3S,TUT0001,Winter 2026,TH,09:00,10:00,Available on ACORN,24,25,False,IN_PERSON,, +PSYC70H3S,TUT0002,Winter 2026,TH,11:00,12:00,Available on ACORN,24,25,False,IN_PERSON,, +PSYC70H3S,TUT0003,Winter 2026,TH,14:00,15:00,Available on ACORN,24,25,False,IN_PERSON,, +PSYC70H3S,TUT0004,Winter 2026,TH,20:00,21:00,Available on ACORN,19,25,False,IN_PERSON,, +PSYC70H3S,TUT0005,Winter 2026,TH,16:00,17:00,Available on ACORN,25,25,False,IN_PERSON,, +PSYC70H3S,TUT0006,Winter 2026,TH,17:00,18:00,Available on ACORN,23,25,False,IN_PERSON,, +PSYC70H3S,TUT0007,Winter 2026,TH,18:00,19:00,Available on ACORN,23,25,False,IN_PERSON,, +PSYC71H3S,LEC01,Winter 2026,WE,12:00,14:00,Available onACORN,30,35,True,IN_PERSON,"Schwartz,S.",Will not open further onJuly 27th +PSYC73H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,28,35,True,IN_PERSON,"Hamdullahpur, K.", +PSYC75H3S,LEC01,Winter 2026,TU,11:00,14:00,Available on ACORN,25,35,True,IN_PERSON,"Cant, J.", +PSYC90H3Y,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +PSYC93H3Y,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +PSYD15H3S,LEC01,Winter 2026,MO,15:00,17:00,Available on ACORN,22,24,True,IN_PERSON,"Wang, A.", +PSYD15H3S,LEC02,Winter 2026,WE,09:00,11:00,Available on ACORN,24,24,True,IN_PERSON,"Schwartz, S.", +PSYD15H3S,LEC03,Winter 2026,FR,11:00,13:00,Available on ACORN,22,24,True,IN_PERSON,"Teper, R.", +PSYD20H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,22,24,True,IN_PERSON,"Wu, Y.", +PSYD23H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,21,24,True,IN_PERSON,"Haley, D.", +PSYD30H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,19,24,True,IN_PERSON,"Di Domenico, S.", +PSYD32H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,23,24,True,IN_PERSON,"Bagby, M.", +PSYD33H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,18,24,True,IN_PERSON,"Orjiakor, T.", +PSYD33H3S,LEC03,Winter 2026,FR,13:00,15:00,Available on ACORN,23,24,True,IN_PERSON,"Arbour, S.", +PSYD35H3S,LEC01,Winter 2026,MO,09:00,11:00,Available on ACORN,15,35,True,IN_PERSON,"McNamara, T.", +PSYD37H3S,LEC01,Winter 2026,WE,10:00,12:00,Available on ACORN,24,24,True,IN_PERSON,"Williams, P.", +PSYD50H3S,LEC01,Winter 2026,TU,13:00,15:00,Available onACORN,22,24,True,IN_PERSON,"Nestor, A.",Will not open further onJuly 27th +PSYD62H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,20,24,True,IN_PERSON,"Thiruchselvam, R.", +PSYD66H3S,LEC01,Winter 2026,TU,11:00,13:00,Available on ACORN,16,24,True,IN_PERSON,"Niemeier, M.", +PSYD66H3S,LEC02,Winter 2026,MO,11:00,13:00,Available on ACORN,17,24,True,IN_PERSON,"Niemeier, M.", +PSYD66H3S,LEC03,Winter 2026,WE,13:00,15:00,Available on ACORN,21,24,True,IN_PERSON,"Thiruchselvam, R.", +PSYD98Y3Y,LEC01,Winter 2026,FR,13:00,15:00,Available on ACORN,0,40,True,IN_PERSON,"Bercovici, D.", +RLGA02H3S,LEC01,Winter 2026,TU,16:00,18:00,Available on ACORN,74,207,True,IN_PERSON,"Perley, D.", +SOCA03Y3Y,LEC02,Winter 2026,,,,Available on ACORN,0,430,True,ONLINE_ASYNCHRONOUS,"Hashemi, b.", +SOCB22H3S,LEC01,Winter 2026,TH,17:00,19:00,Available on ACORN,24,80,True,IN_PERSON,"Hashemi, B.", +SOCB43H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,76,130,True,IN_PERSON,"Braun, J.", +SOCB43H3S,TUT0001,Winter 2026,FR,10:00,11:00,Available on ACORN,30,30,False,IN_PERSON,, +SOCB43H3S,TUT0002,Winter 2026,FR,11:00,12:00,Available on ACORN,24,30,False,IN_PERSON,, +SOCB43H3S,TUT0003,Winter 2026,FR,12:00,13:00,Available on ACORN,22,27,False,IN_PERSON,, +SOCB47H3S,LEC01,Winter 2026,WE,13:00,15:00,Available onACORN,68,120,True,IN_PERSON,"Kwan-Lafond,D.", +SOCB47H3S,TUT0001,Winter 2026,WE,15:00,16:00,Available onACORN,25,30,False,IN_PERSON,,Room change(08/01/24) +SOCB47H3S,TUT0002,Winter 2026,WE,16:00,17:00,Available onACORN,17,30,False,IN_PERSON,, +SOCB47H3S,TUT0003,Winter 2026,WE,15:00,16:00,Available onACORN,25,30,False,IN_PERSON,,Room change(08/01/24) +SOCB49H3S,LEC01,Winter 2026,TH,09:00,11:00,Available onACORN,36,120,True,IN_PERSON,"Hsiung, P.", +SOCB49H3S,TUT0001,Winter 2026,TH,13:00,14:00,Available onACORN,21,30,False,IN_PERSON,, +SOCB49H3S,TUT0002,Winter 2026,TH,14:00,15:00,Available onACORN,15,30,False,IN_PERSON,,Room change -07/12/23 +SOCB50H3S,LEC01,Winter 2026,FR,10:00,12:00,Available on ACORN,46,80,True,IN_PERSON,"Doherty, J.", +SOCB50H3S,TUT0001,Winter 2026,FR,12:00,13:00,Available on ACORN,28,30,False,IN_PERSON,, +SOCB50H3S,TUT0002,Winter 2026,FR,13:00,14:00,Available on ACORN,18,30,False,IN_PERSON,, +SOCB59H3S,LEC01,Winter 2026,TH,15:00,17:00,Available on ACORN,52,60,True,IN_PERSON,"Doherty, J.", +SOCB59H3S,TUT0001,Winter 2026,MO,09:00,10:00,Available on ACORN,24,30,False,IN_PERSON, , +SOCB59H3S,TUT0002,Winter 2026,MO,10:00,11:00,Available on ACORN,28,30,False,IN_PERSON, , +SOCC11H3S,LEC01,Winter 2026,TH,15:00,17:00,Available on ACORN,52,60,True,IN_PERSON,"Doherty, J.", +SOCC11H3S,TUT0001,Winter 2026,MO,09:00,10:00,Available on ACORN,24,30,False,IN_PERSON,, +SOCC11H3S,TUT0002,Winter 2026,MO,10:00,11:00,Available on ACORN,28,30,False,IN_PERSON,, +SOCC23H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,55,60,True,IN_PERSON,"Doherty, J.", +SOCC50H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,11,15,True,IN_PERSON,"Elcioglu, E.", +SOCC50H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,41,60,True,IN_PERSON,"Philips, M.", +SOCC55H3S,LEC01,Winter 2026,FR,11:00,13:00,Available on ACORN,40,60,True,IN_PERSON,"Kwan-Lafond, D.", +SOCC59H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,26,60,True,IN_PERSON,"Sarkar, M.", +SOCC70H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,13,40,True,IN_PERSON,"Fosse, E.", +SOCD05H3S,LEC01,Winter 2026,MO,13:00,15:00,Available onACORN,18,20,True,IN_PERSON,"Doherty, J.",Room change(04/01/24) +SOCD15H3S,LEC01,Winter 2026,TU,15:00,17:00,Available on ACORN,7,20,True,IN_PERSON,"Sarkar, M.", +SOCD20H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,3,20,True,IN_PERSON,"Hsiung, P.", +SOCD21H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,15,20,True,IN_PERSON,"Elcioglu, E.", +SOCD25H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,8,20,True,IN_PERSON,"Philips, M.", +SOCD40H3S,LEC01,Winter 2026,,,,Available on ACORN,2,9999,True,IN_PERSON,FACULTY, +SOCD41H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +SOCD44H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,6,20,True,IN_PERSON,"Hannigan, J.", +STAA57H3S,LEC01,Winter 2026,FR,10:00,11:00,Available on ACORN,106,130,True,IN_PERSON,"Shams, S.", +STAA57H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,106,130,True,IN_PERSON,"Shams, S.", +STAA57H3S,TUT0001,Winter 2026,FR,09:00,10:00,Available on ACORN,16,34,False,IN_PERSON,, +STAA57H3S,TUT0002,Winter 2026,FR,09:00,10:00,Available on ACORN,24,34,False,IN_PERSON,, +STAA57H3S,TUT0003,Winter 2026,FR,09:00,10:00,Available on ACORN,33,34,False,IN_PERSON,, +STAA57H3S,TUT0004,Winter 2026,FR,09:00,10:00,Available on ACORN,32,34,False,IN_PERSON,, +STAB22H3S,LEC01,Winter 2026,MO,09:00,10:00,Available onACORN,273,315,True,IN_PERSON,"Samarakoon,M.", +STAB22H3S,LEC01,Winter 2026,WE,10:00,11:00,Available onACORN,273,315,True,IN_PERSON,"Samarakoon,M.", +STAB22H3S,LEC01,Winter 2026,FR,10:00,11:00,Available onACORN,273,315,True,IN_PERSON,"Samarakoon,M.", +STAB22H3S,LEC02,Winter 2026,MO,11:00,12:00,Available onACORN,292,315,True,IN_PERSON,"Samarakoon,M.", +STAB22H3S,LEC02,Winter 2026,WE,11:00,12:00,Available onACORN,292,315,True,IN_PERSON,"Samarakoon,M.", +STAB22H3S,LEC02,Winter 2026,FR,14:00,15:00,Available onACORN,292,315,True,IN_PERSON,"Samarakoon,M.", +STAB22H3S,TUT0001,Winter 2026,TH,11:00,12:00,Available onACORN,35,35,False,IN_PERSON,, +STAB22H3S,TUT0002,Winter 2026,FR,12:00,13:00,Available onACORN,33,35,False,IN_PERSON,, +STAB22H3S,TUT0003,Winter 2026,WE,16:00,17:00,Available onACORN,32,35,False,IN_PERSON,,Room change(15/11/23) +STAB22H3S,TUT0004,Winter 2026,WE,19:00,20:00,Available onACORN,32,35,False,IN_PERSON,, +STAB22H3S,TUT0005,Winter 2026,WE,09:00,10:00,Available onACORN,31,35,False,IN_PERSON,, +STAB22H3S,TUT0006,Winter 2026,MO,19:00,20:00,Available onACORN,30,35,False,IN_PERSON,, +STAB22H3S,TUT0007,Winter 2026,TU,18:00,19:00,Available onACORN,32,35,False,IN_PERSON,, +STAB22H3S,TUT0008,Winter 2026,TH,18:00,19:00,Available onACORN,30,35,False,IN_PERSON,, +STAB22H3S,TUT0009,Winter 2026,FR,09:00,10:00,Available onACORN,34,35,False,IN_PERSON,, +STAB22H3S,TUT0010,Winter 2026,TH,20:00,21:00,Available onACORN,17,35,False,IN_PERSON,, +STAB22H3S,TUT0011,Winter 2026,WE,16:00,17:00,Available onACORN,34,35,False,IN_PERSON,, +STAB22H3S,TUT0012,Winter 2026,WE,19:00,20:00,Available onACORN,33,35,False,IN_PERSON,, +STAB22H3S,TUT0013,Winter 2026,FR,13:00,14:00,Available onACORN,34,35,False,IN_PERSON,,Room change(09/01/24) +STAB22H3S,TUT0014,Winter 2026,TH,19:00,20:00,Available onACORN,33,35,False,IN_PERSON,, +STAB22H3S,TUT0015,Winter 2026,TU,19:00,20:00,Available onACORN,29,35,False,IN_PERSON,, +STAB22H3S,TUT0016,Winter 2026,TH,18:00,19:00,Available onACORN,28,35,False,IN_PERSON,, +STAB22H3S,TUT0017,Winter 2026,TU,18:00,19:00,Available onACORN,34,35,False,IN_PERSON,, +STAB22H3S,TUT0018,Winter 2026,FR,11:00,12:00,Available onACORN,31,35,False,IN_PERSON,, +STAB23H3S,LEC01,Winter 2026,MO,09:00,10:00,Available onACORN,196,230,True,IN_PERSON,"Asidianya,N.", +STAB23H3S,LEC01,Winter 2026,FR,12:00,14:00,Available onACORN,196,230,True,IN_PERSON,"Asidianya,N.", +STAB23H3S,TUT0001,Winter 2026,TH,17:00,18:00,Available onACORN,27,34,False,IN_PERSON,, +STAB23H3S,TUT0002,Winter 2026,TU,19:00,20:00,Available onACORN,28,34,False,IN_PERSON,, +STAB23H3S,TUT0003,Winter 2026,FR,14:00,15:00,Available onACORN,32,34,False,IN_PERSON,,Room change(09/01/24) +STAB23H3S,TUT0004,Winter 2026,TU,10:00,11:00,Available onACORN,32,34,False,IN_PERSON,, +STAB23H3S,TUT0005,Winter 2026,TH,18:00,19:00,Available onACORN,21,34,False,IN_PERSON,,Room change -07/12/23 +STAB23H3S,TUT0006,Winter 2026,TU,13:00,14:00,Available onACORN,27,34,False,IN_PERSON,, +STAB23H3S,TUT0007,Winter 2026,FR,09:00,10:00,Available onACORN,28,34,False,IN_PERSON,, +STAB27H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,106,140,True,IN_PERSON,"Kang, S.", +STAB27H3S,LEC01,Winter 2026,FR,11:00,12:00,Available on ACORN,106,140,True,IN_PERSON,"Kang, S.", +STAB27H3S,TUT0001,Winter 2026,TU,18:00,19:00,Available on ACORN,19,36,False,IN_PERSON,, +STAB27H3S,TUT0002,Winter 2026,FR,14:00,15:00,Available on ACORN,25,36,False,IN_PERSON,, +STAB27H3S,TUT0003,Winter 2026,FR,09:00,10:00,Available on ACORN,33,36,False,IN_PERSON,, +STAB27H3S,TUT0004,Winter 2026,FR,13:00,14:00,Available on ACORN,29,36,False,IN_PERSON,, +STAB41H3S,LEC01,Winter 2026,TU,11:00,12:00,Available on ACORN,43,60,True,IN_PERSON,"Gao, J.", +STAB41H3S,LEC01,Winter 2026,FR,11:00,13:00,Available on ACORN,43,60,True,IN_PERSON,"Gao, J.", +STAB41H3S,TUT0001,Winter 2026,MO,09:00,10:00,Available on ACORN,16,32,False,IN_PERSON,, +STAB41H3S,TUT0002,Winter 2026,WE,13:00,14:00,Available on ACORN,27,32,False,IN_PERSON,, +STAB57H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,53,120,True,IN_PERSON,"Shams, S.", +STAB57H3S,LEC01,Winter 2026,TH,11:00,12:00,Available on ACORN,53,120,True,IN_PERSON,"Shams, S.", +STAB57H3S,LEC02,Winter 2026,TU,13:00,15:00,Available on ACORN,105,200,True,IN_PERSON,"Shams, S.", +STAB57H3S,LEC02,Winter 2026,TH,13:00,14:00,Available on ACORN,105,200,True,IN_PERSON,"Shams, S.", +STAB57H3S,TUT0001,Winter 2026,FR,10:00,11:00,Available on ACORN,32,34,False,IN_PERSON,, +STAB57H3S,TUT0002,Winter 2026,TH,16:00,17:00,Available on ACORN,30,34,False,IN_PERSON,, +STAB57H3S,TUT0004,Winter 2026,WE,16:00,17:00,Available on ACORN,32,34,False,IN_PERSON,, +STAB57H3S,TUT0005,Winter 2026,MO,19:00,20:00,Available on ACORN,13,34,False,IN_PERSON,, +STAB57H3S,TUT0007,Winter 2026,TH,18:00,19:00,Available on ACORN,33,34,False,IN_PERSON,, +STAB57H3S,TUT0008,Winter 2026,FR,14:00,15:00,Available on ACORN,18,34,False,IN_PERSON,, +STAC33H3S,LEC01,Winter 2026,TU,12:00,13:00,Available on ACORN,104,100,True,IN_PERSON,"Butler, K.", +STAC33H3S,LEC01,Winter 2026,TH,14:00,15:00,Available on ACORN,104,100,True,IN_PERSON,"Butler, K.", +STAC33H3S,TUT0001,Winter 2026,MO,11:00,12:00,Available on ACORN,36,53,False,IN_PERSON,, +STAC33H3S,TUT0002,Winter 2026,MO,12:00,13:00,Available on ACORN,39,53,False,IN_PERSON,, +STAC33H3S,TUT0003,Winter 2026,MO,19:00,20:00,Available on ACORN,28,53,False,IN_PERSON,, +STAC51H3S,LEC01,Winter 2026,MO,16:00,17:00,Available on ACORN,63,150,True,IN_PERSON,"Samarakoon, M.", +STAC51H3S,LEC01,Winter 2026,WE,15:00,17:00,Available on ACORN,63,150,True,IN_PERSON,"Samarakoon, M.", +STAC51H3S,TUT0001,Winter 2026,FR,13:00,14:00,Available on ACORN,39,50,False,IN_PERSON,, +STAC51H3S,TUT0002,Winter 2026,MO,12:00,13:00,Available on ACORN,23,50,False,IN_PERSON,, +STAC58H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,67,135,True,IN_PERSON,"Wong, T.", +STAC58H3S,LEC01,Winter 2026,WE,10:00,11:00,Available on ACORN,67,135,True,IN_PERSON,"Wong, T.", +STAC63H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,40,,False,,M. Monday,room +STAC63H3S,LEC01,Winter 2026,WE,11:00,12:00,Available on ACORN,40,,False,,M. Monday,room +STAC67H3S,LEC01,Winter 2026,MO,13:00,15:00,Available onACORN,18,40,True,IN_PERSON,"Evans, M.",Monday room change01/09/24 +STAC67H3S,LEC01,Winter 2026,WE,11:00,12:00,Available onACORN,18,40,True,IN_PERSON,"Evans, M.",Monday room change01/09/24 +STAC67H3S,LEC01,Winter 2026,WE,09:00,10:00,Available on ACORN,75,135,True,IN_PERSON,"Kang, S.", +STAC67H3S,LEC01,Winter 2026,FR,09:00,11:00,Available on ACORN,75,135,True,IN_PERSON,"Kang, S.", +STAC67H3S,TUT0001,Winter 2026,TU,17:00,18:00,Available on ACORN,38,50,False,IN_PERSON,, +STAC67H3S,TUT0002,Winter 2026,TH,12:00,13:00,Available on ACORN,36,50,False,IN_PERSON,, +STAC70H3S,LEC01,Winter 2026,MO,09:00,10:00,Available on ACORN,30,50,True,IN_PERSON,"Damouras, S.", +STAC70H3S,LEC01,Winter 2026,WE,12:00,14:00,Available on ACORN,30,50,True,IN_PERSON,"Damouras, S.", +STAC70H3S,TUT0001,Winter 2026,MO,10:00,11:00,Available on ACORN,29,50,False,IN_PERSON,, +STAD29H3S,LEC01,Winter 2026,WE,14:00,16:00,Available on ACORN,88,117,True,IN_PERSON,"Butler, K.", +STAD29H3S,PRA0001,Winter 2026,MO,16:00,17:00,Available on ACORN,60,74,False,ONLINE_SYNCHRONOUS,, +STAD29H3S,PRA0002,Winter 2026,MO,16:00,17:00,Available on ACORN,22,36,False,IN_PERSON,, +STAD70H3S,LEC01,Winter 2026,MO,14:00,16:00,Available on ACORN,27,35,True,IN_PERSON,"Damouras, S.", +STAD70H3S,LEC01,Winter 2026,WE,16:00,17:00,Available on ACORN,27,35,True,IN_PERSON,"Damouras, S.", +STAD92H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +STAD93H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +STAD94H3S,LEC01,Winter 2026,,,,Available on ACORN,11,9999,True,IN_PERSON,FACULTY, +STAD95H3S,LEC01,Winter 2026,,,,Available on ACORN,1,9999,True,IN_PERSON,FACULTY, +THRA11H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,24,25,True,IN_PERSON,"Da Silva Melo, C.", +THRA11H3S,LEC01,Winter 2026,FR,13:00,15:00,Available on ACORN,24,25,True,IN_PERSON,"Da Silva Melo, C.", +THRA11H3S,LEC02,Winter 2026,TU,13:00,15:00,Available on ACORN,19,25,True,IN_PERSON,"Mealey, S.", +THRA11H3S,LEC02,Winter 2026,TH,13:00,15:00,Available on ACORN,19,25,True,IN_PERSON,"Mealey, S.", +THRB21H3S,LEC01,Winter 2026,MO,10:00,13:00,Available on ACORN,47,60,True,IN_PERSON,"Freeman, B.", +THRB55H3S,LEC01,Winter 2026,TU,17:00,19:00,Available onACORN,10,21,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRB55H3S,LEC01,Winter 2026,TU,19:00,21:00,Available onACORN,10,21,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRB55H3S,LEC01,Winter 2026,TH,17:00,19:00,Available onACORN,10,21,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRB55H3S,LEC01,Winter 2026,TH,19:00,21:00,Available onACORN,10,21,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRB56H3S,LEC01,Winter 2026,TU,15:00,17:00,Available onACORN,4,6,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRB56H3S,LEC01,Winter 2026,TH,15:00,17:00,Available onACORN,4,6,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRB56H3S,LEC01,Winter 2026,TU,19:00,21:00,Available onACORN,4,6,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRB56H3S,LEC01,Winter 2026,TH,19:00,21:00,Available onACORN,4,6,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRC15H3S,LEC01,Winter 2026,FR,10:00,13:00,Available on ACORN,11,31,True,IN_PERSON,"Da Silva Melo, C.", +THRC20H3S,LEC01,Winter 2026,MO,14:00,16:00,Available on ACORN,25,25,True,IN_PERSON,"Leffler, E.", +THRC20H3S,LEC01,Winter 2026,TH,11:00,13:00,Available on ACORN,25,25,True,IN_PERSON,"Leffler, E.", +THRC40H3S,LEC01,Winter 2026,WE,09:00,12:00,Available on ACORN,26,25,True,IN_PERSON,"Da Silva Melo, C.", +THRC41H3S,LEC01,Winter 2026,TU,10:00,13:00,Available on ACORN,33,30,True,IN_PERSON,"Freeman, B.", +THRC55H3S,LEC01,Winter 2026,TU,17:00,19:00,Available onACORN,4,8,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRC55H3S,LEC01,Winter 2026,TU,19:00,21:00,Available onACORN,4,8,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRC55H3S,LEC01,Winter 2026,TH,17:00,19:00,Available onACORN,4,8,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRC55H3S,LEC01,Winter 2026,TH,19:00,21:00,Available onACORN,4,8,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRC56H3S,LEC01,Winter 2026,TU,15:00,17:00,Available onACORN,5,8,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRC56H3S,LEC01,Winter 2026,TH,15:00,17:00,Available onACORN,5,8,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRC56H3S,LEC01,Winter 2026,TU,19:00,21:00,Available onACORN,5,8,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRC56H3S,LEC01,Winter 2026,TH,19:00,21:00,Available onACORN,5,8,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRD55H3S,LEC01,Winter 2026,TU,17:00,19:00,Available onACORN,0,5,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRD55H3S,LEC01,Winter 2026,TU,19:00,21:00,Available onACORN,0,5,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRD55H3S,LEC01,Winter 2026,TH,17:00,19:00,Available onACORN,0,5,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRD55H3S,LEC01,Winter 2026,TH,19:00,21:00,Available onACORN,0,5,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRD56H3S,LEC01,Winter 2026,TU,15:00,17:00,Available onACORN,0,5,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRD56H3S,LEC01,Winter 2026,TH,15:00,17:00,Available onACORN,0,5,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRD56H3S,LEC01,Winter 2026,TU,19:00,21:00,Available onACORN,0,5,True,IN_PERSON,"deChamplain-Leverenz,D.", +THRD56H3S,LEC01,Winter 2026,TH,19:00,21:00,Available onACORN,0,5,True,IN_PERSON,"deChamplain-Leverenz,D.", +VPAA12H3S,LEC01,Winter 2026,MO,10:00,13:00,Available onACORN,182,200,True,IN_PERSON,"Sicondolfo,C.",Will not open furtheron July 27th +VPAA12H3S,LEC02,Winter 2026,,,,Available onACORN,93,100,True,,"Sicondolfo,C.", +VPAB13H3S,LEC01,Winter 2026,TU,17:00,20:00,Available on ACORN,159,160,True,IN_PERSON,"Flynn, S.", +VPAB17H3S,LEC01,Winter 2026,FR,12:00,15:00,Available on ACORN,58,60,True,IN_PERSON,"Sicondolfo, C.", +VPAB18H3S,LEC01,Winter 2026,TU,13:00,15:00,Available onACORN,176,180,True,IN_PERSON,"Sundar Singh,C.",Room change08/15/23 +VPAC18H3S,LEC01,Winter 2026,MO,09:00,11:00,Available onACORN,102,100,True,IN_PERSON,"Klimek, C.",Room change08/23/23 +VPAC21H3S,LEC01,Winter 2026,FR,10:00,12:00,Available onACORN,101,90,True,IN_PERSON,"Sundar Singh,C.",Room change08/15/23 +VPAD10H3S,LEC01,Winter 2026,TH,13:00,15:00,Available on ACORN,59,60,True,IN_PERSON,"Luka, M.", +VPAD12H3S,LEC01,Winter 2026,MO,10:00,13:00,Available on ACORN,17,20,True,IN_PERSON,"Helwig, S.", +VPAD14H3S,LEC01,Winter 2026,,,,Available on ACORN,1,6,True,IN_PERSON,FACULTY, +VPHB39H3S,LEC01,Winter 2026,WE,09:00,11:00,Available onACORN,56,65,True,IN_PERSON,"Barnes, L.",Room change08/25 +VPHB59H3S,LEC01,Winter 2026,MO,14:00,16:00,Available on ACORN,35,40,True,IN_PERSON,"Irving, A.", +VPHB64H3S,LEC01,Winter 2026,MO,11:00,13:00,Available on ACORN,36,40,True,IN_PERSON,"Webster, E.", +VPHC54H3S,LEC01,Winter 2026,TH,11:00,13:00,Available onACORN,34,35,True,IN_PERSON,"Webster,E.",Day/Time change07/13/23 +VPHD42Y3Y,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +VPHD48H3S,LEC01,Winter 2026,TU,13:00,15:00,Available onACORN,19,20,True,IN_PERSON,"KaygusuzTezel, B.",Day/Time change07/13/23 +VPSA62H3S,LEC01,Winter 2026,TU,14:00,17:00,Available on ACORN,16,20,True,IN_PERSON,"Osahor, E.", +VPSA62H3S,LEC02,Winter 2026,WE,14:00,17:00,Available on ACORN,17,20,True,IN_PERSON,"Pivato, J.", +VPSA62H3S,LEC03,Winter 2026,TH,14:00,17:00,Available on ACORN,13,20,True,IN_PERSON,"Cruz, P.", +VPSA63H3S,LEC01,Winter 2026,TU,09:00,12:00,Available on ACORN,93,100,True,IN_PERSON,"Brown, A.", +VPSB02H3S,LEC01,Winter 2026,FR,10:00,13:00,Available onACORN,42,45,True,IN_PERSON,"Mazinani,S.",Room change08/15/23 +VPSB56H3S,LEC01,Winter 2026,MO,14:00,17:00,Available on ACORN,23,20,True,IN_PERSON,"Koroshegyi, A.", +VPSB58H3S,LEC01,Winter 2026,TH,14:00,17:00,Available on ACORN,17,20,True,IN_PERSON,"Onodera, M.", +VPSB59H3S,LEC01,Winter 2026,TH,14:00,17:00,Available on ACORN,17,20,True,IN_PERSON,"Onodera, M.", +VPSB59H3S,LEC01,Winter 2026,TU,10:00,13:00,Available on ACORN,20,20,True,IN_PERSON,"Hlady, M.", +VPSB61H3S,LEC01,Winter 2026,MO,10:00,13:00,Available on ACORN,19,20,True,IN_PERSON,"Osahor, E.", +VPSB67H3S,LEC01,Winter 2026,TU,14:00,17:00,Available on ACORN,22,20,True,IN_PERSON,"Klie, J.", +VPSB70H3S,LEC01,Winter 2026,TU,10:00,13:00,Available on ACORN,22,20,True,IN_PERSON,"Leach, A.", +VPSB71H3S,LEC01,Winter 2026,WE,10:00,13:00,Available on ACORN,19,20,True,IN_PERSON,"Brown, A.", +VPSB77H3S,LEC01,Winter 2026,TH,10:00,13:00,Available on ACORN,16,20,True,IN_PERSON,"Pivato, J.", +VPSB86H3S,LEC01,Winter 2026,WE,10:00,13:00,Available on ACORN,14,18,True,IN_PERSON,"Hlady, M.", +VPSB89H3S,LEC01,Winter 2026,TH,10:00,13:00,Available on ACORN,23,20,True,IN_PERSON,"Ye, X.", +VPSC51H3S,LEC01,Winter 2026,FR,12:00,15:00,Available on ACORN,12,15,True,IN_PERSON,"Irving, A.", +VPSC53H3S,LEC01,Winter 2026,WE,10:00,13:00,Available on ACORN,1,5,True,IN_PERSON,"Hlady, M.", +VPSC70H3S,LEC01,Winter 2026,WE,10:00,13:00,Available on ACORN,17,18,True,IN_PERSON,"Koroshegyi, A.", +VPSC70H3S,LEC02,Winter 2026,TU,10:00,13:00,Available on ACORN,15,18,True,IN_PERSON,"Koroshegyi, A.", +VPSC73H3S,LEC01,Winter 2026,TH,10:00,13:00,Available onACORN,15,18,True,IN_PERSON,"Irving, A.",Date/Time Change(26/09/23) +VPSC77H3S,LEC01,Winter 2026,WE,14:00,17:00,Available on ACORN,21,18,True,IN_PERSON,"Mazinani, S.", +VPSC80H3S,LEC01,Winter 2026,FR,10:00,13:00,Available on ACORN,19,18,True,IN_PERSON,"Abdallah, H.", +VPSC92H3S,LEC01,Winter 2026,TU,10:00,13:00,Available on ACORN,21,18,True,IN_PERSON,"Cruz, P.", +VPSC93H3S,LEC01,Winter 2026,MO,10:00,13:00,Available on ACORN,11,18,True,IN_PERSON,"Cho, H.", +VPSD56H3S,LEC01,Winter 2026,MO,14:00,17:00,Available on ACORN,17,15,True,IN_PERSON,"Howes, H.", +VPSD56H3S,LEC02,Winter 2026,MO,14:00,17:00,Available on ACORN,12,15,True,IN_PERSON,"Kwan, W.", +WSTA03H3S,LEC01,Winter 2026,MO,10:00,12:00,Available onACORN,220,228,True,IN_PERSON,"Ye, S.", +WSTA03H3S,TUT0001,Winter 2026,MO,19:00,20:00,Available onACORN,18,20,False,IN_PERSON,, +WSTA03H3S,TUT0002,Winter 2026,MO,16:00,17:00,Available onACORN,19,21,False,IN_PERSON,, +WSTA03H3S,TUT0003,Winter 2026,MO,13:00,14:00,Available onACORN,21,21,False,IN_PERSON,,Room change08/15/23 +WSTA03H3S,TUT0004,Winter 2026,MO,14:00,15:00,Available onACORN,20,20,False,IN_PERSON,,Room change08/15/23 +WSTA03H3S,TUT0005,Winter 2026,MO,15:00,16:00,Available onACORN,21,21,False,IN_PERSON,,Room change08/15/23 +WSTA03H3S,TUT0006,Winter 2026,MO,14:00,15:00,Available onACORN,19,21,False,IN_PERSON,, +WSTA03H3S,TUT0007,Winter 2026,MO,16:00,17:00,Available onACORN,20,21,False,IN_PERSON,,Room change(06/09/23) +WSTA03H3S,TUT0008,Winter 2026,MO,13:00,14:00,Available onACORN,21,21,False,IN_PERSON,, +WSTA03H3S,TUT0009,Winter 2026,MO,16:00,17:00,Available onACORN,20,21,False,IN_PERSON,, +WSTA03H3S,TUT0010,Winter 2026,MO,14:00,15:00,Available onACORN,20,21,False,IN_PERSON,, +WSTA03H3S,TUT0011,Winter 2026,MO,19:00,20:00,Available onACORN,18,20,False,IN_PERSON,, +WSTB09H3S,LEC01,Winter 2026,FR,11:00,13:00,Available onACORN,32,60,True,IN_PERSON,"Talahite-Moodley, A.",Room change(12/10/23) +WSTB10H3S,LEC01,Winter 2026,MO,12:00,14:00,Available on ACORN,43,60,True,IN_PERSON,"Grewal, A.", +WSTB11H3S,LEC01,Winter 2026,TH,11:00,13:00,Available onACORN,52,80,True,IN_PERSON,"Talahite-Moodley, A.", +WSTB11H3S,TUT0001,Winter 2026,TH,17:00,18:00,Available onACORN,12,20,False,IN_PERSON,, +WSTB11H3S,TUT0002,Winter 2026,TH,13:00,14:00,Available onACORN,19,20,False,IN_PERSON,, +WSTB11H3S,TUT0003,Winter 2026,TH,15:00,16:00,Available onACORN,21,20,False,IN_PERSON,, +WSTB11H3S,TUT0004,Winter 2026,TH,16:00,17:00,Available onACORN,0,20,False,IN_PERSON,,Room change(04/10/23) +WSTB20H3S,LEC01,Winter 2026,TU,09:00,11:00,Available on ACORN,50,60,True,IN_PERSON,"Guberman, C.", +WSTC02H3S,LEC01,Winter 2026,TU,13:00,15:00,Available on ACORN,12,15,True,IN_PERSON,"Guberman, C.", +WSTC12H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,21,50,True,IN_PERSON,"English, J.", +WSTC26H3S,LEC01,Winter 2026,WE,09:00,11:00,Available on ACORN,21,50,True,IN_PERSON,"English, J.", +WSTD01H3S,LEC01,Winter 2026,MO,13:00,15:00,Available on ACORN,27,50,True,IN_PERSON,"Maynard, R.", +WSTD01H3S,LEC01,Winter 2026,,,,Available on ACORN,0,9999,True,IN_PERSON,FACULTY, +WSTD08H3S,LEC01,Winter 2026,WE,13:00,15:00,Available on ACORN,6,15,True,IN_PERSON,"Maynard, R.", +WSTD10H3S,LEC01,Winter 2026,TH,11:00,13:00,Available onACORN,16,18,True,IN_PERSON,"Guberman,C.",Room change10/12/23 +WSTD30H3S,LEC01,Winter 2026,MO,15:00,17:00,Available onACORN,9,8,True,IN_PERSON,"Ye, S.",Room change(12/10/23) diff --git a/course-matrix/data/tables/prerequisites.csv b/course-matrix/data/tables/prerequisites.csv new file mode 100644 index 00000000..c803e12b --- /dev/null +++ b/course-matrix/data/tables/prerequisites.csv @@ -0,0 +1,4022 @@ +prerequisite_code,course_code +VPAB16H3,ACMC01H3 +VPAB17H3,ACMC01H3 +ACMC01H3,ACMD01H3 +ACMD01H3,ACMD02H3 +MATA30H3,ACTB40H3 +MATA31H3,ACTB40H3 +MATA34H3,ACTB40H3 +AFSA01H3,AFSB05H3 +ANTA02H3,AFSB05H3 +AFSA01H3,AFSB50H3 +AFSA01H3,AFSB54H3 +AFSB51H3,AFSB54H3 +IDSA01H3,AFSC03H3 +AFSA01H3,AFSC03H3 +AFSA01H3,AFSC19H3 +IDSA01H3,AFSC19H3 +POLB90H3,AFSC19H3 +VPHA46H3,AFSC52H3 +AFSA03H3,AFSC53H3 +IDSA02H3,AFSC53H3 +IDSB01H3,AFSC53H3 +IDSB02H3,AFSC53H3 +WSTA01H3,AFSC53H3 +WSTA03H3,AFSC53H3 +AFSB50H3,AFSC55H3 +HISB50H3,AFSC55H3 +AFSB51H3,AFSC55H3 +HISB51H3,AFSC55H3 +HISC50H3,AFSC55H3 +HISC51H3,AFSC55H3 +AFSA01H3,AFSC97H3 +HISA08H3,AFSC97H3 +AFSB50H3,AFSC97H3 +HISB50H3,AFSC97H3 +AFSB51H3,AFSC97H3 +HISB51H3,AFSC97H3 +AFSA01H3,AFSD07H3 +IDSA01H3,AFSD07H3 +POLB90H3,AFSD07H3 +AFSA01H3,AFSD16H3 +IDSA01H3,AFSD16H3 +POLB90H3,AFSD16H3 +IDSA01H3,AFSD20H3 +AFSA01H3,AFSD20H3 +POLC09H3,AFSD20H3 +AFSB51H3,AFSD51H3 +HISB51H3,AFSD51H3 +HISD50H3,AFSD51H3 +AFSB50H3,AFSD52H3 +HISB50H3,AFSD52H3 +AFSB51H3,AFSD52H3 +HISB51H3,AFSD52H3 +HISC55H3,AFSD52H3 +ANTA02H3,ANTB01H3 +ANTA02H3,ANTB02H3 +ANTA02H3,ANTB05H3 +AFSA01H3,ANTB05H3 +ANTA02H3,ANTB09H3 +ANTA02H3,ANTB12H3 +ANTA01H3,ANTB14H3 +ANTA01H3,ANTB15H3 +HLTA02H3,ANTB15H3 +HLTA03H3,ANTB15H3 +ANTA02H3,ANTB16H3 +ANTA02H3,ANTB18H3 +ANTA02H3,ANTB19H3 +ANTA02H3,ANTB20H3 +ANTA02H3,ANTB26H3 +ANTA02H3,ANTB33H3 +ANTA02H3,ANTB35H3 +MDSA01H3,ANTB35H3 +ANTA02H3,ANTB36H3 +ANTA02H3,ANTB42H3 +ANTA02H3,ANTB64H3 +ANTA02H3,ANTB65H3 +ANTA02H3,ANTB66H3 +ANTA01H3,ANTB80H3 +ANTA01H3,ANTC03H3 +ANTA02H3,ANTC03H3 +ANTA01H3,ANTC04H3 +ANTA02H3,ANTC04H3 +ANTB19H3,ANTC07H3 +ANTB20H3,ANTC07H3 +ANTA02H3,ANTC09H3 +ANTB19H3,ANTC09H3 +ANTB20H3,ANTC09H3 +ANTB19H3,ANTC10H3 +ANTB20H3,ANTC10H3 +ANTB19H3,ANTC14H3 +ANTB20H3,ANTC14H3 +ANTB19H3,ANTC15H3 +ANTB20H3,ANTC15H3 +ANTA01H3,ANTC16H3 +ANTB14H3,ANTC16H3 +ANTC17H3,ANTC16H3 +ANTA01H3,ANTC17H3 +ANTA02H3,ANTC17H3 +ANTB19H3,ANTC18H3 +ANTB20H3,ANTC18H3 +ANTB19H3,ANTC19H3 +ANTB20H3,ANTC19H3 +ANTB19H3,ANTC20H3 +ANTB20H3,ANTC20H3 +ANTB19H3,ANTC22H3 +ANTB20H3,ANTC22H3 +ANTB19H3,ANTC24H3 +ANTB20H3,ANTC24H3 +HLTB42H3,ANTC24H3 +ANTB19H3,ANTC25H3 +ANTB20H3,ANTC25H3 +ANTB22H3,ANTC27H3 +ANTA01H3,ANTC29H3 +ANTA01H3,ANTC30H3 +ANTB11H3,ANTC30H3 +ANTB80H3,ANTC30H3 +ANTB19H3,ANTC31H3 +ANTB20H3,ANTC31H3 +ANTB19H3,ANTC32H3 +ANTB20H3,ANTC32H3 +ANTB19H3,ANTC33H3 +ANTB20H3,ANTC33H3 +ANTB19H3,ANTC34H3 +ANTB20H3,ANTC34H3 +ANTA01H3,ANTC35H3 +ANTA02H3,ANTC35H3 +ANTB14H3,ANTC40H3 +ANTB15H3,ANTC40H3 +ANTB14H3,ANTC41H3 +ANTB15H3,ANTC41H3 +BIOA01H3,ANTC41H3 +BIOA02H3,ANTC41H3 +ANTC41H3,ANTC42H3 +ANTB19H3,ANTC44H3 +ANTB20H3,ANTC44H3 +ANTB01H3,ANTC44H3 +ESTB01H3,ANTC44H3 +ANTA01H3,ANTC47H3 +BIOB33H3,ANTC47H3 +HLTB33H3,ANTC47H3 +PMDB33H3,ANTC47H3 +ANTC47H3,ANTC48H3 +ANTB19H3,ANTC52H3 +ANTB20H3,ANTC52H3 +ANTB19H3,ANTC53H3 +ANTB20H3,ANTC53H3 +MDSA01H3,ANTC53H3 +MDSB05H3,ANTC53H3 +CLAA04H3,ANTC58H3 +HISA07H3,ANTC58H3 +CLAB05H3,ANTC58H3 +HISB10H3,ANTC58H3 +CLAB06H3,ANTC58H3 +HISB11H3,ANTC58H3 +ANTA02H3,ANTC58H3 +ANTB19H3,ANTC58H3 +ANTB20H3,ANTC58H3 +HISB02H3,ANTC58H3 +AFSB50H3,ANTC58H3 +HISB50H3,ANTC58H3 +AFSB51H3,ANTC58H3 +HISB51H3,ANTC58H3 +HISB53H3,ANTC58H3 +HISB57H3,ANTC58H3 +HISB58H3,ANTC58H3 +HISB60H3,ANTC58H3 +HISB61H3,ANTC58H3 +HISB62H3,ANTC58H3 +HISB93H3,ANTC58H3 +HISB94H3,ANTC58H3 +ANTB19H3,ANTC59H3 +ANTB20H3,ANTC59H3 +MDSA01H3,ANTC59H3 +MDSB05H3,ANTC59H3 +ANTB19H3,ANTC61H3 +ANTB20H3,ANTC61H3 +HLTB42H3,ANTC61H3 +ANTB14H3,ANTC62H3 +ANTB15H3,ANTC62H3 +ANTB19H3,ANTC65H3 +ANTB20H3,ANTC65H3 +ANTB19H3,ANTC66H3 +ANTB20H3,ANTC66H3 +ANTB19H3,ANTC69H3 +ANTB20H3,ANTC69H3 +ANTB19H3,ANTC70H3 +ANTB20H3,ANTC70H3 +ANTA01H3,ANTC71H3 +ANTB80H3,ANTC71H3 +EESA01H3,ANTC71H3 +BIOB50H3,ANTC71H3 +ANTB19H3,ANTC80H3 +ANTB20H3,ANTC80H3 +ANTB19H3,ANTC88H3 +ANTB20H3,ANTC88H3 +ANTA01H3,ANTC99H3 +ANTB14H3,ANTC99H3 +ANTB19H3,ANTD04H3 +ANTB20H3,ANTD04H3 +ANTB19H3,ANTD05H3 +ANTB20H3,ANTD05H3 +ANTC60H3,ANTD05H3 +ANTC70H3,ANTD05H3 +ANTB19H3,ANTD06H3 +ANTB20H3,ANTD06H3 +ANTB19H3,ANTD07H3 +ANTB20H3,ANTD07H3 +ANTB19H3,ANTD10H3 +ANTB20H3,ANTD10H3 +ANTB14H3,ANTD13H3 +ANTB15H3,ANTD13H3 +ANTB19H3,ANTD15H3 +ANTB20H3,ANTD15H3 +ANTC62H3,ANTD16H3 +ANTC47H3,ANTD17H3 +ANTC48H3,ANTD17H3 +ANTA01H3,ANTD18H3 +ANTB22H3,ANTD19H3 +ANTB19H3,ANTD20H3 +ANTB20H3,ANTD20H3 +ANTB22H3,ANTD22H3 +ANTB14H3,ANTD25H3 +ANTA01H3,ANTD26H3 +ANTB80H3,ANTD26H3 +FSTA01H3,ANTD26H3 +ANTA01H3,ANTD31H3 +ANTA02H3,ANTD31H3 +ANTA01H3,ANTD32H3 +ANTA02H3,ANTD32H3 +ANTA01H3,ANTD33H3 +EESA01H3,ANTD33H3 +ESTB01H3,ANTD33H3 +ANTC47H3,ANTD35H3 +ANTC48H3,ANTD35H3 +ANTB14H3,ANTD40H3 +ANTB15H3,ANTD40H3 +ANTB19H3,ANTD41H3 +ANTB20H3,ANTD41H3 +ANTA01H3,ANTD60H3 +ANTB80H3,ANTD60H3 +ANTA01H3,ANTD70H3 +ANTB80H3,ANTD70H3 +HISB14H3,ANTD71H3 +HISC14H3,ANTD71H3 +HISC04H3,ANTD71H3 +ANTB19H3,ANTD98H3 +ANTB20H3,ANTD98H3 +ANTB14H3,ANTD99H3 +MATA30H3,ASTB23H3 +MATA36H3,ASTB23H3 +MATA37H3,ASTB23H3 +PHYA21H3,ASTB23H3 +ASTB23H3,ASTC02H3 +MATB41H3,ASTC25H3 +PHYA21H3,ASTC25H3 +BIOA11H3,BIOA01H3 +BIOA11H3,BIOA02H3 +BIOA01H3,BIOB10H3 +BIOA02H3,BIOB10H3 +CHMA10H3,BIOB10H3 +CHMA11H3,BIOB10H3 +BIOA01H3,BIOB11H3 +BIOA02H3,BIOB11H3 +CHMA10H3,BIOB11H3 +CHMA11H3,BIOB11H3 +CHMA10H3,BIOB12H3 +CHMA11H3,BIOB12H3 +BIOA01H3,BIOB20H3 +BIOA02H3,BIOB20H3 +BIOA01H3,BIOB33H3 +BIOA02H3,BIOB33H3 +HLTA03H3,BIOB33H3 +HLTA20H3,BIOB33H3 +BIOA01H3,BIOB34H3 +BIOA02H3,BIOB34H3 +CHMA11H3,BIOB34H3 +BIOA01H3,BIOB35H3 +BIOA11H3,BIOB35H3 +BIOA01H3,BIOB38H3 +BIOA02H3,BIOB38H3 +BIOA01H3,BIOB50H3 +BIOA02H3,BIOB50H3 +BIOA01H3,BIOB51H3 +BIOA02H3,BIOB51H3 +BIOA01H3,BIOB52H3 +BIOA02H3,BIOB52H3 +BIOA01H3,BIOB98H3 +BIOA02H3,BIOB98H3 +BIOB98H3,BIOB99H3 +BIOB10H3,BIOC10H3 +BIOB11H3,BIOC10H3 +BIOB10H3,BIOC12H3 +BIOB11H3,BIOC12H3 +CHMB41H3,BIOC12H3 +BIOB10H3,BIOC13H3 +BIOB11H3,BIOC13H3 +CHMB41H3,BIOC13H3 +BIOB10H3,BIOC14H3 +BIOB11H3,BIOC14H3 +BIOB10H3,BIOC15H3 +BIOB11H3,BIOC15H3 +PSYB07H3,BIOC15H3 +STAB22H3,BIOC15H3 +BIOB51H3,BIOC16H3 +BIOB10H3,BIOC17H3 +BIOB11H3,BIOC17H3 +BIOB10H3,BIOC19H3 +BIOB11H3,BIOC19H3 +BIOB10H3,BIOC20H3 +BIOB11H3,BIOC20H3 +BIOB10H3,BIOC21H3 +BIOB34H3,BIOC21H3 +BIOB12H3,BIOC23H3 +BIOC12H3,BIOC23H3 +BIOB50H3,BIOC29H3 +BIOB51H3,BIOC29H3 +BIOB10H3,BIOC31H3 +BIOB11H3,BIOC31H3 +BIOB34H3,BIOC32H3 +NROB60H3,BIOC32H3 +BIOB34H3,BIOC34H3 +NROB60H3,BIOC34H3 +BIOB10H3,BIOC35H3 +BIOB11H3,BIOC35H3 +BIOB38H3,BIOC37H3 +BIOB50H3,BIOC37H3 +BIOB51H3,BIOC37H3 +BIOB10H3,BIOC39H3 +BIOB11H3,BIOC39H3 +BIOB10H3,BIOC40H3 +BIOB11H3,BIOC40H3 +BIOB50H3,BIOC50H3 +BIOB51H3,BIOC50H3 +BIOB50H3,BIOC51H3 +BIOB51H3,BIOC51H3 +BIOB52H3,BIOC51H3 +BIOB50H3,BIOC54H3 +BIOB51H3,BIOC54H3 +BIOB50H3,BIOC58H3 +BIOB51H3,BIOC58H3 +BIOB50H3,BIOC59H3 +BIOB50H3,BIOC60H3 +BIOB51H3,BIOC60H3 +BIOB50H3,BIOC61H3 +BIOB50H3,BIOC62H3 +BIOB51H3,BIOC62H3 +BIOB50H3,BIOC63H3 +BIOB51H3,BIOC63H3 +BIOB50H3,BIOC65H3 +CHMA10H3,BIOC65H3 +CHMA11H3,BIOC65H3 +ANTA01H3,BIOC70H3 +BIOA01H3,BIOC70H3 +BIOA02H3,BIOC70H3 +BIOA11H3,BIOC70H3 +HLTA02H3,BIOC70H3 +HLTA03H3,BIOC70H3 +PSYA01H3,BIOC70H3 +PSYA02H3,BIOC70H3 +ANTB14H3,BIOC70H3 +ANTB15H3,BIOC70H3 +HLTB20H3,BIOC70H3 +HLTB22H3,BIOC70H3 +BIOB90H3,BIOC90H3 +BIOC32H3,BIOD06H3 +NROC34H3,BIOD06H3 +NROC64H3,BIOD06H3 +NROC69H3,BIOD06H3 +BIOC32H3,BIOD07H3 +NROC34H3,BIOD07H3 +NROC64H3,BIOD07H3 +NROC69H3,BIOD07H3 +NROC34H3,BIOD08H3 +NROC64H3,BIOD08H3 +NROC69H3,BIOD08H3 +MATA29H3,BIOD08H3 +MATA30H3,BIOD08H3 +MATA31H3,BIOD08H3 +PSYB07H3,BIOD08H3 +STAB22H3,BIOD08H3 +BIOC10H3,BIOD12H3 +BIOC12H3,BIOD12H3 +BIOC13H3,BIOD13H3 +BIOC15H3,BIOD15H3 +BIOC17H3,BIOD17H3 +BIOC39H3,BIOD17H3 +BIOC14H3,BIOD19H3 +BIOC20H3,BIOD20H3 +BIOB12H3,BIOD21H3 +BIOC15H3,BIOD21H3 +BIOC17H3,BIOD21H3 +BIOC10H3,BIOD22H3 +BIOC12H3,BIOD22H3 +BIOC15H3,BIOD22H3 +BIOC12H3,BIOD23H3 +BIOC19H3,BIOD24H3 +BIOC15H3,BIOD25H3 +BIOC17H3,BIOD26H3 +BIOC39H3,BIOD26H3 +BIOB34H3,BIOD27H3 +BIOC32H3,BIOD27H3 +BIOC34H3,BIOD27H3 +BIOC10H3,BIOD29H3 +BIOC20H3,BIOD29H3 +BIOC39H3,BIOD29H3 +BIOC15H3,BIOD30H3 +BIOC31H3,BIOD30H3 +BIOC40H3,BIOD30H3 +BIOC34H3,BIOD32H3 +BIOC33H3,BIOD33H3 +BIOC34H3,BIOD33H3 +BIOB34H3,BIOD34H3 +BIOC31H3,BIOD37H3 +BIOC40H3,BIOD37H3 +BIOC33H3,BIOD43H3 +BIOC34H3,BIOD43H3 +BIOC54H3,BIOD45H3 +NROC34H3,BIOD45H3 +BIOB50H3,BIOD48H3 +BIOB51H3,BIOD48H3 +BIOC50H3,BIOD48H3 +BIOC54H3,BIOD48H3 +BIOC61H3,BIOD48H3 +BIOC50H3,BIOD52H3 +BIOC63H3,BIOD52H3 +BIOC54H3,BIOD53H3 +BIOC62H3,BIOD54H3 +BIOC63H3,BIOD54H3 +BIOC54H3,BIOD55H3 +BIOB50H3,BIOD59H3 +MATA29H3,BIOD59H3 +MATA30H3,BIOD59H3 +MATA31H3,BIOD59H3 +BIOB50H3,BIOD60H3 +STAB22H3,BIOD60H3 +BIOC59H3,BIOD60H3 +BIOC61H3,BIOD60H3 +BIOC16H3,BIOD62H3 +BIOC50H3,BIOD62H3 +BIOB50H3,BIOD63H3 +BIOB51H3,BIOD63H3 +BIOC51H3,BIOD63H3 +BIOC52H3,BIOD63H3 +BIOC54H3,BIOD63H3 +BIOC58H3,BIOD63H3 +BIOC59H3,BIOD63H3 +BIOC60H3,BIOD63H3 +BIOC61H3,BIOD63H3 +BIOB10H3,BIOD65H3 +BIOB11H3,BIOD65H3 +BIOC32H3,BIOD65H3 +NROC61H3,BIOD65H3 +NROC64H3,BIOD65H3 +NROC69H3,BIOD65H3 +BIOB51H3,BIOD66H3 +BIOC59H3,BIOD66H3 +BIOC61H3,BIOD66H3 +BIOD95H3,BIOD95H3 +BIOD98Y3,BIOD95H3 +BIOD99Y3,BIOD95H3 +CHMA10H3,CHMA11H3 +CHMA10H3,CHMA12H3 +MATA29H3,CHMA12H3 +MATA30H3,CHMA12H3 +CHMA10H3,CHMB16H3 +CHMA11H3,CHMB16H3 +CHMA12H3,CHMB16H3 +MATA29H3,CHMB16H3 +MATA30H3,CHMB16H3 +MATA35H3,CHMB16H3 +MATA36H3,CHMB16H3 +CHMA11H3,CHMB20H3 +CHMA12H3,CHMB20H3 +MATA35H3,CHMB20H3 +MATA36H3,CHMB20H3 +MATA37H3,CHMB20H3 +PHYA10H3,CHMB20H3 +PHYA11H3,CHMB20H3 +CHMB20H3,CHMB21H3 +CHMB23H3,CHMB21H3 +CHMA11H3,CHMB23H3 +CHMA12H3,CHMB23H3 +MATA35H3,CHMB23H3 +MATA36H3,CHMB23H3 +MATA37H3,CHMB23H3 +PHYA10H3,CHMB23H3 +PHYA11H3,CHMB23H3 +CHMA10H3,CHMB31H3 +CHMA11H3,CHMB31H3 +CHMA12H3,CHMB31H3 +CHMA11H3,CHMB41H3 +CHMA12H3,CHMB41H3 +CHMA11H3,CHMB42H3 +CHMA12H3,CHMB42H3 +CHMB41H3,CHMB42H3 +CHMA10H3,CHMB43Y3 +CHMA11H3,CHMB43Y3 +CHMA12H3,CHMB43Y3 +CHMA10H3,CHMB55H3 +CHMA11H3,CHMB55H3 +CHMA12H3,CHMB55H3 +CHMA10H3,CHMB62H3 +CHMA11H3,CHMB62H3 +CHMA12H3,CHMB62H3 +CHMB41H3,CHMB62H3 +CHMB16H3,CHMC11H3 +CHMC11H3,CHMC16H3 +CHMB23H3,CHMC20H3 +CHMB21H3,CHMC20H3 +MATB41H3,CHMC20H3 +PHYA21H3,CHMC20H3 +CHMB21H3,CHMC21H3 +CHMB16H3,CHMC31Y3 +CHMB20H3,CHMC31Y3 +CHMB23H3,CHMC31Y3 +CHMB31H3,CHMC31Y3 +CHMB42H3,CHMC31Y3 +CHMB41H3,CHMC42H3 +CHMB42H3,CHMC42H3 +CHMB41H3,CHMC47H3 +CHMB42H3,CHMC47H3 +CHMC47H3,CHMC71H3 +CHMB16H3,CHMD11H3 +CHMC11H3,CHMD11H3 +CHMB55H3,CHMD16H3 +CHMC11H3,CHMD16H3 +CHMB41H3,CHMD41H3 +CHMB42H3,CHMD41H3 +BIOC12H3,CHMD47H3 +BIOC13H3,CHMD47H3 +CHMC47H3,CHMD47H3 +BIOC12H3,CHMD69H3 +BIOC13H3,CHMD69H3 +CHMB62H3,CHMD69H3 +CHMB31H3,CHMD69H3 +CHMC42H3,CHMD89H3 +CHMC47H3,CHMD89H3 +CHMC42H3,CHMD92H3 +CHMC31Y3,CHMD92H3 +CITA01H3,CITB01H3 +CITA02H3,CITB01H3 +CITA01H3,CITB01H3 +CITA02H3,CITB01H3 +CITA01H3,CITB03H3 +CITA02H3,CITB03H3 +CITA01H3,CITB03H3 +CITA02H3,CITB03H3 +CITA01H3,CITB04H3 +CITA02H3,CITB04H3 +CITA01H3,CITB04H3 +CITA02H3,CITB04H3 +CITA01H3,CITB05H3 +CITA02H3,CITB05H3 +CITA01H3,CITB07H3 +CITA02H3,CITB07H3 +CITA01H3,CITB08H3 +CITA02H3,CITB08H3 +CITA01H3,CITB08H3 +CITA02H3,CITB08H3 +CITB04H3,CITC12H3 +STAB22H3,CITC18H3 +CITB05H3,CITC54H3 +CLAA04H3,CLAC05H3 +HISA07H3,CLAC05H3 +CLAB05H3,CLAC05H3 +HISB10H3,CLAC05H3 +CLAB06H3,CLAC05H3 +HISB11H3,CLAC05H3 +CLAA04H3,CLAC68H3 +HISA07H3,CLAC68H3 +CLAB05H4,CLAC68H3 +HISB10H3,CLAC68H3 +CLAB06H3,CLAC68H3 +HISB11H3,CLAC68H3 +ANTA02H3,CLAC68H3 +ANTB19H3,CLAC68H3 +ANTB20H3,CLAC68H3 +HISB02H3,CLAC68H3 +AFSB50H3,CLAC68H3 +HISB50H3,CLAC68H3 +AFSB51H3,CLAC68H3 +HISB51H3,CLAC68H3 +HISB53H3,CLAC68H3 +HISB57H3,CLAC68H3 +HISB58H3,CLAC68H3 +HISB60H3,CLAC68H3 +HISB61H3,CLAC68H3 +HISB62H3,CLAC68H3 +HISB93H3,CLAC68H3 +HISB94H3,CLAC68H3 +WSTC13H3,CLAC94H3 +COPB30H3,COPB31H3 +COPD02H3,COPB31H3 +COPB30H3,COPB33H3 +COPB31H3,COPB33H3 +COPB50H3,COPB51H3 +COPD01H3,COPB51H3 +COPB51H3,COPB52H3 +COPD03H3,COPB52H3 +COPB52H3,COPB53H3 +COPD11H3,COPB53H3 +COPB52H3,COPC01H3 +COPD11H3,COPC01H3 +COPB52H3,COPC03H3 +COPD11H3,COPC03H3 +COPB52H3,COPC05H3 +COPD11H3,COPC05H3 +COPB10Y3,COPC07H3 +COPD07Y3,COPC07H3 +COPD08Y3,COPC07H3 +COPB11H3,COPC07H3 +COPB12H3,COPC07H3 +COPB13H3,COPC07H3 +COPB14H3,COPC07H3 +COPB31H3,COPC09H3 +COPD04H3,COPC09H3 +IDSC01H3,COPC09H3 +IDSC04H3,COPC09H3 +COPB52H3,COPC13H3 +COPD11H3,COPC13H3 +COPB52H3,COPC14H3 +COPD11H3,COPC14H3 +COPB52H3,COPC20H3 +COPD11H3,COPC20H3 +COPB52H3,COPC21H3 +COPD11H3,COPC21H3 +COPB52H3,COPC30H3 +COPD11H3,COPC30H3 +COPB52H3,COPC40H3 +COPD11H3,COPC40H3 +COPB52H3,COPC98H3 +COPD11H3,COPC98H3 +COPC98H3,COPC99H3 +COPD12H3,COPC99H3 +CRTB01H3,CRTC72H3 +CRTB02H3,CRTC72H3 +CRTB01H3,CRTC80H3 +VPHB39H3,CRTD43H3 +CRTB01H3,CRTD43H3 +CRTB02H3,CRTD43H3 +VPHB39H3,CRTD44H3 +CRTB01H3,CRTD44H3 +CRTB02H3,CRTD44H3 +CSCA08H3,CSCA48H3 +CSCA48H3,CSCB07H3 +CSCA48H3,CSCB09H3 +CSCA48H3,CSCB36H3 +CSCA65H3,CSCB36H3 +CSCA67H3,CSCB36H3 +CSCA48H3,CSCB58H3 +PHYB57H3,CSCB58H3 +PSCB57H3,CSCB58H3 +CSCB36H3,CSCB63H3 +CSCB07H3,CSCC01H3 +CSCB09H3,CSCC01H3 +CSCB09H3,CSCC09H3 +CSCB07H3,CSCC10H3 +MATB24H3,CSCC11H3 +MATB41H3,CSCC11H3 +STAB52H3,CSCC11H3 +CSCB07H3,CSCC24H3 +CSCB09H3,CSCC24H3 +MATA22H3,CSCC37H3 +MATA36H3,CSCC37H3 +MATA37H3,CSCC37H3 +CSCB09H3,CSCC43H3 +CSCB63H3,CSCC43H3 +CSCB63H3,CSCC46H3 +STAB52H3,CSCC46H3 +MATA22H3,CSCC46H3 +MATA23H3,CSCC46H3 +CSCB36H3,CSCC63H3 +CSCB63H3,CSCC63H3 +CSCB07H3,CSCC69H3 +CSCB09H3,CSCC69H3 +CSCB58H3,CSCC69H3 +CSCB63H3,CSCC73H3 +STAB52H3,CSCC73H3 +CSCB58H3,CSCC85H3 +CSCB09H3,CSCC85H3 +CSCC01H3,CSCD01H3 +MATB24H3,CSCD18H3 +MATB41H3,CSCD18H3 +CSCB09H3,CSCD18H3 +CSCC37H3,CSCD18H3 +CSCB63H3,CSCD25H3 +CSCC11H3,CSCD25H3 +CSCB09H3,CSCD27H3 +CSCB36H3,CSCD27H3 +CSCB58H3,CSCD27H3 +CSCC37H3,CSCD37H3 +MATB24H3,CSCD37H3 +MATB41H3,CSCD37H3 +CSCC43H3,CSCD43H3 +CSCC69H3,CSCD43H3 +CSCC73H3,CSCD43H3 +CSCB58H3,CSCD58H3 +CSCB63H3,CSCD58H3 +STAB52H3,CSCD58H3 +CSCB63H3,CSCD70H3 +CSCC69H3,CSCD70H3 +STAB52H3,CSCD84H3 +CSCB63H3,CSCD84H3 +CSCD94H3,CSCD95H3 +DTSB01H3,DTSB02H3 +DTSB02H3,DTSB02H3 +ECTB61H3,ECTC61H3 +ECTB58H3,ECTC62H3 +ECTB61H3,ECTC62H3 +ECTB58H3,ECTC63H3 +ECTB61H3,ECTC63H3 +ECTB58H3,ECTC66H3 +ECTB61H3,ECTC66H3 +ECTB58H3,ECTC67H3 +ECTB61H3,ECTC67H3 +ECTB58H3,ECTD63H3 +ECTB61H3,ECTD63H3 +ECTB58H3,ECTD66H3 +ECTB61H3,ECTD66H3 +ECTB58H3,ECTD67H3 +ECTB61H3,ECTD67H3 +ECTB58H3,ECTD68H3 +ECTB61H3,ECTD68H3 +LGGC64H3,ECTD68H3 +LGGC65H3,ECTD68H3 +LGGD66H3,ECTD68H3 +LGGC67H3,ECTD68H3 +LGGD67H3,ECTD68H3 +LGGC66H3,ECTD68H3 +ECTB58H3,ECTD69H3 +ECTB61H3,ECTD69H3 +LGGC64H3,ECTD69H3 +LGGC65H3,ECTD69H3 +LGGD66H3,ECTD69H3 +LGGC67H3,ECTD69H3 +LGGD67H3,ECTD69H3 +LGGC66H3,ECTD69H3 +ECTC63H3,ECTD70H3 +EESA06H3,EESB02H3 +EESA06H3,EESB03H3 +EESA09H3,EESB03H3 +MATA29H3,EESB03H3 +MATA30H3,EESB03H3 +EESA01H3,EESB04H3 +EESA06H3,EESB04H3 +EESA01H3,EESB05H3 +EESA06H3,EESB05H3 +EESA06H3,EESB15H3 +BIOA01H3,EESB16H3 +BIOA02H3,EESB16H3 +EESA01H3,EESB17H3 +EESA07H3,EESB17H3 +CHMA10H3,EESB19H3 +CHMA11H3,EESB19H3 +EESB15H3,EESB19H3 +EESB15H3,EESB20H3 +EESA06H3,EESB22H3 +PHYA10H3,EESB22H3 +PHYA11H3,EESB22H3 +MATA36H3,EESB26H3 +PHYA21H3,EESB26H3 +BIOB50H3,EESC02H3 +EESA06H3,EESC03H3 +BIOB50H3,EESC04H3 +EESA06H3,EESC07H3 +EESB03H3,EESC18H3 +EESB03H3,EESC19H3 +CHMA10H3,EESC20H3 +CHMA11H3,EESC20H3 +EESB15H3,EESC20H3 +EESB15H3,EESC22H3 +PHYA21H3,EESC22H3 +MATA36H3,EESC26H3 +MATA37H3,EESC26H3 +PHYA10H3,EESC26H3 +CHMA10H3,EESC30H3 +CHMA11H3,EESC30H3 +BIOB50H3,EESC30H3 +BIOB51H3,EESC30H3 +EESA06H3,EESC31H3 +EESB20H3,EESC31H3 +EESB19H3,EESC36H3 +EESC35H3,EESC36H3 +PHYA10H3,EESC37H3 +PHYA11H3,EESC37H3 +EESB15H3,EESC37H3 +EESB20H3,EESC37H3 +ESTB01H3,EESC38H3 +EESB03H3,EESC38H3 +EESB04H3,EESC38H3 +EESB05H3,EESC38H3 +EESB03H3,EESD06H3 +EESC16H3,EESD07H3 +EESB04H3,EESD11H3 +BIOA01H3,EESD15H3 +BIOA02H3,EESD15H3 +CHMA10H3,EESD15H3 +CHMA11H3,EESD15H3 +PHYA10H3,EESD15H3 +PHYA11H3,EESD15H3 +MATA21H3,EESD21H3 +MATA35H3,EESD21H3 +MATA36H3,EESD21H3 +PHYB57H3,EESD21H3 +PSCB57H3,EESD21H3 +STAB22H3,EESD21H3 +MATA30H3,EESD28H3 +STAB22H3,EESD28H3 +STAB22H3,EESD31H3 +EESB03H3,EESD31H3 +EESB02H3,EESD33H3 +EESC07H3,EESD33H3 +ENGA10H3,ENGB29H3 +ENGA11H3,ENGB29H3 +ENGB70H3,ENGB29H3 +FLMA70H3,ENGB29H3 +ENGA03H3,ENGB60H3 +ENGA03H3,ENGB61H3 +ENGA03H3,ENGB63H3 +ENGA02H3,ENGB72H3 +ENGB61H3,ENGC04H3 +ENGB60H3,ENGC05H3 +ENGB61H3,ENGC06H3 +THRB20H3,ENGC07H3 +VPDB10H3,ENGC07H3 +THRB21H3,ENGC07H3 +VPDB11H3,ENGC07H3 +ENGB60H3,ENGC08H3 +ENGB61H3,ENGC08H3 +ENGB63H3,ENGC24H3 +VPDB10H3,ENGC26H3 +VPDB11H3,ENGC26H3 +THRB20H3,ENGC27H3 +VPDB10H3,ENGC27H3 +THRB21H3,ENGC27H3 +VPDB11H3,ENGC27H3 +SOCB58H3,ENGC59H3 +ENGA02H3,ENGC74H3 +ENGB60H3,ENGC86H3 +ENGB61H3,ENGC87H3 +ENGB63H3,ENGC88H3 +ENGA01H3,ENGD02Y3 +ENGA02H3,ENGD02Y3 +AFSA01H3,ENGD08H3 +ENGB22H3,ENGD08H3 +ENGC72H3,ENGD08H3 +ENGB60H3,ENGD26Y3 +ENGC86H3,ENGD26Y3 +ENGB61H3,ENGD27Y3 +ENGB63H3,ENGD27Y3 +ENGC87H3,ENGD27Y3 +ENGC88H3,ENGD27Y3 +ENGB60H3,ENGD28Y3 +ENGC86H3,ENGD28Y3 +ENGB61H3,ENGD28Y3 +ENGC87H3,ENGD28Y3 +ESTB01H3,ESTC35H3 +ESTB01H3,ESTC36H3 +ESTB04H3,ESTC37H3 +ESTB01H3,ESTC38H3 +EESB03H3,ESTC38H3 +EESB04H3,ESTC38H3 +EESB05H3,ESTC38H3 +ESTB04H3,ESTC40H3 +STAB22H3,ESTD19H3 +ESTB04H3,ESTD20H3 +FLMA70H3,FLMC81H3 +ENGB70H3,FLMC81H3 +SOCB58H3,FLMC83H3 +FLMA70H3,FLMC93H3 +ENGB70H3,FLMC93H3 +FREA91Y3,FREA01H3 +FREA99H3,FREA01H3 +FREA01H3,FREA02H3 +FREA90Y3,FREA91Y3 +FREA97H3,FREA91Y3 +FREA96H3,FREA97H3 +LGGA21H3,FREA97H3 +FREA97H3,FREA98H3 +LGGA22H3,FREA98H3 +FREA98H3,FREA99H3 +LGGB23H3,FREA99H3 +FREA01H3,FREB01H3 +FREA02H3,FREB01H3 +FREB01H3,FREB02H3 +FREA01H3,FREB08H3 +FREA02H3,FREB08H3 +FREA01H3,FREB11H3 +FREA02H3,FREB11H3 +FREA01H3,FREB17H3 +FREA02H3,FREB17H3 +FREA01H3,FREB18H3 +FREA02H3,FREB18H3 +FREA01H3,FREB20H3 +FREA02H3,FREB20H3 +FREA01H3,FREB22H3 +FREA02H3,FREB22H3 +FREA01H3,FREB27H3 +FREA02H3,FREB27H3 +FREA01H3,FREB28H3 +FREA02H3,FREB28H3 +FREA01H3,FREB35H3 +FREA02H3,FREB35H3 +FREA01H3,FREB36H3 +FREA02H3,FREB36H3 +FREA01H3,FREB37H3 +FREA02H3,FREB37H3 +FREA01H3,FREB44H3 +FREA02H3,FREB44H3 +FREA01H3,FREB45H3 +FREA02H3,FREB45H3 +FREA01H3,FREB46H3 +FREA02H3,FREB46H3 +FREA01H3,FREB50H3 +FREA02H3,FREB50H3 +FREA01H3,FREB51H3 +FREA02H3,FREB51H3 +FREA01H3,FREB55H3 +FREA02H3,FREB55H3 +FREA01H3,FREB70H3 +FREA02H3,FREB70H3 +FREA01H3,FREB84H3 +FREA02H3,FREB84H3 +FREB01H3,FREC01H3 +FREB02H3,FREC01H3 +FREC01H3,FREC02H3 +FREB02H3,FREC03H3 +FREB50H3,FREC03H3 +FREC01H3,FREC10H3 +FREB01H3,FREC11H3 +FREB02H3,FREC11H3 +FREB11H3,FREC11H3 +FREB01H3,FREC18H3 +FREB08H3,FREC18H3 +FREB09H3,FREC18H3 +FREB50H3,FREC38H3 +FREB44H3,FREC44H3 +FREB45H3,FREC44H3 +FREB45H3,FREC46H3 +LINA01H3,FREC47H3 +LINA02H3,FREC47H3 +FREB44H3,FREC47H3 +FREB45H3,FREC47H3 +FREB01H3,FREC48H3 +FREB02H3,FREC48H3 +FREB44H3,FREC48H3 +FREB45H3,FREC48H3 +FREB46H3,FREC48H3 +FREB27H3,FREC54H3 +FREB50H3,FREC54H3 +FREB01H3,FREC57H3 +FREB02H3,FREC57H3 +FREB50H3,FREC57H3 +FREB50H3,FREC58H3 +FREB01H3,FREC63H3 +FREB02H3,FREC63H3 +FREB50H3,FREC63H3 +FREB50H3,FREC64H3 +FREB70H3,FREC70H3 +FREB01H3,FREC83H3 +FREB02H3,FREC83H3 +FREB22H3,FREC83H3 +FREB27H3,FREC83H3 +FREB28H3,FREC83H3 +FREC02H3,FRED01H3 +FREC02H3,FRED06H3 +FREB50H3,FRED13H3 +FREB50H3,FRED14H3 +FREC18H3,FRED28H3 +FREB01H3,FRED90Y3 +FREB84H3,FRED90Y3 +FREB17H3,FRED90Y3 +FREB18H3,FRED90Y3 +FSTA01H3,FSTC43H3 +GGRA02H3,FSTC43H3 +GGRA03H3,FSTC43H3 +FSTB01H3,FSTD01H3 +FSTB01H3,FSTD10H3 +FSTB01H3,FSTD11H3 +MDSA01H3,GASB05H3 +ANTB19H3,GASB42H3 +ANTB20H3,GASB42H3 +VPHA46H3,GASB73H3 +GASA01H3,GASB73H3 +GASB20H3,GASC43H3 +GASB58H3,GASC43H3 +HISB58H3,GASC43H3 +GASC20H3,GASC43H3 +VPHB39H3,GASC74H3 +VPHB73H3,GASC74H3 +HISB58H3,GASC74H3 +GASB31H3,GASC74H3 +GASB33H3,GASC74H3 +GASB35H3,GASC74H3 +SOCB05H3,GASD20H3 +GASA01H3,GASD20H3 +GASA02H3,GASD20H3 +IDSB11H3,GASD20H3 +SOCB60H3,GASD56H3 +GGRB30H3,GGRB32H3 +GGRA30H3,GGRC12H3 +GGRB05H3,GGRC12H3 +CITA01H3,GGRC12H3 +CITB02H3,GGRC12H3 +GGRB32H3,GGRC15H3 +MGEA01H3,GGRC27H3 +GGRB02H3,GGRC27H3 +GGRB05H3,GGRC27H3 +CITB01H3,GGRC27H3 +CITA01H3,GGRC27H3 +CITB02H3,GGRC27H3 +MGEB01H3,GGRC27H3 +MGEB02H3,GGRC27H3 +MGEB05H3,GGRC27H3 +MGEB06H3,GGRC27H3 +GGRB32H3,GGRC30H3 +STAB23H3,GGRC32H3 +GGRB30H3,GGRC32H3 +GGRB05H3,GGRC34H3 +GGRB30H3,GGRC34H3 +STAB22H3,GGRC42H3 +FSTA01H3,GGRC43H3 +GGRA02H3,GGRC43H3 +GGRA03H3,GGRC43H3 +GGRB02H3,GGRC54H3 +GGRB02H3,GGRD01H3 +GGRB21H3,GGRD08H3 +GGRB13H3,GGRD10H3 +IDSB04H3,GGRD10H3 +WSTB05H3,GGRD10H3 +GGRB02H3,GGRD11H3 +GGRB02H3,GGRD12H3 +GGRC31H3,GGRD13H3 +GGRB05H3,GGRD14H3 +GGRB13H3,GGRD14H3 +CITA01H3,GGRD14H3 +CITB02H3,GGRD14H3 +IDSB06H3,GGRD14H3 +GGRB05H3,GGRD16H3 +CITA01H3,GGRD16H3 +CITB02H3,GGRD16H3 +GGRB05H3,GGRD25H3 +CITA01H3,GGRD25H3 +CITB02H3,GGRD25H3 +GGRC30H3,GGRD30H3 +AFSA01H3,HISB50H3 +AFSA01H3,HISB54H3 +AFSB51H3,HISB54H3 +HISB03H3,HISC01H3 +HISB05H3,HISC07H3 +CLAA04H3,HISC10H3 +HISA07H3,HISC10H3 +CLAB05H3,HISC10H3 +HISB10H3,HISC10H3 +CLAB06H3,HISC10H3 +HISB11H3,HISC10H3 +HISB30H3,HISC33H3 +HISB31H3,HISC33H3 +AFSB51H3,HISC34H3 +HISB31H3,HISC34H3 +SOCB60H3,HISC36H3 +VPHA46H3,HISC52H3 +AFSB50H3,HISC55H3 +HISB50H3,HISC55H3 +AFSB51H3,HISC55H3 +HISB51H3,HISC55H3 +HISC50H3,HISC55H3 +HISC51H3,HISC55H3 +CLAA04H3,HISC68H3 +HISA07H3,HISC68H3 +CLAB05H3,HISC68H3 +HISB10H3,HISC68H3 +CLAB06H3,HISC68H3 +HISB11H3,HISC68H3 +ANTA02H3,HISC68H3 +ANTB19H3,HISC68H3 +ANTB20H3,HISC68H3 +HISB02H3,HISC68H3 +AFSB50H3,HISC68H3 +HISB50H3,HISC68H3 +AFSB51H3,HISC68H3 +HISB51H3,HISC68H3 +HISB53H3,HISC68H3 +HISB57H3,HISC68H3 +HISB58H3,HISC68H3 +HISB60H3,HISC68H3 +HISB61H3,HISC68H3 +HISB62H3,HISC68H3 +HISB93H3,HISC68H3 +HISB94H3,HISC68H3 +WSTC13H3,HISC94H3 +HISA08H3,HISC97H3 +AFSA01H3,HISC97H3 +HISB50H3,HISC97H3 +AFSB50H3,HISC97H3 +HISB51H3,HISC97H3 +AFSB51H3,HISC97H3 +HISB90H3,HISD14H3 +HISB91H3,HISD14H3 +HISB92H3,HISD14H3 +HISB93H3,HISD14H3 +SOCB60H3,HISD31H3 +HISB03H3,HISD33H3 +HISB30H3,HISD34H3 +HISB31H3,HISD34H3 +SOCB60H3,HISD35H3 +HISB41H3,HISD47H3 +AFSB50H3,HISD50H3 +HISB50H3,HISD50H3 +AFSB51H3,HISD50H3 +HISB51H3,HISD50H3 +AFSC55H3,HISD50H3 +HISC55H3,HISD50H3 +AFSB51H3,HISD51H3 +HISB51H3,HISD51H3 +HISD50H3,HISD51H3 +AFSB50H3,HISD52H3 +HISB50H3,HISD52H3 +AFSB51H3,HISD52H3 +HISB51H3,HISD52H3 +HISC55H3,HISD52H3 +SOCB60H3,HISD56H3 +AFSC52H3,HISD57H3 +HISC52H3,HISD57H3 +VPHC52H3,HISD57H3 +HISB60H3,HISD63H3 +HISB61H3,HISD63H3 +HISB60H3,HISD64H3 +HISB61H3,HISD64H3 +HISC14H3,HISD70H3 +HISB14H3,HISD70H3 +HISB14H3,HISD71H3 +HISC14H3,HISD71H3 +HISC04H3,HISD71H3 +HLTA02H3,HLTA03H3 +HLTA02H3,HLTB11H3 +HLTA03H3,HLTB11H3 +HLTA02H3,HLTB15H3 +HLTA03H3,HLTB15H3 +SOCB60H3,HLTB15H3 +HLTA02H3,HLTB16H3 +HLTA03H3,HLTB16H3 +ANTA01H3,HLTB20H3 +HLTA02H3,HLTB20H3 +HLTA03H3,HLTB20H3 +HLTA02H3,HLTB22H3 +HLTA03H3,HLTB22H3 +BIOA11H3,HLTB22H3 +BIOA01H3,HLTB22H3 +HLTA03H3,HLTB24H3 +HLTA03H3,HLTB27H3 +STAB23H3,HLTB27H3 +HLTA02H3,HLTB27H3 +STAB23H3,HLTB27H3 +BIOA01H3,HLTB33H3 +BIOA02H3,HLTB33H3 +HLTA03H3,HLTB33H3 +HLTA20H3,HLTB33H3 +HLTA02H3,HLTB40H3 +HLTA03H3,HLTB40H3 +HLTA02H3,HLTB41H3 +HLTA03H3,HLTB41H3 +HLTA02H3,HLTB42H3 +HLTA03H3,HLTB42H3 +HLTA02H3,HLTB44H3 +HLTA03H3,HLTB44H3 +HLTA20H3,HLTB44H3 +BIOA11H3,HLTB44H3 +BIOA01H3,HLTB44H3 +HLTB41H3,HLTC02H3 +HLTB50H3,HLTC04H3 +ANTB19H3,HLTC04H3 +HISB03H3,HLTC04H3 +GGRB03H3,HLTC04H3 +GGRC31H3,HLTC04H3 +PHLB05,HLTC04H3 +PHLB07,HLTC04H3 +PHLB09H3,HLTC04H3 +POLC78H3,HLTC04H3 +SOCB05H3,HLTC04H3 +VPHB39H3,HLTC04H3 +WSTB05H3,HLTC04H3 +WSTC02H3,HLTC04H3 +HLTB16H3,HLTC16H3 +HLTB16H3,HLTC17H3 +HLTB22H3,HLTC19H3 +HLTB41H3,HLTC19H3 +HLTB60H3,HLTC20H3 +HLTB22H3,HLTC22H3 +HLTB41H3,HLTC22H3 +HLTB22H3,HLTC23H3 +HLTB41H3,HLTC23H3 +HLTB22H3,HLTC24H3 +HLTB22H3,HLTC25H3 +HLTB22H3,HLTC26H3 +HLTB15H3,HLTC27H3 +HLTB16H3,HLTC27H3 +STAB23H3,HLTC27H3 +HLTB22H3,HLTC28H3 +HLTB22H3,HLTC29H3 +HLTB22H3,HLTC30H3 +HLTB40H3,HLTC42H3 +HLTB40H3,HLTC43H3 +HLTB40H3,HLTC44H3 +HLTB41H3,HLTC46H3 +IDSB04H3,HLTC46H3 +HLTB42H3,HLTC47H3 +HLTB41H3,HLTC48H3 +HLTB41H3,HLTC49H3 +SOCB05H3,HLTC49H3 +SOCB35H3,HLTC49H3 +SOCB30H3,HLTC49H3 +SOCB42H3,HLTC49H3 +SOCB43H3,HLTC49H3 +SOCB47H3,HLTC49H3 +HLTB50H3,HLTC50H3 +HLTB41H3,HLTC51H3 +SOCB05H3,HLTC51H3 +SOCB35H3,HLTC51H3 +SOCB30H3,HLTC51H3 +SOCB42H3,HLTC51H3 +SOCB43H3,HLTC51H3 +SOCB47H3,HLTC51H3 +HLTB50H3,HLTC52H3 +HLTB50H3,HLTC53H3 +HLTB50H3,HLTC55H3 +HLTB50H3,HLTC56H3 +HLTB60H3,HLTC56H3 +HLTB60H3,HLTC60H3 +HLTB50H3,HLTC60H3 +HLTB40H3,HLTC81H3 +HLTB42H3,HLTD06H3 +HLTC17H3,HLTD07H3 +HLTC27H3,HLTD08H3 +HLTC27H3,HLTD09H3 +STAB22H3,HLTD11H3 +STAB23H3,HLTD11H3 +HLTC42H3,HLTD11H3 +HLTC43H3,HLTD11H3 +HLTC44H3,HLTD11H3 +SOCB05H3,HLTD11H3 +SOCB35H3,HLTD11H3 +SOCB30H3,HLTD11H3 +SOCB42H3,HLTD11H3 +SOCB43H3,HLTD11H3 +SOCB47H3,HLTD11H3 +HLTC26H3,HLTD13H3 +HLTB44H3,HLTD18H3 +HLTC19H3,HLTD18H3 +HLTC23H3,HLTD18H3 +HLTC25H3,HLTD23H3 +HLTC24H3,HLTD25H3 +HLTB15H3,HLTD26H3 +HLTC22H3,HLTD26H3 +HLTC26H3,HLTD27H3 +HLTC26H3,HLTD28H3 +ANTC67H3,HLTD44H3 +BIOA11H3,HLTD44H3 +BIOA01H3,HLTD44H3 +BIOB33H3,HLTD44H3 +HLTB33H3,HLTD44H3 +BIOB35H3,HLTD44H3 +BIOC14H3,HLTD44H3 +BIOC65H3,HLTD44H3 +HLTB22H3,HLTD44H3 +HLTC22H3,HLTD44H3 +HLTC24H3,HLTD44H3 +HLTC27H3,HLTD44H3 +HLTC02H3,HLTD49H3 +HLTC43H3,HLTD49H3 +HLTC46H3,HLTD49H3 +HLTB50H3,HLTD50H3 +HLTB50H3,HLTD51H3 +HLTB50H3,HLTD52H3 +HLTB50H3,HLTD53H3 +HLTB50H3,HLTD54H3 +HLTB15H3,HLTD71Y3 +STAB23H3,HLTD71Y3 +HLTB41H3,HLTD80H3 +HLTB40H3,HLTD81H3 +HLTB41H3,HLTD82H3 +PMDC54Y3,HLTD96Y3 +PMDC56H3,HLTD96Y3 +PSYB07H3,HLTD96Y3 +STAB23H3,HLTD96Y3 +MGEA01H3,IDSB01H3 +ECMA01H3,IDSB01H3 +MGEA05H3,IDSB01H3 +ECMA05H3,IDSB01H3 +MGEA02H3,IDSB01H3 +ECMA04H3,IDSB01H3 +MGEA06H3,IDSB01H3 +ECMA06H3,IDSB01H3 +IDSA01H3,IDSB01H3 +IDSA01H3,IDSB02H3 +EESA01H3,IDSB02H3 +IDSA01H3,IDSB04H3 +IDSA01H3,IDSB06H3 +IDSA01H3,IDSB10H3 +IDSA01H3,IDSB11H3 +IDSA01H3,IDSC01H3 +IDSB07H3,IDSC01H3 +EESA01H3,IDSC02H3 +IDSA01H3,IDSC03H3 +AFSA01H3,IDSC03H3 +IDSA01H3,IDSC04H3 +IDSA01H3,IDSC06H3 +IDSA01H3,IDSC07H3 +IDSC04H3,IDSC07H3 +IDSA01H3,IDSC08H3 +IDSB10H3,IDSC08H3 +IDSA01H3,IDSC10H3 +IDSA01H3,IDSC11H3 +IDSB04H3,IDSC11H3 +IDSA01H3,IDSC12H3 +IDSB01H3,IDSC12H3 +IDSA01H3,IDSC13H3 +POLB90H3,IDSC13H3 +IDSB01H3,IDSC14H3 +FSTA01H3,IDSC14H3 +FSTB01H3,IDSC14H3 +IDSA01H3,IDSC15H3 +IDSA01H3,IDSC16H3 +POLB90H3,IDSC16H3 +IDSA01H3,IDSC17H3 +IDSA01H3,IDSC18H3 +AFSA01H3,IDSC19H3 +IDSA01H3,IDSC19H3 +POLB90H3,IDSC19H3 +IDSA01H3,IDSC20H3 +IDSB06H3,IDSC20H3 +IDSC20H3,IDSC21H3 +IDSA01H3,IDSD01Y3 +IDSC04H3,IDSD02H3 +IDSB04H3,IDSD05H3 +AFSA01H3,IDSD07H3 +IDSA01H3,IDSD07H3 +POLB90H3,IDSD07H3 +IDSA01H3,IDSD08H3 +IDSA01H3,IDSD10H3 +IDSA01H3,IDSD12H3 +IDSA01H3,IDSD13H3 +IDSA01H3,IDSD14H3 +IDSA01H3,IDSD15H3 +AFSA01H3,IDSD16H3 +IDSA01H3,IDSD16H3 +POLB90H3,IDSD16H3 +IDSA01H3,IDSD19H3 +IDSA01H3,IDSD20H3 +AFSA01H3,IDSD20H3 +POLC09H3,IDSD20H3 +IDSB01H3,IDSD90H3 +IDSB04H3,IDSD90H3 +IDSB06H3,IDSD90H3 +POLB90H3,IDSD90H3 +POLB91H3,IDSD90H3 +MDSA21H3,JOUA02H3 +JOUA01H3,JOUA02H3 +JOUB01H3,JOUA06H3 +JOUB02H3,JOUA06H3 +ACMB02H3,JOUA06H3 +JOUA01H3,JOUB01H3 +JOUA02H3,JOUB01H3 +JOUA01H3,JOUB02H3 +JOUA02H3,JOUB02H3 +JOUB05H3,JOUB03H3 +JOUB19H3,JOUB03H3 +JOUC18H3,JOUB03H3 +JOUC19H3,JOUB03H3 +JOUC20H3,JOUB03H3 +JOUB09H3,JOUB03H3 +JOUB20H3,JOUB03H3 +JOUB01H3,JOUB11H3 +JOUB02H3,JOUB11H3 +ACMB02H3,JOUB11H3 +JOUB01H3,JOUB14H3 +JOUB02H3,JOUB14H3 +ACMB02H3,JOUB14H3 +JOUB01H3,JOUB18H3 +JOUB02H3,JOUB18H3 +ACMB02H3,JOUB18H3 +JOUA01H3,JOUB19H3 +JOUA02H3,JOUB19H3 +JOUB01H3,JOUB19H3 +JOUB02H3,JOUB19H3 +ACMB02H3,JOUB19H3 +JOUA06H3,JOUB20H3 +JOUB11H3,JOUB20H3 +JOUB14H3,JOUB20H3 +JOUB18H3,JOUB20H3 +JOUB19H3,JOUB20H3 +MDSA21H3,JOUB39H3 +JOUA01H3,JOUB39H3 +MDSA22H3,JOUB39H3 +JOUA02H3,JOUB39H3 +HUMA01H3,JOUB39H3 +JOUB05H3,JOUC13H3 +JOUC18H3,JOUC13H3 +JOUC19H3,JOUC13H3 +JOUC20H3,JOUC13H3 +JOUB09H3,JOUC13H3 +JOUB20H3,JOUC13H3 +JOUA06H3,JOUC18H3 +JOUB11H3,JOUC18H3 +JOUB14H3,JOUC18H3 +JOUB18H3,JOUC18H3 +JOUB19H3,JOUC18H3 +JOUA06H3,JOUC19H3 +JOUB11H3,JOUC19H3 +JOUB14H3,JOUC19H3 +JOUB18H3,JOUC19H3 +JOUB19H3,JOUC19H3 +JOUA06H3,JOUC21H3 +JOUB11H3,JOUC21H3 +JOUB14H3,JOUC21H3 +JOUB18H3,JOUC21H3 +JOUB19H3,JOUC21H3 +JOUA06H3,JOUC22H3 +JOUB11H3,JOUC22H3 +JOUB14H3,JOUC22H3 +JOUB18H3,JOUC22H3 +JOUB19H3,JOUC22H3 +MDSB05H3,JOUC30H3 +JOUB39H3,JOUC30H3 +JOUB24H3,JOUC31H3 +MDSA01H3,JOUC62H3 +MDSB05H3,JOUC62H3 +JOUA01H3,JOUC62H3 +JOUA02H3,JOUC62H3 +JOUB03H3,JOUD10H3 +JOUC13H3,JOUD10H3 +JOUC25H3,JOUD10H3 +ACMB02H3,JOUD11H3 +JOUC30H3,JOUD12H3 +JOUC31H3,JOUD12H3 +JOUC62H3,JOUD12H3 +JOUC63H3,JOUD12H3 +LGGA10H3,LGGA12H3 +LGGA60H3,LGGA61H3 +LGGA01H3,LGGA61H3 +LGGA64H3,LGGA65H3 +LGGA62H3,LGGA65H3 +LGGA70H3,LGGA71H3 +LGGA74H3,LGGA75H3 +LGGA80H3,LGGA81H3 +LGGA61H3,LGGB60H3 +LGGA02H3,LGGB60H3 +LGGB60H3,LGGB61H3 +LGGA65H3,LGGB62H3 +LGGA63H3,LGGB62H3 +LGGB62H3,LGGB63H3 +LGGB70H3,LGGB71H3 +LGGA75H3,LGGB74H3 +LGGB61H3,LGGC60H3 +LGGB04H3,LGGC60H3 +LGGC60H3,LGGC61H3 +LGGB70H3,LGGC70H3 +LGGB71H3,LGGC70H3 +LINA01H3,LINA02H3 +LINB09H3,LINB04H3 +LINA01H3,LINB06H3 +LINA01H3,LINB09H3 +LINA01H3,LINB10H3 +LINA02H3,LINB19H3 +LINA02H3,LINB20H3 +LINA02H3,LINB29H3 +LINA01H3,LINB30H3 +LINB06H3,LINB60H3 +LINB18H3,LINB60H3 +LINA01H3,LINB62H3 +LINA02H3,LINB62H3 +LINA01H3,LINB98H3 +LINA02H3,LINB98H3 +LINB04H3,LINC02H3 +LINB09H3,LINC02H3 +LINA02H3,LINC10H3 +LINB04H3,LINC10H3 +LINB06H3,LINC10H3 +LINB10H3,LINC10H3 +LINB06H3,LINC11H3 +LINA01H3,LINC12H3 +FREB44H3,LINC12H3 +FREB45H3,LINC12H3 +LINB04H3,LINC13H3 +LINB06H3,LINC13H3 +LINB10H3,LINC13H3 +LINA01H3,LINC28H3 +LINB29H3,LINC29H3 +STAB22H3,LINC29H3 +STAB23H3,LINC29H3 +PSYB07H3,LINC29H3 +LINB30H3,LINC35H3 +LINA01H3,LINC47H3 +LINA02H3,LINC47H3 +FREB44H3,LINC47H3 +FREB45H3,LINC47H3 +LINB04H3,LINC61H3 +LINB06H3,LINC61H3 +LINA01H3,LINC98H3 +LINA02H3,LINC98H3 +LINB09H3,LIND09H3 +LINB29H3,LIND09H3 +LINB20H3,LIND11H3 +LINB04H3,LIND29H3 +LINB06H3,LIND29H3 +LINB10H3,LIND29H3 +FREB44H3,LIND46H3 +FREC46H3,LIND46H3 +LINB10H3,LIND46H3 +MATA29H3,MATA35H3 +MATA30H3,MATA36H3 +MATA31H3,MATA37H3 +MATA67H3,MATA37H3 +CSCA67H3,MATA37H3 +MATA22H3,MATB24H3 +MATA22H3,MATB41H3 +MATA23H3,MATB41H3 +MATA36H3,MATB41H3 +MATA37H3,MATB41H3 +MATB41H3,MATB42H3 +MATA37H3,MATB43H3 +MATB24H3,MATB43H3 +MATA36H3,MATB44H3 +MATA37H3,MATB44H3 +MATA22H3,MATB44H3 +MATA23H3,MATB44H3 +MATA22H3,MATB61H3 +MATA23H3,MATB61H3 +MATB41H3,MATB61H3 +MATA36H3,MATC01H3 +MATA37H3,MATC01H3 +MATB24H3,MATC01H3 +MATB24H3,MATC09H3 +MATB43H3,MATC09H3 +CSCB36H3,MATC09H3 +MATB24H3,MATC15H3 +MATB41H3,MATC15H3 +MATB41H3,MATC27H3 +MATB43H3,MATC27H3 +MATB24H3,MATC32H3 +CSCB36H3,MATC32H3 +MATB42H3,MATC34H3 +MATB43H3,MATC37H3 +MATB24H3,MATC44H3 +MATB44H3,MATC46H3 +MATB44H3,MATC58H3 +MATB42H3,MATC63H3 +MATB43H3,MATC63H3 +MATA67H3,MATC82H3 +CSCA67H3,MATC82H3 +CSCA65H3,MATC82H3 +MATA22H3,MATC82H3 +MATA23H3,MATC82H3 +MATA37H3,MATC82H3 +MATA36H3,MATC82H3 +MATA02H3,MATC90H3 +MATC01H3,MATD01H3 +MATA22H3,MATD02H3 +MATA23H3,MATD02H3 +MATB43H3,MATD09H3 +MATC09H3,MATD09H3 +MATC27H3,MATD09H3 +MATC37H3,MATD09H3 +MATC01H3,MATD10H3 +MATC34H3,MATD10H3 +MATC35H3,MATD10H3 +MATC37H3,MATD10H3 +MATC15H3,MATD10H3 +MATD02H3,MATD10H3 +MATC01H3,MATD11H3 +MATC34H3,MATD11H3 +MATC35H3,MATD11H3 +MATC37H3,MATD11H3 +MATC15H3,MATD11H3 +MATD02H3,MATD11H3 +MATC01H3,MATD12H3 +MATC34H3,MATD12H3 +MATC35H3,MATD12H3 +MATC37H3,MATD12H3 +MATC15H3,MATD12H3 +MATD02H3,MATD12H3 +MATC15H3,MATD16H3 +STAB52H3,MATD16H3 +STAB53H3,MATD16H3 +MATC63H3,MATD26H3 +MATB43H3,MATD34H3 +MATC34H3,MATD34H3 +MATA37H3,MATD35H3 +MATA36H3,MATD35H3 +MATB41H3,MATD35H3 +MATC34H3,MATD35H3 +MATC32H3,MATD44H3 +MATC44H3,MATD44H3 +MATA37H3,MATD46H3 +MATA36H,MATD46H3 +MATB41H3,MATD46H3 +MATB44H3,MATD46H3 +MATB24H3,MATD50H3 +STAB52H3,MATD50H3 +STAB53H3,MATD50H3 +MATB43H3,MATD67H3 +MUZA80H3,MBTB13H3 +MUZB40H3,MBTB13H3 +MUZB41H3,MBTB13H3 +MUZB80H3,MBTB13H3 +MUZA80H3,MBTB41H3 +MUZB40H3,MBTB41H3 +MUZB41H3,MBTB41H3 +MUZB80H3,MBTB41H3 +MUZA80H3,MBTB50H3 +MUZB40H3,MBTB50H3 +MUZB41H3,MBTB50H3 +MUZB80H3,MBTB50H3 +MUZA80H3,MBTC62H3 +MUZB80H3,MBTC62H3 +MUZB40H3,MBTC62H3 +MUZB41H3,MBTC62H3 +MUZA80H3,MBTC63H3 +MUZB80H3,MBTC63H3 +MUZB40H3,MBTC63H3 +MUZB41H3,MBTC63H3 +MUZA80H3,MBTC70H3 +MUZB80H3,MBTC70H3 +MUZB40H3,MBTC70H3 +MUZB41H3,MBTC70H3 +MUZA80H3,MBTC72H3 +MUZB80H3,MBTC72H3 +MUZB40H3,MBTC72H3 +MUZB41H3,MBTC72H3 +MDSA10H3,MDSA13H3 +MDSA01H3,MDSA13H3 +MDSA01H3,MDSB05H3 +ANTA02H3,MDSB09H3 +MDSA01H3,MDSB09H3 +MDSA10H3,MDSB11H3 +MDSA01H3,MDSB11H3 +MDSA11H3,MDSB11H3 +MDSA12H3,MDSB11H3 +MDSA13H3,MDSB11H3 +MDSA02H3,MDSB11H3 +JOUA01H3,MDSB11H3 +JOUA02H3,MDSB11H3 +MDSA01H3,MDSB12H3 +MDSA02H3,MDSB12H3 +MDSA10H3,MDSB16H3 +MDSA01H3,MDSB16H3 +VPHA46H3,MDSB16H3 +MDSA10H3,MDSB17H3 +MDSA01H3,MDSB17H3 +MDSA11H3,MDSB17H3 +MDSA12H3,MDSB17H3 +MDSA13H3,MDSB17H3 +MDSA02H3,MDSB17H3 +JOUA01H3,MDSB17H3 +JOUA02H3,MDSB17H3 +MDSA11H3,MDSB17H3 +MDSA13H3,MDSB17H3 +MDSA02H3,MDSB17H3 +MDSA10H3,MDSB20H3 +MDSA01H3,MDSB20H3 +MDSA11H3,MDSB20H3 +MDSA12H3,MDSB20H3 +MDSA13H3,MDSB20H3 +MDSA02H3,MDSB20H3 +JOUA01H3,MDSB20H3 +JOUA02H3,MDSB20H3 +MDSA11H3,MDSB20H3 +MDSA13H3,MDSB20H3 +MDSA02H3,MDSB20H3 +MDSA10H3,MDSB21H3 +MDSA01H3,MDSB21H3 +MDSA11H3,MDSB21H3 +MDSA12H3,MDSB21H3 +MDSA13H3,MDSB21H3 +MDSA02H3,MDSB21H3 +JOUA01H3,MDSB21H3 +JOUA02H3,MDSB21H3 +MDSA10H3,MDSB22H3 +MDSA01H3,MDSB22H3 +MDSA11H3,MDSB22H3 +MDSA12H3,MDSB22H3 +MDSA13H3,MDSB22H3 +MDSA02H3,MDSB22H3 +JOUA01H3,MDSB22H3 +JOUA02H3,MDSB22H3 +MDSA11H3,MDSB22H3 +MDSA13H3,MDSB22H3 +MDSA02H3,MDSB22H3 +MDSA10H3,MDSB23H3 +MDSA01H3,MDSB23H3 +MDSA11H3,MDSB23H3 +MDSA12H3,MDSB23H3 +MDSA13H3,MDSB23H3 +MDSA02H3,MDSB23H3 +JOUA01H3,MDSB23H3 +JOUA02H3,MDSB23H3 +MDSA11H3,MDSB23H3 +MDSA13H3,MDSB23H3 +MDSA02H3,MDSB23H3 +MDSA01H3,MDSB25H3 +MDSA02H3,MDSB25H3 +MDSA10H3,MDSB29H3 +MDSA01H3,MDSB29H3 +MDSA11H3,MDSB29H3 +MDSA12H3,MDSB29H3 +MDSA13H3,MDSB29H3 +MDSA02H3,MDSB29H3 +JOUA01H3,MDSB29H3 +JOUA02H3,MDSB29H3 +MDSA11H3,MDSB29H3 +MDSA13H3,MDSB29H3 +MDSA02H3,MDSB29H3 +MDSA10H3,MDSB30H3 +MDSA01H3,MDSB30H3 +MDSA11H3,MDSB30H3 +MDSA12H3,MDSB30H3 +MDSA13H3,MDSB30H3 +MDSA02H3,MDSB30H3 +JOUA01H3,MDSB30H3 +JOUA02H3,MDSB30H3 +MDSA11H3,MDSB30H3 +MDSA13H3,MDSB30H3 +MDSA02H3,MDSB30H3 +MDSA10H3,MDSB31H3 +MDSA01H3,MDSB31H3 +MDSA11H3,MDSB31H3 +MDSA12H3,MDSB31H3 +MDSA13H3,MDSB31H3 +MDSA02H3,MDSB31H3 +JOUA01H3,MDSB31H3 +JOUA02H3,MDSB31H3 +MDSA10H3,MDSB33H3 +SOCB58H3,MDSB33H3 +MDSA01H3,MDSB33H3 +MDSA10H3,MDSB34H3 +MDSA01H3,MDSB34H3 +MDSA11H3,MDSB34H3 +MDSA12H3,MDSB34H3 +MDSA13H3,MDSB34H3 +MDSA02H3,MDSB34H3 +JOUA01H3,MDSB34H3 +JOUA02H3,MDSB34H3 +MDSA11H3,MDSB34H3 +MDSA13H3,MDSB34H3 +MDSA02H3,MDSB34H3 +MDSA10H3,MDSB35H3 +MDSA01H3,MDSB35H3 +MDSA11H3,MDSB35H3 +MDSA12H3,MDSB35H3 +MDSA13H3,MDSB35H3 +MDSA02H3,MDSB35H3 +JOUA01H3,MDSB35H3 +JOUA02H3,MDSB35H3 +MDSA11H3,MDSB35H3 +MDSA13H3,MDSB35H3 +MDSA02H3,MDSB35H3 +MDSB22H3,MDSC12H3 +MDSB22H3,MDSC12H3 +MDSA10H3,MDSC13H3 +MDSA01H3,MDSC13H3 +MDSA11H3,MDSC13H3 +MDSA12H3,MDSC13H3 +MDSA13H3,MDSC13H3 +MDSA02H3,MDSC13H3 +JOUA01H3,MDSC13H3 +JOUA02H3,MDSC13H3 +MDSA11H3,MDSC13H3 +MDSA13H3,MDSC13H3 +MDSA02H3,MDSC13H3 +ANTB19H3,MDSC21H3 +ANTB20H3,MDSC21H3 +MDSA01H3,MDSC21H3 +MDSB05H3,MDSC21H3 +MDSA10H3,MDSC22H3 +MDSA01H3,MDSC22H3 +MDSA11H3,MDSC22H3 +MDSA12H3,MDSC22H3 +MDSA13H3,MDSC22H3 +MDSA02H3,MDSC22H3 +JOUA01H3,MDSC22H3 +JOUA02H3,MDSC22H3 +MDSA11H3,MDSC22H3 +MDSA13H3,MDSC22H3 +MDSA02H3,MDSC22H3 +MDSB21H3,MDSC26H3 +MDSB21H3,MDSC26H3 +MDSA10H3,MDSC37H3 +MDSA01H3,MDSC37H3 +MDSB05H3,MDSC37H3 +JOUA01H3,MDSC37H3 +JOUA02H3,MDSC37H3 +ANTB19H3,MDSC53H3 +ANTB20H3,MDSC53H3 +MDSA01H3,MDSC53H3 +MDSB05H3,MDSC53H3 +ACMB02H3,MDSD11H3 +MGAB01H3,MGAB02H3 +MGEA02H3,MGAB03H3 +MGEA06H3,MGAB03H3 +MGEA01H3,MGAB03H3 +MGEA05H3,MGAB03H3 +MGAB01H3,MGAB03H3 +MGAB03H3,MGAC01H3 +MGAB02H3,MGAC01H3 +MGTA38H3,MGAC01H3 +MGTA35H3,MGAC01H3 +MGTA36H3,MGAC01H3 +MGAC01H3,MGAC02H3 +MGAB03H3,MGAC03H3 +MGAC01H3,MGAC10H3 +MGAB01H3,MGAC50H3 +MGAB02H3,MGAC50H3 +MGAB03H3,MGAC50H3 +MGAB03H3,MGAC70H3 +MGHB02H3,MGAC70H3 +MGAB02H3,MGAC80H3 +MGAB03H3,MGAC80H3 +MGAC10H3,MGAD20H3 +MGAB03H3,MGAD40H3 +MGHB02H3,MGAD40H3 +MGAC01H3,MGAD45H3 +MGSC30H3,MGAD45H3 +MGAC01H3,MGAD50H3 +MGAC02H3,MGAD50H3 +MGAC01H3,MGAD60H3 +MGAC02H3,MGAD60H3 +MGAC50H3,MGAD65H3 +MGAC02H3,MGAD70H3 +MGAC03H3,MGAD70H3 +MGAC10H3,MGAD70H3 +MGAC50H3,MGAD70H3 +MGAB02H3,MGAD80H3 +MGAB03H3,MGAD80H3 +MGAB02H3,MGAD85H3 +MGAB03H3,MGAD85H3 +MGEA01H3,MGEB01H3 +MGEA02H3,MGEB01H3 +MGEA05H3,MGEB01H3 +MGEA06H3,MGEB01H3 +MGEA02H3,MGEB02H3 +MGEA06H3,MGEB02H3 +MATA34H3,MGEB02H3 +MGEA02H3,MGEB02H3 +MGEA06H3,MGEB02H3 +MATA29H3,MGEB02H3 +MATA30H3,MGEB02H3 +MATA31H3,MGEB02H3 +MATA32H3,MGEB02H3 +MATA33H3,MGEB02H3 +MATA35H3,MGEB02H3 +MATA36H3,MGEB02H3 +MATA37H3,MGEB02H3 +MGEA01H3,MGEB05H3 +MGEA02H3,MGEB05H3 +MGEA05H3,MGEB05H3 +MGEA06H3,MGEB05H3 +MGEA02H3,MGEB06H3 +MGEA06H3,MGEB06H3 +MATA34H3,MGEB06H3 +MGEA02H3,MGEB06H3 +MGEA06H3,MGEB06H3 +MATA29H3,MGEB06H3 +MATA30H3,MGEB06H3 +MATA31H3,MGEB06H3 +MATA32H3,MGEB06H3 +MATA33H3,MGEB06H3 +MATA35H3,MGEB06H3 +MATA36H3,MGEB06H3 +MATA37H3,MGEB06H3 +MGEA02H3,MGEB11H3 +MGEA06H3,MGEB11H3 +MATA34H3,MGEB11H3 +MGEA02H3,MGEB11H3 +MGEA06H3,MGEB11H3 +MATA29H3,MGEB11H3 +MATA30H3,MGEB11H3 +MATA31H3,MGEB11H3 +MATA32H3,MGEB11H3 +MATA33H3,MGEB11H3 +MATA35H3,MGEB11H3 +MATA36H3,MGEB11H3 +MATA37H3,MGEB11H3 +MGEB11H3,MGEB12H3 +STAB57H3,MGEB12H3 +MGEA01H3,MGEB31H3 +MGEA02H3,MGEB31H3 +MGEA05H3,MGEB31H3 +MGEA06H3,MGEB31H3 +MGEA01H3,MGEB32H3 +MGEA02H3,MGEB32H3 +MGEA05H3,MGEB32H3 +MGEA06H3,MGEB32H3 +MGEB02H3,MGEC02H3 +MGEB06H3,MGEC06H3 +MGEB02H3,MGEC08H3 +MGEB06H3,MGEC08H3 +MGEB12H3,MGEC11H3 +MGEB01H3,MGEC20H3 +MGEB02H3,MGEC20H3 +MGEB02H3,MGEC22H3 +MGEB02H3,MGEC25H3 +MGEB06H3,MGEC25H3 +MGEB02H3,MGEC26H3 +MGEB06H3,MGEC26H3 +MGEB01H3,MGEC31H3 +MGEB02H3,MGEC31H3 +MGEB01H3,MGEC32H3 +MGEB02H3,MGEC32H3 +MGEB02H3,MGEC34H3 +MGEB01H3,MGEC37H3 +MGEB02H3,MGEC37H3 +MGEB01H3,MGEC38H3 +MGEB02H3,MGEC38H3 +MGEB05H3,MGEC38H3 +MGEB06H3,MGEC38H3 +MGEB01H3,MGEC40H3 +MGEB02H3,MGEC40H3 +MGEB02H3,MGEC41H3 +MGEB12H3,MGEC45H3 +MGEB02H3,MGEC51H3 +MGEB01H3,MGEC54H3 +MGEB02H3,MGEC54H3 +MGEB02H3,MGEC58H3 +MGEB05H3,MGEC61H3 +MGEB06H3,MGEC61H3 +MGEB02H3,MGEC62H3 +MGEB01H3,MGEC62H3 +MATA34H3,MGEC62H3 +MGEB01H3,MGEC62H3 +MATA29H3,MGEC62H3 +MATA30H3,MGEC62H3 +MATA31H3,MGEC62H3 +MATA32H3,MGEC62H3 +MATA33H3,MGEC62H3 +MATA35H3,MGEC62H3 +MATA36H3,MGEC62H3 +MATA37H3,MGEC62H3 +MGEB02H3,MGEC65H3 +MGEB12H3,MGEC65H3 +MGEB05H3,MGEC71H3 +MGEB06H3,MGEC71H3 +MGEB02H3,MGEC72H3 +MGEB06H3,MGEC72H3 +MGEB12H3,MGEC72H3 +MGEB01H3,MGEC81H3 +MGEB02H3,MGEC81H3 +MGEB01H3,MGEC82H3 +MGEB02H3,MGEC82H3 +MGEB01H3,MGEC91H3 +MGEB02H3,MGEC91H3 +MGEB01H3,MGEC92H3 +MGEB02H3,MGEC92H3 +MGEB01H3,MGEC93H3 +MGEB02H3,MGEC93H3 +MGEB05H3,MGEC93H3 +MGEB06H3,MGEC93H3 +MGEB12H3,MGED02H3 +MGEC02H3,MGED02H3 +MGEB12H3,MGED06H3 +MGEC06H3,MGED06H3 +MGEB02H3,MGED11H3 +MGEB06H3,MGED11H3 +MGEB11H3,MGED11H3 +MGEB12H3,MGED11H3 +MGEC11H3,MGED11H3 +MGEB02H3,MGED43H3 +MGEC40H3,MGED43H3 +MGEC41H3,MGED43H3 +MGEB02H3,MGED50H3 +MGEC02H3,MGED50H3 +MGEB06H3,MGED50H3 +MGEC06H3,MGED50H3 +MGEB11H3,MGED50H3 +MGEB12H3,MGED50H3 +MGEC11H3,MGED50H3 +MGEC61H3,MGED63H3 +MGEC11H3,MGED70H3 +MGEC72H3,MGED70H3 +MGFC10H3,MGED70H3 +MGEB11H3,MGFB10H3 +MGAB01H3,MGFB10H3 +MGTA38H3,MGFB10H3 +MGTA35H3,MGFB10H3 +MGTA36H3,MGFB10H3 +MGFB10H3,MGFC10H3 +MGFB10H3,MGFC20H3 +MGFC10H3,MGFC50H3 +MGFC10H3,MGFC60H3 +MGFB10H3,MGFC85H3 +MGFC10H3,MGFC85H3 +MGAB02H3,MGFD15H3 +MGFC10H3,MGFD15H3 +MGFC10H3,MGFD25H3 +MGFC10H3,MGFD30H3 +MGFC10H3,MGFD40H3 +MGEB12H3,MGFD40H3 +MGFC10H3,MGFD50H3 +MGFC10H3,MGFD70H3 +MGFB10H3,MGFD85H3 +MGFC10H3,MGFD85H3 +MGTA38H3,MGHB02H3 +MGTA35H3,MGHB02H3 +MGTA36H3,MGHB02H3 +MGHB02H3,MGHC02H3 +MGIB02H3,MGHC02H3 +MGHA12H3,MGHC02H3 +MGHB12H3,MGHC02H3 +MGIA12H3,MGHC02H3 +MGIB12H3,MGHC02H3 +MGHB02H3,MGHC23H3 +MGIB02H3,MGHC23H3 +MGHB02H3,MGHC50H3 +MGHB02H3,MGHC51H3 +MGIB02H3,MGHC51H3 +MGHB02H3,MGHC52H3 +MGIB02H3,MGHC52H3 +MGEA01H3,MGHC53H3 +MGEA05H3,MGHC53H3 +MGEA02H3,MGHC53H3 +MGEA06H3,MGHC53H3 +MGHB02H3,MGHD14H3 +MGIB02H3,MGHD14H3 +MGHC02H3,MGHD14H3 +MGIC02H3,MGHD14H3 +MGHA12H3,MGHD24H3 +MGHB12H3,MGHD24H3 +MGIA12H3,MGHD24H3 +MGIB12H3,MGHD24H3 +MGHA12H3,MGHD25H3 +MGHB12H3,MGHD25H3 +MGIA12H3,MGHD25H3 +MGIB12H3,MGHD25H3 +MGHA12H3,MGHD26H3 +MGHB12H3,MGHD26H3 +MGIA12H3,MGHD26H3 +MGIB12H3,MGHD26H3 +MGHA12H3,MGHD27H3 +MGHB12H3,MGHD27H3 +MGIA12H3,MGHD27H3 +MGIB12H3,MGHD27H3 +MGHA12H3,MGHD28H3 +MGHB12H3,MGHD28H3 +MGIA12H3,MGHD28H3 +MGIB12H3,MGHD28H3 +MGHA12H3,MGHD60H3 +MGIA12H3,MGHD60H3 +MGHB02H3,MGHD60H3 +MGIB02H3,MGHD60H3 +MGMA01H3,MGIB01H3 +MGIA01H3,MGIB01H3 +MGAB02H3,MGIC01H3 +MGIA01H3,MGIC01H3 +MGFB10H3,MGIC01H3 +MGIB02H3,MGIC01H3 +MGIB02H3,MGIC02H3 +MGAB03H3,MGID79H3 +MGIA01H3,MGID79H3 +MGIA12H3,MGID79H3 +MGIB12H3,MGID79H3 +MGIB02H3,MGID79H3 +MGFC10H3,MGID79H3 +MGIC01H3,MGID79H3 +MGMA01H3,MGMB01H3 +MGIA01H3,MGMB01H3 +MGTA38H3,MGMB01H3 +MGTA35H3,MGMB01H3 +MGTA36H3,MGMB01H3 +MGMA01H3,MGMC01H3 +MGIA01H3,MGMC01H3 +MGMA01H3,MGMC02H3 +MGTB04H3,MGMC02H3 +MGIA01H3,MGMC02H3 +MGTB07H3,MGMC02H3 +MGMA01H3,MGMC11H3 +MGIA01H3,MGMC11H3 +MGMA01H3,MGMC12H3 +MGIA01H3,MGMC12H3 +MGMA01H3,MGMC13H3 +MGIA01H3,MGMC13H3 +MGEB02H3,MGMC13H3 +MGMA01H3,MGMC14H3 +MGIA01H3,MGMC14H3 +MGMA01H3,MGMC20H3 +MGIA01H3,MGMC20H3 +MGMA01H3,MGMC40H3 +MGIA01H3,MGMC40H3 +MGMB01H3,MGMC40H3 +MGIB01H3,MGMC40H3 +MGMA01H3,MGMD01H3 +MGIA01H3,MGMD01H3 +MGEB11H3,MGMD01H3 +MGEB12H3,MGMD01H3 +MGMA01H3,MGMD02H3 +MGIA01H3,MGMD02H3 +MGMA01H3,MGMD10H3 +MGIA01H3,MGMD10H3 +MGMB01H3,MGMD10H3 +MGMA01H3,MGMD11H3 +MGIA01H3,MGMD11H3 +MGMB01H3,MGMD11H3 +MGMA01H3,MGMD19H3 +MGIA01H3,MGMD19H3 +MGMB01H3,MGMD19H3 +MGIB01H3,MGMD19H3 +MGMA01H3,MGMD20H3 +MGIA01H3,MGMD20H3 +MGMB01H3,MGMD20H3 +MGIB01H3,MGMD20H3 +MGMA01H3,MGMD21H3 +MGIA01H3,MGMD21H3 +MGMB01H3,MGMD21H3 +MGIB01H3,MGMD21H3 +MGEB02H3,MGOC10H3 +MGEB12H3,MGOC10H3 +MGTA38H3,MGOC10H3 +MGTA36H3,MGOC10H3 +MGTA35H3,MGOC10H3 +MGEB12H3,MGOC15H3 +MGOC10H3,MGOC20H3 +MGEB02H3,MGOC50H3 +MGEB12H3,MGOC50H3 +MGOC10H3,MGOD31H3 +MGOC15H3,MGOD31H3 +MGOC10H3,MGOD40H3 +MGOC10H3,MGOD50H3 +MGEA02H3,MGSB01H3 +MATA34H3,MGSB01H3 +MATA29H3,MGSB01H3 +MATA30H3,MGSB01H3 +MATA31H3,MGSB01H3 +MATA32H3,MGSB01H3 +MATA33H3,MGSB01H3 +MATA35H3,MGSB01H3 +MATA36H3,MGSB01H3 +MATA37H3,MGSB01H3 +MGAB01H3,MGSB22H3 +MGHB02H3,MGSB22H3 +MGIB02H3,MGSB22H3 +MGHB02H3,MGSC01H3 +MGEB02H3,MGSC01H3 +MGEB06H3,MGSC01H3 +MGHB02H3,MGSC03H3 +POLB56H3,MGSC03H3 +POLB57H3,MGSC03H3 +POLB50Y3,MGSC03H3 +POLB56H3,MGSC05H3 +POLB57H3,MGSC05H3 +POLB50Y3,MGSC05H3 +MGAB03H3,MGSC07H3 +MGFB10H3,MGSC07H3 +MGHB02H3,MGSC07H3 +MGEB11H3,MGSC10H3 +MGEB12H3,MGSC10H3 +MGHB02H3,MGSC12H3 +ENGD94H3,MGSC12H3 +MGTA38H3,MGSC14H3 +MGTA35H3,MGSC14H3 +MGTA36H3,MGSC14H3 +MGAB03H3,MGSC20H3 +MGHB02H3,MGSC20H3 +MGFB10H3,MGSC26H3 +MGEC40H3,MGSC26H3 +MGAB01H3,MGSC30H3 +MGAB02H3,MGSC30H3 +MGTA38H3,MGSC30H3 +MGTA35H3,MGSC30H3 +MGTA36H3,MGSC30H3 +MGSB22H3,MGSC35H3 +MGSC01H3,MGSC35H3 +MGSC20H3,MGSC35H3 +MGHB02H3,MGSC44H3 +MGSB01H3,MGSC91H3 +MGSC01H3,MGSD01H3 +MGSC03H3,MGSD01H3 +MGSC05H3,MGSD01H3 +MGSC01H3,MGSD05H3 +MGIC01H3,MGSD05H3 +MGSC01H3,MGSD15H3 +MGIC01H3,MGSD15H3 +MGMA01H3,MGSD24H3 +MGAB01H3,MGSD24H3 +MGAB02H3,MGSD24H3 +MGSC30H3,MGSD30H3 +MGSC30H3,MGSD32H3 +MGAB02H3,MGSD55H3 +MGEB02H3,MGSD55H3 +MGSB01H3,MGSD55H3 +MGIC01H3,MGSD55H3 +MGSC01H3,MGSD55H3 +MGTA01H3,MGTA02H3 +MGEB12H3,MGTC28H3 +MUZA60H3,MUZA61H3 +VPMA73H3,MUZA61H3 +MUZA62H3,MUZA63H3 +VPMA70H3,MUZA63H3 +MUZA64H3,MUZA65H3 +VPMA66H3,MUZA65H3 +MUZA66H3,MUZA67H3 +VPMA68H3,MUZA67H3 +MUZA80H3,MUZB01H3 +VPMA95H3,MUZB01H3 +MUZA80H3,MUZB02H3 +VPMA95H3,MUZB02H3 +MUZA80H3,MUZB02H3 +MUZB20H3,MUZB21H3 +VPMB82H3,MUZB21H3 +MUZA80H3,MUZB41H3 +VPMA95H3,MUZB41H3 +MUZA61H3,MUZB60H3 +VPMA74H3,MUZB60H3 +MUZB60H3,MUZB61H3 +VPMB73H3,MUZB61H3 +MUZA63H3,MUZB62H3 +VPMA71H3,MUZB62H3 +MUZB62H3,MUZB63H3 +VPMB70H3,MUZB63H3 +MUZA65H3,MUZB64H3 +VPMA67H3,MUZB64H3 +MUZB64H3,MUZB65H3 +VPMB66H3,MUZB65H3 +MUZA67H3,MUZB66H3 +VPMA69H3,MUZB66H3 +MUZB66H3,MUZB67H3 +VPMB68H3,MUZB67H3 +MUZA80H3,MUZB80H3 +VPMA95H3,MUZB80H3 +MUZA80H3,MUZB80H3 +MUZB80H3,MUZB81H3 +VPMB88H3,MUZB81H3 +MUZB01H3,MUZC01H3 +VPMB01H3,MUZC01H3 +MUZB80H3,MUZC21H3 +VPMB88H3,MUZC21H3 +MUZB20H3,MUZC22H3 +VPMB82H3,MUZC22H3 +MUZB20H3,MUZC23H3 +VPMB82H3,MUZC23H3 +MUZB81H3,MUZC40H3 +VPMB90H3,MUZC40H3 +MUZB40H3,MUZC41H3 +VPMB91H3,MUZC41H3 +MUZB80H3,MUZC41H3 +VPMB88H3,MUZC41H3 +MUZB40H3,MUZC42H3 +VPMB91H3,MUZC42H3 +MUZB80H3,MUZC42H3 +VPMB88H3,MUZC42H3 +MUZB61H3,MUZC60H3 +VPMB74H3,MUZC60H3 +MUZC60H3,MUZC61H3 +VPMC73H3,MUZC61H3 +MUZB63H3,MUZC62H3 +VPMB71H3,MUZC62H3 +MUZC62H3,MUZC63H3 +VPMC70H3,MUZC63H3 +MUZB65H3,MUZC64H3 +VPMB67H3,MUZC64H3 +MUZC64H3,MUZC65H3 +VPMC66H3,MUZC65H3 +MUZB67H3,MUZC66H3 +VPMB69H3,MUZC66H3 +MUZC66H3,MUZC67H3 +VPMC68H3,MUZC67H3 +MUZB01H3,MUZC80H3 +MUZB20H3,MUZC80H3 +MUZB80H3,MUZC80H3 +MUZB01H3,MUZC81H3 +MUZB20H3,MUZC81H3 +MUZB80H3,MUZC81H3 +MUZC01H3,MUZD01H3 +VPMC01H3,MUZD01H3 +MUZC40H3,MUZD81H3 +VPMC90H3,MUZD81H3 +MDSA01H3,NMEA01H3 +MDSA02H3,NMEA01H3 +MDSA01H3,NMEA02H3 +MDSA02H3,NMEA02H3 +MDSA01H3,NMEA04H3 +MDSA02H3,NMEA04H3 +NMEA01H3,NMEB05H3 +NMEA02H3,NMEB05H3 +NMEA03H3,NMEB05H3 +NMEA04H3,NMEB05H3 +NMEA01H3,NMEB06H3 +NMEA02H3,NMEB06H3 +NMEA03H3,NMEB06H3 +NMEA04H3,NMEB06H3 +NMEA01H3,NMEB08H3 +NMEA02H3,NMEB08H3 +NMEA03H3,NMEB08H3 +NMEA04H3,NMEB08H3 +NMEA01H3,NMEB09H3 +NMEA02H3,NMEB09H3 +NMEA03H3,NMEB09H3 +NMEA04H3,NMEB09H3 +NMEA01H3,NMEB10H3 +NMEA02H3,NMEB10H3 +NMEA03H3,NMEB10H3 +NMEA04H3,NMEB10H3 +BIOA01H3,NROB60H3 +BIOA02H3,NROB60H3 +CHMA10H3,NROB60H3 +CHMA11H3,NROB60H3 +CHMA12H3,NROB60H3 +PSYA01H3,NROB60H3 +PSYA02H3,NROB60H3 +BIOA01H3,NROB61H3 +BIOA02H3,NROB61H3 +CHMA10H3,NROB61H3 +CHMA11H3,NROB61H3 +CHMA12H3,NROB61H3 +PSYA01H3,NROB61H3 +PSYA02H3,NROB61H3 +BIOB34H3,NROC34H3 +NROB60H3,NROC34H3 +NROB61H3,NROC34H3 +BIOB11H3,NROC36H3 +NROB60H3,NROC36H3 +NROB61H3,NROC36H3 +PSYB55H3,NROC36H3 +PSYB65H3,NROC36H3 +PSYB07H3,NROC36H3 +STAB22H3,NROC36H3 +PSYB01H3,NROC36H3 +PSYB04H3,NROC36H3 +PSYB70H3,NROC36H3 +BIOB10H3,NROC60H3 +NROB60H3,NROC60H3 +NROB61H3,NROC60H3 +PSYB55H3,NROC60H3 +PSYB70H3,NROC60H3 +PSYB07H3,NROC60H3 +STAB22H3,NROC60H3 +BIOB10H3,NROC61H3 +NROB60H3,NROC61H3 +NROB61H3,NROC61H3 +PSYB01H3,NROC61H3 +PSYB04H3,NROC61H3 +PSYB70H3,NROC61H3 +PSYB07H3,NROC61H3 +STAB22H3,NROC61H3 +PSYB55H3,NROC61H3 +PSYB65H3,NROC61H3 +BIOB10H3,NROC63H3 +NROB60H3,NROC63H3 +NROB61H3,NROC63H3 +PSYB55H3,NROC63H3 +PSYB70H3,NROC63H3 +PSYB07H3,NROC63H3 +STAB22H3,NROC63H3 +BIOB10H3,NROC64H3 +NROB60H3,NROC64H3 +NROB61H3,NROC64H3 +PSYB01H3,NROC64H3 +PSYB04H3,NROC64H3 +PSYB70H3,NROC64H3 +PSYB07H3,NROC64H3 +STAB22H3,NROC64H3 +PSYB55H3,NROC64H3 +PSYB65H3,NROC64H3 +BIOB10H3,NROC69H3 +NROB60H3,NROC69H3 +NROB61H3,NROC69H3 +PSYB01H3,NROC69H3 +PSYB04H3,NROC69H3 +PSYB70H3,NROC69H3 +PSYB07H3,NROC69H3 +STAB22H3,NROC69H3 +PSYB55H3,NROC69H3 +PSYB65H3,NROC69H3 +BIOB10H3,NROC90H3 +NROB60H3,NROC90H3 +NROB61H3,NROC90H3 +PSYB01H3,NROC90H3 +PSYB04H3,NROC90H3 +PSYB70H3,NROC90H3 +PSYB07H3,NROC90H3 +STAB22H3,NROC90H3 +PSYB55H3,NROC90H3 +PSYB65H3,NROC90H3 +BIOB10H3,NROC93H3 +NROB60H3,NROC93H3 +NROB61H3,NROC93H3 +PSYB01H3,NROC93H3 +PSYB04H3,NROC93H3 +PSYB70H3,NROC93H3 +PSYB07H3,NROC93H3 +STAB22H3,NROC93H3 +PSYB55H3,NROC93H3 +PSYB65H3,NROC93H3 +NROC34H3,NROD08H3 +NROC64H3,NROD08H3 +NROC69H3,NROD08H3 +MATA29H3,NROD08H3 +MATA30H3,NROD08H3 +MATA31H3,NROD08H3 +PSYB07H3,NROD08H3 +STAB22H3,NROD08H3 +NROC34H3,NROD60H3 +NROC36H3,NROD60H3 +NROC61H3,NROD60H3 +NROC64H3,NROD60H3 +NROC69H3,NROD60H3 +NROC61H3,NROD61H3 +NROC64H3,NROD61H3 +NROC69H3,NROD61H3 +NROC61H3,NROD66H3 +NROC64H3,NROD66H3 +PSYC62H3,NROD66H3 +NROC61H3,NROD67H3 +NROC64H3,NROD67H3 +BIOB10H3,NROD98Y3 +NROB60H3,NROD98Y3 +NROB61H3,NROD98Y3 +PSYB07H3,NROD98Y3 +STAB22H3,NROD98Y3 +PSYB55H3,NROD98Y3 +PSYB70H3,NROD98Y3 +PHLB50H3,PHLB99H3 +PHLB55H3,PHLB99H3 +PHLB03H3,PHLC03H3 +PHLB33H3,PHLC37H3 +PHLB35H3,PHLC37H3 +PHLB50H3,PHLC43H3 +PHLB50H3,PHLC51H3 +CSCB36H3,PHLC51H3 +MATB24H3,PHLC51H3 +MATB43H3,PHLC51H3 +PHLC05H3,PHLD05H3 +PHLC06H3,PHLD05H3 +PHLC10H3,PHLD09H3 +PHLC20H3,PHLD20H3 +PHLC22H3,PHLD20H3 +PHLC31H3,PHLD31H3 +PHLC32H3,PHLD31H3 +PHLC35H3,PHLD35H3 +PHLC36H3,PHLD36H3 +PHLC43H3,PHLD43H3 +PHLC51H3,PHLD51H3 +PHLD88Y3,PHLD85H3 +PHLD88Y3,PHLD86H3 +PHLC95H3,PHLD87H3 +PHLC86H3,PHLD87H3 +PHYA10H3,PHYA21H3 +MATA30H3,PHYA21H3 +MATA31H3,PHYA21H3 +PHYA10H3,PHYA22H3 +PHYA11H3,PHYA22H3 +PHYA01H3,PHYA22H3 +MATA29H3,PHYA22H3 +MATA30H3,PHYA22H3 +MATA31H3,PHYA22H3 +MATA32H3,PHYA22H3 +PHYA21H3,PHYB10H3 +MATA36H3,PHYB10H3 +MATA37H3,PHYB10H3 +PHYA21H3,PHYB21H3 +MATB41H3,PHYB21H3 +PHYA21H3,PHYB52H3 +MATB41H3,PHYB52H3 +PHYA21H3,PHYB54H3 +MATB41H3,PHYB54H3 +MATB44H3,PHYB54H3 +PHYA21H3,PHYB56H3 +MATA36H3,PHYB56H3 +MATA37H3,PHYB56H3 +MATA36H3,PHYB57H3 +MATA37H3,PHYB57H3 +MATA22H3,PHYB57H3 +MATA23H3,PHYB57H3 +PHYA21H3,PHYB57H3 +PHYB10H3,PHYC11H3 +PHYB21H3,PHYC11H3 +PHYB52H3,PHYC11H3 +PHYB21H3,PHYC14H3 +PHYB52H3,PHYC14H3 +MATB42H3,PHYC14H3 +MATB44H3,PHYC14H3 +PHYB54H3,PHYC50H3 +PHYB21H3,PHYC50H3 +MATA22H3,PHYC50H3 +MATA23H3,PHYC50H3 +MATB42H3,PHYC50H3 +MATB44H3,PHYC50H3 +PHYB54H3,PHYC54H3 +MATB44H3,PHYC54H3 +PHYB56H3,PHYC56H3 +PHYB21H3,PHYC56H3 +MATA22H3,PHYC56H3 +MATA23H3,PHYC56H3 +MATB42H3,PHYC56H3 +MATB44H3,PHYC56H3 +MATB42H3,PHYC83H3 +MATB44H3,PHYC83H3 +PHYB54H3,PHYC83H3 +PHYB57H3,PHYD27H3 +MATC46H3,PHYD27H3 +PHYC14H3,PHYD27H3 +PHYB57H3,PHYD28H3 +PHYC50H3,PHYD28H3 +MATC46H3,PHYD28H3 +PHYB54H3,PHYD37H3 +MATC46H3,PHYD37H3 +PHYC54H3,PHYD38H3 +PHYB57H3,PHYD57H3 +LINB06H3,PLIC24H3 +LINB09H3,PLIC24H3 +LINB06H3,PLIC25H3 +LINB09H3,PLIC25H3 +FREB44H3,PLIC25H3 +FREB45H3,PLIC25H3 +LINB09H3,PLIC54H3 +LINB06H3,PLIC55H3 +LINB09H3,PLIC55H3 +PLIC55H3,PLIC75H3 +LINA01H3,PLID34H3 +FREB44H3,PLID34H3 +FREB45H3,PLID34H3 +PLIC24H3,PLID34H3 +PLIC25H3,PLID34H3 +PLIC55H3,PLID34H3 +PLIC24H3,PLID44H3 +PLIC55H3,PLID44H3 +LINB29H3,PLID50H3 +PLIC55H3,PLID50H3 +LINB06H3,PLID53H3 +PLIC55H3,PLID53H3 +PLIC24H3,PLID56H3 +PLID55H3,PLID56H3 +PLIC24H3,PLID74H3 +PLIC55H3,PLID74H3 +BIOA01H3,PMDB22H3 +BIOA02H3,PMDB22H3 +BIOA01H3,PMDB25H3 +BIOA02H3,PMDB25H3 +PMDB22H3,PMDB30H3 +PMDB25H3,PMDB30H3 +PMDB41H3,PMDB30H3 +PMDB33H3,PMDB30H3 +PMDB22H3,PMDB32Y3 +PMDB25H3,PMDB32Y3 +PMDB41H3,PMDB32Y3 +PMDB33H3,PMDB32Y3 +BIOA01H3,PMDB33H3 +BIOA02H3,PMDB33H3 +PMDB22H3,PMDB36H3 +PMDB25H3,PMDB36H3 +PMDB41H3,PMDB36H3 +PMDB33H3,PMDB36H3 +BIOA01H3,PMDB41H3 +BIOA02H3,PMDB41H3 +PMDB30H3,PMDC40H3 +PMDB32Y3,PMDC40H3 +PMDB36H3,PMDC40H3 +BIOB11H3,PMDC40H3 +PMDB30H3,PMDC42Y3 +PMDB32Y3,PMDC42Y3 +PMDB36H3,PMDC42Y3 +BIOB11H3,PMDC42Y3 +PMDB30H3,PMDC43H3 +PMDB32Y3,PMDC43H3 +PMDB36H3,PMDC43H3 +BIOB11H3,PMDC43H3 +PMDC40H3,PMDC54Y3 +PMDC42Y3,PMDC54Y3 +PMDC43H3,PMDC54Y3 +PMDC40H3,PMDC56H3 +PMDC42Y3,PMDC56H3 +PMDC43H3,PMDC56H3 +POLB80H3,POLB81H3 +POLB80H3,POLC09H3 +POLB81H3,POLC09H3 +STAB23H3,POLC11H3 +POLB80H3,POLC12H3 +POLB81H3,POLC12H3 +POLB90H3,POLC12H3 +POLB91H3,POLC12H3 +PPGB66H3,POLC13H3 +POLB80H3,POLC16H3 +POLB81H3,POLC16H3 +POLB90H3,POLC16H3 +POLB91H3,POLC16H3 +STAB23H3,POLC21H3 +POLB30H3,POLC30H3 +POLB56H3,POLC30H3 +POLB56H3,POLC32H3 +POLB57H3,POLC32H3 +POLB50Y3,POLC32H3 +POLB30H3,POLC33H3 +POLB30H3,POLC34H3 +POLB56H3,POLC34H3 +POLB57H3,POLC34H3 +POLB50Y3,POLC34H3 +POLB30H3,POLC35H3 +POLB56H3,POLC35H3 +POLB57H3,POLC35H3 +POLB56H3,POLC36H3 +POLB57H3,POLC36H3 +POLB50Y3,POLC36H3 +POLB70H3,POLC37H3 +POLB71H3,POLC37H3 +POLB72H3,POLC37H3 +POLB30H3,POLC38H3 +POLB80H3,POLC38H3 +POLB30H3,POLC39H3 +POLB56H3,POLC52H3 +POLB57H3,POLC52H3 +POLB50Y3,POLC52H3 +POLB50Y3,POLC53H3 +POLB56H3,POLC53H3 +POLB57H3,POLC53H3 +ESTB01H3,POLC53H3 +POLB56H3,POLC54H3 +POLB57H3,POLC54H3 +POLB50Y3,POLC54H3 +POLB56H3,POLC56H3 +POLB57H3,POLC56H3 +POLB50Y3,POLC56H3 +POLB50Y3,POLC57H3 +POLB56H3,POLC57H3 +POLB57H3,POLC57H3 +POLB92H3,POLC58H3 +POLB56H3,POLC58H3 +POLB57H3,POLC58H3 +POLB50Y3,POLC58H3 +POLB56H3,POLC59H3 +POLB57H3,POLC59H3 +POLB50Y3,POLC59H3 +POLB80H3,POLC69H3 +POLB81H3,POLC69H3 +POLB90H3,POLC69H3 +POLB91H3,POLC69H3 +POLB92H3,POLC69H3 +POLB72H3,POLC70H3 +PHLB17H3,POLC70H3 +POLB72H3,POLC71H3 +PHLB17H3,POLC71H3 +POLB72H3,POLC72H3 +POLB70H3,POLC72H3 +POLB71H3,POLC72H3 +POLB70H3,POLC73H3 +POLB71H3,POLC73H3 +POLB72H3,POLC73H3 +POLB70H3,POLC74H3 +POLB71H3,POLC74H3 +POLB72H3,POLC74H3 +POLB72H3,POLC79H3 +POLB70H3,POLC79H3 +POLB71H3,POLC79H3 +PHLB13H3,POLC79H3 +WSTA03H3,POLC79H3 +POLB80H3,POLC80H3 +POLB81H3,POLC80H3 +POLB90H3,POLC80H3 +POLB91H3,POLC80H3 +POLB80H3,POLC87H3 +POLB81H3,POLC87H3 +POLB80H3,POLC88H3 +POLB81H3,POLC88H3 +POLB90H3,POLC88H3 +POLB91H3,POLC88H3 +POLB90H3,POLC90H3 +POLB91H3,POLC90H3 +POLB80H3,POLC91H3 +POLB81H3,POLC91H3 +POLB90H3,POLC91H3 +POLB91H3,POLC91H3 +POLB90H3,POLC94H3 +POLB80H3,POLC96H3 +POLB81H3,POLC96H3 +POLB90H3,POLC96H3 +POLB91H3,POLC96H3 +POLB92H3,POLC96H3 +POLB80H3,POLC97H3 +POLB81H3,POLC97H3 +POLB90H3,POLC97H3 +POLB91H3,POLC97H3 +POLB92H3,POLC97H3 +POLB80H3,POLC98H3 +POLB81H3,POLC98H3 +MGEA01H3,POLC98H3 +MGEA02H3,POLC98H3 +MGEA05H3,POLC98H3 +MGEA06H3,POLC98H3 +POLC09H3,POLD09H3 +POLB30H3,POLD30H3 +POLB30H3,POLD31H3 +POLC32H3,POLD31H3 +POLC32H3,POLD38H3 +POLC32H3,POLD42H3 +POLC36H3,POLD42H3 +POLC39H3,POLD42H3 +JOUB39H3,POLD43H3 +ENGB63H3,POLD43H3 +POLB30H3,POLD44H3 +POLC33H3,POLD44H3 +POLC38H3,POLD44H3 +POLC39H3,POLD44H3 +POLB70H3,POLD45H3 +POLB71H3,POLD45H3 +POLB72H3,POLD45H3 +POLB30H3,POLD45H3 +POLC32H3,POLD46H3 +POLC36H3,POLD46H3 +POLC39H3,POLD46H3 +POLB50Y3,POLD50H3 +POLB56H3,POLD50H3 +POLB57H3,POLD50H3 +POLB50Y3,POLD51H3 +POLB56H3,POLD51H3 +POLB57H3,POLD51H3 +POLB50Y3,POLD52H3 +POLB56H3,POLD52H3 +POLB57H3,POLD52H3 +SOCB60H3,POLD52H3 +POLB50Y3,POLD53H3 +POLB56H3,POLD53H3 +POLB57H3,POLD53H3 +POLB50Y3,POLD54H3 +POLB56H3,POLD54H3 +POLB57H3,POLD54H3 +POLB50Y3,POLD55H3 +POLB56H3,POLD55H3 +POLB57H3,POLD55H3 +STAB23H3,POLD56H3 +PPGB66H3,POLD67H3 +PPGC66H3,POLD67H3 +POLC67H3,POLD67H3 +POLB70H3,POLD67H3 +POLB71H3,POLD67H3 +POLB72H3,POLD67H3 +POLB90H3,POLD67H3 +POLB91H3,POLD67H3 +POLB70H3,POLD70H3 +POLB71H3,POLD70H3 +POLB72H3,POLD70H3 +POLB72H3,POLD74H3 +POLC31H3,POLD74H3 +POLB72H3,POLD75H3 +POLC70H3,POLD75H3 +POLC71H3,POLD75H3 +POLC73H3,POLD75H3 +POLC78H3,POLD78H3 +POLB80H3,POLD87H3 +POLB81H3,POLD87H3 +POLB80H3,POLD89H3 +POLB81H3,POLD89H3 +ESTB01H3,POLD89H3 +IDSB01H3,POLD90H3 +IDSB04H3,POLD90H3 +POLB90H3,POLD90H3 +POLB91H3,POLD90H3 +POLB90H3,POLD92H3 +POLB91H3,POLD92H3 +POLB90H3,POLD94H3 +POLB91H3,POLD94H3 +POLB50Y3,PPGC67H3 +POLB56H3,PPGC67H3 +POLB57H3,PPGC67H3 +PPGB66H3,PPGD64H3 +PPGC66H3,PPGD64H3 +POLB50Y3,PPGD64H3 +POLB56H3,PPGD64H3 +POLB57H3,PPGD64H3 +POLB92H3,PPGD64H3 +POLB93H3,PPGD64H3 +PPGB66H3,PPGD68H3 +POLB50Y3,PPGD68H3 +POLB56H3,PPGD68H3 +POLB57H3,PPGD68H3 +PHYC56H3,PSCD50H3 +CHMC20H3,PSCD50H3 +CHMC25H3,PSCD50H3 +PSYA01H3,PSYB03H3 +PSYA02H3,PSYB03H3 +PSYA01H3,PSYB10H3 +PSYA02H3,PSYB10H3 +PSYA01H3,PSYB20H3 +PSYA02H3,PSYB20H3 +PSYA01H3,PSYB30H3 +PSYA02H3,PSYB30H3 +PSYA01H3,PSYB32H3 +PSYA02H3,PSYB32H3 +PSYA01H3,PSYB38H3 +PSYA02H3,PSYB38H3 +PSYA01H3,PSYB51H3 +PSYA02H3,PSYB51H3 +PSYA01H3,PSYB55H3 +PSYA02H3,PSYB55H3 +PSYA01H3,PSYB57H3 +PSYA02H3,PSYB57H3 +PSYA01H3,PSYB64H3 +PSYA02H3,PSYB64H3 +PSYA01H3,PSYB70H3 +PSYA02H3,PSYB70H3 +PSYA01H3,PSYB80H3 +PSYA02H3,PSYB80H3 +PSYA01H3,PSYB90H3 +PSYA02H3,PSYB90H3 +PSYA01H3,PSYB90H3 +PSYA02H3,PSYB90H3 +PSYB07H3,PSYC02H3 +STAB22H3,PSYC02H3 +STAB23H3,PSYC02H3 +PSYB70H3,PSYC02H3 +PSYB03H3,PSYC03H3 +PSYB07H3,PSYC08H3 +STAB23H3,PSYC08H3 +STAB22H3,PSYC08H3 +PSYB70H3,PSYC08H3 +PSYB07H3,PSYC09H3 +STAB22H3,PSYC09H3 +STAB23H3,PSYC09H3 +PSYB70H3,PSYC09H3 +PSYB10H3,PSYC10H3 +PSYB57H3,PSYC10H3 +PSYC57H3,PSYC10H3 +PSYB07H3,PSYC10H3 +STAB22H3,PSYC10H3 +STAB23H3,PSYC10H3 +PSYB70H3,PSYC10H3 +PSYB10H3,PSYC12H3 +PSYB07H3,PSYC12H3 +STAB22H3,PSYC12H3 +STAB23H3,PSYC12H3 +PSYB70H3,PSYC12H3 +PSYB10H3,PSYC13H3 +PSYB57H3,PSYC13H3 +PSYB07H3,PSYC13H3 +STAB22H3,PSYC13H3 +STAB23H3,PSYC13H3 +PSYB70H3,PSYC13H3 +PSYB10H3,PSYC14H3 +PSYB07H3,PSYC14H3 +STAB22H3,PSYC14H3 +STAB23H3,PSYC14H3 +PSYB70H3,PSYC14H3 +PSYB10H3,PSYC15H3 +PSYB07H3,PSYC15H3 +STAB22H3,PSYC15H3 +STAB23H3,PSYC15H3 +PSYB70H3,PSYC15H3 +PSYB10H3,PSYC16H3 +PSYB20H3,PSYC16H3 +PSYB30H3,PSYC16H3 +PSYB51H3,PSYC16H3 +PSYB55H3,PSYC16H3 +PSYB57H3,PSYC16H3 +PSYB07H3,PSYC16H3 +STAB22H3,PSYC16H3 +STAB23H3,PSYC16H3 +PSYB70H3,PSYC16H3 +PSYB10H3,PSYC17H3 +PSYB07H3,PSYC17H3 +STAB22H3,PSYC17H3 +STAB23H3,PSYC17H3 +PSYB70H3,PSYC17H3 +PSYB10H3,PSYC18H3 +PSYB30H3,PSYC18H3 +PSYB07H3,PSYC18H3 +STAB22H3,PSYC18H3 +STAB23H3,PSYC18H3 +PSYB70H3,PSYC18H3 +PSYB10H3,PSYC19H3 +PSYB07H3,PSYC19H3 +STAB22H3,PSYC19H3 +STAB23H3,PSYC19H3 +PSYB70H3,PSYC19H3 +PSYB20H3,PSYC21H3 +PSYB07H3,PSYC21H3 +STAB22H3,PSYC21H3 +STAB23H3,PSYC21H3 +PSYB70H3,PSYC21H3 +PSYB20H3,PSYC22H3 +PSYB01H3,PSYC22H3 +PSYB04H3,PSYC22H3 +PSYB70H3,PSYC22H3 +PSYB07H3,PSYC22H3 +STAB22H3,PSYC22H3 +STAB23H3,PSYC22H3 +PSYB20H3,PSYC23H3 +PSYB07H3,PSYC23H3 +STAB22H3,PSYC23H3 +STAB23H3,PSYC23H3 +PSYB70H3,PSYC23H3 +PSYB20H3,PSYC24H3 +PSYB01H3,PSYC24H3 +PSYB04H3,PSYC24H3 +PSYB70H3,PSYC24H3 +PSYB07H3,PSYC24H3 +STAB22H3,PSYC24H3 +STAB23H3,PSYC24H3 +PSYB10H3,PSYC27H3 +PSYB20H3,PSYC27H3 +PSYB01H3,PSYC27H3 +PSYB04H3,PSYC27H3 +PSYB70H3,PSYC27H3 +PSYB07H3,PSYC27H3 +STAB22H3,PSYC27H3 +STAB23H3,PSYC27H3 +PSYB20H3,PSYC28H3 +PSYB70H3,PSYC28H3 +PSYB07H3,PSYC28H3 +STAB22H3,PSYC28H3 +STAB23H3,PSYC28H3 +PSYB30H3,PSYC30H3 +PSYB07H3,PSYC30H3 +STAB22H3,PSYC30H3 +STAB23H3,PSYC30H3 +PSYB70H3,PSYC30H3 +PSYB32H3,PSYC31H3 +PSYB55H3,PSYC31H3 +PSYB07H3,PSYC31H3 +STAB22H3,PSYC31H3 +STAB23H3,PSYC31H3 +PSYB70H3,PSYC31H3 +PSYB10H3,PSYC34H3 +PSYB07H3,PSYC34H3 +STAB22H3,PSYC34H3 +STAB23H3,PSYC34H3 +PSYB70H3,PSYC34H3 +PSYB32H3,PSYC36H3 +PSYB07H3,PSYC36H3 +STAB22H3,PSYC36H3 +STAB23H3,PSYC36H3 +PSYB70H3,PSYC36H3 +PSYB32H3,PSYC37H3 +PSYB07H3,PSYC37H3 +STAB22H3,PSYC37H3 +STAB23H3,PSYC37H3 +PSYB70H3,PSYC37H3 +PSYB32H3,PSYC38H3 +PSYB07H3,PSYC38H3 +STAB22H3,PSYC38H3 +STAB23H3,PSYC38H3 +PSYB70H3,PSYC38H3 +PSYB32H3,PSYC39H3 +PSYB07H3,PSYC39H3 +STAB22H3,PSYC39H3 +STAB23H3,PSYC39H3 +PSYB70H3,PSYC39H3 +PSYB55H3,PSYC50H3 +PSYB57H3,PSYC50H3 +PSYB07H3,PSYC50H3 +STAB22H3,PSYC50H3 +STAB23H3,PSYC50H3 +PSYB70H3,PSYC50H3 +PSYB51H3,PSYC51H3 +PSYB55H3,PSYC51H3 +PSYB07H3,PSYC51H3 +STAB22H3,PSYC51H3 +STAB23H3,PSYC51H3 +PSYB70H3,PSYC51H3 +PSYB51H3,PSYC52H3 +PSYB55H3,PSYC52H3 +PSYB57H3,PSYC52H3 +PSYB07H3,PSYC52H3 +STAB22H3,PSYC52H3 +STAB23H3,PSYC52H3 +PSYB70H3,PSYC52H3 +PSYB55H3,PSYC53H3 +PSYB07H3,PSYC53H3 +STAB22H3,PSYC53H3 +STAB23H3,PSYC53H3 +PSYB70H3,PSYC53H3 +PSYB51H3,PSYC54H3 +PSYB55H3,PSYC54H3 +PSYB07H3,PSYC54H3 +STAB22H3,PSYC54H3 +STAB23H3,PSYC54H3 +PSYB70H3,PSYC54H3 +PSYB51H3,PSYC56H3 +PSYB55H3,PSYC56H3 +PSYB57H3,PSYC56H3 +PSYB07H3,PSYC56H3 +STAB22H3,PSYC56H3 +STAB23H3,PSYC56H3 +PSYB70H3,PSYC56H3 +PSYB55H3,PSYC57H3 +PSYB07H3,PSYC57H3 +STAB22H3,PSYC57H3 +STAB23H3,PSYC57H3 +PSYB70H3,PSYC57H3 +PSYB51H3,PSYC59H3 +PSYB57H3,PSYC59H3 +PSYB55H3,PSYC59H3 +PSYB07H3,PSYC59H3 +STAB22H3,PSYC59H3 +STAB23H3,PSYC59H3 +PSYB70H3,PSYC59H3 +PSYB64H3,PSYC62H3 +PSYB55H3,PSYC62H3 +NROB60H3,PSYC62H3 +PSYB07H3,PSYC62H3 +STAB22H3,PSYC62H3 +STAB23H3,PSYC62H3 +PSYB70H3,PSYC62H3 +PSYB07H3,PSYC70H3 +STAB22H3,PSYC70H3 +STAB23H3,PSYC70H3 +PSYB70H3,PSYC70H3 +PSYB10H3,PSYC71H3 +PSYB07H3,PSYC71H3 +STAB22H3,PSYC71H3 +STAB23H3,PSYC71H3 +PSYC02H3,PSYC71H3 +PSYC70H3,PSYC71H3 +PSYB20H3,PSYC72H3 +PSYB07H3,PSYC72H3 +STAB22H3,PSYC72H3 +STAB23H3,PSYC72H3 +PSYC02H3,PSYC72H3 +PSYC70H3,PSYC72H3 +PSYB32H3,PSYC73H3 +PSYB07H3,PSYC73H3 +STAB22H3,PSYC73H3 +STAB23H3,PSYC73H3 +PSYB70H3,PSYC73H3 +PSYB07H3,PSYC74H3 +STAB22H3,PSYC74H3 +STAB23H3,PSYC74H3 +PSYB70H3,PSYC74H3 +PSYB07H3,PSYC75H3 +STAB22H3,PSYC75H3 +STAB23H3,PSYC75H3 +PSYB51H3,PSYC75H3 +PSYB55H3,PSYC75H3 +PSYB57H3,PSYC75H3 +PSYC02H3,PSYC75H3 +PSYC70H3,PSYC75H3 +PSYB55H3,PSYC76H3 +PSYB07H3,PSYC76H3 +STAB22H3,PSYC76H3 +STAB23H3,PSYC76H3 +PSYC02H3,PSYC76H3 +PSYC70H3,PSYC76H3 +PSYB07H3,PSYC81H3 +STAB22H3,PSYC81H3 +STAB23H3,PSYC81H3 +PSYB70H3,PSYC81H3 +PSYB07H3,PSYC85H3 +STAB22H3,PSYC85H3 +STAB23H3,PSYC85H3 +PSYB70H3,PSYC85H3 +PSYB32H3,PSYC86H3 +PSYB55H3,PSYC86H3 +PSYB57H3,PSYC86H3 +PSYB07H3,PSYC86H3 +STAB22H3,PSYC86H3 +STAB23H3,PSYC86H3 +PSYB70H3,PSYC86H3 +PSYB10H3,PSYC87H3 +PSYB30H3,PSYC87H3 +PSYB07H3,PSYC87H3 +STAB22H3,PSYC87H3 +STAB23H3,PSYC87H3 +PSYB70H3,PSYC87H3 +PSYB07H3,PSYC90H3 +STAB22H3,PSYC90H3 +STAB23H3,PSYC90H3 +PSYB70H3,PSYC90H3 +PSYB07H3,PSYC93H3 +STAB22H3,PSYC93H3 +STAB23H3,PSYC93H3 +PSYB70H3,PSYC93H3 +PSYB10H3,PSYD10H3 +PSYB07H3,PSYD10H3 +STAB22H3,PSYD10H3 +STAB23H3,PSYD10H3 +PSYB70H3,PSYD10H3 +PSYB10H3,PSYD13H3 +PSYC13H3,PSYD13H3 +PSYC18H3,PSYD13H3 +PSYC19H3,PSYD13H3 +PSYB07H3,PSYD13H3 +STAB22H3,PSYD13H3 +STAB23H3,PSYD13H3 +PSYB70H3,PSYD13H3 +PSYB10H3,PSYD14H3 +PSYC12H3,PSYD14H3 +PSYC13H3,PSYD14H3 +PSYC14H3,PSYD14H3 +PSYB07H3,PSYD14H3 +STAB22H3,PSYD14H3 +STAB23H3,PSYD14H3 +PSYB70H3,PSYD14H3 +PSYB10H3,PSYD15H3 +PSYC10,PSYD15H3 +PSYB07H3,PSYD15H3 +STAB22H3,PSYD15H3 +STAB23H3,PSYD15H3 +PSYB70H3,PSYD15H3 +PSYB10H3,PSYD16H3 +PSYB07H3,PSYD16H3 +STAB22H3,PSYD16H3 +STAB23H3,PSYD16H3 +PSYB70H3,PSYD16H3 +PSYB55H3,PSYD17H3 +PSYB64H3,PSYD17H3 +PSYB07H3,PSYD17H3 +STAB22H3,PSYD17H3 +STAB23H3,PSYD17H3 +PSYC10,PSYD17H3 +PSYC50,PSYD17H3 +PSYB10H3,PSYD18H3 +PSYB07H3,PSYD18H3 +STAB22H3,PSYD18H3 +STAB23H3,PSYD18H3 +PSYB70H3,PSYD18H3 +PSYB10H3,PSYD19H3 +PSYB07H3,PSYD19H3 +STAB22H3,PSYD19H3 +STAB23H3,PSYD19H3 +PSYB70H3,PSYD19H3 +PSYC10,PSYD19H3 +PSYC30H3,PSYD19H3 +PSYC50H3,PSYD19H3 +PSYB20H3,PSYD20H3 +PSYB07H3,PSYD20H3 +STAB22H3,PSYD20H3 +STAB23H3,PSYD20H3 +PSYB70H3,PSYD20H3 +PSYB10H3,PSYD22H3 +PSYB20H3,PSYD22H3 +PSYB07H3,PSYD22H3 +STAB22H3,PSYD22H3 +STAB23H3,PSYD22H3 +PSYB70H3,PSYD22H3 +PSYC13H3,PSYD23H3 +PSYC18H3,PSYD23H3 +PSYC23H3,PSYD23H3 +PSYB07H3,PSYD23H3 +STAB22H3,PSYD23H3 +STAB23H3,PSYD23H3 +PSYB70H3,PSYD23H3 +PSYB20H3,PSYD24H3 +PLIC24H3,PSYD24H3 +PSYB07H3,PSYD24H3 +STAB22H3,PSYD24H3 +STAB23H3,PSYD24H3 +PSYB70H3,PSYD24H3 +PSYB20H3,PSYD28H3 +PSYB07H3,PSYD28H3 +STAB22H3,PSYD28H3 +STAB23H3,PSYD28H3 +PSYB70H3,PSYD28H3 +PSYB30H3,PSYD30H3 +PSYB07H3,PSYD30H3 +STAB22H3,PSYD30H3 +STAB23H3,PSYD30H3 +PSYB70H3,PSYD30H3 +PSYB32H3,PSYD31H3 +PSYB07H3,PSYD31H3 +STAB22H3,PSYD31H3 +STAB23H3,PSYD31H3 +PSYB70H3,PSYD31H3 +PSYB30H3,PSYD32H3 +PSYB32H3,PSYD32H3 +PSYB07H3,PSYD32H3 +STAB22H3,PSYD32H3 +STAB23H3,PSYD32H3 +PSYB70H3,PSYD32H3 +PSYB32H3,PSYD33H3 +PSYB07H3,PSYD33H3 +STAB22H3,PSYD33H3 +STAB23H3,PSYD33H3 +PSYB70H3,PSYD33H3 +PSYB55H4,PSYD35H3 +PSYB07H3,PSYD35H3 +STAB22H3,PSYD35H3 +STAB23H3,PSYD35H3 +PSYB70H3,PSYD35H3 +PSYC62H3,PSYD35H3 +PSYB07H3,PSYD39H3 +STAB22H3,PSYD39H3 +STAB23H3,PSYD39H3 +PSYB70H3,PSYD39H3 +PSYC36H3,PSYD39H3 +PSYB55H3,PSYD50H3 +PSYB57H3,PSYD50H3 +PSYB07H3,PSYD50H3 +STAB22H3,PSYD50H3 +STAB23H3,PSYD50H3 +PSYB70H3,PSYD50H3 +PSYB51H3,PSYD51H3 +PSYB07H3,PSYD51H3 +STAB22H3,PSYD51H3 +STAB23H3,PSYD51H3 +PSYB70H3,PSYD51H3 +PSYC50,PSYD51H3 +NROC64H3,PSYD51H3 +PSYB07H3,PSYD52H3 +STAB22H3,PSYD52H3 +STAB23H3,PSYD52H3 +PSYB70H3,PSYD52H3 +PSYB51H3,PSYD54H3 +PSYB57H3,PSYD54H3 +PSYB07H3,PSYD54H3 +STAB22H3,PSYD54H3 +STAB23H3,PSYD54H3 +PSYB70H3,PSYD54H3 +PSYC50,PSYD54H3 +NROC64H3,PSYD54H3 +PSYB55H3,PSYD55H3 +PSYB07H3,PSYD55H3 +STAB22H3,PSYD55H3 +STAB23H3,PSYD55H3 +PSYB70H3,PSYD55H3 +PSYB32H3,PSYD59H3 +PSYB38H3,PSYD59H3 +PSYB55H3,PSYD59H3 +PSYB57H3,PSYD59H3 +PSYB07H3,PSYD59H3 +STAB22H3,PSYD59H3 +STAB23H3,PSYD59H3 +PSYB70H3,PSYD59H3 +PSYB55H3,PSYD62H3 +PSYB07H3,PSYD62H3 +STAB22H3,PSYD62H3 +STAB23H3,PSYD62H3 +PSYB70H3,PSYD62H3 +PSYB55H3,PSYD66H3 +PSYB07H3,PSYD66H3 +STAB22H3,PSYD66H3 +STAB23H3,PSYD66H3 +PSYB70H3,PSYD66H3 +PSYC02H3,PSYD98Y3 +PSYC08H3,PSYD98Y3 +PSYC09H3,PSYD98Y3 +PSYC70H3,PSYD98Y3 +RLGA02H3,RLGC05H3 +RLGB01H3,RLGC05H3 +HUMB03H3,RLGC05H3 +RLGA01H3,RLGC06H3 +HUMB04H3,RLGC06H3 +RLGA01H3,RLGC07H3 +HUMB04H3,RLGC07H3 +PHLB42H3,RLGC07H3 +RLGA01H3,RLGC09H3 +HUMB04H3,RLGC09H3 +RLGA01H3,RLGC10H3 +HUMB04H3,RLGC10H3 +RLGA01H3,RLGC13H3 +RLGA02H3,RLGC13H3 +RLGB10H3,RLGC13H3 +RLGA01H3,RLGC14H3 +RLGA02H3,RLGC14H3 +RLGB10H3,RLGC14H3 +RLGB10H3,RLGD02H3 +SOCA05H3,SOCB05H3 +SOCA01H3,SOCB05H3 +SOCA02H3,SOCB05H3 +SOCA03Y3,SOCB05H3 +SOCA01H3,SOCB22H3 +SOCA02H3,SOCB22H3 +SOCA03Y3,SOCB22H3 +WSTA01H3,SOCB22H3 +WSTA03H3,SOCB22H3 +SOCA05H3,SOCB26H3 +SOCA01H3,SOCB26H3 +SOCA02H3,SOCB26H3 +SOCA03Y3,SOCB26H3 +SOCA05H3,SOCB28H3 +SOCA01H3,SOCB28H3 +SOCA02H3,SOCB28H3 +SOCA03Y3,SOCB28H3 +SOCA05H3,SOCB30H3 +SOCA01H3,SOCB30H3 +SOCA02H3,SOCB30H3 +SOCA03Y3,SOCB30H3 +SOCA05H3,SOCB37H3 +SOCA03Y3,SOCB37H3 +SOCA01H3,SOCB37H3 +SOCA02H3,SOCB37H3 +SOCA05H3,SOCB40H3 +SOCA03Y3,SOCB40H3 +SOCA01H3,SOCB40H3 +SOCA02H3,SOCB40H3 +SOCA05H3,SOCB42H3 +SOCA01H3,SOCB42H3 +SOCA02H3,SOCB42H3 +SOCA03Y3,SOCB42H3 +SOCA05H3,SOCB43H3 +SOCA01H3,SOCB43H3 +SOCA02H3,SOCB43H3 +SOCA03Y3,SOCB43H3 +SOCB42H3,SOCB43H3 +SOCA05H3,SOCB44H3 +SOCA01H3,SOCB44H3 +SOCA02H3,SOCB44H3 +SOCA03Y3,SOCB44H3 +SOCA05H3,SOCB47H3 +SOCA01H3,SOCB47H3 +SOCA02H3,SOCB47H3 +SOCA03Y3,SOCB47H3 +SOCA05H3,SOCB49H3 +SOCA01H3,SOCB49H3 +SOCA02H3,SOCB49H3 +SOCA03Y3,SOCB49H3 +WSTA01H3,SOCB49H3 +WSTA03H3,SOCB49H3 +SOCA05H3,SOCB50H3 +SOCA01H3,SOCB50H3 +SOCA02H3,SOCB50H3 +SOCA03Y3,SOCB50H3 +SOCA05H3,SOCB53H3 +SOCA01H3,SOCB53H3 +SOCA02H3,SOCB53H3 +SOCA03Y3,SOCB53H3 +SOCA05H3,SOCB54H3 +SOCA01H3,SOCB54H3 +SOCA02H3,SOCB54H3 +SOCA03Y3,SOCB54H3 +SOCA05H3,SOCB58H3 +SOCA01H3,SOCB58H3 +SOCA02H3,SOCB58H3 +SOCA03Y3,SOCB58H3 +IDSA01H3,SOCB58H3 +SOCA05H3,SOCB59H3 +SOCA01H3,SOCB59H3 +SOCA02H3,SOCB59H3 +SOCA03Y3,SOCB59H3 +SOCA05H3,SOCB60H3 +SOCA01H3,SOCB60H3 +SOCA02H3,SOCB60H3 +SOCA03Y3,SOCB60H3 +ANTA02H3,SOCB60H3 +GGRA02H3,SOCB60H3 +GASA01H3,SOCB60H3 +HISA06H3,SOCB60H3 +GASA02H3,SOCB60H3 +HISA04H3,SOCB60H3 +HISA05H3,SOCB60H3 +SOCA05H3,SOCB70H3 +SOCA03Y3,SOCB70H3 +SOCA01H3,SOCB70H3 +SOCA02H3,SOCB70H3 +IDSA01H3,SOCB70H3 +SOCB05H3,SOCC03H3 +SOCB30H3,SOCC03H3 +SOCB42H3,SOCC03H3 +SOCB43H3,SOCC03H3 +SOCB47H3,SOCC03H3 +SOCB05H3,SOCC04H3 +SOCB35H3,SOCC04H3 +SOCB30H3,SOCC04H3 +SOCB42H3,SOCC04H3 +SOCB43H3,SOCC04H3 +SOCB47H3,SOCC04H3 +SOCB05H3,SOCC09H3 +SOCB35H3,SOCC09H3 +SOCB30H3,SOCC09H3 +SOCB42H3,SOCC09H3 +SOCB43H3,SOCC09H3 +SOCB47H3,SOCC09H3 +WSTB05H3,SOCC09H3 +SOCB05H3,SOCC11H3 +SOCB30H3,SOCC11H3 +SOCB42H3,SOCC11H3 +SOCB43H3,SOCC11H3 +SOCB47H3,SOCC11H3 +SOCB05H3,SOCC15H3 +SOCB35H3,SOCC15H3 +SOCB30H3,SOCC15H3 +SOCB42H3,SOCC15H3 +SOCB43H3,SOCC15H3 +SOCB47H3,SOCC15H3 +SOCA05H3,SOCC23H3 +SOCA01H3,SOCC23H3 +SOCA02H3,SOCC23H3 +SOCA03Y3,SOCC23H3 +SOCB05H3,SOCC23H3 +SOCB05H3,SOCC24H3 +SOCB30H3,SOCC24H3 +SOCB42H3,SOCC24H3 +SOCB43H3,SOCC24H3 +SOCB47H3,SOCC24H3 +WSTB05H3,SOCC24H3 +SOCB05H3,SOCC25H3 +SOCB35H3,SOCC25H3 +SOCB30H3,SOCC25H3 +SOCB42H3,SOCC25H3 +SOCB43H3,SOCC25H3 +SOCB47H3,SOCC25H3 +SOCB60H3,SOCC25H3 +IDSB07H3,SOCC25H3 +SOCB05H3,SOCC26H3 +SOCB35H3,SOCC26H3 +SOCB30H3,SOCC26H3 +SOCB42H3,SOCC26H3 +SOCB43H3,SOCC26H3 +SOCB47H3,SOCC26H3 +SOCB58H3,SOCC26H3 +CITA01H3,SOCC26H3 +CITB02H3,SOCC26H3 +SOCB05H3,SOCC27H3 +SOCB35H3,SOCC27H3 +SOCB30H3,SOCC27H3 +SOCB42H3,SOCC27H3 +SOCB43H3,SOCC27H3 +SOCB47H3,SOCC27H3 +SOCB58H3,SOCC27H3 +CITA01H3,SOCC27H3 +CITB02H3,SOCC27H3 +SOCB05H3,SOCC29H3 +SOCB35H3,SOCC29H3 +SOCB30H3,SOCC29H3 +SOCB42H3,SOCC29H3 +SOCB43H3,SOCC29H3 +SOCB47H3,SOCC29H3 +WSTB05H3,SOCC29H3 +ASFB01H3,SOCC29H3 +IDSA01H3,SOCC29H3 +SOCB05H3,SOCC30H3 +SOCB30H3,SOCC30H3 +SOCB42H3,SOCC30H3 +SOCB43H3,SOCC30H3 +SOCB47H3,SOCC30H3 +SOCA05H3,SOCC31H3 +SOCA01H3,SOCC31H3 +SOCA02H3,SOCC31H3 +SOCA03Y3,SOCC31H3 +SOCB05H3,SOCC31H3 +SOCB35H3,SOCC31H3 +SOCB06H3,SOCC31H3 +SOCB05H3,SOCC32H3 +SOCB30H3,SOCC32H3 +SOCB42H3,SOCC32H3 +SOCB43H3,SOCC32H3 +SOCB47H3,SOCC32H3 +IDSA01,SOCC32H3 +POLB80,SOCC32H3 +SOCB05H3,SOCC34H3 +SOCB30H3,SOCC34H3 +SOCB42H3,SOCC34H3 +SOCB43H3,SOCC34H3 +SOCB47H3,SOCC34H3 +IDSB01H3,SOCC34H3 +SOCB60H3,SOCC34H3 +IDSA01H3,SOCC34H3 +SOCB05H3,SOCC37H3 +SOCB35H3,SOCC37H3 +SOCB30H3,SOCC37H3 +SOCB42H3,SOCC37H3 +SOCB43H3,SOCC37H3 +SOCB47H3,SOCC37H3 +SOCB05H3,SOCC38H3 +SOCB35H3,SOCC38H3 +SOCB30H3,SOCC38H3 +SOCB42H3,SOCC38H3 +SOCB43H3,SOCC38H3 +SOCB47H3,SOCC38H3 +WSTB05H3,SOCC38H3 +SOCB05H3,SOCC40H3 +SOCB30H3,SOCC40H3 +SOCB42H3,SOCC40H3 +SOCB43H3,SOCC40H3 +SOCB47H3,SOCC40H3 +SOCB05H3,SOCC44H3 +SOCB35H3,SOCC44H3 +SOCB30H3,SOCC44H3 +SOCB42H3,SOCC44H3 +SOCB43H3,SOCC44H3 +SOCB47H3,SOCC44H3 +SOCB58H3,SOCC44H3 +IDSA01H3,SOCC44H3 +SOCB05H3,SOCC45H3 +SOCB35H3,SOCC45H3 +SOCB30H3,SOCC45H3 +SOCB42H3,SOCC45H3 +SOCB43H3,SOCC45H3 +SOCB47H3,SOCC45H3 +SOCB05H3,SOCC46H3 +SOCB35H3,SOCC46H3 +SOCB30H3,SOCC46H3 +SOCB42H3,SOCC46H3 +SOCB43H3,SOCC46H3 +SOCB47H3,SOCC46H3 +SOCB05H3,SOCC47H3 +SOCB30H3,SOCC47H3 +SOCB42H3,SOCC47H3 +SOCB43H3,SOCC47H3 +SOCB47H3,SOCC47H3 +SOCB58H3,SOCC47H3 +HLTB41H3,SOCC49H3 +SOCB05H3,SOCC49H3 +SOCB35H3,SOCC49H3 +SOCB30H3,SOCC49H3 +SOCB42H3,SOCC49H3 +SOCB43H3,SOCC49H3 +SOCB47H3,SOCC49H3 +SOCB05H3,SOCC50H3 +SOCB30H3,SOCC50H3 +SOCB42H3,SOCC50H3 +SOCB43H3,SOCC50H3 +SOCB47H3,SOCC50H3 +HLTB41H3,SOCC51H3 +SOCB05H3,SOCC51H3 +SOCB35H3,SOCC51H3 +SOCB30H3,SOCC51H3 +SOCB42H3,SOCC51H3 +SOCB43H3,SOCC51H3 +SOCB47H3,SOCC51H3 +SOCB05H3,SOCC52H3 +SOCB35H3,SOCC52H3 +SOCB30H3,SOCC52H3 +SOCB42H3,SOCC52H3 +SOCB43H3,SOCC52H3 +SOCB47H3,SOCC52H3 +SOCB60H3,SOCC52H3 +SOCB05H3,SOCC54H3 +SOCB35H3,SOCC54H3 +SOCB30H3,SOCC54H3 +SOCB42H3,SOCC54H3 +SOCB43H3,SOCC54H3 +SOCB47H3,SOCC54H3 +SOCB05H3,SOCC55H3 +SOCB35H3,SOCC55H3 +SOCB30H3,SOCC55H3 +SOCB42H3,SOCC55H3 +SOCB43H3,SOCC55H3 +SOCB47H3,SOCC55H3 +SOCB60H3,SOCC55H3 +SOCB05H3,SOCC57H3 +SOCB35H3,SOCC57H3 +SOCB30H3,SOCC57H3 +SOCB42H3,SOCC57H3 +SOCB43H3,SOCC57H3 +SOCB47H3,SOCC57H3 +SOCB05H3,SOCC58H3 +SOCB42H3,SOCC58H3 +SOCB43H3,SOCC58H3 +SOCB47H3,SOCC58H3 +IDSA01H3,SOCC58H3 +SOCB05H3,SOCC59H3 +SOCB35H3,SOCC59H3 +SOCB30H3,SOCC59H3 +SOCB42H3,SOCC59H3 +SOCB43H3,SOCC59H3 +SOCB47H3,SOCC59H3 +SOCB05H3,SOCC61H3 +SOCB35H3,SOCC61H3 +SOCB30H3,SOCC61H3 +SOCB42H3,SOCC61H3 +SOCB43H3,SOCC61H3 +SOCB47H3,SOCC61H3 +SOCB35H3,SOCC70H3 +SOCB05H3,SOCD01H3 +SOCB30H3,SOCD01H3 +SOCB42H3,SOCD01H3 +SOCB43H3,SOCD01H3 +SOCB44H3,SOCD01H3 +SOCB47H3,SOCD01H3 +SOCB58H3,SOCD01H3 +SOCB58H3,SOCD01H3 +SOCC61H3,SOCD02H3 +SOCB30H3,SOCD02H3 +SOCB42H3,SOCD02H3 +SOCB43H3,SOCD02H3 +SOCB47H3,SOCD02H3 +SOCB05H3,SOCD05H3 +SOCB30H3,SOCD05H3 +SOCB42H3,SOCD05H3 +SOCB43H3,SOCD05H3 +SOCB47H3,SOCD05H3 +SOCB50H3,SOCD05H3 +SOCB51H3,SOCD05H3 +SOCB05H3,SOCD08H3 +SOCB30H3,SOCD08H3 +SOCB42H3,SOCD08H3 +SOCB43H3,SOCD08H3 +SOCB47H3,SOCD08H3 +POLC56H3,SOCD08H3 +POLC52H3,SOCD08H3 +GGRB18H3,SOCD08H3 +POLD54H3,SOCD08H3 +SOCB05H3,SOCD10H3 +SOCB30H3,SOCD10H3 +SOCB42H3,SOCD10H3 +SOCB43H3,SOCD10H3 +SOCB47H3,SOCD10H3 +SOCC39H3,SOCD10H3 +WSTB05H3,SOCD10H3 +STAB22H3,SOCD11H3 +STAB23H3,SOCD11H3 +HLTC42H3,SOCD11H3 +HLTC43H3,SOCD11H3 +HLTC44H3,SOCD11H3 +SOCB05H3,SOCD11H3 +SOCB35H3,SOCD11H3 +SOCB30H3,SOCD11H3 +SOCB42H3,SOCD11H3 +SOCB43H3,SOCD11H3 +SOCB47H3,SOCD11H3 +SOCB05H3,SOCD12H3 +SOCB58H3,SOCD12H3 +SOCC44H3,SOCD12H3 +SOCC47H3,SOCD12H3 +SOCB30H3,SOCD12H3 +SOCB42H3,SOCD12H3 +SOCB43H3,SOCD12H3 +SOCB47H3,SOCD12H3 +SOCB44H3,SOCD12H3 +SOCB58H3,SOCD12H3 +SOCB05H3,SOCD13H3 +SOCB30H3,SOCD13H3 +SOCB42H3,SOCD13H3 +SOCB43H3,SOCD13H3 +SOCB47H3,SOCD13H3 +SOCB50H3,SOCD13H3 +SOCB51H3,SOCD13H3 +SOCB05H3,SOCD15H3 +SOCB30H3,SOCD15H3 +SOCB42H3,SOCD15H3 +SOCB43H3,SOCD15H3 +SOCB47H3,SOCD15H3 +SOCB60H3,SOCD15H3 +IDSB11H3,SOCD15H3 +SOCB05H3,SOCD18H3 +SOCB47H3,SOCD18H3 +SOCC61H3,SOCD18H3 +SOCB05H3,SOCD20H3 +GASA01H3,SOCD20H3 +GASA02H3,SOCD20H3 +IDSB11H3,SOCD20H3 +SOCB05H3,SOCD21H3 +SOCB30H3,SOCD21H3 +SOCB42H3,SOCD21H3 +SOCB43H3,SOCD21H3 +SOCB47H3,SOCD21H3 +SOCC39H3,SOCD21H3 +SOCB60H3,SOCD21H3 +ASFB01H3,SOCD21H3 +SOCB05H3,SOCD25H3 +SOCB30H3,SOCD25H3 +SOCB42H3,SOCD25H3 +SOCB43H3,SOCD25H3 +SOCB47H3,SOCD25H3 +SOCB05H3,SOCD30Y3 +SOCB30H3,SOCD30Y3 +SOCB42H3,SOCD30Y3 +SOCB43H3,SOCD30Y3 +SOCB47H3,SOCD30Y3 +SOCC39H3,SOCD30Y3 +SOCB60H3,SOCD30Y3 +SOCB05H3,SOCD32Y3 +SOCB35H3,SOCD32Y3 +SOCB30H3,SOCD32Y3 +SOCB42H3,SOCD32Y3 +SOCB43H3,SOCD32Y3 +SOCB47H3,SOCD32Y3 +SOCA05H3,SOCD40H3 +SOCA03Y3,SOCD40H3 +SOCA01H3,SOCD40H3 +SOCA02H3,SOCD40H3 +SOCB35H3,SOCD40H3 +SOCB06H3,SOCD40H3 +SOCB05H3,SOCD40H3 +SOCB40H3,SOCD40H3 +SOCB41H3,SOCD40H3 +SOCB42H3,SOCD40H3 +SOCB43H3,SOCD40H3 +SOCA05H3,SOCD41H3 +SOCA03Y3,SOCD41H3 +SOCA01H3,SOCD41H3 +SOCA02H3,SOCD41H3 +SOCB35H3,SOCD41H3 +SOCB06H3,SOCD41H3 +SOCB05H3,SOCD41H3 +SOCB40H3,SOCD41H3 +SOCB41H3,SOCD41H3 +SOCB42H3,SOCD41H3 +SOCB43H3,SOCD41H3 +SOCB05H3,SOCD42H3 +SOCB30H3,SOCD42H3 +SOCB42H3,SOCD42H3 +SOCB43H3,SOCD42H3 +SOCB47H3,SOCD42H3 +SOCB05H3,SOCD44H3 +SOCB30H3,SOCD44H3 +SOCB42H3,SOCD44H3 +SOCB43H3,SOCD44H3 +SOCB47H3,SOCD44H3 +SOCA05H3,SOCD50H3 +SOCA03Y3,SOCD50H3 +SOCA01H3,SOCD50H3 +SOCA02H3,SOCD50H3 +SOCB05H3,SOCD50H3 +SOCB35H3,SOCD50H3 +SOCB06H3,SOCD50H3 +SOCC23H3,SOCD50H3 +SOCC31H3,SOCD50H3 +SOCB05H3,SOCD51H3 +SOCB30H3,SOCD51H3 +SOCB42H3,SOCD51H3 +SOCB43H3,SOCD51H3 +SOCB44H3,SOCD51H3 +SOCB47H3,SOCD51H3 +SOCB58H3,SOCD51H3 +SOCB58H3,SOCD51H3 +SOCB05H3,SOCD52H3 +SOCB30H3,SOCD52H3 +SOCB42H3,SOCD52H3 +SOCB43H3,SOCD52H3 +SOCB47H3,SOCD52H3 +SOCB44H3,SOCD52H3 +SOCB58H3,SOCD52H3 +SOCB58H3,SOCD52H3 +CSCA08H3,STAA57H3 +STAB22H3,STAB27H3 +STAB23H3,STAB27H3 +ACTB40H3,STAB41H3 +MGFB10H3,STAB41H3 +MATA22H3,STAB52H3 +MATA37H3,STAB52H3 +MATA22H3,STAB53H3 +MATA23H3,STAB53H3 +MATA35H3,STAB53H3 +MATA36H3,STAB53H3 +MATA37H3,STAB53H3 +STAB52H3,STAB57H3 +STAB53H3,STAB57H3 +STAB27H3,STAC32H3 +MGEB12H3,STAC32H3 +PSYC08H3,STAC32H3 +STAB57H3,STAC33H3 +STAB57H3,STAC50H3 +STAC53H3,STAC50H3 +STAC67H3,STAC51H3 +STAB27H3,STAC53H3 +MGEB12H3,STAC53H3 +PSYC08H3,STAC53H3 +STAB57H3,STAC58H3 +STAC62H3,STAC58H3 +MATB41H3,STAC62H3 +STAB52H3,STAC62H3 +STAC62H3,STAC63H3 +STAB57H3,STAC67H3 +STAB41H3,STAC70H3 +MGFC30H3,STAC70H3 +MGTC71H3,STAC70H3 +STAC62H3,STAC70H3 +STAC32H3,STAD29H3 +STAC67H3,STAD37H3 +STAC62H3,STAD57H3 +STAC67H3,STAD57H3 +CSCC11H3,STAD68H3 +STAC58H3,STAD68H3 +STAC67H3,STAD68H3 +STAC70H3,STAD70H3 +STAD37H3,STAD70H3 +STAB57H3,STAD78H3 +STAC62H3,STAD78H3 +STAC58H3,STAD80H3 +STAC67H3,STAD80H3 +CSCC11H3,STAD80H3 +STAC50H3,STAD81H3 +STAC58H3,STAD81H3 +STAC67H3,STAD81H3 +THRA10H3,THRA11H3 +VPDA10H3,THRA11H3 +THRA11H3,THRB30H3 +VPDA11H3,THRB30H3 +THRA11H3,THRB31H3 +VPDA11H3,THRB31H3 +THRA11H3,THRB32H3 +VPDA11H3,THRB32H3 +THRA10H3,THRB41H3 +THRA10H3,THRC21H3 +THRB20H3,THRC21H3 +THRB21H3,THRC21H3 +THRB22H3,THRC21H3 +THRA10H3,THRC24H3 +THRA11H3,THRC24H3 +THRA10H3,THRC30H3 +VPDA10H3,THRC30H3 +THRA10H3,THRC40H3 +VPDA10H3,THRC40H3 +THRA10H3,THRC41H3 +VPDA10H3,THRC41H3 +THRA10H3,THRC44H3 +THRA11H3,THRC44H3 +THRB30H3,THRC50H3 +THRB31H3,THRC50H3 +THRB32H3,THRC50H3 +THRB55H3,THRC55H3 +THRB56H3,THRC56H3 +THRA10H3,THRD30H3 +VPDA10H3,THRD30H3 +THRA11H3,THRD30H3 +VPDA11H3,THRD30H3 +THRB30H3,THRD31H3 +THRB31H3,THRD31H3 +THRB32H3,THRD31H3 +THRC55H3,THRD55H3 +THRC56H3,THRD56H3 +VPAA10H3,VPAA12H3 +VPAA10H3,VPAB10H3 +VPAA12H3,VPAB10H3 +VPAA10H3,VPAB13H3 +VPAA10H3,VPAB16H3 +VPAA12H3,VPAB16H3 +VPAA12H3,VPAB17H3 +VPAB16H3,VPAB17H3 +VPAA10H3,VPAB18H3 +VPAA12H3,VPAB18H3 +VPAB13H3,VPAC13H3 +VPAB16H3,VPAC13H3 +VPAA10H3,VPAC15H3 +VPAA12H3,VPAC15H3 +SOCB58H3,VPAC15H3 +VPAA10H3,VPAC16H3 +VPAA12H3,VPAC16H3 +VPAB16H3,VPAC16H3 +VPAA10H3,VPAC17H3 +VPAA12H3,VPAC17H3 +VPAA12H3,VPAC18H3 +VPAB13H3,VPAC18H3 +VPAB16H3,VPAC18H3 +VPAA10H3,VPAC21H3 +VPAA12H3,VPAC21H3 +VPAB16H3,VPAC21H3 +VPAA10H3,VPAC22H3 +VPAA12H3,VPAC22H3 +VPAB16H3,VPAC22H3 +VPAC13H3,VPAD12H3 +VPHA46H3,VPHB39H3 +ACMA01H3,VPHB39H3 +VPHA46H3,VPHB40H3 +VPHA46H3,VPHB50H3 +ACMA01H3,VPHB50H3 +AFSA01H3,VPHB50H3 +VPHA46H3,VPHB53H3 +VPHA46H3,VPHB58H3 +VPHA46H3,VPHB59H3 +VPHB39H3,VPHB59H3 +VPHA46H3,VPHB63H3 +VPHA46H3,VPHB64H3 +VPHA46H3,VPHB68H3 +ACMA01H3,VPHB73H3 +VPHA46H3,VPHB73H3 +GASA01H3,VPHB73H3 +VPHA46H3,VPHB74H3 +ACMA01H3,VPHB77H3 +VPHA46H3,VPHB77H3 +GASA01H3,VPHB77H3 +VPHA46H3,VPHB78H3 +VPHA46H3,VPHB79H3 +VPHB53H3,VPHC41H3 +VPHB53H3,VPHC42H3 +VPHA46H3,VPHC49H3 +VPHB39H3,VPHC49H3 +VPHA46H3,VPHC52H3 +VPHA46H3,VPHC63H3 +VPHB63H3,VPHC63H3 +VPHB64H3,VPHC63H3 +VPHB74H3,VPHC63H3 +VPHB58H3,VPHC68H3 +VPHB59H3,VPHC68H3 +VPHA46H3,VPHC72H3 +VPHB39H3,VPHC72H3 +VPHB39H3,VPHC74H3 +VPHB73H3,VPHC74H3 +HISB58H3,VPHC74H3 +GASB31H3,VPHC74H3 +GASB33H3,VPHC74H3 +GASB35H3,VPHC74H3 +VPHB39H3,VPHC75H3 +VPSA62H3,VPSB01H3 +VPSA63H3,VPSB01H3 +VPSA62H3,VPSB02H3 +VPSA63H3,VPSB02H3 +VPSA62H3,VPSB58H3 +VPSA63H3,VPSB58H3 +VPSA63H3,VPSB59H3 +VPSA62H3,VPSB61H3 +VPSA63H3,VPSB61H3 +VPSB61H3,VPSB62H3 +VPSB56H3,VPSB67H3 +VPSA62H3,VPSB70H3 +VPSA63H3,VPSB70H3 +VPSA62H3,VPSB71H3 +VPSA63H3,VPSB71H3 +VPSA62H3,VPSB73H3 +VPSA63H3,VPSB73H3 +VPSA62H3,VPSB74H3 +VPSA63H3,VPSB74H3 +VPSB70H3,VPSB74H3 +VPSB67H3,VPSB75H3 +VPSB58H3,VPSB76H3 +VPSA62H3,VPSB77H3 +VPSA63H3,VPSB77H3 +VPSB56H3,VPSB80H3 +VPSA62H3,VPSB85H3 +VPSA63H3,VPSB85H3 +VPSA62H3,VPSB86H3 +VPSA63H3,VPSB86H3 +VPSB59H3,VPSB86H3 +VPSA62H3,VPSB88H3 +VPSA63H3,VPSB88H3 +VPSA62H3,VPSB89H3 +VPSA63H3,VPSB89H3 +VPSB56H3,VPSB89H3 +VPSB89H3,VPSB90H3 +VPHA46H3,VPSC04H3 +VPSB77H3,VPSC04H3 +THRA11H3,VPSC04H3 +VPDA11H3,VPSC04H3 +VPDA15H3,VPSC04H3 +VPHA46H3,VPSC51H3 +VPSB73H3,VPSC51H3 +VPHA46H3,VPSC53H3 +VPSB59H3,VPSC53H3 +VPSB86H3,VPSC53H3 +VPHA46H3,VPSC54H3 +VPSB62H3,VPSC54H3 +VPHA46H3,VPSC56H3 +VPSB56H3,VPSC70H3 +VPSB58H3,VPSC70H3 +VPSB76H3,VPSC70H3 +VPSB80H3,VPSC70H3 +VPSB86H3,VPSC70H3 +VPSB88H3,VPSC70H3 +VPSB89H3,VPSC70H3 +VPSB90H3,VPSC70H3 +NMEB05H3,VPSC70H3 +NMEB08H3,VPSC70H3 +NMEB09H3,VPSC70H3 +VPHA46H3,VPSC70H3 +VPHA46H3,VPSC71H3 +VPSB58H3,VPSC71H3 +VPSB67H3,VPSC71H3 +VPSB75H3,VPSC71H3 +VPSB76H3,VPSC71H3 +VPSB77H3,VPSC71H3 +VPHA46H3,VPSC73H3 +VPSB70H3,VPSC73H3 +VPSB74H3,VPSC73H3 +VPHA46H3,VPSC75H3 +VPSB59H3,VPSC75H3 +VPSB71H3,VPSC75H3 +VPSB86H3,VPSC75H3 +VPHA46H3,VPSC76H3 +VPSB56H3,VPSC76H3 +VPSB58H3,VPSC76H3 +VPSB67H3,VPSC76H3 +VPHA46H3,VPSC77H3 +VPSB56H3,VPSC77H3 +VPSB67H3,VPSC77H3 +VPHA46H3,VPSC80H3 +VPSB56H3,VPSC80H3 +VPHA46H3,VPSC95H3 +VPSC56H3,VPSD56H3 +VPSC56H3,VPSD63H3 +VPSC85H3,VPSD63H3 +WSTA01H3,WSTB05H3 +WSTA03H3,WSTB05H3 +WSTA02H3,WSTB05H3 +WSTA01H3,WSTB11H3 +WSTA03H3,WSTB11H3 +WSTA02H3,WSTB11H3 +WSTA01H3,WSTB12H3 +WSTA03H3,WSTB12H3 +WSTA02H3,WSTB12H3 +WSTB05H3,WSTB12H3 +WSTB11H3,WSTB12H3 +WSTA01H3,WSTB13H3 +WSTA03H3,WSTB13H3 +WSTA02H3,WSTB13H3 +WSTB05H3,WSTC02H3 +WSTB11H3,WSTC02H3 +AFSA03H3,WSTC10H3 +IDSA02H3,WSTC10H3 +IDSB01H3,WSTC10H3 +IDSB02H3,WSTC10H3 +WSTA01H3,WSTC10H3 +WSTA03H3,WSTC10H3 +WSTA01H3,WSTC12H3 +WSTA03H3,WSTC12H3 +WSTA02H3,WSTC12H3 +WSTA01H3,WSTC14H3 +WSTA03H3,WSTC14H3 +WSTA02H3,WSTC14H3 +WSTA01H3,WSTC16H3 +WSTA03H3,WSTC16H3 +WSTA02H3,WSTC16H3 +WSTA01H3,WSTC22H3 +WSTA02H3,WSTC22H3 +WSTA03H3,WSTC22H3 +WSTA01H3,WSTC23H3 +WSTA03H3,WSTC23H3 +WSTA02H3,WSTC23H3 +WSTB05H3,WSTC23H3 +WSTB11H3,WSTC23H3 +WSTC02H3,WSTC23H3 +WSTA03H3,WSTC26H3 +WSTB11H3,WSTC26H3 +WSTA01H3,WSTC28H3 +WSTA03H3,WSTC28H3 +WSTA01H3,WSTC30H3 +WSTA03H3,WSTC30H3 +WSTA02H3,WSTC30H3 +WSTA01H3,WSTC31H3 +WSTA03H3,WSTC31H3 +WSTA02H3,WSTC31H3 +WSTA01H3,WSTC40H3 +WSTA03H3,WSTC40H3 +WSTA01H3,WSTD01H3 +WSTB05H3,WSTD01H3 +WSTA03H3,WSTD01H3 +WSTA02H3,WSTD01H3 +WSTA01H3,WSTD03H3 +WSTA03H3,WSTD03H3 +WSTA02H3,WSTD03H3 +WSTB11H3,WSTD03H3 +WSTA03H3,WSTD08H3 +WSTB11H3,WSTD08H3 +WSTB22H3,WSTD08H3 +WSTC26H3,WSTD08H3 +WSTB11H3,WSTD09H3 +WSTB05H3,WSTD10H3 +WSTB11H3,WSTD11H3 diff --git a/course-matrix/data/tables/prerequisites_test.csv b/course-matrix/data/tables/prerequisites_test.csv new file mode 100644 index 00000000..9199d7dc --- /dev/null +++ b/course-matrix/data/tables/prerequisites_test.csv @@ -0,0 +1,16 @@ +prerequisite_code,course_code +BIOA01H3,BIOB11H3 +BIOA02H3,BIOB11H3 +CHMA10H3,BIOB11H3 +CHMA11H3,BIOB11H3 +CHMA10H3,BIOB12H3 +CHMA11H3,BIOB12H3 +BIOA01H3,BIOB20H3 +BIOA02H3,BIOB20H3 +BIOA01H3,BIOB33H3 +BIOA02H3,BIOB33H3 +HLTA03H3,BIOB33H3 +HLTA20H3,BIOB33H3 +BIOA01H3,BIOB34H3 +BIOA02H3,BIOB34H3 +CHMA11H3,BIOB34H3 diff --git a/course-matrix/docker-compose.yml b/course-matrix/docker-compose.yml new file mode 100644 index 00000000..4ad71fde --- /dev/null +++ b/course-matrix/docker-compose.yml @@ -0,0 +1,38 @@ +version: '3.8' + +services: + backend: + image: course-matrix/backend:latest + build: + context: ./backend + ports: + - "8081:8081" + env_file: + - ./backend/.env + volumes: + - ./backend:/app + - /app/node_modules + command: ["npm", "run", "prod"] + networks: + - course-matrix-net + + frontend: + image: course-matrix/frontend:latest + build: + context: ./frontend + args: + VITE_SERVER_URL: "http://34.130.253.243:8081" + ports: + - "5173:5173" + volumes: + - ./frontend:/app + - /app/node_modules + command: ["npm", "run", "prod"] + depends_on: + - backend + networks: + - course-matrix-net + +networks: + course-matrix-net: + driver: bridge \ No newline at end of file diff --git a/course-matrix/frontend/.gitignore b/course-matrix/frontend/.gitignore new file mode 100644 index 00000000..211ddb38 --- /dev/null +++ b/course-matrix/frontend/.gitignore @@ -0,0 +1,26 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.env +dist +dist-ssr +*.local +.env + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/course-matrix/frontend/Dockerfile b/course-matrix/frontend/Dockerfile new file mode 100644 index 00000000..de677396 --- /dev/null +++ b/course-matrix/frontend/Dockerfile @@ -0,0 +1,21 @@ +# Use an official Node.js image +FROM node:18 + +# Set the working directory +WORKDIR /app + +# Copy package.json and package-lock.json +COPY package*.json ./ + +# Install dependencies +RUN npm install + +# Copy the rest of the application files +COPY . . + +# Expose the frontend port +EXPOSE 8081 +EXPOSE 5173 + +# Start the application +CMD ["npm", "run", "prod"] \ No newline at end of file diff --git a/course-matrix/frontend/README.md b/course-matrix/frontend/README.md new file mode 100644 index 00000000..780c92d8 --- /dev/null +++ b/course-matrix/frontend/README.md @@ -0,0 +1,50 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: + +- Configure the top-level `parserOptions` property like this: + +```js +export default tseslint.config({ + languageOptions: { + // other options... + parserOptions: { + project: ["./tsconfig.node.json", "./tsconfig.app.json"], + tsconfigRootDir: import.meta.dirname, + }, + }, +}); +``` + +- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked` +- Optionally add `...tseslint.configs.stylisticTypeChecked` +- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config: + +```js +// eslint.config.js +import react from "eslint-plugin-react"; + +export default tseslint.config({ + // Set the react version + settings: { react: { version: "18.3" } }, + plugins: { + // Add the react plugin + react, + }, + rules: { + // other rules... + // Enable its recommended rules + ...react.configs.recommended.rules, + ...react.configs["jsx-runtime"].rules, + }, +}); +``` diff --git a/course-matrix/frontend/__tests__/UserMenu.test.tsx b/course-matrix/frontend/__tests__/UserMenu.test.tsx new file mode 100644 index 00000000..fb07ec06 --- /dev/null +++ b/course-matrix/frontend/__tests__/UserMenu.test.tsx @@ -0,0 +1,83 @@ +import configureStore from "redux-mock-store"; +import { UserMenu } from "../src/components/UserMenu"; +import { afterEach, beforeEach, describe, expect, test } from "@jest/globals"; + +// const mockStore = configureStore([]); + +describe("UserMenu Component", () => { + beforeEach(() => { + localStorage.setItem( + "userInfo", + JSON.stringify({ + user: { + id: "123", + user_metadata: { + username: "John Doe", + email: "john.doe@example.com", + }, + }, + }), + ); + }); + + afterEach(() => { + localStorage.clear(); + }); + + test("check local storage", () => { + expect(localStorage.getItem("userInfo")).not.toBeNull(); + }); + + // Will finish the rest of the tests below in Sprint 3 + + // test("opens edit account dialog", () => { + // render( + // + // + // + // + // , + // ); + + // fireEvent.click(screen.getByText("John Doe")); + // fireEvent.click(screen.getByText("Edit Account")); + + // expect(screen.getByText("Edit Account")).toBeInTheDocument(); + // expect(screen.getByLabelText("New User Name")).toBeInTheDocument(); + // }); + + // test("opens delete account dialog", () => { + // render( + // + // + // + // + // , + // ); + + // fireEvent.click(screen.getByText("John Doe")); + // fireEvent.click(screen.getByText("Delete Account")); + + // expect(screen.getByText("Delete Account")).toBeInTheDocument(); + // expect( + // screen.getByText( + // "Are you sure you want to delete your account? This action cannot be undone.", + // ), + // ).toBeInTheDocument(); + // }); + + // test("logs out user", () => { + // render( + // + // + // + // + // , + // ); + + // fireEvent.click(screen.getByText("John Doe")); + // fireEvent.click(screen.getByText("Logout")); + + // // Add assertions to check if the user is logged out + // }); +}); diff --git a/course-matrix/frontend/__tests__/convertTimestampToLocaleTime.test.ts b/course-matrix/frontend/__tests__/convertTimestampToLocaleTime.test.ts new file mode 100644 index 00000000..ff80f9bb --- /dev/null +++ b/course-matrix/frontend/__tests__/convertTimestampToLocaleTime.test.ts @@ -0,0 +1,33 @@ +import { describe, expect, it, test } from "@jest/globals"; + +import { convertTimestampToLocaleTime } from "../src/utils/convert-timestamp-to-locale-time"; + +describe("convertTimestampToLocaleTime", () => { + test("should convert a valid timestamp string to a locale time string", () => { + const timestamp = "2025-03-28T12:00:00Z"; + const result = convertTimestampToLocaleTime(timestamp); + expect(typeof result).toBe("string"); + expect(result.length).toBeGreaterThan(0); // Ensures it returns a non-empty string + }); + + test("should convert a valid numeric timestamp to a locale time string", () => { + const timestamp = 1711622400000; // Equivalent to 2025-03-28T12:00:00Z + // in milliseconds + const result = convertTimestampToLocaleTime(timestamp); + expect(typeof result).toBe("string"); + expect(result.length).toBeGreaterThan(0); + }); + + test("convert to locale time date is different", () => { + const timestamp = "2025-03-28 02:33:02.589Z"; + const result = convertTimestampToLocaleTime(timestamp); + expect(typeof result).toBe("string"); + expect(result.length).toBeGreaterThan(0); + }); + + test("should return 'Invalid Date' for an invalid timestamp", () => { + const timestamp = "invalid"; + const result = convertTimestampToLocaleTime(timestamp); + expect(result).toBe("Invalid Date"); + }); +}); diff --git a/course-matrix/frontend/__tests__/index.test.ts b/course-matrix/frontend/__tests__/index.test.ts new file mode 100644 index 00000000..5e973907 --- /dev/null +++ b/course-matrix/frontend/__tests__/index.test.ts @@ -0,0 +1,7 @@ +import { describe, test, expect } from "@jest/globals"; + +describe("Sum function", () => { + test("Returns correct value", () => { + expect(2 + 3).toEqual(5); + }); +}); diff --git a/course-matrix/frontend/__tests__/integration-tests/integration-tests.test.tsx b/course-matrix/frontend/__tests__/integration-tests/integration-tests.test.tsx new file mode 100644 index 00000000..a7cb7171 --- /dev/null +++ b/course-matrix/frontend/__tests__/integration-tests/integration-tests.test.tsx @@ -0,0 +1,128 @@ +import "@testing-library/jest-dom/jest-globals"; +import "@testing-library/jest-dom"; + +import { render, screen, fireEvent } from "@testing-library/react"; +import React from "react"; +import { MemoryRouter } from "react-router-dom"; +import { expect, test } from "@jest/globals"; +import App from "../../src/App"; +import SignupPage from "../../src/pages/Signup/SignUpPage"; +import LoginPage from "../../src/pages/Login/LoginPage"; +import Dashboard from "../../src/pages/Dashboard/Dashboard"; +import TimetableBuilder from "../../src/pages/TimetableBuilder/TimetableBuilder"; +import Home from "../../src/pages/Home/Home"; + +test("typical flow for creating an account and logging in", () => { + render(, { wrapper: MemoryRouter }); + render(, { wrapper: MemoryRouter }); + render(, { wrapper: MemoryRouter }); + render(, { wrapper: MemoryRouter }); + + // Going to login page + expect(screen.getByText("Login")).toBeInTheDocument(); + fireEvent.click(screen.getByText("Login")); + + // Logging in with invalid credentials + fireEvent.change(screen.getByLabelText("Email"), { target: { value: "" } }); + fireEvent.change(screen.getByLabelText("Password"), { + target: { value: "password" }, + }); + fireEvent.click(screen.getByText("Login")); + expect( + screen.getByText("Login invalid. Please check your email or password."), + ).toBeInTheDocument(); + + // Going to signup page + fireEvent.click(screen.getByText("Sign up!")); + expect(screen.getByText("Sign up")).toBeInTheDocument(); + fireEvent.change(screen.getByLabelText("Email"), { target: { value: "" } }); + fireEvent.change(screen.getByLabelText("Password"), { + target: { value: "" }, + }); + fireEvent.click(screen.getByText("Sign up")); + expect(screen.getByText("Email is required")).toBeInTheDocument(); + expect(screen.getByText("Password is required")).toBeInTheDocument(); + + // Creating an account + fireEvent.change(screen.getByLabelText("Email"), { + target: { value: "test@example.com" }, + }); + fireEvent.change(screen.getByLabelText("Password"), { + target: { value: "password123" }, + }); + fireEvent.click(screen.getByText("Sign up")); + expect(screen.getByText("Account created successfully!")).toBeInTheDocument(); + + // Logging in with valid credentials + fireEvent.change(screen.getByLabelText("Email"), { + target: { value: "test@example.com" }, + }); + fireEvent.change(screen.getByLabelText("Password"), { + target: { value: "password123" }, + }); + fireEvent.click(screen.getByText("Login")); + + // Check if user is redirected to home page + expect(screen.getByText("Home Page")).toBeInTheDocument(); +}); + +test("typical flow for creating a new timetable, adding courses, adding restrictions, saving the timetable, and editing the timetable", () => { + render(, { wrapper: MemoryRouter }); + render(, { wrapper: MemoryRouter }); + render(, { wrapper: MemoryRouter }); + render(, { wrapper: MemoryRouter }); + render(, { wrapper: MemoryRouter }); + render(, { wrapper: MemoryRouter }); + + expect(screen.getByText("My Timetables")).toBeInTheDocument(); + fireEvent.click(screen.getByText("Create New")); + + expect(screen.getByText("New Timetable")).toBeInTheDocument(); + + // Adding courses + fireEvent.click(screen.getByText("Choose meeting sections manually")); + fireEvent.click(screen.getByText("Search")); + fireEvent.click(screen.getByText("ACMB10H3")); + fireEvent.click(screen.getByText("ACMC01H3")); + fireEvent.click(screen.getByText("ACMD01H3")); + screen.getAllByText("No LEC Selected").forEach((element) => { + fireEvent.click(element); + fireEvent.click(screen.getByText("LEC 01")); + }); + + // Adding a restriction + fireEvent.click(screen.getByText("Add New")); + fireEvent.click(screen.getByText("Select a type")); + fireEvent.click(screen.getByText("Restrict Entire Day")); + fireEvent.click(screen.getByText("Tuesday")); + fireEvent.click(screen.getByText("Create")); + + // Saving the timetable + fireEvent.click(screen.getByText("Create Timetable")); + fireEvent.change(screen.getByLabelText("Timetable Name"), { + target: { value: "Test Timetable Name" }, + }); + fireEvent.click(screen.getByText("Save")); + + // Check if user is redirected to home page and timetable is saved + expect(screen.getByText("My Timetables")).toBeInTheDocument(); + expect(screen.getByText("Test Timetable Name")).toBeInTheDocument(); + + // Editing the timetable by resetting all courses and restrictions + fireEvent.click(screen.getByText("Test Timetable Name")); + expect(screen.getByText("Edit Timetable")).toBeInTheDocument(); + fireEvent.click(screen.getByText("Reset")); + expect(screen.queryByText("ACMB10H3")).toBeNull(); + expect(screen.queryByText("ACMC01H3")).toBeNull(); + expect(screen.queryByText("ACMD01H3")).toBeNull(); + expect(screen.queryByText("Tuesday")).toBeNull(); + fireEvent.click(screen.getByText("Update Timetable")); + + // Check if user is redirected to home page and timetable is updated + expect(screen.getByText("My Timetables")).toBeInTheDocument(); + fireEvent.click(screen.getByText("Test Timetable Name")); + expect(screen.queryByText("ACMB10H3")).toBeNull(); + expect(screen.queryByText("ACMC01H3")).toBeNull(); + expect(screen.queryByText("ACMD01H3")).toBeNull(); + expect(screen.queryByText("Tuesday")).toBeNull(); +}); diff --git a/course-matrix/frontend/__tests__/unit-tests/TimetableBuilder.test.tsx b/course-matrix/frontend/__tests__/unit-tests/TimetableBuilder.test.tsx new file mode 100644 index 00000000..9a97f01a --- /dev/null +++ b/course-matrix/frontend/__tests__/unit-tests/TimetableBuilder.test.tsx @@ -0,0 +1,196 @@ +import "@testing-library/jest-dom/jest-globals"; +import "@testing-library/jest-dom"; + +import { render, screen, fireEvent, waitFor } from "@testing-library/react"; +import { BrowserRouter } from "react-router-dom"; +import { + beforeEach, + describe, + vi, + Mock, + afterEach, + it, + expect, + MockedFunction, +} from "vitest"; +import TimetableBuilder from "../../src/pages/TimetableBuilder/TimetableBuilder"; +import { useForm, UseFormWatch } from "react-hook-form"; +import { z } from "zod"; +import React from "react"; + +vi.mock("react-hook-form", () => ({ + useForm: vi.fn(), +})); + +vi.mock("@/api/coursesApiSlice", () => ({ + useGetCoursesQuery: vi.fn(() => ({ data: [], isLoading: false })), +})); + +vi.mock("@/api/timetableApiSlice", () => ({ + useGetTimetablesQuery: vi.fn(() => ({ data: [] })), +})); + +vi.mock("@/api/eventsApiSlice", () => ({ + useGetEventsQuery: vi.fn(() => ({ data: null })), +})); + +vi.mock("@/api/offeringsApiSlice", () => ({ + useGetOfferingsQuery: vi.fn(() => ({ data: [] })), +})); + +vi.mock("@/api/restrictionsApiSlice", () => ({ + useGetRestrictionsQuery: vi.fn(() => ({ data: [] })), +})); + +vi.mock("@/utils/useDebounce", () => ({ + useDebounceValue: (value: string) => value, +})); + +describe("TimetableBuilder", () => { + const mockSetValue = vi.fn(); + const mockHandleSubmit = vi.fn((fn) => fn); + + beforeEach(() => { + (useForm as Mock).mockReturnValue({ + control: {}, + handleSubmit: mockHandleSubmit, + setValue: mockSetValue, + watch: vi.fn(() => { + const result: { unsubscribe: () => void } & any[] = []; + result.unsubscribe = () => {}; + return result; + }) as unknown as UseFormWatch, + reset: vi.fn(), + getValues: vi.fn(() => []), + }); + }); + + afterEach(() => { + vi.clearAllMocks(); + }); + + it("renders the TimetableBuilder component", () => { + render( + + + , + ); + + expect(screen.getByText(/New Timetable/i)).toBeInTheDocument(); + expect( + screen.getByText(/Pick a few courses you'd like to take/i), + ).toBeInTheDocument(); + }); + + it("calls the reset function when the Reset button is clicked", () => { + const mockReset = vi.fn(); + (useForm as MockedFunction).mockReturnValue({ + reset: mockReset, + handleSubmit: mockHandleSubmit, + setValue: mockSetValue, + watch: vi.fn(() => { + const result: unknown = []; + result.unsubscribe = () => {}; + return result; + }), + getValues: vi.fn(() => []), + }); + + render( + + + , + ); + + const resetButton = screen.getByText(/Reset/i); + fireEvent.click(resetButton); + + expect(mockReset).toHaveBeenCalled(); + }); + + it("opens the custom settings modal when the Add new button is clicked", () => { + render( + + + , + ); + + const addNewButton = screen.getByText(/\+ Add new/i); + fireEvent.click(addNewButton); + + expect(screen.getByText(/Custom Settings/i)).toBeInTheDocument(); + }); + + it("displays selected courses when courses are added", async () => { + const mockWatch = vi.fn(() => [ + { id: 1, code: "CS101", name: "Introduction to Computer Science" }, + ]); + (useForm as vi.Mock).mockReturnValue({ + watch: mockWatch, + handleSubmit: mockHandleSubmit, + setValue: mockSetValue, + reset: vi.fn(), + getValues: vi.fn(() => []), + }); + + render( + + + , + ); + + expect(screen.getByText(/Selected courses: 1/i)).toBeInTheDocument(); + expect(screen.getByText(/CS101/i)).toBeInTheDocument(); + }); + + it("removes a course when the remove button is clicked", async () => { + const mockWatch = vi.fn(() => [ + { id: 1, code: "CS101", name: "Introduction to Computer Science" }, + ]); + const mockSetValue = vi.fn(); + (useForm as vi.Mock).mockReturnValue({ + watch: mockWatch, + handleSubmit: mockHandleSubmit, + setValue: mockSetValue, + reset: vi.fn(), + getValues: vi.fn(() => [ + { id: 1, code: "CS101", name: "Introduction to Computer Science" }, + ]), + }); + + render( + + + , + ); + + const removeButton = screen.getByRole("button", { name: /Remove/i }); + fireEvent.click(removeButton); + + await waitFor(() => { + expect(mockSetValue).toHaveBeenCalledWith("courses", []); + }); + }); + + it("submits the form when the Generate button is clicked", () => { + const mockSubmit = vi.fn(); + (useForm as vi.Mock).mockReturnValue({ + handleSubmit: vi.fn((fn) => fn), + setValue: mockSetValue, + watch: vi.fn(() => []), + reset: vi.fn(), + getValues: vi.fn(() => []), + }); + + render( + + + , + ); + + const generateButton = screen.getByText(/Generate/i); + fireEvent.click(generateButton); + + expect(mockHandleSubmit).toHaveBeenCalled(); + }); +}); diff --git a/course-matrix/frontend/__tests__/unit-tests/UserMenu.test.tsx b/course-matrix/frontend/__tests__/unit-tests/UserMenu.test.tsx new file mode 100644 index 00000000..0e094802 --- /dev/null +++ b/course-matrix/frontend/__tests__/unit-tests/UserMenu.test.tsx @@ -0,0 +1,88 @@ +import "@testing-library/jest-dom/jest-globals"; +import "@testing-library/jest-dom"; + +import configureStore from "redux-mock-store"; +import { UserMenu } from "../../src/components/UserMenu"; +import { afterEach, beforeEach, describe, expect, test } from "@jest/globals"; +import { fireEvent, render, screen } from "@testing-library/react"; +import { Router } from "lucide-react"; +import React from "react"; +import { Provider } from "react-redux"; + +const mockStore = configureStore([]); + +describe("UserMenu Component", () => { + beforeEach(() => { + localStorage.setItem( + "userInfo", + JSON.stringify({ + user: { + id: "123", + user_metadata: { + username: "John Doe", + email: "john.doe@example.com", + }, + }, + }), + ); + }); + + afterEach(() => { + localStorage.clear(); + }); + + test("check local storage", () => { + expect(localStorage.getItem("userInfo")).not.toBeNull(); + }); + + test("opens edit account dialog", () => { + render( + + + + + , + ); + + fireEvent.click(screen.getByText("John Doe")); + fireEvent.click(screen.getByText("Edit Account")); + + expect(screen.getByText("Edit Account")).toBeInTheDocument(); + expect(screen.getByLabelText("New User Name")).toBeInTheDocument(); + }); + + test("opens delete account dialog", () => { + render( + + + + + , + ); + + fireEvent.click(screen.getByText("John Doe")); + fireEvent.click(screen.getByText("Delete Account")); + + expect(screen.getByText("Delete Account")).toBeInTheDocument(); + expect( + screen.getByText( + "Are you sure you want to delete your account? This action cannot be undone.", + ), + ).toBeInTheDocument(); + }); + + test("logs out user", () => { + render( + + + + + , + ); + + fireEvent.click(screen.getByText("John Doe")); + fireEvent.click(screen.getByText("Logout")); + + expect(localStorage.getItem("userInfo")).toBeNull(); + }); +}); diff --git a/course-matrix/frontend/components.json b/course-matrix/frontend/components.json new file mode 100644 index 00000000..4441495a --- /dev/null +++ b/course-matrix/frontend/components.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "default", + "rsc": false, + "tsx": true, + "tailwind": { + "config": "tailwind.config.js", + "css": "src/index.css", + "baseColor": "gray", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + }, + "iconLibrary": "lucide" +} diff --git a/course-matrix/frontend/eslint.config.js b/course-matrix/frontend/eslint.config.js new file mode 100644 index 00000000..79a552ea --- /dev/null +++ b/course-matrix/frontend/eslint.config.js @@ -0,0 +1,28 @@ +import js from "@eslint/js"; +import globals from "globals"; +import reactHooks from "eslint-plugin-react-hooks"; +import reactRefresh from "eslint-plugin-react-refresh"; +import tseslint from "typescript-eslint"; + +export default tseslint.config( + { ignores: ["dist"] }, + { + extends: [js.configs.recommended, ...tseslint.configs.recommended], + files: ["**/*.{ts,tsx}"], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + plugins: { + "react-hooks": reactHooks, + "react-refresh": reactRefresh, + }, + rules: { + ...reactHooks.configs.recommended.rules, + "react-refresh/only-export-components": [ + "warn", + { allowConstantExport: true }, + ], + }, + }, +); diff --git a/course-matrix/frontend/index.html b/course-matrix/frontend/index.html new file mode 100644 index 00000000..f1256cda --- /dev/null +++ b/course-matrix/frontend/index.html @@ -0,0 +1,13 @@ + + + + + + + Course Matrix + + +
+ + + diff --git a/course-matrix/frontend/jest.config.ts b/course-matrix/frontend/jest.config.ts new file mode 100644 index 00000000..00bf9415 --- /dev/null +++ b/course-matrix/frontend/jest.config.ts @@ -0,0 +1,27 @@ +import type { Config } from "jest"; + +const config: Config = { + preset: "ts-jest", + moduleNameMapper: { "@/(.*)$": "/src/$1" }, + // to obtain access to the matchers. + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], + modulePaths: [""], + testEnvironment: "jsdom", + transform: { + "^.+\\.(ts|tsx)$": [ + "ts-jest", + { + tsconfig: "tsconfig.test.json", + }, + ], + "^.+\\.(js|jsx)$": "babel-jest", + }, + modulePathIgnorePatterns: [ + "/dist/", + "/node_modules/", + "/__tests__/integration-tests/", + "/__tests__/unit-tests/", + ], +}; + +export default config; diff --git a/course-matrix/frontend/package-lock.json b/course-matrix/frontend/package-lock.json new file mode 100644 index 00000000..2cc0b991 --- /dev/null +++ b/course-matrix/frontend/package-lock.json @@ -0,0 +1,11732 @@ +{ + "name": "frontend", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "frontend", + "version": "0.0.0", + "dependencies": { + "@ai-sdk/openai": "^1.1.13", + "@assistant-ui/react": "^0.7.91", + "@assistant-ui/react-ai-sdk": "^0.7.16", + "@assistant-ui/react-markdown": "^0.7.20", + "@assistant-ui/react-ui": "^0.1.7", + "@hookform/resolvers": "^3.10.0", + "@radix-ui/react-accordion": "^1.2.3", + "@radix-ui/react-avatar": "^1.1.3", + "@radix-ui/react-checkbox": "^1.1.4", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-dropdown-menu": "^2.1.6", + "@radix-ui/react-hover-card": "^1.1.6", + "@radix-ui/react-label": "^2.1.2", + "@radix-ui/react-select": "^2.1.6", + "@radix-ui/react-separator": "^1.1.2", + "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-switch": "^1.1.3", + "@radix-ui/react-toast": "^1.2.6", + "@radix-ui/react-tooltip": "^1.1.8", + "@reduxjs/toolkit": "^2.5.1", + "@schedule-x/drag-and-drop": "^2.21.1", + "@schedule-x/event-modal": "^2.21.1", + "@schedule-x/events-service": "^2.21.0", + "@schedule-x/react": "^2.21.0", + "@schedule-x/scroll-controller": "^2.23.0", + "@schedule-x/theme-default": "^2.21.0", + "ai": "^4.1.45", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-react": "^0.474.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-hook-form": "^7.54.2", + "react-redux": "^9.2.0", + "react-router-dom": "^7.1.3", + "redux-mock-store": "^1.5.5", + "remark-gfm": "^4.0.1", + "tailwind-merge": "^2.6.0", + "tailwindcss": "^3.4.17", + "tailwindcss-animate": "^1.0.7", + "zod": "^3.24.1" + }, + "devDependencies": { + "@eslint/js": "^9.17.0", + "@jest/globals": "^29.7.0", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/react": "^16.0.0", + "@tsconfig/node20": "^20.1.4", + "@types/jest": "^29.5.14", + "@types/node": "^22.10.10", + "@types/react": "^18.3.18", + "@types/react-dom": "^18.3.5", + "@types/redux-mock-store": "^1.5.0", + "@types/testing-library__react": "^10.2.0", + "@vitejs/plugin-react": "^4.3.4", + "autoprefixer": "^10.4.20", + "eslint": "^9.17.0", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.16", + "globals": "^15.14.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "postcss": "^8.5.1", + "ts-jest": "^29.2.3", + "ts-node": "^10.9.2", + "typescript": "~5.6.2", + "typescript-eslint": "^8.18.2", + "vite": "^6.0.5", + "vitest": "^3.0.9" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.2.tgz", + "integrity": "sha512-baYZExFpsdkBNuvGKTKWCwKH57HRZLVtycZS05WTQNVOiXVSeAki3nU35zlRbToeMW8aHlJfyS+1C4BOv27q0A==", + "dev": true + }, + "node_modules/@ai-sdk/openai": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-1.1.13.tgz", + "integrity": "sha512-IdChK1pJTW3NQis02PG/hHTG0gZSyQIMOLPt7f7ES56C0xH2yaKOU1Tp2aib7pZzWGwDlzTOW2h5TtAB8+V6CQ==", + "dependencies": { + "@ai-sdk/provider": "1.0.8", + "@ai-sdk/provider-utils": "2.1.9" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + } + }, + "node_modules/@ai-sdk/provider": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.0.8.tgz", + "integrity": "sha512-f9jSYwKMdXvm44Dmab1vUBnfCDSFfI5rOtvV1W9oKB7WYHR5dGvCC6x68Mk3NUfrdmNoMVHGoh6JT9HCVMlMow==", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ai-sdk/provider-utils": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.1.9.tgz", + "integrity": "sha512-NerKjTuuUUs6glJGaentaXEBH52jRM0pR+cRCzc7aWke/K5jYBD6Frv1JYBpcxS7gnnCqSQZR9woiyS+6jrdjw==", + "dependencies": { + "@ai-sdk/provider": "1.0.8", + "eventsource-parser": "^3.0.0", + "nanoid": "^3.3.8", + "secure-json-parse": "^2.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/react": { + "version": "1.1.17", + "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-1.1.17.tgz", + "integrity": "sha512-NAuEflFvjw1uh1AOmpyi7rBF4xasWsiWUb86JQ8ScjDGxoGDYEdBnaHOxUpooLna0dGNbSPkvDMnVRhoLKoxPQ==", + "dependencies": { + "@ai-sdk/provider-utils": "2.1.9", + "@ai-sdk/ui-utils": "1.1.15", + "swr": "^2.2.5", + "throttleit": "2.1.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc", + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/ui-utils": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-1.1.15.tgz", + "integrity": "sha512-NsV/3CMmjc4m53snzRdtZM6teTQUXIKi8u0Kf7GBruSzaMSuZ4DWaAAlUshhR3p2FpZgtsogW+vYG1/rXsGu+Q==", + "dependencies": { + "@ai-sdk/provider": "1.0.8", + "@ai-sdk/provider-utils": "2.1.9", + "zod-to-json-schema": "^3.24.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@assistant-ui/react": { + "version": "0.7.91", + "resolved": "https://registry.npmjs.org/@assistant-ui/react/-/react-0.7.91.tgz", + "integrity": "sha512-bI8A0xRFEY9SQ6JDRx7X+PIDdSruzb+wmQaFoM9KPPYvRLcZEOUZuIZ1rE3fWik4O5T2s2xX+CgqCVb/KHCE2g==", + "dependencies": { + "@ai-sdk/provider": "^1.0.7", + "@radix-ui/primitive": "^1.1.1", + "@radix-ui/react-avatar": "^1.1.3", + "@radix-ui/react-compose-refs": "^1.1.1", + "@radix-ui/react-context": "^1.1.1", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-popover": "^1.1.6", + "@radix-ui/react-primitive": "^2.0.2", + "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-tooltip": "^1.1.8", + "@radix-ui/react-use-callback-ref": "^1.1.0", + "@radix-ui/react-use-escape-keydown": "^1.1.0", + "assistant-stream": "^0.0.21", + "class-variance-authority": "^0.7.1", + "classnames": "^2.5.1", + "json-schema": "^0.4.0", + "lucide-react": "^0.475.0", + "nanoid": "3.3.8", + "react-textarea-autosize": "^8.5.7", + "secure-json-parse": "^3.0.2", + "zod": "^3.24.1", + "zod-to-json-schema": "^3.24.1", + "zustand": "^5.0.3" + }, + "engines": { + "node": ">=20.10.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^18 || ^19 || ^19.0.0-rc", + "react-dom": "^18 || ^19 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@assistant-ui/react-ai-sdk": { + "version": "0.7.16", + "resolved": "https://registry.npmjs.org/@assistant-ui/react-ai-sdk/-/react-ai-sdk-0.7.16.tgz", + "integrity": "sha512-9yPD7YQgx3mj3NnAyOzHhQLtBUBf7zKSQMhZHYJemIYcUdjxN3tj9Cpitu1JaRvC93D2RrbKHXT7yQO5MAI0Vw==", + "dependencies": { + "@ai-sdk/react": "*", + "@ai-sdk/ui-utils": "*", + "@radix-ui/react-use-callback-ref": "^1.1.0", + "zod": "^3.24.1", + "zustand": "^5.0.3" + }, + "peerDependencies": { + "@assistant-ui/react": "^0.7.85", + "@types/react": "*", + "react": "^18 || ^19 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@assistant-ui/react-markdown": { + "version": "0.7.20", + "resolved": "https://registry.npmjs.org/@assistant-ui/react-markdown/-/react-markdown-0.7.20.tgz", + "integrity": "sha512-qkVMKX63UQIdxpSekk1IuuC3gfr5XfiC1BJfv/i/Aqnkb58fNbYB4vh1v9nafXiTTKr6CVyrvOlO7EtPfDE1AQ==", + "dependencies": { + "@radix-ui/react-primitive": "^2.0.2", + "@radix-ui/react-use-callback-ref": "^1.1.0", + "@types/hast": "^3.0.4", + "classnames": "^2.5.1", + "lucide-react": "^0.475.0", + "react-markdown": "^9.0.3" + }, + "peerDependencies": { + "@assistant-ui/react": "^0.7.75", + "@types/react": "*", + "react": "^18 || ^19 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@assistant-ui/react-markdown/node_modules/lucide-react": { + "version": "0.475.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.475.0.tgz", + "integrity": "sha512-NJzvVu1HwFVeZ+Gwq2q00KygM1aBhy/ZrhY9FsAgJtpB+E4R7uxRk9M2iKvHa6/vNxZydIB59htha4c2vvwvVg==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@assistant-ui/react-ui": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@assistant-ui/react-ui/-/react-ui-0.1.7.tgz", + "integrity": "sha512-q5oVf3ZKZXqww4LIWycWnFAf2r2Sx0lfLX+je0+VOEgcDJx7bki+owzJxc1KZAoWGG5bmeZoKWOZzLw+AUcXEQ==", + "dependencies": { + "@radix-ui/react-avatar": "^1.1.3", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-primitive": "^2.0.2", + "@radix-ui/react-tooltip": "^1.1.8", + "class-variance-authority": "^0.7.1", + "classnames": "^2.5.1", + "lucide-react": "^0.475.0", + "zustand": "^5.0.3" + }, + "peerDependencies": { + "@assistant-ui/react": "*", + "@assistant-ui/react-markdown": "*", + "@types/react": "*", + "@types/react-dom": "*", + "react": "^18 || ^19 || ^19.0.0-rc", + "react-dom": "^18 || ^19 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@assistant-ui/react-ui/node_modules/lucide-react": { + "version": "0.475.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.475.0.tgz", + "integrity": "sha512-NJzvVu1HwFVeZ+Gwq2q00KygM1aBhy/ZrhY9FsAgJtpB+E4R7uxRk9M2iKvHa6/vNxZydIB59htha4c2vvwvVg==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@assistant-ui/react/node_modules/lucide-react": { + "version": "0.475.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.475.0.tgz", + "integrity": "sha512-NJzvVu1HwFVeZ+Gwq2q00KygM1aBhy/ZrhY9FsAgJtpB+E4R7uxRk9M2iKvHa6/vNxZydIB59htha4c2vvwvVg==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@assistant-ui/react/node_modules/secure-json-parse": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-3.0.2.tgz", + "integrity": "sha512-H6nS2o8bWfpFEV6U38sOSjS7bTbdgbCGU9wEM6W14P5H0QOsz94KCusifV44GpHDTu2nqZbuDNhTzu+mjDSw1w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", + "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.7.tgz", + "integrity": "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.7", + "@babel/parser": "^7.26.7", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.26.7", + "@babel/types": "^7.26.7", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", + "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.26.5", + "@babel/types": "^7.26.5", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", + "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "dev": true, + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", + "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.26.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz", + "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz", + "integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.7", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", + "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "devOptional": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "devOptional": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", + "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", + "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", + "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", + "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", + "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", + "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", + "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", + "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", + "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", + "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", + "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", + "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", + "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", + "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", + "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", + "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", + "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", + "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", + "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", + "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", + "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", + "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", + "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", + "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", + "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", + "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", + "dev": true, + "dependencies": { + "@eslint/object-schema": "^2.1.5", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", + "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.19.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz", + "integrity": "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", + "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", + "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", + "dev": true, + "dependencies": { + "@eslint/core": "^0.10.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", + "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", + "dependencies": { + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", + "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz", + "integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==", + "dependencies": { + "@floating-ui/dom": "^1.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==" + }, + "node_modules/@hookform/resolvers": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.10.0.tgz", + "integrity": "sha512-79Dv+3mDF7i+2ajj7SkypSKHhl1cbln1OGavqrsF7p6mbUv11xpqpacPsGDCTRvCSjEEIez2ef1NveSVL3b0Ag==", + "peerDependencies": { + "react-hook-form": "^7.0.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/reporters/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@opentelemetry/api": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", + "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@preact/signals": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@preact/signals/-/signals-1.3.2.tgz", + "integrity": "sha512-naxcJgUJ6BTOROJ7C3QML7KvwKwCXQJYTc5L/b0eEsdYgPB6SxwoQ1vDGcS0Q7GVjAenVq/tXrybVdFShHYZWg==", + "peer": true, + "dependencies": { + "@preact/signals-core": "^1.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + }, + "peerDependencies": { + "preact": "10.x" + } + }, + "node_modules/@preact/signals-core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@preact/signals-core/-/signals-core-1.8.0.tgz", + "integrity": "sha512-OBvUsRZqNmjzCZXWLxkZfhcgT+Fk8DDcT/8vD6a1xhDemodyy87UJRJfASMuSD8FaAIeGgGm85ydXhm7lr4fyA==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/@radix-ui/number": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.0.tgz", + "integrity": "sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==" + }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.1.tgz", + "integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==" + }, + "node_modules/@radix-ui/react-accordion": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.3.tgz", + "integrity": "sha512-RIQ15mrcvqIkDARJeERSuXSry2N8uYnxkdDetpfmalT/+0ntOXLkFOsh9iwlAsCv+qcmhZjbdJogIm6WBa6c4A==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collapsible": "1.1.3", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.2.tgz", + "integrity": "sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg==", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-avatar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.3.tgz", + "integrity": "sha512-Paen00T4P8L8gd9bNsRMw7Cbaz85oxiv+hzomsRZgFm2byltPFDtfcoqlWJ8GyZlIBWgLssJlzLCnKU0G0302g==", + "dependencies": { + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-checkbox": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.1.4.tgz", + "integrity": "sha512-wP0CPAHq+P5I4INKe3hJrIa1WoNqqrejzW+zoU0rOvo1b9gDEJJFl2rYfO1PYJUQCc2H1WZxIJmyv9BS8i5fLw==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-previous": "1.1.0", + "@radix-ui/react-use-size": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collapsible": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.3.tgz", + "integrity": "sha512-jFSerheto1X03MUC0g6R7LedNW9EEGWdg9W1+MlpkMLwGkgkbUXLPBH/KIuWKXUoeYRVY11llqbTBDzuLg7qrw==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.2.tgz", + "integrity": "sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz", + "integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz", + "integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.6.tgz", + "integrity": "sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.0.tgz", + "integrity": "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.5.tgz", + "integrity": "sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-escape-keydown": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dropdown-menu": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.6.tgz", + "integrity": "sha512-no3X7V5fD487wab/ZYSHXq3H37u4NVeLDKI/Ks724X/eEFSSEFYZxWgsIlr1UBeEyDaM29HM5x9p1Nv8DuTYPA==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-menu": "2.1.6", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.1.tgz", + "integrity": "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.2.tgz", + "integrity": "sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-hover-card": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.1.6.tgz", + "integrity": "sha512-E4ozl35jq0VRlrdc4dhHrNSV0JqBb4Jy73WAhBEK7JoYnQ83ED5r0Rb/XdVKw89ReAJN38N492BAPBZQ57VmqQ==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz", + "integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.2.tgz", + "integrity": "sha512-zo1uGMTaNlHehDyFQcDZXRJhUPDuukcnHz0/jnrup0JA6qL+AFpAnty+7VKa9esuU5xTblAZzTGYJKSKaBxBhw==", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.6.tgz", + "integrity": "sha512-tBBb5CXDJW3t2mo9WlO7r6GTmWV0F0uzHZVFmlRmYpiSK1CDU5IKojP1pm7oknpBOrFZx/YgBRW9oorPO2S/Lg==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-roving-focus": "1.1.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.6.tgz", + "integrity": "sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.2.tgz", + "integrity": "sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA==", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0", + "@radix-ui/react-use-rect": "1.1.0", + "@radix-ui/react-use-size": "1.1.0", + "@radix-ui/rect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.4.tgz", + "integrity": "sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.2.tgz", + "integrity": "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.2.tgz", + "integrity": "sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==", + "dependencies": { + "@radix-ui/react-slot": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.2.tgz", + "integrity": "sha512-zgMQWkNO169GtGqRvYrzb0Zf8NhMHS2DuEB/TiEmVnpr5OqPU3i8lfbxaAmC2J/KYuIQxyoQQ6DxepyXp61/xw==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.6.tgz", + "integrity": "sha512-T6ajELxRvTuAMWH0YmRJ1qez+x4/7Nq7QIx7zJ0VK3qaEWdnWpNbEDnmWldG1zBDwqrLy5aLMUWcoGirVj5kMg==", + "dependencies": { + "@radix-ui/number": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0", + "@radix-ui/react-use-previous": "1.1.0", + "@radix-ui/react-visually-hidden": "1.1.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.2.tgz", + "integrity": "sha512-oZfHcaAp2Y6KFBX6I5P1u7CQoy4lheCGiYj+pGFrHy8E/VNRb5E39TkTr3JrV520csPBTZjkuKFdEsjS5EUNKQ==", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz", + "integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-switch": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.1.3.tgz", + "integrity": "sha512-1nc+vjEOQkJVsJtWPSiISGT6OKm4SiOdjMo+/icLxo2G4vxz1GntC5MzfL4v8ey9OEfw787QCD1y3mUv0NiFEQ==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-previous": "1.1.0", + "@radix-ui/react-use-size": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toast": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.2.6.tgz", + "integrity": "sha512-gN4dpuIVKEgpLn1z5FhzT9mYRUitbfZq9XqN/7kkBMUgFTzTG8x/KszWJugJXHcwxckY8xcKDZPz7kG3o6DsUA==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0", + "@radix-ui/react-visually-hidden": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.1.8.tgz", + "integrity": "sha512-YAA2cu48EkJZdAMHC0dqo9kialOcRStbtiY4nJPaht7Ptrhcvpo+eDChaM6BIs8kL6a8Z5l5poiqLnXcNduOkA==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-visually-hidden": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz", + "integrity": "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz", + "integrity": "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz", + "integrity": "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz", + "integrity": "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.0.tgz", + "integrity": "sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.0.tgz", + "integrity": "sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==", + "dependencies": { + "@radix-ui/rect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.0.tgz", + "integrity": "sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.2.tgz", + "integrity": "sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q==", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.0.tgz", + "integrity": "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==" + }, + "node_modules/@reduxjs/toolkit": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.5.1.tgz", + "integrity": "sha512-UHhy3p0oUpdhnSxyDjaRDYaw8Xra75UiLbCiRozVPHjfDwNYkh0TsVm/1OmTW8Md+iDAJmYPWUKMvsMc2GtpNg==", + "dependencies": { + "immer": "^10.0.3", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.32.0.tgz", + "integrity": "sha512-G2fUQQANtBPsNwiVFg4zKiPQyjVKZCUdQUol53R8E71J7AsheRMV/Yv/nB8giOcOVqP7//eB5xPqieBYZe9bGg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.32.0.tgz", + "integrity": "sha512-qhFwQ+ljoymC+j5lXRv8DlaJYY/+8vyvYmVx074zrLsu5ZGWYsJNLjPPVJJjhZQpyAKUGPydOq9hRLLNvh1s3A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.32.0.tgz", + "integrity": "sha512-44n/X3lAlWsEY6vF8CzgCx+LQaoqWGN7TzUfbJDiTIOjJm4+L2Yq+r5a8ytQRGyPqgJDs3Rgyo8eVL7n9iW6AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.32.0.tgz", + "integrity": "sha512-F9ct0+ZX5Np6+ZDztxiGCIvlCaW87HBdHcozUfsHnj1WCUTBUubAoanhHUfnUHZABlElyRikI0mgcw/qdEm2VQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.32.0.tgz", + "integrity": "sha512-JpsGxLBB2EFXBsTLHfkZDsXSpSmKD3VxXCgBQtlPcuAqB8TlqtLcbeMhxXQkCDv1avgwNjF8uEIbq5p+Cee0PA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.32.0.tgz", + "integrity": "sha512-wegiyBT6rawdpvnD9lmbOpx5Sph+yVZKHbhnSP9MqUEDX08G4UzMU+D87jrazGE7lRSyTRs6NEYHtzfkJ3FjjQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.32.0.tgz", + "integrity": "sha512-3pA7xecItbgOs1A5H58dDvOUEboG5UfpTq3WzAdF54acBbUM+olDJAPkgj1GRJ4ZqE12DZ9/hNS2QZk166v92A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.32.0.tgz", + "integrity": "sha512-Y7XUZEVISGyge51QbYyYAEHwpGgmRrAxQXO3siyYo2kmaj72USSG8LtlQQgAtlGfxYiOwu+2BdbPjzEpcOpRmQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.32.0.tgz", + "integrity": "sha512-r7/OTF5MqeBrZo5omPXcTnjvv1GsrdH8a8RerARvDFiDwFpDVDnJyByYM/nX+mvks8XXsgPUxkwe/ltaX2VH7w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.32.0.tgz", + "integrity": "sha512-HJbifC9vex9NqnlodV2BHVFNuzKL5OnsV2dvTw6e1dpZKkNjPG6WUq+nhEYV6Hv2Bv++BXkwcyoGlXnPrjAKXw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.32.0.tgz", + "integrity": "sha512-VAEzZTD63YglFlWwRj3taofmkV1V3xhebDXffon7msNz4b14xKsz7utO6F8F4cqt8K/ktTl9rm88yryvDpsfOw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.32.0.tgz", + "integrity": "sha512-Sts5DST1jXAc9YH/iik1C9QRsLcCoOScf3dfbY5i4kH9RJpKxiTBXqm7qU5O6zTXBTEZry69bGszr3SMgYmMcQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.32.0.tgz", + "integrity": "sha512-qhlXeV9AqxIyY9/R1h1hBD6eMvQCO34ZmdYvry/K+/MBs6d1nRFLm6BOiITLVI+nFAAB9kUB6sdJRKyVHXnqZw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.32.0.tgz", + "integrity": "sha512-8ZGN7ExnV0qjXa155Rsfi6H8M4iBBwNLBM9lcVS+4NcSzOFaNqmt7djlox8pN1lWrRPMRRQ8NeDlozIGx3Omsw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.32.0.tgz", + "integrity": "sha512-VDzNHtLLI5s7xd/VubyS10mq6TxvZBp+4NRWoW+Hi3tgV05RtVm4qK99+dClwTN1McA6PHwob6DEJ6PlXbY83A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.32.0.tgz", + "integrity": "sha512-qcb9qYDlkxz9DxJo7SDhWxTWV1gFuwznjbTiov289pASxlfGbaOD54mgbs9+z94VwrXtKTu+2RqwlSTbiOqxGg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.32.0.tgz", + "integrity": "sha512-pFDdotFDMXW2AXVbfdUEfidPAk/OtwE/Hd4eYMTNVVaCQ6Yl8et0meDaKNL63L44Haxv4UExpv9ydSf3aSayDg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.32.0.tgz", + "integrity": "sha512-/TG7WfrCAjeRNDvI4+0AAMoHxea/USWhAzf9PVDFHbcqrQ7hMMKp4jZIy4VEjk72AAfN5k4TiSMRXRKf/0akSw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.32.0.tgz", + "integrity": "sha512-5hqO5S3PTEO2E5VjCePxv40gIgyS2KvO7E7/vvC/NbIW4SIRamkMr1hqj+5Y67fbBWv/bQLB6KelBQmXlyCjWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@schedule-x/calendar": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@schedule-x/calendar/-/calendar-2.21.0.tgz", + "integrity": "sha512-wiot2lcjIMsbmKcHawD+9kxnLw2f1VSUZt3eOiiUHEZExQnYSmKhUVuufgVEHPZCPp+PrTxOJFlV8vM2pC+dhw==", + "peer": true, + "peerDependencies": { + "@preact/signals": "^1.1.5", + "preact": "^10.19.2" + } + }, + "node_modules/@schedule-x/drag-and-drop": { + "version": "2.21.1", + "resolved": "https://registry.npmjs.org/@schedule-x/drag-and-drop/-/drag-and-drop-2.21.1.tgz", + "integrity": "sha512-trE+8lEX0eGoKb3cQN1c3DZBmYo/srveT+yzRMGdq40N0fcCZAMllnMVsoiCg8r+75Nx/ovh6UG5ajgvgW1vZQ==" + }, + "node_modules/@schedule-x/event-modal": { + "version": "2.21.1", + "resolved": "https://registry.npmjs.org/@schedule-x/event-modal/-/event-modal-2.21.1.tgz", + "integrity": "sha512-xCvU2g6aHMI7qpkIFce0M8fPrq0nAfnNNXVmNwsz+wbixZyu7FBVvkxCo7WuL/nL1tYBj6OnEZpfdgPr8f542Q==", + "peerDependencies": { + "@preact/signals": "^1.1.5", + "preact": "^10.19.2" + } + }, + "node_modules/@schedule-x/events-service": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@schedule-x/events-service/-/events-service-2.21.0.tgz", + "integrity": "sha512-X5sK0uq5ZU9eIBQv6z0cZC/2p6RlBckfNyFI4KUp8jUcGzJSUreYF5VCr6kHTFieVFW2iXC3p5RAXl2VBp958g==" + }, + "node_modules/@schedule-x/react": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@schedule-x/react/-/react-2.21.0.tgz", + "integrity": "sha512-G2oW5Fwzh6dO4N05Kx9Ozx/FdmxgvwiGHN++eTb7kzp6rJl2WzkhJDeVi3oiF8HnZYUYGL5hYZ8WFedevDv/HQ==", + "peerDependencies": { + "@schedule-x/calendar": "^2.18.0", + "react": "^16.7.0 || ^17 || ^18 || ^19", + "react-dom": "^16.7.0 || ^17 || ^18 || ^19" + } + }, + "node_modules/@schedule-x/scroll-controller": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/@schedule-x/scroll-controller/-/scroll-controller-2.23.0.tgz", + "integrity": "sha512-VT7pJzvSzhhneiDG7CAzOV0pwJ0h1Ma05qheuNR5iHqGQ4AXWDDs2NpYeWTM8tDWtJ0SbNoPv7hb134OSS0ZkQ==", + "peerDependencies": { + "@preact/signals": "^1.1.5" + } + }, + "node_modules/@schedule-x/theme-default": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@schedule-x/theme-default/-/theme-default-2.21.0.tgz", + "integrity": "sha512-h0s2+Z28Lj3X9QRSpC4C3gX2FZJjzkWxNFTUXrNqTeBxIqEuCUSIvGz2kbzydkD7Av8Xurk/OUYaoKf+kNQa9w==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", + "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "peer": true + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.6.3.tgz", + "integrity": "sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==", + "dev": true, + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "lodash": "^4.17.21", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true + }, + "node_modules/@testing-library/react": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.0.0.tgz", + "integrity": "sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "devOptional": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "devOptional": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "devOptional": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "devOptional": true + }, + "node_modules/@tsconfig/node20": { + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.4.tgz", + "integrity": "sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==", + "dev": true + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "peer": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/diff-match-patch": { + "version": "1.0.36", + "resolved": "https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.36.tgz", + "integrity": "sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==" + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.14", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", + "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==" + }, + "node_modules/@types/node": { + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", + "devOptional": true, + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==" + }, + "node_modules/@types/react": { + "version": "18.3.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", + "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", + "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", + "devOptional": true, + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@types/redux-mock-store": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@types/redux-mock-store/-/redux-mock-store-1.5.0.tgz", + "integrity": "sha512-jcscBazm6j05Hs6xYCca6psTUBbFT2wqMxT7wZEHAYFxHB/I8jYk7d5msrHUlDiSL02HdTqTmkK2oIV8i3C8DA==", + "dev": true, + "dependencies": { + "redux": "^4.0.5" + } + }, + "node_modules/@types/redux-mock-store/node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "node_modules/@types/testing-library__react": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@types/testing-library__react/-/testing-library__react-10.2.0.tgz", + "integrity": "sha512-KbU7qVfEwml8G5KFxM+xEfentAAVj/SOQSjW0+HqzjPE0cXpt0IpSamfX4jGYCImznDHgQcfXBPajS7HjLZduw==", + "deprecated": "This is a stub types definition. testing-library__react provides its own type definitions, so you do not need this installed.", + "dev": true, + "dependencies": { + "@testing-library/react": "*" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==" + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.22.0.tgz", + "integrity": "sha512-4Uta6REnz/xEJMvwf72wdUnC3rr4jAQf5jnTkeRQ9b6soxLxhDEbS/pfMPoJLDfFPNVRdryqWUIV/2GZzDJFZw==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.22.0", + "@typescript-eslint/type-utils": "8.22.0", + "@typescript-eslint/utils": "8.22.0", + "@typescript-eslint/visitor-keys": "8.22.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.22.0.tgz", + "integrity": "sha512-MqtmbdNEdoNxTPzpWiWnqNac54h8JDAmkWtJExBVVnSrSmi9z+sZUt0LfKqk9rjqmKOIeRhO4fHHJ1nQIjduIQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "8.22.0", + "@typescript-eslint/types": "8.22.0", + "@typescript-eslint/typescript-estree": "8.22.0", + "@typescript-eslint/visitor-keys": "8.22.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.22.0.tgz", + "integrity": "sha512-/lwVV0UYgkj7wPSw0o8URy6YI64QmcOdwHuGuxWIYznO6d45ER0wXUbksr9pYdViAofpUCNJx/tAzNukgvaaiQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.22.0", + "@typescript-eslint/visitor-keys": "8.22.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.22.0.tgz", + "integrity": "sha512-NzE3aB62fDEaGjaAYZE4LH7I1MUwHooQ98Byq0G0y3kkibPJQIXVUspzlFOmOfHhiDLwKzMlWxaNv+/qcZurJA==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "8.22.0", + "@typescript-eslint/utils": "8.22.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.22.0.tgz", + "integrity": "sha512-0S4M4baNzp612zwpD4YOieP3VowOARgK2EkN/GBn95hpyF8E2fbMT55sRHWBq+Huaqk3b3XK+rxxlM8sPgGM6A==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.22.0.tgz", + "integrity": "sha512-SJX99NAS2ugGOzpyhMza/tX+zDwjvwAtQFLsBo3GQxiGcvaKlqGBkmZ+Y1IdiSi9h4Q0Lr5ey+Cp9CGWNY/F/w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.22.0", + "@typescript-eslint/visitor-keys": "8.22.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.22.0.tgz", + "integrity": "sha512-T8oc1MbF8L+Bk2msAvCUzjxVB2Z2f+vXYfcucE2wOmYs7ZUwco5Ep0fYZw8quNwOiw9K8GYVL+Kgc2pETNTLOg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.22.0", + "@typescript-eslint/types": "8.22.0", + "@typescript-eslint/typescript-estree": "8.22.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.22.0.tgz", + "integrity": "sha512-AWpYAXnUgvLNabGTy3uBylkgZoosva/miNd1I8Bz3SjotmQPbVqhO4Cczo8AsZ44XVErEBPr/CRSgaj8sG7g0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.22.0", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", + "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", + "dev": true, + "dependencies": { + "@babel/core": "^7.26.0", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" + } + }, + "node_modules/@vitest/expect": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.9.tgz", + "integrity": "sha512-5eCqRItYgIML7NNVgJj6TVCmdzE7ZVgJhruW0ziSQV4V7PvLkDL1bBkBdcTs/VuIz0IxPb5da1IDSqc1TR9eig==", + "dev": true, + "dependencies": { + "@vitest/spy": "3.0.9", + "@vitest/utils": "3.0.9", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.9.tgz", + "integrity": "sha512-ryERPIBOnvevAkTq+L1lD+DTFBRcjueL9lOUfXsLfwP92h4e+Heb+PjiqS3/OURWPtywfafK0kj++yDFjWUmrA==", + "dev": true, + "dependencies": { + "@vitest/spy": "3.0.9", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.9.tgz", + "integrity": "sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==", + "dev": true, + "dependencies": { + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.9.tgz", + "integrity": "sha512-NX9oUXgF9HPfJSwl8tUZCMP1oGx2+Sf+ru6d05QjzQz4OwWg0psEzwY6VexP2tTHWdOkhKHUIZH+fS6nA7jfOw==", + "dev": true, + "dependencies": { + "@vitest/utils": "3.0.9", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.9.tgz", + "integrity": "sha512-AiLUiuZ0FuA+/8i19mTYd+re5jqjEc2jZbgJ2up0VY0Ddyyxg/uUtBDpIFAy4uzKaQxOW8gMgBdAJJ2ydhu39A==", + "dev": true, + "dependencies": { + "@vitest/pretty-format": "3.0.9", + "magic-string": "^0.30.17", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.9.tgz", + "integrity": "sha512-/CcK2UDl0aQ2wtkp3YVWldrpLRNCfVcIOFGlVGKO4R5eajsH393Z1yiXLVQ7vWsj26JOEjeZI0x5sm5P4OGUNQ==", + "dev": true, + "dependencies": { + "tinyspy": "^3.0.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.9.tgz", + "integrity": "sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==", + "dev": true, + "dependencies": { + "@vitest/pretty-format": "3.0.9", + "loupe": "^3.1.3", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "devOptional": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "devOptional": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ai": { + "version": "4.1.45", + "resolved": "https://registry.npmjs.org/ai/-/ai-4.1.45.tgz", + "integrity": "sha512-nQkxQ2zCD+O/h8zJ+PxmBv9coyMaG1uP9kGJvhNaGAA25hbZRQWL0NbTsSJ/QMOUraXKLa+6fBm3VF1NkJK9Kg==", + "dependencies": { + "@ai-sdk/provider": "1.0.8", + "@ai-sdk/provider-utils": "2.1.9", + "@ai-sdk/react": "1.1.17", + "@ai-sdk/ui-utils": "1.1.15", + "@opentelemetry/api": "1.9.0", + "jsondiffpatch": "0.6.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc", + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-hidden": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/assistant-stream": { + "version": "0.0.21", + "resolved": "https://registry.npmjs.org/assistant-stream/-/assistant-stream-0.0.21.tgz", + "integrity": "sha512-tQuGIuTGtmNnHSc6hxANVjO23LPmwFBjZnOt0xOhoBQBqW3vBv6DK2QOObgT9wnfLY8i2DRDwDbw8fSvYVzdMA==", + "dependencies": { + "nanoid": "3.3.8", + "secure-json-parse": "^3.0.2" + } + }, + "node_modules/assistant-stream/node_modules/secure-json-parse": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-3.0.2.tgz", + "integrity": "sha512-H6nS2o8bWfpFEV6U38sOSjS7bTbdgbCGU9wEM6W14P5H0QOsz94KCusifV44GpHDTu2nqZbuDNhTzu+mjDSw1w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001695", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz", + "integrity": "sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chai": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", + "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", + "dev": true, + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "engines": { + "node": ">= 16" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", + "dev": true + }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "engines": { + "node": ">=18" + } + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "devOptional": true + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", + "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "dev": true + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "devOptional": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-match-patch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz", + "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==" + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true, + "peer": true + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.88", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.88.tgz", + "integrity": "sha512-K3C2qf1o+bGzbilTDCTBhTQcMS9KW60yTAaTeeXsfvQuTDDwlokLam/AdqlqcSy9u4UainDgsHV23ksXAOgamw==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "dev": true + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", + "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.2", + "@esbuild/android-arm": "0.24.2", + "@esbuild/android-arm64": "0.24.2", + "@esbuild/android-x64": "0.24.2", + "@esbuild/darwin-arm64": "0.24.2", + "@esbuild/darwin-x64": "0.24.2", + "@esbuild/freebsd-arm64": "0.24.2", + "@esbuild/freebsd-x64": "0.24.2", + "@esbuild/linux-arm": "0.24.2", + "@esbuild/linux-arm64": "0.24.2", + "@esbuild/linux-ia32": "0.24.2", + "@esbuild/linux-loong64": "0.24.2", + "@esbuild/linux-mips64el": "0.24.2", + "@esbuild/linux-ppc64": "0.24.2", + "@esbuild/linux-riscv64": "0.24.2", + "@esbuild/linux-s390x": "0.24.2", + "@esbuild/linux-x64": "0.24.2", + "@esbuild/netbsd-arm64": "0.24.2", + "@esbuild/netbsd-x64": "0.24.2", + "@esbuild/openbsd-arm64": "0.24.2", + "@esbuild/openbsd-x64": "0.24.2", + "@esbuild/sunos-x64": "0.24.2", + "@esbuild/win32-arm64": "0.24.2", + "@esbuild/win32-ia32": "0.24.2", + "@esbuild/win32-x64": "0.24.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "9.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.19.0.tgz", + "integrity": "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.10.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.19.0", + "@eslint/plugin-kit": "^0.2.5", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", + "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.18.tgz", + "integrity": "sha512-IRGEoFn3OKalm3hjfolEWGqoF/jPqeEYFp+C8B0WMzwGwBMvlRDQd06kghDhF0C61uJ6WfSDhEZE/sAQjduKgw==", + "dev": true, + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.0.tgz", + "integrity": "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA==", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect-type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.0.tgz", + "integrity": "sha512-80F22aiJ3GLyVnS/B3HzgR6RelZVumzj9jkL0Rhz4h0xYbNW9PjlQz5h3J/SShErbXBc295vseR4/MIbVmUbeA==", + "dev": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", + "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "dev": true + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "15.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", + "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.3.tgz", + "integrity": "sha512-pdpkP8YD4v+qMKn2lnKSiJvZvb3FunDmFYQvVOsoO08+eTNWdaWKPMrC5wwNICtU3dQWHhElj5Sf5jPEnv4qJg==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/html-url-attributes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", + "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dev": true, + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz", + "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/inline-style-parser": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==" + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsondiffpatch": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.6.0.tgz", + "integrity": "sha512-3QItJOXp2AP1uv7waBkao5nCvhEv+QmJAd38Ybq7wNI74Q+BBmnLn4EDKz6yI9xGAIQoUF87qHt+kc1IVxB4zQ==", + "dependencies": { + "@types/diff-match-patch": "^1.0.36", + "chalk": "^5.3.0", + "diff-match-patch": "^1.0.5" + }, + "bin": { + "jsondiffpatch": "bin/jsondiffpatch.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/jsondiffpatch/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.1.tgz", + "integrity": "sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.29.1", + "lightningcss-darwin-x64": "1.29.1", + "lightningcss-freebsd-x64": "1.29.1", + "lightningcss-linux-arm-gnueabihf": "1.29.1", + "lightningcss-linux-arm64-gnu": "1.29.1", + "lightningcss-linux-arm64-musl": "1.29.1", + "lightningcss-linux-x64-gnu": "1.29.1", + "lightningcss-linux-x64-musl": "1.29.1", + "lightningcss-win32-arm64-msvc": "1.29.1", + "lightningcss-win32-x64-msvc": "1.29.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.1.tgz", + "integrity": "sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.1.tgz", + "integrity": "sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.1.tgz", + "integrity": "sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.1.tgz", + "integrity": "sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.1.tgz", + "integrity": "sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.1.tgz", + "integrity": "sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.1.tgz", + "integrity": "sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.1.tgz", + "integrity": "sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.1.tgz", + "integrity": "sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.1.tgz", + "integrity": "sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/loupe": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", + "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.474.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.474.0.tgz", + "integrity": "sha512-CmghgHkh0OJNmxGKWc0qfPJCYHASPMVSyGY8fj3xgk4v84ItqDg64JNKFZn5hC6E0vHi6gxnbCgwhyVB09wQtA==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "peer": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "devOptional": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz", + "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.4.tgz", + "integrity": "sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", + "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nwsapi": { + "version": "2.2.18", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.18.tgz", + "integrity": "sha512-p1TRH/edngVEHVbwqWnxUViEmq5znDvyB+Sik5cmuLpGOIfDf/39zLiq3swPF8Vakqn+gvNiOQAZu8djYlQILA==", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "dev": true, + "dependencies": { + "entities": "^4.5.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true + }, + "node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "dev": true, + "engines": { + "node": ">= 14.16" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/preact": { + "version": "10.26.4", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.26.4.tgz", + "integrity": "sha512-KJhO7LBFTjP71d83trW+Ilnjbo+ySsaAgCfXOXUlmGzJ4ygYPWmysm77yg4emwfmoz3b22yvH5IsVFHbhUaH5w==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/property-information": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.0.0.tgz", + "integrity": "sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dev": true, + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-hook-form": { + "version": "7.54.2", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.54.2.tgz", + "integrity": "sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg==", + "engines": { + "node": ">=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18 || ^19" + } + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/react-markdown": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.1.0.tgz", + "integrity": "sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=18", + "react": ">=18" + } + }, + "node_modules/react-redux": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", + "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", + "dependencies": { + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-remove-scroll": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.3.tgz", + "integrity": "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.1.3.tgz", + "integrity": "sha512-EezYymLY6Guk/zLQ2vRA8WvdUhWFEj5fcE3RfWihhxXBW7+cd1LsIiA3lmx+KCmneAGQuyBv820o44L2+TtkSA==", + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0", + "turbo-stream": "2.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.1.3.tgz", + "integrity": "sha512-qQGTE+77hleBzv9SIUIkGRvuFBQGagW+TQKy53UTZAO/3+YFNBYvRsNIZ1GT17yHbc63FylMOdS+m3oUriF1GA==", + "dependencies": { + "react-router": "7.1.3" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-textarea-autosize": { + "version": "8.5.7", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.7.tgz", + "integrity": "sha512-2MqJ3p0Jh69yt9ktFIaZmORHXw4c4bxSIhCeWiFwmJ9EYKgLmuNII3e9c9b2UO+ijl4StnpZdqpxNIhTdHvqtQ==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==" + }, + "node_modules/redux-mock-store": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/redux-mock-store/-/redux-mock-store-1.5.5.tgz", + "integrity": "sha512-YxX+ofKUTQkZE4HbhYG4kKGr7oCTJfB0GLy7bSeqx86GLpGirrbUWstMnqXkqHNaQpcnbMGbof2dYs5KsPE6Zg==", + "dependencies": { + "lodash.isplainobject": "^4.0.6" + }, + "peerDependencies": { + "redux": "*" + } + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "peerDependencies": { + "redux": "^5.0.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.1.tgz", + "integrity": "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/reselect": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.32.0.tgz", + "integrity": "sha512-JmrhfQR31Q4AuNBjjAX4s+a/Pu/Q8Q9iwjWBsjRH1q52SPFE2NqRMK6fUZKKnvKO6id+h7JIRf0oYsph53eATg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.32.0", + "@rollup/rollup-android-arm64": "4.32.0", + "@rollup/rollup-darwin-arm64": "4.32.0", + "@rollup/rollup-darwin-x64": "4.32.0", + "@rollup/rollup-freebsd-arm64": "4.32.0", + "@rollup/rollup-freebsd-x64": "4.32.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.32.0", + "@rollup/rollup-linux-arm-musleabihf": "4.32.0", + "@rollup/rollup-linux-arm64-gnu": "4.32.0", + "@rollup/rollup-linux-arm64-musl": "4.32.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.32.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.32.0", + "@rollup/rollup-linux-riscv64-gnu": "4.32.0", + "@rollup/rollup-linux-s390x-gnu": "4.32.0", + "@rollup/rollup-linux-x64-gnu": "4.32.0", + "@rollup/rollup-linux-x64-musl": "4.32.0", + "@rollup/rollup-win32-arm64-msvc": "4.32.0", + "@rollup/rollup-win32-ia32-msvc": "4.32.0", + "@rollup/rollup-win32-x64-msvc": "4.32.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/secure-json-parse": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "node_modules/std-env": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.1.tgz", + "integrity": "sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==", + "dev": true + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-object": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", + "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", + "dependencies": { + "inline-style-parser": "0.2.4" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/swr": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.2.tgz", + "integrity": "sha512-RosxFpiabojs75IwQ316DGoDRmOqtiAj0tg8wCcbEu4CiLZBs/a9QNtHV7TUfDXmmlgqij/NqzKq/eLelyv9xA==", + "dependencies": { + "dequal": "^2.0.3", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/tailwind-merge": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.6.0.tgz", + "integrity": "sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss-animate": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", + "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/tailwindcss/node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throttleit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-2.1.0.tgz", + "integrity": "sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true + }, + "node_modules/tinypool": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz", + "integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==", + "dev": true, + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-api-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", + "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", + "dev": true, + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/ts-jest": { + "version": "29.2.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.3.tgz", + "integrity": "sha512-yCcfVdiBFngVz9/keHin9EnsrQtQtEu3nRykNy9RVp+FiPFFbPJ3Sg6Qg4+TkmH0vMP5qsTKgXSsk80HRwvdgQ==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "ejs": "^3.1.10", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "devOptional": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "devOptional": true + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "node_modules/turbo-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.22.0.tgz", + "integrity": "sha512-Y2rj210FW1Wb6TWXzQc5+P+EWI9/zdS57hLEc0gnyuvdzWo8+Y8brKlbj0muejonhMI/xAZCnZZwjbIfv1CkOw==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.22.0", + "@typescript-eslint/parser": "8.22.0", + "@typescript-eslint/utils": "8.22.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "devOptional": true + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-composed-ref": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.4.0.tgz", + "integrity": "sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.0.tgz", + "integrity": "sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-latest": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.3.0.tgz", + "integrity": "sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==", + "dependencies": { + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", + "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "devOptional": true + }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", + "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", + "dev": true, + "dependencies": { + "esbuild": "^0.24.2", + "postcss": "^8.4.49", + "rollup": "^4.23.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.9.tgz", + "integrity": "sha512-w3Gdx7jDcuT9cNn9jExXgOyKmf5UOTb6WMHz8LGAm54eS1Elf5OuBhCxl6zJxGhEeIkgsE1WbHuoL0mj/UXqXg==", + "dev": true, + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.4.0", + "es-module-lexer": "^1.6.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vitest": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.9.tgz", + "integrity": "sha512-BbcFDqNyBlfSpATmTtXOAOj71RNKDDvjBM/uPfnxxVGrG+FSH2RQIwgeEngTaTkuU/h0ScFvf+tRcKfYXzBybQ==", + "dev": true, + "dependencies": { + "@vitest/expect": "3.0.9", + "@vitest/mocker": "3.0.9", + "@vitest/pretty-format": "^3.0.9", + "@vitest/runner": "3.0.9", + "@vitest/snapshot": "3.0.9", + "@vitest/spy": "3.0.9", + "@vitest/utils": "3.0.9", + "chai": "^5.2.0", + "debug": "^4.4.0", + "expect-type": "^1.1.0", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "std-env": "^3.8.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.2", + "tinypool": "^1.0.2", + "tinyrainbow": "^2.0.0", + "vite": "^5.0.0 || ^6.0.0", + "vite-node": "3.0.9", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/debug": "^4.1.12", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@vitest/browser": "3.0.9", + "@vitest/ui": "3.0.9", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/debug": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "devOptional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz", + "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.24.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.2.tgz", + "integrity": "sha512-pNUqrcSxuuB3/+jBbU8qKUbTbDqYUaG1vf5cXFjbhGgoUuA1amO/y4Q8lzfOhHU8HNPK6VFJ18lBDKj3OHyDsg==", + "peerDependencies": { + "zod": "^3.24.1" + } + }, + "node_modules/zustand": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.3.tgz", + "integrity": "sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { + "optional": true + } + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/course-matrix/frontend/package.json b/course-matrix/frontend/package.json new file mode 100644 index 00000000..a7944a0b --- /dev/null +++ b/course-matrix/frontend/package.json @@ -0,0 +1,87 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint .", + "preview": "vite preview", + "prod": "vite build && vite preview --port 5173", + "test": "jest", + "test:watch": "jest --watch" + }, + "dependencies": { + "@ai-sdk/openai": "^1.1.13", + "@assistant-ui/react": "^0.7.91", + "@assistant-ui/react-ai-sdk": "^0.7.16", + "@assistant-ui/react-markdown": "^0.7.20", + "@assistant-ui/react-ui": "^0.1.7", + "@hookform/resolvers": "^3.10.0", + "@radix-ui/react-accordion": "^1.2.3", + "@radix-ui/react-avatar": "^1.1.3", + "@radix-ui/react-checkbox": "^1.1.4", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-dropdown-menu": "^2.1.6", + "@radix-ui/react-hover-card": "^1.1.6", + "@radix-ui/react-label": "^2.1.2", + "@radix-ui/react-select": "^2.1.6", + "@radix-ui/react-separator": "^1.1.2", + "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-switch": "^1.1.3", + "@radix-ui/react-toast": "^1.2.6", + "@radix-ui/react-tooltip": "^1.1.8", + "@reduxjs/toolkit": "^2.5.1", + "@schedule-x/drag-and-drop": "^2.21.1", + "@schedule-x/event-modal": "^2.21.1", + "@schedule-x/events-service": "^2.21.0", + "@schedule-x/react": "^2.21.0", + "@schedule-x/scroll-controller": "^2.23.0", + "@schedule-x/theme-default": "^2.21.0", + "ai": "^4.1.45", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-react": "^0.474.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-hook-form": "^7.54.2", + "react-redux": "^9.2.0", + "react-router-dom": "^7.1.3", + "redux-mock-store": "^1.5.5", + "remark-gfm": "^4.0.1", + "tailwind-merge": "^2.6.0", + "tailwindcss": "^3.4.17", + "tailwindcss-animate": "^1.0.7", + "zod": "^3.24.1" + }, + "devDependencies": { + "@eslint/js": "^9.17.0", + "@jest/globals": "^29.7.0", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/react": "^16.0.0", + "@tsconfig/node20": "^20.1.4", + "@types/jest": "^29.5.14", + "@types/node": "^22.10.10", + "@types/react": "^18.3.18", + "@types/react-dom": "^18.3.5", + "@types/redux-mock-store": "^1.5.0", + "@types/testing-library__react": "^10.2.0", + "@vitejs/plugin-react": "^4.3.4", + "autoprefixer": "^10.4.20", + "eslint": "^9.17.0", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.16", + "globals": "^15.14.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "postcss": "^8.5.1", + "ts-jest": "^29.2.3", + "ts-node": "^10.9.2", + "typescript": "~5.6.2", + "typescript-eslint": "^8.18.2", + "vite": "^6.0.5", + "vitest": "^3.0.9" + } +} diff --git a/course-matrix/frontend/postcss.config.js b/course-matrix/frontend/postcss.config.js new file mode 100644 index 00000000..2aa7205d --- /dev/null +++ b/course-matrix/frontend/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/course-matrix/frontend/public/img/course-matrix-logo.png b/course-matrix/frontend/public/img/course-matrix-logo.png new file mode 100644 index 00000000..6f41280f Binary files /dev/null and b/course-matrix/frontend/public/img/course-matrix-logo.png differ diff --git a/course-matrix/frontend/public/img/default-avatar.png b/course-matrix/frontend/public/img/default-avatar.png new file mode 100644 index 00000000..5a72917b Binary files /dev/null and b/course-matrix/frontend/public/img/default-avatar.png differ diff --git a/course-matrix/frontend/public/img/default-timetable-card-image.png b/course-matrix/frontend/public/img/default-timetable-card-image.png new file mode 100644 index 00000000..f8038d2b Binary files /dev/null and b/course-matrix/frontend/public/img/default-timetable-card-image.png differ diff --git a/course-matrix/frontend/public/img/grey-avatar.png b/course-matrix/frontend/public/img/grey-avatar.png new file mode 100644 index 00000000..6ffe1296 Binary files /dev/null and b/course-matrix/frontend/public/img/grey-avatar.png differ diff --git a/course-matrix/frontend/public/img/logo.png b/course-matrix/frontend/public/img/logo.png new file mode 100644 index 00000000..75322b4a Binary files /dev/null and b/course-matrix/frontend/public/img/logo.png differ diff --git a/course-matrix/frontend/src/App.css b/course-matrix/frontend/src/App.css new file mode 100644 index 00000000..e69de29b diff --git a/course-matrix/frontend/src/App.tsx b/course-matrix/frontend/src/App.tsx new file mode 100644 index 00000000..1b58ce9f --- /dev/null +++ b/course-matrix/frontend/src/App.tsx @@ -0,0 +1,53 @@ +import "./App.css"; +import { Navigate, Route, Routes } from "react-router-dom"; +import LoginPage from "./pages/Login/LoginPage"; +import Dashboard from "./pages/Dashboard/Dashboard"; +import SignupPage from "./pages/Signup/SignUpPage"; +import AuthRoute from "./components/auth-route"; +import SignupSuccessfulPage from "./pages/Signup/SignupSuccessfulPage"; +import LoginRoute from "./components/login-route"; +import { Toaster } from "./components/ui/toaster"; + +/** + * App Component + * + * The main entry point for the application. Sets up the routing for different pages, including login, signup, + * dashboard, and the signup success page. The routes are protected using the `AuthRoute` component for accessing + * the dashboard to ensure the user is authenticated. + * + * Features: + * - **Routing**: Uses `react-router-dom` to manage navigation between different pages of the app. + * - `/login`: The login page for users to authenticate. + * - `/signup`: The page for new users to register. + * - `/signup-success`: Confirmation page shown after successful account creation. + * - `/dashboard/*`: The protected dashboard route that requires authentication. + * - **Redirects**: Redirects all unknown routes (`*`) and the root route `/` to the login page. + * + * Components: + * - `Routes`, `Route`, `Navigate` for routing and redirection. + * - `AuthRoute` to protect the dashboard route and ensure the user is authenticated before accessing it. + * - `LoginPage`, `SignupPage`, `SignupSuccessfulPage`, `Dashboard` for different page components. + * + * @returns {JSX.Element} The rendered app with routing and navigation. + */ + +function App() { + return ( +
+ + } /> + } /> + } /> + } /> + } /> + } + /> + + +
+ ); +} + +export default App; diff --git a/course-matrix/frontend/src/api/authApiSlice.ts b/course-matrix/frontend/src/api/authApiSlice.ts new file mode 100644 index 00000000..02d22e68 --- /dev/null +++ b/course-matrix/frontend/src/api/authApiSlice.ts @@ -0,0 +1,97 @@ +import { get } from "http"; +import { apiSlice } from "./baseApiSlice"; +import { AUTH_URL } from "./config"; + +// Endpoints for /api/auth +export const authApiSlice = apiSlice.injectEndpoints({ + endpoints: (builder) => ({ + login: builder.mutation({ + query: (data) => ({ + url: `${AUTH_URL}/login`, + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + body: data, + credentials: "include", + }), + }), + logout: builder.mutation({ + query: () => ({ + url: `${AUTH_URL}/logout`, + method: "POST", + credentials: "include", + }), + }), + signup: builder.mutation({ + query: (data) => ({ + url: `${AUTH_URL}/signup`, + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + body: data, + credentials: "include", + }), + }), + getSession: builder.query({ + query: () => ({ + url: `${AUTH_URL}/session`, + method: "GET", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + credentials: "include", + }), + }), + accountDelete: builder.mutation({ + query: (data) => ({ + url: `${AUTH_URL}/accountDelete`, + method: "DELETE", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + body: data, + credentials: "include", + }), + }), + updateUsername: builder.mutation({ + query: (data) => ({ + url: `${AUTH_URL}/updateUsername`, + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + body: data, + credentials: "include", + }), + }), + getUsernameFromUserId: builder.query({ + query: (user_id) => ({ + url: `${AUTH_URL}/username-from-user-id`, + method: "GET", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + params: { user_id }, + credentials: "include", + }), + }), + }), +}); + +export const { + useLoginMutation, + useLogoutMutation, + useSignupMutation, + useGetSessionQuery, + useAccountDeleteMutation, + useUpdateUsernameMutation, + useGetUsernameFromUserIdQuery, +} = authApiSlice; diff --git a/course-matrix/frontend/src/api/baseApiSlice.ts b/course-matrix/frontend/src/api/baseApiSlice.ts new file mode 100644 index 00000000..285b7f6c --- /dev/null +++ b/course-matrix/frontend/src/api/baseApiSlice.ts @@ -0,0 +1,20 @@ +import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; +import { BASE_URL } from "./config"; + +const baseQuery = fetchBaseQuery({ baseUrl: BASE_URL }); + +export const apiSlice = createApi({ + baseQuery, + tagTypes: [ + "Auth", + "Course", + "Department", + "Offering", + "Timetable", + "Event", + "Restrictions", + "Shared", + ], + endpoints: () => ({}), + refetchOnMountOrArgChange: true, +}); diff --git a/course-matrix/frontend/src/api/config.ts b/course-matrix/frontend/src/api/config.ts new file mode 100644 index 00000000..ef5f390a --- /dev/null +++ b/course-matrix/frontend/src/api/config.ts @@ -0,0 +1,10 @@ +export const SERVER_URL = import.meta.env.VITE_SERVER_URL; +export const BASE_URL = ""; + +export const AUTH_URL = `${SERVER_URL}/auth`; +export const COURSES_URL = `${SERVER_URL}/api/courses`; +export const DEPARTMENT_URL = `${SERVER_URL}/api/departments`; +export const OFFERINGS_URL = `${SERVER_URL}/api/offerings`; +export const TIMETABLES_URL = `${SERVER_URL}/api/timetables`; +export const EVENTS_URL = `${SERVER_URL}/api/timetables/events`; +export const SHARED_URL = `${SERVER_URL}/api/timetables/shared`; diff --git a/course-matrix/frontend/src/api/coursesApiSlice.ts b/course-matrix/frontend/src/api/coursesApiSlice.ts new file mode 100644 index 00000000..c641c22c --- /dev/null +++ b/course-matrix/frontend/src/api/coursesApiSlice.ts @@ -0,0 +1,37 @@ +import { apiSlice } from "./baseApiSlice"; +import { COURSES_URL } from "./config"; + +// Endpoints for /api/courses +export const coursesApiSlice = apiSlice.injectEndpoints({ + endpoints: (builder) => ({ + getCourses: builder.query({ + query: (filters) => ({ + url: `${COURSES_URL}`, + method: "GET", + params: filters, + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + providesTags: ["Course"], + credentials: "include", + }), + }), + getNumberOfCourseSections: builder.query({ + query: (params) => ({ + url: `${COURSES_URL}/total-sections`, + method: "GET", + params: params, + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + providesTags: ["Course"], + credentials: "include", + }), + }), + }), +}); + +export const { useGetCoursesQuery, useGetNumberOfCourseSectionsQuery } = + coursesApiSlice; diff --git a/course-matrix/frontend/src/api/departmentsApiSlice.ts b/course-matrix/frontend/src/api/departmentsApiSlice.ts new file mode 100644 index 00000000..061ccd4e --- /dev/null +++ b/course-matrix/frontend/src/api/departmentsApiSlice.ts @@ -0,0 +1,22 @@ +import { apiSlice } from "./baseApiSlice"; +import { DEPARTMENT_URL } from "./config"; + +// Endpoints for /api/departments +export const departmentApiSlice = apiSlice.injectEndpoints({ + endpoints: (builder) => ({ + getDepartments: builder.query({ + query: () => ({ + url: `${DEPARTMENT_URL}`, + method: "GET", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + providesTags: ["Department"], + credentials: "include", + }), + }), + }), +}); + +export const { useGetDepartmentsQuery } = departmentApiSlice; diff --git a/course-matrix/frontend/src/api/eventsApiSlice.ts b/course-matrix/frontend/src/api/eventsApiSlice.ts new file mode 100644 index 00000000..f3a2cb0e --- /dev/null +++ b/course-matrix/frontend/src/api/eventsApiSlice.ts @@ -0,0 +1,84 @@ +import { apiSlice } from "./baseApiSlice"; +import { EVENTS_URL } from "./config"; + +// Endpoints for /api/timetables/events +export const eventsApiSlice = apiSlice.injectEndpoints({ + endpoints: (builder) => ({ + createEvent: builder.mutation({ + query: (data) => ({ + url: `${EVENTS_URL}`, + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + body: data, + credentials: "include", + }), + invalidatesTags: ["Event"], + }), + getEvents: builder.query({ + query: (id) => ({ + url: `${EVENTS_URL}/${id}`, + method: "GET", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + providesTags: ["Event"], + credentials: "include", + }), + keepUnusedDataFor: 0, + }), + getSharedEvents: builder.query< + unknown, + { user_id: string; calendar_id: number } + >({ + query: (data) => ({ + url: `${EVENTS_URL}/shared/${data.user_id}/${data.calendar_id}`, + method: "GET", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + providesTags: ["Event"], + credentials: "include", + }), + keepUnusedDataFor: 0, + }), + updateEvent: builder.mutation({ + query: (data) => ({ + url: `${EVENTS_URL}/${data.id}`, + method: "PUT", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + body: data, + credentials: "include", + }), + invalidatesTags: ["Event"], + }), + deleteEvent: builder.mutation({ + query: (data) => ({ + url: `${EVENTS_URL}/${data.id}`, + method: "DELETE", + params: data, + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + credentials: "include", + }), + invalidatesTags: ["Event"], + }), + }), +}); + +export const { + useCreateEventMutation, + useGetEventsQuery, + useGetSharedEventsQuery, + useUpdateEventMutation, + useDeleteEventMutation, +} = eventsApiSlice; diff --git a/course-matrix/frontend/src/api/offeringsApiSlice.ts b/course-matrix/frontend/src/api/offeringsApiSlice.ts new file mode 100644 index 00000000..097b1c27 --- /dev/null +++ b/course-matrix/frontend/src/api/offeringsApiSlice.ts @@ -0,0 +1,37 @@ +import { apiSlice } from "./baseApiSlice"; +import { OFFERINGS_URL } from "./config"; + +// Endpoints for /api/offerings +export const offeringsApiSlice = apiSlice.injectEndpoints({ + endpoints: (builder) => ({ + getOfferingEvents: builder.query({ + query: (params) => ({ + url: `${OFFERINGS_URL}/events`, + method: "GET", + params: params, + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + providesTags: ["OfferingEvents"], + credentials: "include", + }), + }), + getOfferings: builder.query({ + query: (params) => ({ + url: `${OFFERINGS_URL}`, + method: "GET", + params: params, + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + providesTags: ["Offerings"], + credentials: "include", + }), + }), + }), +}); + +export const { useGetOfferingsQuery, useGetOfferingEventsQuery } = + offeringsApiSlice; diff --git a/course-matrix/frontend/src/api/restrictionsApiSlice.ts b/course-matrix/frontend/src/api/restrictionsApiSlice.ts new file mode 100644 index 00000000..7e77bb8a --- /dev/null +++ b/course-matrix/frontend/src/api/restrictionsApiSlice.ts @@ -0,0 +1,53 @@ +import { apiSlice } from "./baseApiSlice"; +import { TIMETABLES_URL } from "./config"; + +// Endpoints for /api/timetables/restrictions +export const restrictionsApiSlice = apiSlice.injectEndpoints({ + endpoints: (builder) => ({ + getRestrictions: builder.query({ + query: (id) => ({ + url: `${TIMETABLES_URL}/restrictions/${id}`, + method: "GET", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + providesTags: ["Restrictions"], + credentials: "include", + }), + keepUnusedDataFor: 0, + }), + createRestriction: builder.mutation({ + query: (data) => ({ + url: `${TIMETABLES_URL}/restrictions`, + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + body: data, + credentials: "include", + }), + invalidatesTags: ["Restrictions"], + }), + deleteRestriction: builder.mutation({ + query: (data) => ({ + url: `${TIMETABLES_URL}/restrictions/${data.id}`, + method: "DELETE", + params: data, + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + credentials: "include", + }), + invalidatesTags: ["Restrictions"], + }), + }), +}); + +export const { + useGetRestrictionsQuery, + useCreateRestrictionMutation, + useDeleteRestrictionMutation, +} = restrictionsApiSlice; diff --git a/course-matrix/frontend/src/api/sharedApiSlice.ts b/course-matrix/frontend/src/api/sharedApiSlice.ts new file mode 100644 index 00000000..2e98f5e3 --- /dev/null +++ b/course-matrix/frontend/src/api/sharedApiSlice.ts @@ -0,0 +1,99 @@ +import { apiSlice } from "./baseApiSlice"; +import { SHARED_URL } from "./config"; + +// Endpoints for /api/timetables/shared +export const sharedApiSlice = apiSlice.injectEndpoints({ + endpoints: (builder) => ({ + createShare: builder.mutation({ + query: (data) => ({ + url: `${SHARED_URL}`, + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + body: data, + credentials: "include", + }), + invalidatesTags: ["Shared"], + }), + getTimetablesSharedWithMe: builder.query({ + query: () => ({ + url: `${SHARED_URL}/me`, + method: "GET", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + providesTags: ["Shared"], + credentials: "include", + }), + keepUnusedDataFor: 0, + }), + getTimetablesSharedWithOthers: builder.query({ + query: () => ({ + url: `${SHARED_URL}/owner`, + method: "GET", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + providesTags: ["Shared"], + credentials: "include", + }), + keepUnusedDataFor: 0, + }), + getSharedRestrictions: builder.query< + unknown, + { user_id: string; calendar_id: number } + >({ + query: (data) => ({ + url: `${SHARED_URL}/restrictions`, + method: "GET", + params: data, + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + providesTags: ["Shared"], + credentials: "include", + }), + keepUnusedDataFor: 0, + }), + deleteSharedTimetablesWithMe: builder.mutation({ + query: (data) => ({ + url: `${SHARED_URL}/me`, + method: "DELETE", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + body: data, + credentials: "include", + }), + invalidatesTags: ["Timetable"], + }), + deleteSharedTimetablesWithOthers: builder.mutation({ + query: (data) => ({ + url: `${SHARED_URL}/owner/${data.id}`, + method: "DELETE", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + body: data, + credentials: "include", + }), + invalidatesTags: ["Timetable"], + }), + }), +}); + +export const { + useCreateShareMutation, + useGetTimetablesSharedWithMeQuery, + useGetTimetablesSharedWithOthersQuery, + useGetSharedRestrictionsQuery, + useDeleteSharedTimetablesWithMeMutation, + useDeleteSharedTimetablesWithOthersMutation, +} = sharedApiSlice; diff --git a/course-matrix/frontend/src/api/timetableApiSlice.ts b/course-matrix/frontend/src/api/timetableApiSlice.ts new file mode 100644 index 00000000..d9f394db --- /dev/null +++ b/course-matrix/frontend/src/api/timetableApiSlice.ts @@ -0,0 +1,92 @@ +import { apiSlice } from "./baseApiSlice"; +import { TIMETABLES_URL } from "./config"; + +// Endpoints for /api/timetables +export const timetableApiSlice = apiSlice.injectEndpoints({ + endpoints: (builder) => ({ + createTimetable: builder.mutation({ + query: (data) => ({ + url: `${TIMETABLES_URL}`, + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + body: data, + credentials: "include", + }), + invalidatesTags: ["Timetable"], + }), + getTimetables: builder.query({ + query: () => ({ + url: `${TIMETABLES_URL}`, + method: "GET", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + providesTags: ["Timetable"], + credentials: "include", + }), + keepUnusedDataFor: 0, + }), + getTimetable: builder.query({ + query: (id) => ({ + url: `${TIMETABLES_URL}/${id}`, + method: "GET", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + credentials: "include", + }), + keepUnusedDataFor: 0, + }), + updateTimetable: builder.mutation({ + query: (data) => ({ + url: `${TIMETABLES_URL}/${data.id}`, + method: "PUT", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + body: data, + credentials: "include", + }), + invalidatesTags: ["Timetable"], + }), + deleteTimetable: builder.mutation({ + query: (id) => ({ + url: `${TIMETABLES_URL}/${id}`, + method: "DELETE", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + credentials: "include", + }), + invalidatesTags: ["Timetable"], + }), + generateTimetable: builder.mutation({ + query: (data) => ({ + url: `${TIMETABLES_URL}/generate`, + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json, text/plain, */*", + }, + body: data, + credentials: "include", + }), + }), + }), +}); + +export const { + useGetTimetablesQuery, + useGetTimetableQuery, + useUpdateTimetableMutation, + useCreateTimetableMutation, + useDeleteTimetableMutation, + useGenerateTimetableMutation, +} = timetableApiSlice; diff --git a/course-matrix/frontend/src/app/dashboard/page.tsx b/course-matrix/frontend/src/app/dashboard/page.tsx new file mode 100644 index 00000000..9ab71743 --- /dev/null +++ b/course-matrix/frontend/src/app/dashboard/page.tsx @@ -0,0 +1,50 @@ +import { AppSidebar } from "@/components/app-sidebar"; +import { + Breadcrumb, + BreadcrumbItem, + BreadcrumbLink, + BreadcrumbList, + BreadcrumbPage, + BreadcrumbSeparator, +} from "@/components/ui/breadcrumb"; +import { Separator } from "@/components/ui/separator"; +import { + SidebarInset, + SidebarProvider, + SidebarTrigger, +} from "@/components/ui/sidebar"; + +export default function Page() { + return ( + + + +
+ + + + + + + Building Your Application + + + + + Data Fetching + + + +
+
+
+
+
+
+
+
+
+ + + ); +} diff --git a/course-matrix/frontend/src/components/UserMenu.tsx b/course-matrix/frontend/src/components/UserMenu.tsx new file mode 100644 index 00000000..fd9750a3 --- /dev/null +++ b/course-matrix/frontend/src/components/UserMenu.tsx @@ -0,0 +1,175 @@ +import { + DropdownMenu, + DropdownMenuTrigger, + DropdownMenuContent, + DropdownMenuItem, +} from "@/components/ui/dropdown-menu"; +import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; +import { + Dialog, + DialogTrigger, + DialogContent, + DialogHeader, + DialogFooter, + DialogTitle, + DialogDescription, + DialogClose, +} from "@/components/ui/dialog"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { Label } from "@/components/ui/label"; +import { Mail } from "lucide-react"; +import { + useAccountDeleteMutation, + useLogoutMutation, + useUpdateUsernameMutation, +} from "@/api/authApiSlice"; +import { useDispatch } from "react-redux"; +import { clearCredentials } from "@/stores/authslice"; +import { useNavigate } from "react-router-dom"; +import { useRuntimeRefresh } from "@/pages/Assistant/runtime-provider"; +import { useEffect, useState, useRef } from "react"; + +/** + * UserMenu Component + * + * Provides a dropdown menu for the user to manage their account settings. + * Includes options for viewing account information, editing account details, + * logging out, and deleting the account (currently non-functional). + * + * Features: + * - **User Information**: Displays the user's name, email (placeholder), and avatar. + * - **Account Actions**: + * - **Edit Account**: Opens a dialog to edit account details (currently disabled for email and password). + * - **Logout**: Logs out the user, clears credentials, and redirects to the homepage. + * - **Delete Account**: Opens a confirmation dialog for account deletion (currently non-functional). + * - **Dialog Components**: Uses the `Dialog` component for editing account details and confirming account deletion. + * - **Avatar**: Displays a default user avatar with initials fallback. + * + * Hooks: + * - `useLogoutMutation` for handling user logout. + * - `useDispatch` and `useNavigate` for Redux actions and navigation after logout. + * + * UI Components: + * - `DropdownMenu`, `DropdownMenuTrigger`, `DropdownMenuContent`, `DropdownMenuItem` for dropdown menu functionality. + * - `Dialog`, `DialogTrigger`, `DialogContent`, `DialogHeader`, `DialogFooter` for modal dialogs. + * - `Avatar`, `AvatarFallback`, `AvatarImage` for displaying the user's avatar. + * - `Button`, `Input`, `Label` for form inputs and actions. + * + * @returns {JSX.Element} The rendered user menu dropdown with account options. + */ + +interface UserMenuProps { + setOpen: (open: boolean) => void; +} + +export function UserMenu({ setOpen }: UserMenuProps) { + const dispatch = useDispatch(); + const [logout] = useLogoutMutation(); + const navigate = useNavigate(); + const refreshRuntime = useRuntimeRefresh(); + const [deleteAccount] = useAccountDeleteMutation(); + const [usernameUpdate] = useUpdateUsernameMutation(); + + const usernameRef = useRef(null); + const user_metadata = JSON.parse(localStorage.getItem("userInfo") ?? "{}"); //User Data + const username = + (user_metadata?.user?.user_metadata?.username as string) ?? "John Doe"; + const initials = username //Gets User Initials + .split(" ") // Split the string by spaces + .map((word) => word[0]) // Take the first letter of each word + .join("") // Join them back into a string + .toUpperCase(); // Convert to uppercase; + + const userId = user_metadata.user.id; + + const handleLogout = async () => { + try { + await logout({}).unwrap(); + dispatch(clearCredentials()); + refreshRuntime(); + navigate("/login"); + } catch (err) { + console.error("Logout failed:", err); + } + }; + + const handleDelete = async () => { + try { + await deleteAccount({ uuid: userId }).unwrap(); + dispatch(clearCredentials()); + navigate("/"); + } catch (err) { + console.error("Delete account failed: ", err); + } + }; + + return ( + + +
+ {username} + + {/* Avatar Image is the profile picture of the user. The default avatar is used as a placeholder for now. */} + + {/* Avatar Fallback is the initials of the user. Avatar Fallback will be used if Avatar Image fails to load */} + {initials} + +
+
+ +
+ +

+ {user_metadata?.user?.user_metadata?.email} +

+
+ + + + + + + e.preventDefault()}> + + + + + + + + Delete Account + + + Are you sure you want to delete your account? This action + cannot be undone. + + + + + + + {/* The logic for deleting accounts has not been implemented yet. Currently, clicking 'Delete' here will just close the Delete dialog. */} + + + + + + + +
+
+ ); +} diff --git a/course-matrix/frontend/src/components/app-sidebar.tsx b/course-matrix/frontend/src/components/app-sidebar.tsx new file mode 100644 index 00000000..6c9699c0 --- /dev/null +++ b/course-matrix/frontend/src/components/app-sidebar.tsx @@ -0,0 +1,102 @@ +import * as React from "react"; + +import { SearchForm } from "@/components/search-form"; +import { VersionSwitcher } from "@/components/version-switcher"; +import { + Sidebar, + SidebarContent, + SidebarGroup, + SidebarGroupContent, + SidebarGroupLabel, + SidebarHeader, + SidebarMenu, + SidebarMenuButton, + SidebarMenuItem, + SidebarRail, +} from "@/components/ui/sidebar"; +import Logo from "./logo"; +import { Link, useLocation } from "react-router-dom"; +import { Home, Calendar, Bot, GitCompareIcon } from "lucide-react"; + +const checkIfActive = (url: string, current: string) => { + return url === current; +}; + +export function AppSidebar({ ...props }: React.ComponentProps) { + const location = useLocation(); + + // Information for sidebar + const data = { + versions: ["1.0.1"], + navMain: [ + { + title: "You", + url: "", + items: [ + { + title: "My Timetables", + url: "/dashboard/home", + isActive: checkIfActive("/dashboard/home", location.pathname), + icon: Home, + }, + ], + }, + { + title: "Tools", + url: "", + items: [ + { + title: "Timetable Builder", + url: "/dashboard/timetable", + isActive: checkIfActive("/dashboard/timetable", location.pathname), + icon: Calendar, + }, + { + title: "AI Assistant", + url: "/dashboard/assistant", + isActive: checkIfActive("/dashboard/assistant", location.pathname), + icon: Bot, + }, + { + title: "Timetable Compare", + url: "/dashboard/compare", + isActive: checkIfActive("/dashboard/compare", location.pathname), + icon: GitCompareIcon, + }, + ], + }, + ], + }; + + return ( + + + + {/* */} + + + {/* We create a SidebarGroup for each parent. */} + {data.navMain.map((item) => ( + + {item.title} + + + {item.items.map((item) => ( + + + + +
{item.title}
+ +
+
+ ))} +
+
+
+ ))} +
+ +
+ ); +} diff --git a/course-matrix/frontend/src/components/assistant-ui/markdown-text.tsx b/course-matrix/frontend/src/components/assistant-ui/markdown-text.tsx new file mode 100644 index 00000000..f67b27cf --- /dev/null +++ b/course-matrix/frontend/src/components/assistant-ui/markdown-text.tsx @@ -0,0 +1,228 @@ +"use client"; + +import "@assistant-ui/react-markdown/styles/dot.css"; + +import { + CodeHeaderProps, + MarkdownTextPrimitive, + unstable_memoizeMarkdownComponents as memoizeMarkdownComponents, + useIsMarkdownCodeBlock, +} from "@assistant-ui/react-markdown"; +import remarkGfm from "remark-gfm"; +import { FC, memo, useState } from "react"; +import { CheckIcon, CopyIcon } from "lucide-react"; + +import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button"; +import { cn } from "@/lib/utils"; + +const MarkdownTextImpl = () => { + return ( + + ); +}; + +export const MarkdownText = memo(MarkdownTextImpl); + +const CodeHeader: FC = ({ language, code }) => { + const { isCopied, copyToClipboard } = useCopyToClipboard(); + const onCopy = () => { + if (!code || isCopied) return; + copyToClipboard(code); + }; + + return ( +
+ {language} + + {!isCopied && } + {isCopied && } + +
+ ); +}; + +const useCopyToClipboard = ({ + copiedDuration = 3000, +}: { + copiedDuration?: number; +} = {}) => { + const [isCopied, setIsCopied] = useState(false); + + const copyToClipboard = (value: string) => { + if (!value) return; + + navigator.clipboard.writeText(value).then(() => { + setIsCopied(true); + setTimeout(() => setIsCopied(false), copiedDuration); + }); + }; + + return { isCopied, copyToClipboard }; +}; + +const defaultComponents = memoizeMarkdownComponents({ + h1: ({ className, ...props }) => ( +

+ ), + h2: ({ className, ...props }) => ( +

+ ), + h3: ({ className, ...props }) => ( +

+ ), + h4: ({ className, ...props }) => ( +

+ ), + h5: ({ className, ...props }) => ( +

+ ), + h6: ({ className, ...props }) => ( +
+ ), + p: ({ className, ...props }) => ( +

+ ), + a: ({ className, ...props }) => ( + + ), + blockquote: ({ className, ...props }) => ( +

+ ), + ul: ({ className, ...props }) => ( +
    li]:mt-2 leading-6", + className, + )} + {...props} + /> + ), + ol: ({ className, ...props }) => ( +
      li]:mt-2 leading-6", + className, + )} + {...props} + /> + ), + hr: ({ className, ...props }) => ( +
      + ), + table: ({ className, ...props }) => ( + + ), + th: ({ className, ...props }) => ( + td:first-child]:rounded-bl-lg [&:last-child>td:last-child]:rounded-br-lg", + className, + )} + {...props} + /> + ), + sup: ({ className, ...props }) => ( + a]:text-xs [&>a]:no-underline", className)} + {...props} + /> + ), + pre: ({ className, ...props }) => ( +
      +  ),
      +  code: function Code({ className, ...props }) {
      +    const isCodeBlock = useIsMarkdownCodeBlock();
      +    return (
      +      
      +    );
      +  },
      +  CodeHeader,
      +});
      diff --git a/course-matrix/frontend/src/components/assistant-ui/thread-list.tsx b/course-matrix/frontend/src/components/assistant-ui/thread-list.tsx
      new file mode 100644
      index 00000000..e97c3f4c
      --- /dev/null
      +++ b/course-matrix/frontend/src/components/assistant-ui/thread-list.tsx
      @@ -0,0 +1,69 @@
      +import type { FC } from "react";
      +import {
      +  ThreadListItemPrimitive,
      +  ThreadListPrimitive,
      +} from "@assistant-ui/react";
      +import { ArchiveIcon, PlusIcon } from "lucide-react";
      +
      +import { Button } from "@/components/ui/button";
      +import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button";
      +
      +export const ThreadList: FC = () => {
      +  return (
      +    
      +      
      +      
      +    
      +  );
      +};
      +
      +const ThreadListNew: FC = () => {
      +  return (
      +    
      +      
      +    
      +  );
      +};
      +
      +const ThreadListItems: FC = () => {
      +  return ;
      +};
      +
      +const ThreadListItem: FC = () => {
      +  return (
      +    
      +      
      +        
      +      
      +      
      +    
      +  );
      +};
      +
      +const ThreadListItemTitle: FC = () => {
      +  return (
      +    

      + +

      + ); +}; + +const ThreadListItemArchive: FC = () => { + return ( + + + + + + ); +}; diff --git a/course-matrix/frontend/src/components/assistant-ui/thread.tsx b/course-matrix/frontend/src/components/assistant-ui/thread.tsx new file mode 100644 index 00000000..5eb88de8 --- /dev/null +++ b/course-matrix/frontend/src/components/assistant-ui/thread.tsx @@ -0,0 +1,327 @@ +import { + ActionBarPrimitive, + BranchPickerPrimitive, + ComposerPrimitive, + MessagePrimitive, + ThreadPrimitive, +} from "@assistant-ui/react"; +import type { FC } from "react"; +import { + ArrowDownIcon, + CheckIcon, + ChevronLeftIcon, + ChevronRightIcon, + CopyIcon, + Info, + Lightbulb, + PencilIcon, + RefreshCwIcon, + SendHorizontalIcon, +} from "lucide-react"; +import { cn } from "@/lib/utils"; + +import { Avatar, AvatarFallback } from "@/components/ui/avatar"; +import { Button } from "@/components/ui/button"; +import { MarkdownText } from "@/components/assistant-ui/markdown-text"; +import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button"; + +export const Thread: FC = () => { + return ( + + + + + + + +
      + + +
      + + +
      + + + ); +}; + +const ThreadScrollToBottom: FC = () => { + return ( + + + + + + ); +}; + +const ThreadWelcome: FC = () => { + return ( + +
      +
      + + M + +

      + Hi my name is Morpheus. How + can I help you today? +

      +

      + + + Tip: Use /timetable to work with your timetables + +

      +
      + +
      +
      + ); +}; + +const ThreadWelcomeSuggestions: FC = () => { + return ( +
      + + + Give calculus courses for Summer 2025 + + + + + What is Course Matrix? + + + + + /timetable show my timetables + + +
      + ); +}; + +const Composer: FC = () => { + return ( + + + + + ); +}; + +const ComposerAction: FC = () => { + return ( + <> + + + + + + + + + + + + + + + + ); +}; + +const UserMessage: FC = () => { + return ( + + + +
      + +
      + + +
      + ); +}; + +const UserActionBar: FC = () => { + return ( + + + + + + + + ); +}; + +const EditComposer: FC = () => { + return ( + + + +
      + + + + + + +
      +
      + ); +}; + +const AssistantMessage: FC = () => { + return ( + + + M + + +
      + +
      + + + + +
      + ); +}; + +const AssistantActionBar: FC = () => { + return ( + + {/* + + + + + + + + + + + + + */} + + + + + + + + + + + + + + + + + ); +}; + +const BranchPicker: FC = ({ + className, + ...rest +}) => { + return ( + + + + + + + + / + + + + + + + + ); +}; + +const CircleStopIcon = () => { + return ( + + + + ); +}; diff --git a/course-matrix/frontend/src/components/assistant-ui/tooltip-icon-button.tsx b/course-matrix/frontend/src/components/assistant-ui/tooltip-icon-button.tsx new file mode 100644 index 00000000..7a09c3b7 --- /dev/null +++ b/course-matrix/frontend/src/components/assistant-ui/tooltip-icon-button.tsx @@ -0,0 +1,44 @@ +"use client"; + +import { forwardRef } from "react"; + +import { + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from "@/components/ui/tooltip"; +import { Button, ButtonProps } from "@/components/ui/button"; +import { cn } from "@/lib/utils"; + +export type TooltipIconButtonProps = ButtonProps & { + tooltip: string; + side?: "top" | "bottom" | "left" | "right"; +}; + +export const TooltipIconButton = forwardRef< + HTMLButtonElement, + TooltipIconButtonProps +>(({ children, tooltip, side = "bottom", className, ...rest }, ref) => { + return ( + + + + + + {tooltip} + + + ); +}); + +TooltipIconButton.displayName = "TooltipIconButton"; diff --git a/course-matrix/frontend/src/components/auth-route.tsx b/course-matrix/frontend/src/components/auth-route.tsx new file mode 100644 index 00000000..1d0bacd1 --- /dev/null +++ b/course-matrix/frontend/src/components/auth-route.tsx @@ -0,0 +1,24 @@ +import { useGetSessionQuery } from "@/api/authApiSlice"; +import { Navigate } from "react-router-dom"; +import LoadingPage from "@/pages/Loading/LoadingPage"; + +interface AuthRouteProps { + component: React.ComponentType; // Type for the component prop +} + +/** + * Login Route + * + * Checks if a user is logged in (session exists). If not then redirect to login. + */ +const AuthRoute: React.FC = ({ component: Component }) => { + const { data, isLoading, error } = useGetSessionQuery(); + + if (isLoading) { + return ; + } + + return data?.user ? : ; +}; + +export default AuthRoute; diff --git a/course-matrix/frontend/src/components/imagePlaceholder.tsx b/course-matrix/frontend/src/components/imagePlaceholder.tsx new file mode 100644 index 00000000..5d025b4c --- /dev/null +++ b/course-matrix/frontend/src/components/imagePlaceholder.tsx @@ -0,0 +1,16 @@ +export const ImagePlaceholder = () => { + const blurredImagePlaceholder = + "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAAAAAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAIAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAhEAACAQMDBQAAAAAAAAAAAAABAgMABAUGIWEREiMxUf/EABUBAQEAAAAAAAAAAAAAAAAAAAMF/8QAGhEAAgIDAAAAAAAAAAAAAAAAAQIAAxEhMf/aAAwDAQACEQMRAD8ASlWzQwxoGsuragA8nk6c+ONWNeOixw2aRm2AMbs5JAJJPk9aUpAJViJIGenZEwn/2Q=="; + + return ( +
      + ); +}; diff --git a/course-matrix/frontend/src/components/login-route.tsx b/course-matrix/frontend/src/components/login-route.tsx new file mode 100644 index 00000000..22bbe7f7 --- /dev/null +++ b/course-matrix/frontend/src/components/login-route.tsx @@ -0,0 +1,25 @@ +import { useGetSessionQuery } from "@/api/authApiSlice"; +import { Navigate } from "react-router-dom"; +import LoadingPage from "@/pages/Loading/LoadingPage"; + +interface AuthRouteProps { + component: React.ComponentType; // Type for the component prop +} + +/** + * Login Route + * + * Checks if a user session exists in localstorage. If so then redirect to dashboard. + */ +const LoginRoute: React.FC = ({ component: Component }) => { + const userInfo = localStorage.getItem("userInfo"); + const { data, isLoading, error } = useGetSessionQuery(); + + return data?.user && userInfo ? ( + + ) : ( + + ); +}; + +export default LoginRoute; diff --git a/course-matrix/frontend/src/components/logo.tsx b/course-matrix/frontend/src/components/logo.tsx new file mode 100644 index 00000000..4ec495dc --- /dev/null +++ b/course-matrix/frontend/src/components/logo.tsx @@ -0,0 +1,34 @@ +import { useState, useEffect } from "react"; +import logoImg from "/img/course-matrix-logo.png"; +import { ImagePlaceholder } from "./imagePlaceholder"; + +const Logo = () => { + const [imageLoaded, setImageLoaded] = useState(false); + + return ( + <> +
      +
      + {!imageLoaded && } + + Course Matrix logo setImageLoaded(true)} + /> +
      + +
      +
      Course
      +
      Matrix
      +
      +
      + + ); +}; + +export default Logo; diff --git a/course-matrix/frontend/src/components/password-input.tsx b/course-matrix/frontend/src/components/password-input.tsx new file mode 100644 index 00000000..f581d1c8 --- /dev/null +++ b/course-matrix/frontend/src/components/password-input.tsx @@ -0,0 +1,69 @@ +import React from "react"; +import { Eye, EyeOff } from "lucide-react"; +import { Button } from "@/components/ui/button"; +import { + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage, +} from "@/components/ui/form"; +import { Input } from "@/components/ui/input"; +import { useState } from "react"; +import { UseFormReturn } from "react-hook-form"; + +interface PasswordInputProps { + form: UseFormReturn; + name: string; + label?: string; + placeholder?: string; + className?: string; +} + +const PasswordInput = ({ + form, + name, + label, + placeholder = "Password", + className, +}: PasswordInputProps) => { + const [showPassword, setShowPassword] = useState(false); + + return ( + ( + + {label || "Password"} +
      + + + + +
      + +
      + )} + /> + ); +}; + +export default PasswordInput; diff --git a/course-matrix/frontend/src/components/period-select.tsx b/course-matrix/frontend/src/components/period-select.tsx new file mode 100644 index 00000000..d4df97bc --- /dev/null +++ b/course-matrix/frontend/src/components/period-select.tsx @@ -0,0 +1,78 @@ +"use client"; + +import * as React from "react"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { + Period, + display12HourValue, + setDateByType, +} from "../utils/time-picker-utils"; + +export interface PeriodSelectorProps { + period: Period; + setPeriod: (m: Period) => void; + date: Date | undefined; + setDate: (date: Date | undefined) => void; + onRightFocus?: () => void; + onLeftFocus?: () => void; +} + +export const TimePeriodSelect = React.forwardRef< + HTMLButtonElement, + PeriodSelectorProps +>(({ period, setPeriod, date, setDate, onLeftFocus, onRightFocus }, ref) => { + const handleKeyDown = (e: React.KeyboardEvent) => { + if (e.key === "ArrowRight") onRightFocus?.(); + if (e.key === "ArrowLeft") onLeftFocus?.(); + }; + + const handleValueChange = (value: Period) => { + setPeriod(value); + + /** + * trigger an update whenever the user switches between AM and PM; + * otherwise user must manually change the hour each time + */ + if (date) { + const tempDate = new Date(date); + const hours = display12HourValue(date.getHours()); + setDate( + setDateByType( + tempDate, + hours.toString(), + "12hours", + period === "AM" ? "PM" : "AM", + ), + ); + } + }; + + return ( +
      + +
      + ); +}); + +TimePeriodSelect.displayName = "TimePeriodSelect"; diff --git a/course-matrix/frontend/src/components/search-form.tsx b/course-matrix/frontend/src/components/search-form.tsx new file mode 100644 index 00000000..6196776e --- /dev/null +++ b/course-matrix/frontend/src/components/search-form.tsx @@ -0,0 +1,28 @@ +import { Search } from "lucide-react"; + +import { Label } from "@/components/ui/label"; +import { + SidebarGroup, + SidebarGroupContent, + SidebarInput, +} from "@/components/ui/sidebar"; + +export function SearchForm({ ...props }: React.ComponentProps<"form">) { + return ( +
      + + + + + + + + + ); +} diff --git a/course-matrix/frontend/src/components/semester-icon.tsx b/course-matrix/frontend/src/components/semester-icon.tsx new file mode 100644 index 00000000..7cbf4f8c --- /dev/null +++ b/course-matrix/frontend/src/components/semester-icon.tsx @@ -0,0 +1,20 @@ +import { Leaf, Snowflake, Sun } from "lucide-react"; + +interface SemesterIconProps { + semester: string; + size?: number; +} + +export const SemesterIcon = ({ semester, size }: SemesterIconProps) => { + return ( + <> + {semester === "Summer 2025" ? ( + + ) : semester === "Fall 2025" ? ( + + ) : ( + + )} + + ); +}; diff --git a/course-matrix/frontend/src/components/time-picker-hr.tsx b/course-matrix/frontend/src/components/time-picker-hr.tsx new file mode 100644 index 00000000..cce49d5f --- /dev/null +++ b/course-matrix/frontend/src/components/time-picker-hr.tsx @@ -0,0 +1,76 @@ +import * as React from "react"; +import { Label } from "@/components/ui/label"; +import { TimePickerInput } from "./time-picker-input"; +import { TimePeriodSelect } from "./period-select"; +import { Period } from "../utils/time-picker-utils"; +interface TimePickerHrProps { + date: Date | undefined; + setDate: (date: Date | undefined) => void; +} + +export function TimePickerHr({ date, setDate }: TimePickerHrProps) { + const [period, setPeriod] = React.useState("AM"); + + const minuteRef = React.useRef(null); + const hourRef = React.useRef(null); + const secondRef = React.useRef(null); + const periodRef = React.useRef(null); + return ( +
      +
      + + minuteRef.current?.focus()} + /> +
      + {/*
      + + hourRef.current?.focus()} + onRightFocus={() => secondRef.current?.focus()} + /> +
      +
      + + minuteRef.current?.focus()} + onRightFocus={() => periodRef.current?.focus()} + /> +
      */} +
      + + secondRef.current?.focus()} + /> +
      +
      + ); +} diff --git a/course-matrix/frontend/src/components/time-picker-input.tsx b/course-matrix/frontend/src/components/time-picker-input.tsx new file mode 100644 index 00000000..547e7fea --- /dev/null +++ b/course-matrix/frontend/src/components/time-picker-input.tsx @@ -0,0 +1,126 @@ +import { Input } from "@/components/ui/input"; +import { cn } from "@/lib/utils"; +import React from "react"; +import { + Period, + TimePickerType, + getArrowByType, + getDateByType, + setDateByType, +} from "../utils/time-picker-utils"; +export interface TimePickerInputProps + extends React.InputHTMLAttributes { + picker: TimePickerType; + date: Date | undefined; + setDate: (date: Date | undefined) => void; + period?: Period; + onRightFocus?: () => void; + onLeftFocus?: () => void; +} +const TimePickerInput = React.forwardRef< + HTMLInputElement, + TimePickerInputProps +>( + ( + { + className, + type = "tel", + value, + id, + name, + date = new Date(new Date().setHours(0, 0, 0, 0)), + setDate, + onChange, + onKeyDown, + picker, + period, + onLeftFocus, + onRightFocus, + ...props + }, + ref, + ) => { + const [flag, setFlag] = React.useState(false); + const [prevIntKey, setPrevIntKey] = React.useState("0"); + + /** + * allow the user to enter the second digit within 2 seconds + * otherwise start again with entering first digit + */ + React.useEffect(() => { + if (flag) { + const timer = setTimeout(() => { + setFlag(false); + }, 2000); + + return () => clearTimeout(timer); + } + }, [flag]); + + const calculatedValue = React.useMemo(() => { + return getDateByType(date, picker); + }, [date, picker]); + + const calculateNewValue = (key: string) => { + /* + * If picker is '12hours' and the first digit is 0, then the second digit is automatically set to 1. + * The second entered digit will break the condition and the value will be set to 10-12. + */ + if (picker === "12hours") { + if (flag && calculatedValue.slice(1, 2) === "1" && prevIntKey === "0") + return "0" + key; + } + + return !flag ? "0" + key : calculatedValue.slice(1, 2) + key; + }; + + const handleKeyDown = (e: React.KeyboardEvent) => { + if (e.key === "Tab") return; + e.preventDefault(); + if (e.key === "ArrowRight") onRightFocus?.(); + if (e.key === "ArrowLeft") onLeftFocus?.(); + if (["ArrowUp", "ArrowDown"].includes(e.key)) { + const step = e.key === "ArrowUp" ? 1 : -1; + const newValue = getArrowByType(calculatedValue, step, picker); + if (flag) setFlag(false); + const tempDate = new Date(date); + setDate(setDateByType(tempDate, newValue, picker, period)); + } + if (e.key >= "0" && e.key <= "9") { + if (picker === "12hours") setPrevIntKey(e.key); + const newValue = calculateNewValue(e.key); + if (flag) onRightFocus?.(); + setFlag((prev) => !prev); + const tempDate = new Date(date); + setDate(setDateByType(tempDate, newValue, picker, period)); + } + }; + return ( + { + e.preventDefault(); + onChange?.(e); + }} + type={type} + inputMode="decimal" + onKeyDown={(e) => { + onKeyDown?.(e); + handleKeyDown(e); + }} + {...props} + /> + ); + }, +); + +TimePickerInput.displayName = "TimePickerInput"; + +export { TimePickerInput }; diff --git a/course-matrix/frontend/src/components/ui/accordion.tsx b/course-matrix/frontend/src/components/ui/accordion.tsx new file mode 100644 index 00000000..83ff0179 --- /dev/null +++ b/course-matrix/frontend/src/components/ui/accordion.tsx @@ -0,0 +1,56 @@ +import * as React from "react"; +import * as AccordionPrimitive from "@radix-ui/react-accordion"; +import { ChevronDown } from "lucide-react"; + +import { cn } from "@/lib/utils"; + +const Accordion = AccordionPrimitive.Root; + +const AccordionItem = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +AccordionItem.displayName = "AccordionItem"; + +const AccordionTrigger = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + + svg]:rotate-180", + className, + )} + {...props} + > + {children} + + + +)); +AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName; + +const AccordionContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + +
      {children}
      +
      +)); + +AccordionContent.displayName = AccordionPrimitive.Content.displayName; + +export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }; diff --git a/course-matrix/frontend/src/components/ui/avatar.tsx b/course-matrix/frontend/src/components/ui/avatar.tsx new file mode 100644 index 00000000..444b1dba --- /dev/null +++ b/course-matrix/frontend/src/components/ui/avatar.tsx @@ -0,0 +1,48 @@ +import * as React from "react"; +import * as AvatarPrimitive from "@radix-ui/react-avatar"; + +import { cn } from "@/lib/utils"; + +const Avatar = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +Avatar.displayName = AvatarPrimitive.Root.displayName; + +const AvatarImage = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +AvatarImage.displayName = AvatarPrimitive.Image.displayName; + +const AvatarFallback = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName; + +export { Avatar, AvatarImage, AvatarFallback }; diff --git a/course-matrix/frontend/src/components/ui/badge.tsx b/course-matrix/frontend/src/components/ui/badge.tsx new file mode 100644 index 00000000..d3d5d604 --- /dev/null +++ b/course-matrix/frontend/src/components/ui/badge.tsx @@ -0,0 +1,36 @@ +import * as React from "react"; +import { cva, type VariantProps } from "class-variance-authority"; + +import { cn } from "@/lib/utils"; + +const badgeVariants = cva( + "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", + { + variants: { + variant: { + default: + "border-transparent bg-primary text-primary-foreground hover:bg-primary/80", + secondary: + "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80", + destructive: + "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80", + outline: "text-foreground", + }, + }, + defaultVariants: { + variant: "default", + }, + }, +); + +export interface BadgeProps + extends React.HTMLAttributes, + VariantProps {} + +function Badge({ className, variant, ...props }: BadgeProps) { + return ( +
      + ); +} + +export { Badge, badgeVariants }; diff --git a/course-matrix/frontend/src/components/ui/breadcrumb.tsx b/course-matrix/frontend/src/components/ui/breadcrumb.tsx new file mode 100644 index 00000000..ecfc6a44 --- /dev/null +++ b/course-matrix/frontend/src/components/ui/breadcrumb.tsx @@ -0,0 +1,115 @@ +import * as React from "react"; +import { Slot } from "@radix-ui/react-slot"; +import { ChevronRight, MoreHorizontal } from "lucide-react"; + +import { cn } from "@/lib/utils"; + +const Breadcrumb = React.forwardRef< + HTMLElement, + React.ComponentPropsWithoutRef<"nav"> & { + separator?: React.ReactNode; + } +>(({ ...props }, ref) =>
      + ), + td: ({ className, ...props }) => ( + + ), + tr: ({ className, ...props }) => ( +
      + +)); +Table.displayName = "Table"; + +const TableHeader = React.forwardRef< + HTMLTableSectionElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( + +)); +TableHeader.displayName = "TableHeader"; + +const TableBody = React.forwardRef< + HTMLTableSectionElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( + +)); +TableBody.displayName = "TableBody"; + +const TableFooter = React.forwardRef< + HTMLTableSectionElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( + tr]:last:border-b-0", + className, + )} + {...props} + /> +)); +TableFooter.displayName = "TableFooter"; + +const TableRow = React.forwardRef< + HTMLTableRowElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( + +)); +TableRow.displayName = "TableRow"; + +const TableHead = React.forwardRef< + HTMLTableCellElement, + React.ThHTMLAttributes +>(({ className, ...props }, ref) => ( +
      +)); +TableHead.displayName = "TableHead"; + +const TableCell = React.forwardRef< + HTMLTableCellElement, + React.TdHTMLAttributes +>(({ className, ...props }, ref) => ( + +)); +TableCell.displayName = "TableCell"; + +const TableCaption = React.forwardRef< + HTMLTableCaptionElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
      +)); +TableCaption.displayName = "TableCaption"; + +export { + Table, + TableHeader, + TableBody, + TableFooter, + TableHead, + TableRow, + TableCell, + TableCaption, +}; diff --git a/course-matrix/frontend/src/components/ui/toast.tsx b/course-matrix/frontend/src/components/ui/toast.tsx new file mode 100644 index 00000000..2bc23c1f --- /dev/null +++ b/course-matrix/frontend/src/components/ui/toast.tsx @@ -0,0 +1,127 @@ +import * as React from "react"; +import * as ToastPrimitives from "@radix-ui/react-toast"; +import { cva, type VariantProps } from "class-variance-authority"; +import { X } from "lucide-react"; + +import { cn } from "@/lib/utils"; + +const ToastProvider = ToastPrimitives.Provider; + +const ToastViewport = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +ToastViewport.displayName = ToastPrimitives.Viewport.displayName; + +const toastVariants = cva( + "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full", + { + variants: { + variant: { + default: "border bg-background text-foreground", + destructive: + "destructive group border-destructive bg-destructive text-destructive-foreground", + }, + }, + defaultVariants: { + variant: "default", + }, + }, +); + +const Toast = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef & + VariantProps +>(({ className, variant, ...props }, ref) => { + return ( + + ); +}); +Toast.displayName = ToastPrimitives.Root.displayName; + +const ToastAction = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +ToastAction.displayName = ToastPrimitives.Action.displayName; + +const ToastClose = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + + + +)); +ToastClose.displayName = ToastPrimitives.Close.displayName; + +const ToastTitle = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +ToastTitle.displayName = ToastPrimitives.Title.displayName; + +const ToastDescription = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +ToastDescription.displayName = ToastPrimitives.Description.displayName; + +type ToastProps = React.ComponentPropsWithoutRef; + +type ToastActionElement = React.ReactElement; + +export { + type ToastProps, + type ToastActionElement, + ToastProvider, + ToastViewport, + Toast, + ToastTitle, + ToastDescription, + ToastClose, + ToastAction, +}; diff --git a/course-matrix/frontend/src/components/ui/toaster.tsx b/course-matrix/frontend/src/components/ui/toaster.tsx new file mode 100644 index 00000000..5887f080 --- /dev/null +++ b/course-matrix/frontend/src/components/ui/toaster.tsx @@ -0,0 +1,33 @@ +import { useToast } from "@/hooks/use-toast"; +import { + Toast, + ToastClose, + ToastDescription, + ToastProvider, + ToastTitle, + ToastViewport, +} from "@/components/ui/toast"; + +export function Toaster() { + const { toasts } = useToast(); + + return ( + + {toasts.map(function ({ id, title, description, action, ...props }) { + return ( + +
      + {title && {title}} + {description && ( + {description} + )} +
      + {action} + +
      + ); + })} + +
      + ); +} diff --git a/course-matrix/frontend/src/components/ui/tooltip.tsx b/course-matrix/frontend/src/components/ui/tooltip.tsx new file mode 100644 index 00000000..2dece61d --- /dev/null +++ b/course-matrix/frontend/src/components/ui/tooltip.tsx @@ -0,0 +1,28 @@ +import * as React from "react"; +import * as TooltipPrimitive from "@radix-ui/react-tooltip"; + +import { cn } from "@/lib/utils"; + +const TooltipProvider = TooltipPrimitive.Provider; + +const Tooltip = TooltipPrimitive.Root; + +const TooltipTrigger = TooltipPrimitive.Trigger; + +const TooltipContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, sideOffset = 4, ...props }, ref) => ( + +)); +TooltipContent.displayName = TooltipPrimitive.Content.displayName; + +export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }; diff --git a/course-matrix/frontend/src/components/version-switcher.tsx b/course-matrix/frontend/src/components/version-switcher.tsx new file mode 100644 index 00000000..4cfbb723 --- /dev/null +++ b/course-matrix/frontend/src/components/version-switcher.tsx @@ -0,0 +1,62 @@ +import * as React from "react"; +import { Check, ChevronsUpDown, GalleryVerticalEnd } from "lucide-react"; + +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; +import { + SidebarMenu, + SidebarMenuButton, + SidebarMenuItem, +} from "@/components/ui/sidebar"; + +export function VersionSwitcher({ + versions, + defaultVersion, +}: { + versions: string[]; + defaultVersion: string; +}) { + const [selectedVersion, setSelectedVersion] = React.useState(defaultVersion); + + return ( + + + + + +
      + +
      +
      + Documentation + v{selectedVersion} +
      + +
      +
      + + {versions.map((version) => ( + setSelectedVersion(version)} + > + v{version}{" "} + {version === selectedVersion && } + + ))} + +
      +
      +
      + ); +} diff --git a/course-matrix/frontend/src/constants/calendarConstants.ts b/course-matrix/frontend/src/constants/calendarConstants.ts new file mode 100644 index 00000000..786bd7e4 --- /dev/null +++ b/course-matrix/frontend/src/constants/calendarConstants.ts @@ -0,0 +1,13 @@ +export const courseEventStyles = { + colorName: "courseEvent", + lightColors: { + main: "#1c7df9", + container: "#d2e7ff", + onContainer: "#002859", + }, + darkColors: { + main: "#c0dfff", + onContainer: "#dee6ff", + container: "#426aa2", + }, +}; diff --git a/course-matrix/frontend/src/hooks/use-mobile.tsx b/course-matrix/frontend/src/hooks/use-mobile.tsx new file mode 100644 index 00000000..a93d5839 --- /dev/null +++ b/course-matrix/frontend/src/hooks/use-mobile.tsx @@ -0,0 +1,21 @@ +import * as React from "react"; + +const MOBILE_BREAKPOINT = 768; + +export function useIsMobile() { + const [isMobile, setIsMobile] = React.useState( + undefined, + ); + + React.useEffect(() => { + const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`); + const onChange = () => { + setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); + }; + mql.addEventListener("change", onChange); + setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); + return () => mql.removeEventListener("change", onChange); + }, []); + + return !!isMobile; +} diff --git a/course-matrix/frontend/src/hooks/use-toast.ts b/course-matrix/frontend/src/hooks/use-toast.ts new file mode 100644 index 00000000..6555e795 --- /dev/null +++ b/course-matrix/frontend/src/hooks/use-toast.ts @@ -0,0 +1,191 @@ +"use client"; + +// Inspired by react-hot-toast library +import * as React from "react"; + +import type { ToastActionElement, ToastProps } from "@/components/ui/toast"; + +const TOAST_LIMIT = 1; +const TOAST_REMOVE_DELAY = 1000000; + +type ToasterToast = ToastProps & { + id: string; + title?: React.ReactNode; + description?: React.ReactNode; + action?: ToastActionElement; +}; + +const actionTypes = { + ADD_TOAST: "ADD_TOAST", + UPDATE_TOAST: "UPDATE_TOAST", + DISMISS_TOAST: "DISMISS_TOAST", + REMOVE_TOAST: "REMOVE_TOAST", +} as const; + +let count = 0; + +function genId() { + count = (count + 1) % Number.MAX_SAFE_INTEGER; + return count.toString(); +} + +type ActionType = typeof actionTypes; + +type Action = + | { + type: ActionType["ADD_TOAST"]; + toast: ToasterToast; + } + | { + type: ActionType["UPDATE_TOAST"]; + toast: Partial; + } + | { + type: ActionType["DISMISS_TOAST"]; + toastId?: ToasterToast["id"]; + } + | { + type: ActionType["REMOVE_TOAST"]; + toastId?: ToasterToast["id"]; + }; + +interface State { + toasts: ToasterToast[]; +} + +const toastTimeouts = new Map>(); + +const addToRemoveQueue = (toastId: string) => { + if (toastTimeouts.has(toastId)) { + return; + } + + const timeout = setTimeout(() => { + toastTimeouts.delete(toastId); + dispatch({ + type: "REMOVE_TOAST", + toastId: toastId, + }); + }, TOAST_REMOVE_DELAY); + + toastTimeouts.set(toastId, timeout); +}; + +export const reducer = (state: State, action: Action): State => { + switch (action.type) { + case "ADD_TOAST": + return { + ...state, + toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT), + }; + + case "UPDATE_TOAST": + return { + ...state, + toasts: state.toasts.map((t) => + t.id === action.toast.id ? { ...t, ...action.toast } : t, + ), + }; + + case "DISMISS_TOAST": { + const { toastId } = action; + + // ! Side effects ! - This could be extracted into a dismissToast() action, + // but I'll keep it here for simplicity + if (toastId) { + addToRemoveQueue(toastId); + } else { + state.toasts.forEach((toast) => { + addToRemoveQueue(toast.id); + }); + } + + return { + ...state, + toasts: state.toasts.map((t) => + t.id === toastId || toastId === undefined + ? { + ...t, + open: false, + } + : t, + ), + }; + } + case "REMOVE_TOAST": + if (action.toastId === undefined) { + return { + ...state, + toasts: [], + }; + } + return { + ...state, + toasts: state.toasts.filter((t) => t.id !== action.toastId), + }; + } +}; + +const listeners: Array<(state: State) => void> = []; + +let memoryState: State = { toasts: [] }; + +function dispatch(action: Action) { + memoryState = reducer(memoryState, action); + listeners.forEach((listener) => { + listener(memoryState); + }); +} + +type Toast = Omit; + +function toast({ ...props }: Toast) { + const id = genId(); + + const update = (props: ToasterToast) => + dispatch({ + type: "UPDATE_TOAST", + toast: { ...props, id }, + }); + const dismiss = () => dispatch({ type: "DISMISS_TOAST", toastId: id }); + + dispatch({ + type: "ADD_TOAST", + toast: { + ...props, + id, + open: true, + onOpenChange: (open) => { + if (!open) dismiss(); + }, + }, + }); + + return { + id: id, + dismiss, + update, + }; +} + +function useToast() { + const [state, setState] = React.useState(memoryState); + + React.useEffect(() => { + listeners.push(setState); + return () => { + const index = listeners.indexOf(setState); + if (index > -1) { + listeners.splice(index, 1); + } + }; + }, [state]); + + return { + ...state, + toast, + dismiss: (toastId?: string) => dispatch({ type: "DISMISS_TOAST", toastId }), + }; +} + +export { useToast, toast }; diff --git a/course-matrix/frontend/src/index.css b/course-matrix/frontend/src/index.css new file mode 100644 index 00000000..69731305 --- /dev/null +++ b/course-matrix/frontend/src/index.css @@ -0,0 +1,156 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: #111111; + background-color: #ffffff; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + width: 100%; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } +} + +body { + margin: 0; + padding: 0; + width: 100%; + min-width: 320px; + min-height: 100vh; +} + +html { + width: 100%; + scroll-behavior: smooth; +} + + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 240 10% 3.9%; + --card: 0 0% 100%; + --card-foreground: 240 10% 3.9%; + --popover: 0 0% 100%; + --popover-foreground: 240 10% 3.9%; + --primary: 142.1 76.2% 36.3%; + --primary-foreground: 355.7 100% 97.3%; + --secondary: 240 4.8% 91%; + --secondary-foreground: 240 5.9% 10%; + --muted: 240 4.8% 95.9%; + --muted-foreground: 240 3.8% 46.1%; + --accent: 240 4.8% 95.9%; + --accent-foreground: 240 5.9% 10%; + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 0 0% 98%; + --border: 240 5.9% 90%; + --input: 240 5.9% 90%; + --ring: 142.1 76.2% 36.3%; + --radius: 0.5rem; + --chart-1: 12 76% 61%; + --chart-2: 173 58% 39%; + --chart-3: 197 37% 24%; + --chart-4: 43 74% 66%; + --chart-5: 27 87% 67%; + --sidebar-background: 0 0% 98%; + --sidebar-foreground: 240 5.3% 26.1%; + --sidebar-primary: 240 5.9% 10%; + --sidebar-primary-foreground: 0 0% 98%; + --sidebar-accent: 240 4.8% 95.9%; + --sidebar-accent-foreground: 240 5.9% 10%; + --sidebar-border: 220 13% 91%; + --sidebar-ring: 217.2 91.2% 59.8%; + } + + .dark { + --background: 20 14.3% 4.1%; + --foreground: 0 0% 95%; + --card: 24 9.8% 10%; + --card-foreground: 0 0% 95%; + --popover: 0 0% 9%; + --popover-foreground: 0 0% 95%; + --primary: 142.1 70.6% 45.3%; + --primary-foreground: 144.9 80.4% 10%; + --secondary: 240 3.7% 15.9%; + --secondary-foreground: 0 0% 98%; + --muted: 0 0% 15%; + --muted-foreground: 240 5% 64.9%; + --accent: 12 6.5% 15.1%; + --accent-foreground: 0 0% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 85.7% 97.3%; + --border: 240 3.7% 15.9%; + --input: 240 3.7% 15.9%; + --ring: 142.4 71.8% 29.2%; + --chart-1: 220 70% 50%; + --chart-2: 160 60% 45%; + --chart-3: 30 80% 55%; + --chart-4: 280 65% 60%; + --chart-5: 340 75% 55%; + --sidebar-background: 240 5.9% 10%; + --sidebar-foreground: 240 4.8% 95.9%; + --sidebar-primary: 224.3 76.3% 48%; + --sidebar-primary-foreground: 0 0% 100%; + --sidebar-accent: 240 3.7% 15.9%; + --sidebar-accent-foreground: 240 4.8% 95.9%; + --sidebar-border: 240 3.7% 15.9%; + --sidebar-ring: 217.2 91.2% 59.8%; + } +} + + +@layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } +} + +/*Custom styles to override browser autofill styling*/ +input:-webkit-autofill { + -webkit-text-fill-color: #000 !important; + background-color: #f8f9fa !important; + -webkit-box-shadow: 0 0 0px 1000px #f8f9fa inset !important; /* Prevent browser override */ + caret-color: black !important; /* Restore typing indicator */ +} + +input:-webkit-autofill:focus { + -webkit-text-fill-color: #000 !important; + background-color: white !important; + -webkit-box-shadow: 0 0 0px 1000px white inset !important; + caret-color: black !important; /* Ensures the cursor is visible */ +} + +/* Prevent schedule X animations*/ +.sx__event-drag, +.sx__time-grid-event, +.sx__month-grid-event, +.sx__event-calendar-popover, +.sx__calendar-sidebar, +.sx__event-modal { + animation: none !important; + transition: none !important; +} + +/* Target any other animated elements */ +[class*="sx__"] { + transition-duration: 0s !important; + animation-duration: 0s !important; +} diff --git a/course-matrix/frontend/src/lib/utils.ts b/course-matrix/frontend/src/lib/utils.ts new file mode 100644 index 00000000..365058ce --- /dev/null +++ b/course-matrix/frontend/src/lib/utils.ts @@ -0,0 +1,6 @@ +import { type ClassValue, clsx } from "clsx"; +import { twMerge } from "tailwind-merge"; + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)); +} diff --git a/course-matrix/frontend/src/main.tsx b/course-matrix/frontend/src/main.tsx new file mode 100644 index 00000000..4ea78b0a --- /dev/null +++ b/course-matrix/frontend/src/main.tsx @@ -0,0 +1,17 @@ +import { StrictMode } from "react"; +import { createRoot } from "react-dom/client"; +import "./index.css"; +import App from "./App.tsx"; +import { BrowserRouter } from "react-router-dom"; +import { Provider } from "react-redux"; +import store from "./stores/store.ts"; + +createRoot(document.getElementById("root")!).render( + // + + + + + , + // , +); diff --git a/course-matrix/frontend/src/models/filter-form.ts b/course-matrix/frontend/src/models/filter-form.ts new file mode 100644 index 00000000..bd425125 --- /dev/null +++ b/course-matrix/frontend/src/models/filter-form.ts @@ -0,0 +1,28 @@ +import { z, ZodType } from "zod"; +import { SemesterEnum } from "./timetable-form"; + +export type FilterForm = { + creditWeight?: number; + breadthRequirement?: string; + department?: string; + yearLevel?: number; +}; + +export const BreadthRequirementEnum = z.enum([ + "HIS_PHIL_CUL", + "SOCIAL_SCI", + "NAT_SCI", + "QUANT", + "ART_LIT_LANG", +]); + +export const FilterFormSchema: ZodType = z.object({ + creditWeight: z.number().optional(), + breadthRequirement: BreadthRequirementEnum.optional(), + department: z.string().optional(), + yearLevel: z + .number() + .min(1, "Minimum level is year 1") + .max(4, "Maximum level is year 4") + .optional(), +}); diff --git a/course-matrix/frontend/src/models/login-form.ts b/course-matrix/frontend/src/models/login-form.ts new file mode 100644 index 00000000..1d3c7c3b --- /dev/null +++ b/course-matrix/frontend/src/models/login-form.ts @@ -0,0 +1,11 @@ +import { z, ZodType } from "zod"; + +export type LoginForm = { + email: string; + password: string; +}; + +export const LoginFormSchema: ZodType = z.object({ + email: z.string().min(1, "Please enter an email").email("Invalid email"), + password: z.string().min(1, "Please enter a password"), +}); diff --git a/course-matrix/frontend/src/models/models.ts b/course-matrix/frontend/src/models/models.ts new file mode 100644 index 00000000..c2f988ef --- /dev/null +++ b/course-matrix/frontend/src/models/models.ts @@ -0,0 +1,213 @@ +/** + * Represents a course in the system. + */ +export interface CourseModel { + /** Unique identifier for the course */ + id: number; + + /** Timestamp of when the course was created */ + created_at: string; + + /** Timestamp of when the course was last updated */ + updated_at: string; + + /** Unique course code (e.g., "CS101") */ + code: string; + + /** Breadth requirement associated with the course (optional) */ + breadth_requirement?: string; + + /** Description of the course experience (optional) */ + course_experience?: string; + + /** Detailed description of the course (optional) */ + description?: string; + + /** Prerequisite course description (optional) */ + prerequisite_description?: string; + + /** Exclusion course description (optional) */ + exclusion_description?: string; + + /** Name of the course */ + name: string; + + /** Recommended preparation for the course (optional) */ + recommended_preperation?: string; + + /** Corequisite course description (optional) */ + corequisite_description?: string; + + /** Additional notes about the course (optional) */ + note?: string; +} + +/** + * Represents a department in the system. + */ +export interface DepartmentModel { + /** Unique identifier for the department */ + id: number; + + /** Timestamp of when the department was created */ + createdAt: string; + + /** Timestamp of when the department was last updated */ + updatedAt: string; + + /** Unique code for the department (e.g., "CS" for Computer Science) */ + code: string; + + /** Name of the department (e.g., "Computer Science") */ + name: string; +} + +/** + * Represents a prerequisite relationship between two courses. + */ +export interface PrerequisiteModel { + /** Unique identifier for the prerequisite relationship */ + id: number; + + /** Timestamp of when the prerequisite relationship was created */ + created_at: string; + + /** Timestamp of when the prerequisite relationship was last updated */ + updated_at: string; + + /** Course ID for the course that has the prerequisite */ + course_id: number; + + /** Course ID for the course that is the prerequisite */ + prerequisite_id: number; + + /** Course code for the course that has the prerequisite */ + course_code: string; + + /** Course code for the prerequisite course */ + prerequisite_code: string; +} + +/** + * Represents a corequisite relationship between two courses. + */ +export interface CorequisiteModel { + /** Unique identifier for the corequisite relationship */ + id: number; + + /** Timestamp of when the corequisite relationship was created */ + created_at: string; + + /** Timestamp of when the corequisite relationship was last updated */ + updated_at: string; + + /** Course ID for the course that has the corequisite */ + course_id: number; + + /** Course ID for the course that is the corequisite */ + corequisite_id: number; + + /** Course code for the course that has the corequisite */ + course_code: string; + + /** Course code for the corequisite course */ + corequisite_code: string; +} + +/** + * Represents an offering of a course, including details such as schedule and capacity. + */ +export interface OfferingModel { + /** Unique identifier for the course offering */ + id: number; + + /** Timestamp of when the course offering was created */ + created_at: string; + + /** Timestamp of when the course offering was last updated */ + updated_at: string; + + /** ID of the course being offered */ + course_id: number; + + /** Unique code for the offering (e.g., "001" for a specific section) */ + code: string; + + /** The meeting section for the course offering (e.g "LEC 01", "TUT 0001") */ + meeting_section: string; + + /** Offering identifier (e.g., "Fall 2025") */ + offering: string; + + /** Day(s) of the week the course is offered */ + day: string; + + /** Start time of the course offering */ + start: string; + + /** End time of the course offering */ + end: string; + + /** Location where the course is held */ + location: string; + + /** Number of students currently enrolled */ + current: string; + + /** Maximum number of students allowed in the offering */ + max: string; + + /** Indicates if the offering has a waitlist */ + is_waitlisted: boolean; + + /** Delivery mode of the course (e.g., "Online Synchronous", "In-person") */ + delivery_mode: string; + + /** Instructor name for the course offering */ + instructor: string; + + /** Additional notes about the course offering */ + notes: string; +} + +/** + * Represents a timetable including details like its title, semester, and favorite satus + */ +export interface TimetableModel { + /** Unique identifier */ + id: number; + + /** Creation timestamp */ + created_at: string; + + /** Last updated at timestamp */ + updated_at: string; + + /** Name of timetable */ + timetable_title: string; + + /** ID of user owning this timetable */ + user_id: string; + + /** Semester that the timetable is for */ + semester: string; + + /** Is timetable favorited by user */ + favorite: boolean; + + /** Has user enabled email notifications for this timetable */ + email_notifications_enabled: boolean; +} + +export type GenerateTimetableOffering = Omit< + OfferingModel, + "created_at" | "updated_at" +>; + +/** + * Response data of generate timetable call + */ +export interface TimetableGenerateResponseModel { + amount: number; + schedules: GenerateTimetableOffering[][]; +} diff --git a/course-matrix/frontend/src/models/signup-form.ts b/course-matrix/frontend/src/models/signup-form.ts new file mode 100644 index 00000000..fdf44162 --- /dev/null +++ b/course-matrix/frontend/src/models/signup-form.ts @@ -0,0 +1,37 @@ +import { z, ZodType } from "zod"; + +export type SignupForm = { + username: string; + email: string; + password: string; + confirmPassword: string; +}; + +export const SignupFormSchema: ZodType = z + .object({ + username: z + .string() + .min(1, "Please enter a Username") + .max(50, "Username must be 50 characters or less"), + email: z.string().min(1, "Please enter an email").email("Invalid email"), + password: z + .string() + .min(8, "Password must be at least 8 characters") + .regex(/[A-Z]/, "Password must contain at least one uppercase letter") + .regex(/[a-z]/, "Password must contain at least one lowercase letter") + .regex(/[0-9]/, "Password must contain at least one number") + .regex( + /[^A-Za-z0-9]/, + "Password must contain at least one special character", + ), + confirmPassword: z.string(), + }) + .refine( + (data) => { + return data.password === data.confirmPassword; + }, + { + message: "Passwords do not match", + path: ["password"], + }, + ); diff --git a/course-matrix/frontend/src/models/timetable-form.ts b/course-matrix/frontend/src/models/timetable-form.ts new file mode 100644 index 00000000..9ec4fd81 --- /dev/null +++ b/course-matrix/frontend/src/models/timetable-form.ts @@ -0,0 +1,333 @@ +import { z, ZodType } from "zod"; +import { OfferingModel } from "./models"; + +const timeRegex = /^([01]\d|2[0-3]):([0-5]\d)$/; + +export type TimetableForm = { + name: string; + date: Date; + semester: string; + search: string; + courses: { id: number; code: string; name: string }[]; + offeringIds: number[]; + restrictions: RestrictionForm[]; +}; + +export type RestrictionForm = { + type: string; + days?: string[]; + numDays?: number; + maxGap?: number; + startTime?: Date; + endTime?: Date; + disabled?: boolean; +}; + +export const daysOfWeek = [ + { + id: "MO", + label: "Monday", + }, + { + id: "TU", + label: "Tuesday", + }, + { + id: "WE", + label: "Wednesday", + }, + { + id: "TH", + label: "Thursday", + }, + { + id: "FR", + label: "Friday", + }, +] as const; + +export const SemesterEnum = z.enum(["Summer 2025", "Fall 2025", "Winter 2026"]); + +export const CourseSchema = z.object({ + id: z.number(), + code: z + .string() + .max(8, "Invalid course code") + .min(1, "Course code is required"), + name: z.string(), +}); + +export const TimetableSchema = z.object({ + id: z.number(), + created_at: z.string(), + updated_at: z.string(), + user_id: z.string(), + semester: z.string(), + timetable_title: SemesterEnum, + favorite: z.boolean(), +}); + +export const OfferingSchema = z.object({ + id: z.number(), + created_at: z.string(), + updated_at: z.string(), + course_id: z.number(), + code: z.string(), + meeting_section: z.string(), + offering: z.string(), + day: z.string(), + start: z.string(), + end: z.string(), + location: z.string(), + current: z.string(), + max: z.string(), + is_waitlisted: z.boolean(), + delivery_mode: z.string(), + instructor: z.string(), + notes: z.string().optional(), +}); + +export const RestrictionSchema = z + .object({ + type: z.string().min(1, "Restriction type is required"), + days: z.array(z.string()).optional(), + numDays: z + .number() + .positive() + .max(4, "Cannot block all days of the week") + .optional(), + // startTime: z.string().regex(timeRegex, "Invalid time format + // (HH:MM)").optional(), endTime: z.string().regex(timeRegex, "Invalid + // time format (HH:MM)").optional(), + maxGap: z.number().positive().max(23, "Gap too big").optional(), + startTime: z.date().optional(), + endTime: z.date().optional(), + disabled: z.boolean().optional(), + }) + .refine( + (data) => { + if (data.type === "Restrict Between" && data.startTime && data.endTime) { + return data.startTime < data.endTime; + } + return true; // Allow if either undefined + }, + { + message: "Start time must be before end time", + path: ["startTime"], + }, + ) + .refine( + (data) => { + if ( + data.type && + (data.type === "Restrict Before" || data.type === "Restrict Between") && + !data.endTime + ) + return false; + return true; + }, + { + message: "Must choose time", + path: ["endTime"], + }, + ) + .refine( + (data) => { + if ( + data.type && + (data.type === "Restrict After" || data.type === "Restrict Between") && + !data.startTime + ) + return false; + return true; + }, + { + message: "Must choose time", + path: ["startTime"], + }, + ) + .refine( + (data) => { + if ( + data.type && + data.type === "Restrict Day" && + data.days && + data.days.length > 4 + ) + return false; + return true; + }, + { + message: "Cannot block all days", + path: ["days"], + }, + ) + .refine( + (data) => { + if ( + data.type && + data.type.startsWith("Restrict") && + data.days && + data.days.length < 1 + ) + return false; + return true; + }, + { + message: "Must choose at least 1 day", + path: ["days"], + }, + ) + .refine( + (data) => { + if ( + data.type && + data.type === "Days Off" && + data.numDays && + data.numDays > 4 + ) + return false; + return true; + }, + { + message: "Cannot block all days", + path: ["numDays"], + }, + ) + .refine( + (data) => { + if ( + data.type && + data.type === "Days Off" && + (!data.numDays || data.numDays < 1) + ) + return false; + return true; + }, + { + message: "Number must be at least 1", + path: ["numDays"], + }, + ) + .refine( + (data) => { + if ( + data.type && + data.type === "Restrict Before" && + data.endTime?.getHours() === 0 && + data.endTime?.getMinutes() === 0 + ) { + return false; + } + return true; + }, + { + message: "Cannot restrict whole day", + path: ["endTime"], + }, + ) + .refine( + (data) => { + if ( + data.type && + data.type === "Restrict After" && + data.startTime?.getHours() === 0 && + data.startTime?.getMinutes() === 0 + ) { + return false; + } + return true; + }, + { + message: "Cannot restrict whole day", + path: ["startTime"], + }, + ); + +export const TimetableFormSchema: ZodType = z + .object({ + name: z + .string() + .max(100, "Name cannot exceed 100 characters") + .min(1, "Name cannot be empty"), + date: z.date(), + semester: SemesterEnum, + search: z.string(), + courses: z.array(CourseSchema), + offeringIds: z.array(z.number()), + restrictions: z.array(RestrictionSchema), + }) + .refine( + (data) => { + return !(data.courses.length < 1); + }, + { + message: "Must pick at least 1 course", + path: ["search"], + }, + ) + .refine( + (data) => { + return !(data.courses.length > 8); + }, + { + message: "Cannot pick more than 8 courses", + path: ["search"], + }, + ) + .refine( + (data) => { + return !( + data.restrictions.filter((r) => r.type === "Days Off").length > 1 + ); + }, + { + message: "Already added minimum days off per week", + path: ["restrictions"], + }, + ) + .refine( + (data) => { + return !hasDuplicate(data.restrictions); + }, + { + message: "Duplicate restriction detected. Please remove.", + path: ["restrictions"], + }, + ); + +export const baseTimetableForm: TimetableForm = { + name: "New Timetable", + date: new Date(), + semester: "Fall 2025", + search: "", + courses: [], + restrictions: [], + offeringIds: [], +}; + +export const baseRestrictionForm: RestrictionForm = { + type: "", + days: [], + disabled: false, +}; + +function hasDuplicate(restrictions: RestrictionForm[]) { + const seen: RestrictionForm[] = []; + for (const r of restrictions) { + if ( + seen.some( + (s) => + s.type === r.type && + ((s.numDays && r.numDays && s.numDays === r.numDays) || + (s.days?.sort().join(" ") === r.days?.sort().join(" ") && + s.startTime?.getHours() === r.startTime?.getHours() && + s.endTime?.getHours() === s.endTime?.getHours())), + ) + ) { + return true; + } + seen.push(r); + } + return false; +} diff --git a/course-matrix/frontend/src/pages/Assistant/AssistantPage.tsx b/course-matrix/frontend/src/pages/Assistant/AssistantPage.tsx new file mode 100644 index 00000000..7fdf44ba --- /dev/null +++ b/course-matrix/frontend/src/pages/Assistant/AssistantPage.tsx @@ -0,0 +1,7 @@ +import { Assistant } from "@/pages/Assistant/assistant"; + +const AssistantPage = () => { + return ; +}; + +export default AssistantPage; diff --git a/course-matrix/frontend/src/pages/Assistant/assistant.tsx b/course-matrix/frontend/src/pages/Assistant/assistant.tsx new file mode 100644 index 00000000..bb91cd5b --- /dev/null +++ b/course-matrix/frontend/src/pages/Assistant/assistant.tsx @@ -0,0 +1,11 @@ +import { Thread } from "@/components/assistant-ui/thread"; +import { ThreadList } from "@/components/assistant-ui/thread-list"; + +export const Assistant = () => { + return ( +
      + + +
      + ); +}; diff --git a/course-matrix/frontend/src/pages/Assistant/runtime-provider.tsx b/course-matrix/frontend/src/pages/Assistant/runtime-provider.tsx new file mode 100644 index 00000000..99d8024a --- /dev/null +++ b/course-matrix/frontend/src/pages/Assistant/runtime-provider.tsx @@ -0,0 +1,78 @@ +import { SERVER_URL } from "@/api/config"; +import { createContext } from "react"; +import { AssistantCloud, AssistantRuntimeProvider } from "@assistant-ui/react"; +import { useChatRuntime } from "@assistant-ui/react-ai-sdk"; +import { useState, useCallback, useContext, useEffect } from "react"; + +const PUBLIC_ASSISTANT_BASE_URL = import.meta.env + .VITE_PUBLIC_ASSISTANT_BASE_URL; +const ASSISTANT_UI_KEY = import.meta.env.VITE_ASSISTANT_UI_KEY; + +interface RuntimeContextType { + refreshRuntime: () => void; +} + +const RuntimeContext = createContext(undefined); + +// Hook to access the runtime refresh function +export function useRuntimeRefresh() { + const context = useContext(RuntimeContext); + if (!context) { + throw new Error("useRuntimeRefresh must be used within a RuntimeProvider"); + } + return context.refreshRuntime; +} + +export function RuntimeProvider({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + // Add a state to force re-renders + const [refreshKey, setRefreshKey] = useState(0); + + // Function to trigger a refresh + const refreshRuntime = useCallback(() => { + setRefreshKey((prev) => prev + 1); + }, []); + + const getUserId = () => { + const user = JSON.parse(localStorage.getItem("userInfo") ?? "{}"); + return user?.user?.id; + }; + + const userId = getUserId(); + + const getAuthToken = async () => { + const client = new AssistantCloud({ + apiKey: ASSISTANT_UI_KEY!, + userId, + workspaceId: userId, + }); + const { token } = await client.auth.tokens.create(); + return token; + }; + + const cloud = new AssistantCloud({ + baseUrl: PUBLIC_ASSISTANT_BASE_URL!, + authToken: () => getAuthToken(), + }); + + const runtime = useChatRuntime({ + cloud, + api: `${SERVER_URL}/api/ai/chat`, + credentials: "include", + }); + + const contextValue = { + refreshRuntime, + }; + + return ( + + + {children} + + + ); +} diff --git a/course-matrix/frontend/src/pages/Compare/CompareTimetables.tsx b/course-matrix/frontend/src/pages/Compare/CompareTimetables.tsx new file mode 100644 index 00000000..54c68012 --- /dev/null +++ b/course-matrix/frontend/src/pages/Compare/CompareTimetables.tsx @@ -0,0 +1,271 @@ +import { useGetTimetablesQuery } from "@/api/timetableApiSlice"; +import { Button } from "@/components/ui/button"; +import { Timetable } from "@/utils/type-utils"; +import { useCallback, useEffect, useState } from "react"; +import { Link, useSearchParams } from "react-router-dom"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { useForm } from "react-hook-form"; +import { z } from "zod"; +import { CompareFormSchema } from "../Home/TimetableCompareButton"; +import { + Form, + FormControl, + FormField, + FormItem, + FormMessage, +} from "@/components/ui/form"; +import { + Select, + SelectContent, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { GitCompareArrows } from "lucide-react"; +import { useGetTimetablesSharedWithMeQuery } from "@/api/sharedApiSlice"; +import { TimetableShare } from "../Home/Home"; +import ViewCalendar from "../TimetableBuilder/ViewCalendar"; +import { sortTimetablesComparator } from "@/utils/calendar-utils"; +import TimetableCompareItem from "../Home/TimetableCompareItem"; + +export const CompareTimetables = () => { + const [timetable1, setTimetable1] = useState(); + const [timetable2, setTimetable2] = useState(); + const [queryParams] = useSearchParams(); + + const preselectedTimetableId1 = queryParams.get("id1"); + const preselectedTimetableId2 = queryParams.get("id2"); + const preselectedUserId1 = queryParams.get("userId1"); + const preselectedUserId2 = queryParams.get("userId2"); + const needsToLoadTimetable = + preselectedTimetableId1 !== null && + preselectedTimetableId2 !== null && + preselectedUserId1 !== null && + preselectedUserId2 !== null; + + const compareForm = useForm>({ + resolver: zodResolver(CompareFormSchema), + defaultValues: { + timetable1: queryParams.has("id1") + ? `timetable1/${preselectedTimetableId1}/${preselectedUserId1}` + : undefined, + timetable2: queryParams.has("id2") + ? `timetable2/${preselectedTimetableId2}/${preselectedUserId2}` + : undefined, + }, + }); + + const { data: myTimetablesData } = useGetTimetablesQuery() as { + data: Timetable[]; + }; + const { data: sharedWithMeTimetablesData } = + useGetTimetablesSharedWithMeQuery() as { data: TimetableShare[] }; + + const myOwningTimetables = [...(myTimetablesData ?? [])].sort( + sortTimetablesComparator, + ); + const sharedWithMeTimetables = [...(sharedWithMeTimetablesData ?? [])] + .flatMap((share) => share.timetables) + .sort(sortTimetablesComparator); + const allTimetables = [...myOwningTimetables, ...sharedWithMeTimetables] + .map((timetable, index) => ({ + ...timetable, + isShared: index >= myOwningTimetables.length, + })) + .sort(sortTimetablesComparator); + + const [loadedPreselectedTimetables, setLoadedPreselectedTimetables] = + useState(!needsToLoadTimetable); + + useEffect(() => { + if ( + preselectedTimetableId1 && + preselectedUserId1 && + preselectedTimetableId2 && + preselectedUserId2 && + myTimetablesData && + sharedWithMeTimetablesData && + !loadedPreselectedTimetables + ) { + setTimetable1( + allTimetables.find( + (t) => + t.id === parseInt(preselectedTimetableId1) && + t.user_id === preselectedUserId1, + ), + ); + setTimetable2( + allTimetables.find( + (t) => + t.id === parseInt(preselectedTimetableId2) && + t.user_id === preselectedUserId2, + ), + ); + setLoadedPreselectedTimetables(true); + } + }, [ + preselectedTimetableId1, + preselectedUserId1, + preselectedTimetableId2, + preselectedUserId2, + allTimetables, + loadedPreselectedTimetables, + myTimetablesData, + sharedWithMeTimetablesData, + ]); + + const onSubmit = useCallback( + (values: z.infer) => { + console.log("Compare Form submitted:", values); + + const timetableId1 = parseInt(values.timetable1.split("/")[1]); + const timetableId2 = parseInt(values.timetable2.split("/")[1]); + const timetableUserId1 = values.timetable1.split("/")[2]; + const timetableUserId2 = values.timetable2.split("/")[2]; + + setTimetable1( + allTimetables.find( + (t) => t.id === timetableId1 && t.user_id === timetableUserId1, + ), + ); + setTimetable2( + allTimetables.find( + (t) => t.id === timetableId2 && t.user_id === timetableUserId2, + ), + ); + }, + [allTimetables], + ); + + return ( + <> +
      +
      +
      +
      +

      + Comparing Timetables +

      +
      +
      + + ( + + + + + )} + /> + + ( + + + + + )} + /> + + +
      + + + +
      +
      +
      +
      +
      + {!timetable1 ? ( +
      + Select a timetable to compare +
      + ) : ( + + )} +
      +
      + {!timetable2 ? ( +
      + Select a timetable to compare +
      + ) : ( + + )} +
      +
      +
      +
      + + ); +}; diff --git a/course-matrix/frontend/src/pages/Dashboard/Dashboard.tsx b/course-matrix/frontend/src/pages/Dashboard/Dashboard.tsx new file mode 100644 index 00000000..625e15f5 --- /dev/null +++ b/course-matrix/frontend/src/pages/Dashboard/Dashboard.tsx @@ -0,0 +1,112 @@ +import { AppSidebar } from "@/components/app-sidebar"; +import { + Breadcrumb, + BreadcrumbList, + BreadcrumbItem, + BreadcrumbLink, + BreadcrumbSeparator, + BreadcrumbPage, +} from "@/components/ui/breadcrumb"; +import { + SidebarProvider, + SidebarInset, + SidebarTrigger, +} from "@/components/ui/sidebar"; +import { UserMenu } from "@/components/UserMenu"; +import { Separator } from "@radix-ui/react-separator"; +import { Link, Navigate, Route, Routes, useLocation } from "react-router-dom"; +import TimetableBuilder from "../TimetableBuilder/TimetableBuilder"; +import AssistantPage from "../Assistant/AssistantPage"; +import { RuntimeProvider } from "../Assistant/runtime-provider"; +import Home from "../Home/Home"; +import { CompareTimetables } from "../Compare/CompareTimetables"; +import EditAccountDialog from "./EditAccountDialog"; +import { useState } from "react"; + +/** + * Dashboard Component + * + * This component serves as the main layout for the dashboard, handling: + * - **Sidebar Navigation**: Manage sidebar state. + * - **Breadcrumb Navigation**: Displays the current page path dynamically based on `useLocation()`. + * - **User Menu**: Includes `UserMenu` for user-related actions. + * - **Routing**: Manages dashboard routes with React Router, supporting: + * - `/dashboard/home`: Displays the home page. + * - `/dashboard/timetable`: Renders the `TimetableBuilder` page component. + * - `/dashboard/assistant`: Renders the chatbot AI Assistant page. + * - Any unknown path (`*`): Redirects to `/not-found`. + * + * @returns {JSX.Element} The rendered dashboard layout. + */ +const Dashboard = () => { + const location = useLocation(); + const [openEditAccountDialog, setOpenEditAccountDialog] = useState(false); + + return ( + <> + +
      +
      + + + +
      +
      + + + + + + {location.pathname === "/dashboard/home" ? ( + Home + ) : location.pathname === "/dashboard/timetable" ? ( + + Timetable Builder + + ) : location.pathname === "/dashboard/assistant" ? ( + AI Assistant + ) : location.pathname.startsWith( + "/dashboard/compare", + ) ? ( + + Timetable Compare + + ) : ( + <> + )} + + {/* */} + {/* + Data Fetching + */} + + +
      +
      + + +
      +
      +
      + + } /> + } /> + } /> + } /> + } /> + } /> + +
      +
      +
      +
      +
      +
      + + ); +}; + +export default Dashboard; diff --git a/course-matrix/frontend/src/pages/Dashboard/EditAccountDialog.tsx b/course-matrix/frontend/src/pages/Dashboard/EditAccountDialog.tsx new file mode 100644 index 00000000..cfe4badb --- /dev/null +++ b/course-matrix/frontend/src/pages/Dashboard/EditAccountDialog.tsx @@ -0,0 +1,73 @@ +import { + Dialog, + DialogContent, + DialogHeader, + DialogFooter, + DialogTitle, + DialogDescription, + DialogClose, +} from "@/components/ui/dialog"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { Label } from "@/components/ui/label"; +import { useUpdateUsernameMutation } from "@/api/authApiSlice"; +import { useRef } from "react"; + +interface EditAccountDialogProps { + open: boolean; + setOpen: (open: boolean) => void; +} + +const EditAccountDialog = ({ open, setOpen }: EditAccountDialogProps) => { + const [updateUsername] = useUpdateUsernameMutation(); + + const usernameRef = useRef(null); + const user_metadata = JSON.parse(localStorage.getItem("userInfo") ?? "{}"); //User Data + const userId = user_metadata.user.id; + + const handleUsernameUpdate = async () => { + try { + const username = usernameRef?.current?.value; + if (!username || !username.trim()) { + return; + } + user_metadata.user.user_metadata.username = + usernameRef.current?.value.trimEnd(); + localStorage.setItem("userInfo", JSON.stringify(user_metadata)); + await updateUsername({ + userId: userId, + username: user_metadata.user.user_metadata.username, + }); + } catch (err) { + console.error("Update username failed: ", err); + } + }; + + return ( + + + + Edit Account + Edit your account details. + + + + + + + + + + + + + + ); +}; + +export default EditAccountDialog; diff --git a/course-matrix/frontend/src/pages/Home/EmailNotificationSettings.tsx b/course-matrix/frontend/src/pages/Home/EmailNotificationSettings.tsx new file mode 100644 index 00000000..cf52be96 --- /dev/null +++ b/course-matrix/frontend/src/pages/Home/EmailNotificationSettings.tsx @@ -0,0 +1,102 @@ +import { + useGetTimetableQuery, + useUpdateTimetableMutation, +} from "@/api/timetableApiSlice"; +import { Button } from "@/components/ui/button"; +import { + Dialog, + DialogClose, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, + DialogTrigger, +} from "@/components/ui/dialog"; +import { Switch } from "@/components/ui/switch"; +import { useToast } from "@/hooks/use-toast"; +import { TimetableModel } from "@/models/models"; +import { useEffect, useState } from "react"; + +interface EmailNotificationSettingsProps { + timetableId: number; +} + +export const EmailNotificationSettings = ({ + timetableId, +}: EmailNotificationSettingsProps) => { + const { data, isLoading, refetch } = useGetTimetableQuery(timetableId); + const [updateTimetable] = useUpdateTimetableMutation(); + const { toast } = useToast(); + const [toggled, setToggled] = useState(false); + + const handleCancel = () => { + setToggled((data as TimetableModel[])[0]?.email_notifications_enabled); + }; + + useEffect(() => { + if (data) { + const val = (data as TimetableModel[])[0]?.email_notifications_enabled; + if (val !== undefined) { + setToggled(val); + } + } + }, [data]); + + const handleUpdateEmailNotifications = async () => { + try { + await updateTimetable({ + id: timetableId, + email_notifications_enabled: toggled, + }).unwrap(); + toast({ + description: `Email notifications have been ${toggled ? "enabled" : "disabled"}.`, + }); + refetch(); + } catch (error) { + console.error("Failed to update timetable:", error); + } + }; + + return ( + + + + + + + Notification settings + + Email notifications will be sent to your account email. + + +
      +
      +
      +
      Course event emails
      +
      + Recieve emails prior to upcoming course events +
      +
      +
      + setToggled(!toggled)} + /> +
      +
      +
      + + + + + + + + +
      +
      + ); +}; diff --git a/course-matrix/frontend/src/pages/Home/Home.tsx b/course-matrix/frontend/src/pages/Home/Home.tsx new file mode 100644 index 00000000..ba29e039 --- /dev/null +++ b/course-matrix/frontend/src/pages/Home/Home.tsx @@ -0,0 +1,203 @@ +import { Button } from "@/components/ui/button"; +import { + Dialog, + DialogContent, + DialogFooter, + DialogTitle, + DialogClose, +} from "@/components/ui/dialog"; +import { Pin } from "lucide-react"; +import TimetableCard from "./TimetableCard"; +import TimetableCreateNewButton from "./TimetableCreateNewButton"; +import { useGetTimetablesQuery } from "../../api/timetableApiSlice"; +import { TimetableCompareButton } from "./TimetableCompareButton"; +import { useState, useEffect } from "react"; +import TimetableErrorDialog from "../TimetableBuilder/TimetableErrorDialog"; +import { useGetTimetablesSharedWithMeQuery } from "@/api/sharedApiSlice"; +import ViewCalendar from "../TimetableBuilder/ViewCalendar"; +import { sortTimetablesComparator } from "@/utils/calendar-utils"; + +export interface Timetable { + id: number; + created_at: string; + updated_at: string; + user_id: string; + semester: string; + timetable_title: string; + favorite: boolean; +} + +export interface TimetableShare { + id: number; + calendar_id: number; + owner_id: string; + shared_id: string; + timetables: Timetable[]; +} + +/** + * Home component that displays the user's timetables and provides options to create or compare timetables. + * @returns {JSX.Element} The rendered component. + */ +const Home = () => { + const { + data: myTimetablesData, + isLoading: myTimetablesDataLoading, + refetch: refetchMyTimetables, + } = useGetTimetablesQuery() as { + data: Timetable[]; + isLoading: boolean; + refetch: () => void; + }; + + const { + data: sharedWithMeData, + isLoading: sharedWithmeDataLoading, + refetch: refetchSharedTimetables, + } = useGetTimetablesSharedWithMeQuery() as { + data: TimetableShare[]; + isLoading: boolean; + refetch: () => void; + }; + + const isLoading = myTimetablesDataLoading || sharedWithmeDataLoading; + + const myOwningTimetables = [...(myTimetablesData ?? [])].sort( + sortTimetablesComparator, + ); + const sharedWithMeTimetables = [...(sharedWithMeData ?? [])] + .flatMap((share) => share.timetables) + .sort(sortTimetablesComparator); + const allTimetables = [...myOwningTimetables, ...sharedWithMeTimetables] + .map((timetable, index) => ({ + ...timetable, + isShared: index >= myOwningTimetables.length, + })) + .sort(sortTimetablesComparator); + + const [errorMessage, setErrorMessage] = useState(null); + const [count, setCount] = useState(0); + + useEffect(() => { + if (myTimetablesData !== undefined) setCount(myTimetablesData.length); + }, [myTimetablesData]); + const [activeTab, setActiveTab] = useState("Mine"); + + const [selectedSharedTimetable, setSelectedSharedTimetable] = + useState(null); + const selectedSharedTimetableId = selectedSharedTimetable?.id ?? -1; + const selectedSharedTimetableTitle = + selectedSharedTimetable?.timetable_title ?? ""; + const selectedSharedTimetableOwnerId = selectedSharedTimetable?.user_id ?? ""; + const selectSharedTimetableSemester = selectedSharedTimetable?.semester ?? ""; + + return ( +
      +
      + setSelectedSharedTimetable(null)} + > + + + + + + + + +
      +

      My Timetables

      + + +

      = 25 + ? "text-sm font-bold text-red-500" + : "text-sm font-normal text-black" + }`} + > + {" "} + (No. Timetables: {count}/25) +

      +
      + +
      +
      + + +
      +
      + + +
      +
      +
      +
      + {isLoading ? ( +

      Loading...

      + ) : activeTab === "Mine" ? ( + myOwningTimetables.map((timetable) => ( + + )) + ) : ( + sharedWithMeTimetables.map((timetable) => ( + + )) + )} +
      +
      +
      + ); +}; + +export default Home; diff --git a/course-matrix/frontend/src/pages/Home/TimetableCard.tsx b/course-matrix/frontend/src/pages/Home/TimetableCard.tsx new file mode 100644 index 00000000..8a5618f0 --- /dev/null +++ b/course-matrix/frontend/src/pages/Home/TimetableCard.tsx @@ -0,0 +1,265 @@ +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { Star, Pencil } from "lucide-react"; +import { useState, useEffect } from "react"; +import TimetableCardKebabMenu from "./TimetableCardKebabMenu"; +import TimetableCardShareKebabMenu from "./TimetableCardShareKebabMenu"; +import { useGetUsernameFromUserIdQuery } from "@/api/authApiSlice"; +import { Timetable } from "./Home"; +import { + useUpdateTimetableMutation, + useGetTimetableQuery, +} from "@/api/timetableApiSlice"; +import { Link } from "react-router-dom"; +import { TimetableModel } from "@/models/models"; +import { SemesterIcon } from "@/components/semester-icon"; +import { convertTimestampToLocaleTime } from "../../utils/convert-timestamp-to-locale-time"; + +const semesterToBgColor = (semester: string) => { + if (semester.startsWith("Fall")) { + return "bg-red-100"; + } else if (semester.startsWith("Winter")) { + return "bg-blue-100"; + } else { + return "bg-yellow-100"; + } +}; + +interface TimetableCardProps { + refetchMyTimetables: () => void; + refetchSharedTimetables: () => void; + setErrorMessage: React.Dispatch>; + ownerId: string; + title: string; + lastEditedDate: Date; + isShared: boolean; + timetable: Timetable; + setSelectedSharedTimetable: React.Dispatch< + React.SetStateAction + >; + favorite: boolean; +} + +/** + * Component for displaying a timetable card with options to edit the title and access a kebab menu. + * @param {TimetableCardProps} props - The properties for the timetable card. + * @returns {JSX.Element} The rendered component. + */ +const TimetableCard = ({ + refetchMyTimetables, + refetchSharedTimetables, + setErrorMessage, + ownerId, + title, + lastEditedDate, + isShared, + timetable, + setSelectedSharedTimetable, + favorite, +}: TimetableCardProps) => { + /// small blurred version + + const [updateTimetable] = useUpdateTimetableMutation(); + const timetableId = timetable.id; + + const user_metadata = JSON.parse(localStorage.getItem("userInfo") ?? "{}"); + const loggedInUsername = + (user_metadata?.user?.user_metadata?.username as string) ?? + (user_metadata?.user?.email as string); + const { data: usernameData } = useGetUsernameFromUserIdQuery(ownerId); + const ownerUsername = isShared + ? (usernameData ?? "John Doe") + : loggedInUsername; + + const [timetableCardTitle, setTimetableCardTitle] = useState(title); + const [isEditingTitle, setIsEditingTitle] = useState(false); + const { data, refetch } = useGetTimetableQuery(timetableId); + const [toggled, setToggled] = useState(favorite); + const [lastEdited, setLastEdited] = useState( + convertTimestampToLocaleTime(lastEditedDate.toISOString()).split(",")[0], + ); + + const handleSave = async () => { + try { + await updateTimetable({ + id: timetableId, + timetable_title: timetableCardTitle, + }).unwrap(); + setIsEditingTitle(false); + } catch (error) { + const errorData = (error as { data?: { error?: string } }).data; + setErrorMessage(errorData?.error ?? "Unknown error occurred"); + return; + } + refetch(); + }; + + useEffect(() => { + if (data) { + const val = (data as TimetableModel[])[0]?.favorite; + if (val !== undefined) { + setToggled(val); + } + setLastEdited( + convertTimestampToLocaleTime( + (data as TimetableModel[])[0]?.updated_at, + ).split(",")[0], + ); + } + }, [data]); + + const handleFavourite = async () => { + try { + await updateTimetable({ + id: timetableId, + favorite: !toggled, + }).unwrap(); + refetchMyTimetables(); + refetchSharedTimetables(); + console.log("Favourite success!"); + setToggled(!toggled); + console.log(!toggled); + } catch (error) { + console.error("Failed to favourite timetable:", error); + } + }; + + return isShared ? ( + + +
      +
      + +
      +
      + +
      + + + +
      + + +
      +
      +
      + + +
      + Last edited{" "} + { + convertTimestampToLocaleTime(lastEditedDate.toISOString()).split( + ",", + )[0] + } +
      + +
      Owned by: {ownerUsername}
      +
      +
      +
      + ) : ( + + + +
      +
      + +
      +
      + +
      + + setTimetableCardTitle(e.target.value)} + /> + + +
      + {!isEditingTitle && ( + <> + handleFavourite()} + /> + + + + )} + {isEditingTitle && ( + + )} +
      +
      +
      + + +
      Last edited {lastEdited}
      +
      Owned by: {ownerUsername}
      +
      +
      +
      + ); +}; + +export default TimetableCard; diff --git a/course-matrix/frontend/src/pages/Home/TimetableCardKebabMenu.tsx b/course-matrix/frontend/src/pages/Home/TimetableCardKebabMenu.tsx new file mode 100644 index 00000000..717f9c86 --- /dev/null +++ b/course-matrix/frontend/src/pages/Home/TimetableCardKebabMenu.tsx @@ -0,0 +1,120 @@ +import { Button } from "@/components/ui/button"; +import { Link } from "react-router-dom"; +import { + DropdownMenu, + DropdownMenuTrigger, + DropdownMenuContent, + DropdownMenuItem, +} from "@/components/ui/dropdown-menu"; +import { + Dialog, + DialogTrigger, + DialogContent, + DialogHeader, + DialogFooter, + DialogTitle, + DialogDescription, + DialogClose, +} from "@/components/ui/dialog"; +import { EllipsisVertical } from "lucide-react"; +import { useDeleteTimetableMutation } from "@/api/timetableApiSlice"; +import { EmailNotificationSettings } from "./EmailNotificationSettings"; +import ShareDialog from "../TimetableBuilder/ShareDialog"; +import { useState } from "react"; + +interface TimetableCardKebabMenuProps { + refetchMyTimetables: () => void; + refetchSharedTimetables: () => void; + timetableId: number; +} + +/** + * Component for the kebab menu in the timetable card, providing options to edit or delete the timetable. + * @returns {JSX.Element} The rendered component. + */ +const TimetableCardKebabMenu = ({ + refetchMyTimetables, + refetchSharedTimetables, + timetableId, +}: TimetableCardKebabMenuProps) => { + const [openShareDialog, setOpenShareDialog] = useState(false); + const [deleteTimetable] = useDeleteTimetableMutation(); + + const handleDelete = async () => { + try { + await deleteTimetable(timetableId); + refetchMyTimetables(); + refetchSharedTimetables(); + } catch (error) { + console.error("Failed to delete timetable:", error); + } + }; + + return ( + + + + + + + + Edit Timetable + + + e.preventDefault()}> + + + e.preventDefault()} + className="cursor-pointer" + onClick={() => setOpenShareDialog(true)} + > + Share Timetable + + + e.preventDefault()}> + + + + + + + + Delete Timetable + + + Are you sure you want to delete your timetable? This action + cannot be undone. + + + + + + + + + + + + + + + + ); +}; + +export default TimetableCardKebabMenu; diff --git a/course-matrix/frontend/src/pages/Home/TimetableCardShareKebabMenu.tsx b/course-matrix/frontend/src/pages/Home/TimetableCardShareKebabMenu.tsx new file mode 100644 index 00000000..74eb2fc8 --- /dev/null +++ b/course-matrix/frontend/src/pages/Home/TimetableCardShareKebabMenu.tsx @@ -0,0 +1,105 @@ +import { Button } from "@/components/ui/button"; +import { + DropdownMenu, + DropdownMenuTrigger, + DropdownMenuContent, + DropdownMenuItem, +} from "@/components/ui/dropdown-menu"; +import { + Dialog, + DialogTrigger, + DialogContent, + DialogHeader, + DialogFooter, + DialogTitle, + DialogDescription, + DialogClose, +} from "@/components/ui/dialog"; +import { EllipsisVertical } from "lucide-react"; +import { useDeleteSharedTimetablesWithMeMutation } from "@/api/sharedApiSlice"; +import { useState } from "react"; +import TimetableErrorDialog from "../TimetableBuilder/TimetableErrorDialog"; + +interface TimetableCardShareKebabMenu { + refetchMyTimetables: () => void; + refetchSharedTimetables: () => void; + owner_id: string; + calendar_id: number; +} + +/** + * Component for the kebab menu in the shared timetable card, providing options to remove the shared timetable from the user's dashboard. + * @returns {JSX.Element} The rendered component. + */ +const TimetableCardShareKebabMenu = ({ + refetchMyTimetables, + refetchSharedTimetables, + owner_id, + calendar_id, +}: TimetableCardShareKebabMenu) => { + const [deleteSharedTimetable] = useDeleteSharedTimetablesWithMeMutation(); + const [errorMessage, setErrorMessage] = useState(null); + + const handleRemove = async () => { + const { error } = await deleteSharedTimetable({ owner_id, calendar_id }); + + if (error) { + const errorData = (error as { data?: { error?: string } }).data; + setErrorMessage(errorData?.error ?? "Unknown error occurred"); + return; + } else { + refetchMyTimetables(); + refetchSharedTimetables(); + } + }; + + return ( + + + + + + e.preventDefault()}> + + + + + + + + + Remove Timetable Shared To You + + + Are you sure you want to remove this timetable shared with + you? This action cannot be undone. + + + + + + + + + + + + + + + + ); +}; + +export default TimetableCardShareKebabMenu; diff --git a/course-matrix/frontend/src/pages/Home/TimetableCompareButton.tsx b/course-matrix/frontend/src/pages/Home/TimetableCompareButton.tsx new file mode 100644 index 00000000..e22b84a1 --- /dev/null +++ b/course-matrix/frontend/src/pages/Home/TimetableCompareButton.tsx @@ -0,0 +1,173 @@ +import { SemesterIcon } from "@/components/semester-icon"; +import { Button } from "@/components/ui/button"; +import { + Dialog, + DialogTrigger, + DialogContent, + DialogHeader, + DialogFooter, + DialogTitle, + DialogDescription, +} from "@/components/ui/dialog"; +import { + Form, + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage, +} from "@/components/ui/form"; +import { + Select, + SelectContent, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { Timetable } from "@/utils/type-utils"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { GitCompareArrows } from "lucide-react"; +import { useState } from "react"; +import { useForm } from "react-hook-form"; +import { useNavigate } from "react-router-dom"; +import { z } from "zod"; +import TimetableCompareItem from "./TimetableCompareItem"; + +export const CompareFormSchema = z.object({ + timetable1: z.string().nonempty(), + timetable2: z.string().nonempty(), +}); + +interface TimetableCompareDialogProps { + timetables: Timetable[]; +} +/** + * Component for the "Compare" button that opens a dialog to compare timetables. + * @returns {JSX.Element} The rendered component. + */ +export const TimetableCompareButton = ({ + timetables, +}: TimetableCompareDialogProps) => { + const [open, setOpen] = useState(false); + const navigate = useNavigate(); + + const compareForm = useForm>({ + resolver: zodResolver(CompareFormSchema), + }); + + const onSubmit = (values: z.infer) => { + console.log("Compare Form submitted:", values); + const timetableId1 = values.timetable1.split("/")[1]; + const timetableId2 = values.timetable2.split("/")[1]; + const userId1 = values.timetable1.split("/")[2]; + const userId2 = values.timetable2.split("/")[2]; + setOpen(false); + navigate( + `/dashboard/compare?id1=${timetableId1}&id2=${timetableId2}&userId1=${userId1}&userId2=${userId2}`, + ); + }; + + return ( + + + + + + + Compare Timetables + +
      View timetables side by side.
      +
      +
      + + Summer 2025 +
      +
      + + Fall 2025 +
      +
      + + Winter 2026 +
      +
      +
      +
      + +
      + + ( + + Timetable 1 + + + + )} + /> + + ( + + Timetable 2 + + + + )} + /> + + + + + + + +
      +
      + ); +}; diff --git a/course-matrix/frontend/src/pages/Home/TimetableCompareItem.tsx b/course-matrix/frontend/src/pages/Home/TimetableCompareItem.tsx new file mode 100644 index 00000000..39884561 --- /dev/null +++ b/course-matrix/frontend/src/pages/Home/TimetableCompareItem.tsx @@ -0,0 +1,45 @@ +import { SemesterIcon } from "@/components/semester-icon"; +import { SelectItem } from "@/components/ui/select"; +import { Timetable } from "@/utils/type-utils"; +import { Badge } from "@/components/ui/badge"; +import { useGetUsernameFromUserIdQuery } from "@/api/authApiSlice"; +import { useEffect, useState } from "react"; + +interface TimetableCompareItemProps { + timetable: Timetable; + timetableNumber: number; +} + +const TimetableCompareItem = ({ + timetable, + timetableNumber, +}: TimetableCompareItemProps) => { + const { data: usernameData } = useGetUsernameFromUserIdQuery( + timetable.user_id, + ); + const [username, setUsername] = useState(""); + const [loadedUsername, setLoadedUsername] = useState(false); + + useEffect(() => { + if (usernameData !== undefined && !loadedUsername) { + setUsername(usernameData ?? "John Doe"); + setLoadedUsername(true); + } + }, [loadedUsername, usernameData]); + + return ( + +
      + + + {timetable.timetable_title} + + Owner: {username} +
      +
      + ); +}; + +export default TimetableCompareItem; diff --git a/course-matrix/frontend/src/pages/Home/TimetableCreateNewButton.tsx b/course-matrix/frontend/src/pages/Home/TimetableCreateNewButton.tsx new file mode 100644 index 00000000..a80952d0 --- /dev/null +++ b/course-matrix/frontend/src/pages/Home/TimetableCreateNewButton.tsx @@ -0,0 +1,18 @@ +import { Button } from "@/components/ui/button"; +import { Plus } from "lucide-react"; +import { Link } from "react-router-dom"; + +/** + * Component for the "Create New" button that navigates to the timetable creation page. + * @returns {JSX.Element} The rendered component. + */ +const TimetableCreateNewButton = () => ( + + + +); + +export default TimetableCreateNewButton; diff --git a/course-matrix/frontend/src/pages/Loading/LoadingPage.tsx b/course-matrix/frontend/src/pages/Loading/LoadingPage.tsx new file mode 100644 index 00000000..1ce18e7f --- /dev/null +++ b/course-matrix/frontend/src/pages/Loading/LoadingPage.tsx @@ -0,0 +1,11 @@ +import { Spinner } from "@/components/ui/spinner"; + +const LoadingPage = () => { + return ( +
      + +
      + ); +}; + +export default LoadingPage; diff --git a/course-matrix/frontend/src/pages/Login/LoginPage.tsx b/course-matrix/frontend/src/pages/Login/LoginPage.tsx new file mode 100644 index 00000000..7ef72f3d --- /dev/null +++ b/course-matrix/frontend/src/pages/Login/LoginPage.tsx @@ -0,0 +1,173 @@ +import { useLoginMutation } from "@/api/authApiSlice"; +import Logo from "@/components/logo"; +import { Button } from "@/components/ui/button"; +import { Card } from "@/components/ui/card"; +import { Input } from "@/components/ui/input"; +import { Label } from "@/components/ui/label"; +import { LoginFormSchema } from "@/models/login-form"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { useForm } from "react-hook-form"; +import { Link, useNavigate } from "react-router-dom"; +import { z } from "zod"; +import { setCredentials } from "@/stores/authslice"; +import { useDispatch } from "react-redux"; +import { + Form, + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage, +} from "@/components/ui/form"; +import PasswordInput from "@/components/password-input"; +import { useState } from "react"; + +/** + * LoginPage Component + * + * Provides a login form for users to authenticate using their email and password. + * It utilizes React Hook Form with Zod form validation and uses Redux Toolkit to access localstorage + * for authentication state management. + * + * Features: + * - **Form Validation**: Uses `react-hook-form` with `zodResolver` to validate user input based on `LoginFormSchema`. + * - **API Integration**: Calls `useLoginMutation` from `authApiSlice` to login users. + * - **State Management**: Uses Redux to store user credentials in localstorage upon successful login. + * - **Error Handling**: Displays an error message if the login credentials are invalid. + * - **Navigation**: Redirects users to `/dashboard/home` upon successful login. + * + * Hooks: + * - `useForm` for form handling. + * - `useLoginMutation` for login API call. + * - `useDispatch` for Redux actions. + * - `useNavigate` for client-side navigation. + * - `useState` to manage form submission state and invalid credentials. + * + * UI Components: + * - `Logo`, `Card`, `Button`, `Input`, `PasswordInput` for form UI. + * - `Form`, `FormField`, `FormItem`, `FormLabel`, `FormControl`, `FormMessage` for structured form handling. + * + * @returns {JSX.Element} The rendered login page. + */ +const LoginPage = () => { + const loginForm = useForm>({ + resolver: zodResolver(LoginFormSchema), + defaultValues: { + email: "", + password: "", + }, + }); + + const [login] = useLoginMutation(); + const dispatch = useDispatch(); + + const navigate = useNavigate(); + + const [isSubmitting, setIsSubmitting] = useState(false); + const [invalidCredentials, setInvalidCredentials] = useState(false); + + const onSubmit = async (values: z.infer) => { + if (isSubmitting) return; + setIsSubmitting(true); + setInvalidCredentials(false); + try { + const { data, error } = await login(loginForm.getValues()); + console.log("Login", data, error); + + if (!error) { + // Set user details to localstorage + dispatch(setCredentials(data)); + + // Go to dashboard + navigate("/dashboard/home"); + } else { + if ( + (error as any).status === 401 && + (error as any)?.data?.code === "invalid_credentials" + ) { + setInvalidCredentials(true); + } + } + } catch (err) { + console.error(err); + } + setIsSubmitting(false); + }; + + return ( +
      + + +
      +

      Login

      +

      + Login with your email and password +

      +
      + + ( + + Email + + + + + + )} + /> + + + {invalidCredentials && ( +
      +

      + Login invalid. Please check your email or password. +

      +
      + )} + +
      + +
      + + + + +
      +
      +
      + ); +}; + +export default LoginPage; diff --git a/course-matrix/frontend/src/pages/Signup/SignUpPage.tsx b/course-matrix/frontend/src/pages/Signup/SignUpPage.tsx new file mode 100644 index 00000000..e30b69b0 --- /dev/null +++ b/course-matrix/frontend/src/pages/Signup/SignUpPage.tsx @@ -0,0 +1,204 @@ +import { useLoginMutation, useSignupMutation } from "@/api/authApiSlice"; +import Logo from "@/components/logo"; +import PasswordInput from "@/components/password-input"; +import { Button } from "@/components/ui/button"; +import { Card } from "@/components/ui/card"; +import { + Form, + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage, +} from "@/components/ui/form"; +import { Input } from "@/components/ui/input"; +import { Label } from "@/components/ui/label"; +import { SignupFormSchema } from "@/models/signup-form"; +import { setCredentials } from "@/stores/authslice"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { useState } from "react"; +import { useForm } from "react-hook-form"; +import { useDispatch } from "react-redux"; +import { useNavigate, useLocation, Link } from "react-router-dom"; +import { z } from "zod"; + +/** + * SignupPage Component + * + * Provides a signup form for new users to register an account. + * It uses React Hook Form with Zod validation and integrates with Redux Toolkit for querying. + * + * Features: + * - **Form Validation**: Utilizes `react-hook-form` with `zodResolver` to validate input based on `SignupFormSchema`. + * - **API Integration**: Calls `useSignupMutation` from `authApiSlice` to register users. + * - **Error Handling**: Displays relevant messages for: + * - Existing user (`User already exists`). + * - Successful registration (`Check your email for a confirmation link`). + * - Generic signup failures (`An unknown error occurred`). + * - **State Management**: + * - `isSubmitting`: Prevents multiple submissions. + * - `showCheckEmail`: Displays a confirmation message after successful registration. + * - `showUserExists`: Alerts if the user already exists. + * - `showSignupError`: Handles unexpected signup failures. + * - **Navigation**: Provides a link to the login page for existing users. + * + * Hooks: + * - `useForm` for form handling. + * - `useSignupMutation` for signup API calls. + * - `useState` for managing UI state. + * + * UI Components: + * - `Logo`, `Card`, `Button`, `Input`, `PasswordInput` for form UI. + * - `Form`, `FormField`, `FormItem`, `FormLabel`, `FormControl`, `FormMessage` for structured form handling. + * + * @returns {JSX.Element} The rendered signup page. + */ + +const SignupPage = () => { + const signupForm = useForm>({ + resolver: zodResolver(SignupFormSchema), + defaultValues: { + username: "", + email: "", + password: "", + confirmPassword: "", + }, + }); + + const [signup] = useSignupMutation(); + + const [isSubmitting, setIsSubmitting] = useState(false); + const [showCheckEmail, setShowCheckEmail] = useState(false); + const [showUserExists, setShowUserExists] = useState(false); + const [showSignupError, setShowSignupError] = useState(false); + + const onSubmit = async (values: z.infer) => { + if (isSubmitting) return; + setIsSubmitting(true); + setShowCheckEmail(false); + setShowUserExists(false); + setShowSignupError(false); + try { + const { data, error } = await signup(signupForm.getValues()); + console.log(data); + if (error) { + if ((error as any)?.data?.error?.message === "User already exists") { + setShowUserExists(true); + } else { + setShowSignupError(true); + } + } else { + setShowCheckEmail(true); + } + } catch (err) { + setShowSignupError(true); + console.error(err); + } + setIsSubmitting(false); + }; + + return ( +
      + + +
      +

      Sign up

      +

      + Sign up to Course Matrix with your email +

      +
      + + ( + + Username + + + + + + )} + /> + ( + + Email + + + + + + )} + /> + + + {showCheckEmail && ( +

      + Registration successful! Please check{" "} + {signupForm.getValues("email")} for a confirmation link +

      + )} + {showUserExists && ( +

      + User with email {signupForm.getValues("email")} already + exists! +

      + )} + {showSignupError && ( +

      + An unknown error occured. Please try again. +

      + )} +
      + +
      + + + + +
      +
      +
      + ); +}; + +export default SignupPage; diff --git a/course-matrix/frontend/src/pages/Signup/SignupSuccessfulPage.tsx b/course-matrix/frontend/src/pages/Signup/SignupSuccessfulPage.tsx new file mode 100644 index 00000000..b8bb3435 --- /dev/null +++ b/course-matrix/frontend/src/pages/Signup/SignupSuccessfulPage.tsx @@ -0,0 +1,50 @@ +import Logo from "@/components/logo"; +import { Button } from "@/components/ui/button"; +import { Card } from "@/components/ui/card"; +import { useNavigate, useLocation } from "react-router-dom"; + +/** + * SignupSuccessfulPage Component + * + * Displays a confirmation message after a user successfully creates an account. + * Provides a button to navigate to the login page. + * + * Features: + * - **Success Message**: Confirms account creation. + * - **Navigation**: Redirects users to the login page via `useNavigate()`. + * + * Hooks: + * - `useNavigate` for handling navigation. + * + * UI Components: + * - `Logo` for branding. + * - `Card` for structuring the confirmation message. + * - `Button` for redirecting to login. + * + * @returns {JSX.Element} The signup success confirmation page. + */ + +const SignupSuccessfulPage = () => { + const navigate = useNavigate(); + + const handleRedirect = () => { + navigate("/login"); + }; + + return ( +
      + + +
      +

      Account created!

      +

      + You have successfully created an account for Course Matrix. +

      + +
      +
      +
      + ); +}; + +export default SignupSuccessfulPage; diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/Calendar.tsx b/course-matrix/frontend/src/pages/TimetableBuilder/Calendar.tsx new file mode 100644 index 00000000..ebc40bac --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/Calendar.tsx @@ -0,0 +1,445 @@ +import { ScheduleXCalendar } from "@schedule-x/react"; +import { + createCalendar, + createViewDay, + createViewMonthAgenda, + createViewMonthGrid, + createViewWeek, + viewWeek, +} from "@schedule-x/calendar"; +// import { createDragAndDropPlugin } from "@schedule-x/drag-and-drop"; +import { createEventModalPlugin } from "@schedule-x/event-modal"; +import "@schedule-x/theme-default/dist/index.css"; +import { Button } from "@/components/ui/button"; +import { + Dialog, + DialogTrigger, + DialogContent, + DialogHeader, + DialogFooter, + DialogTitle, + DialogDescription, + DialogClose, +} from "@/components/ui/dialog"; +import { Input } from "@/components/ui/input"; +import { Label } from "@/components/ui/label"; +import { useForm } from "react-hook-form"; +import { TimetableFormSchema } from "@/models/timetable-form"; +import { + useGetTimetablesQuery, + useCreateTimetableMutation, + useUpdateTimetableMutation, +} from "@/api/timetableApiSlice"; +import { + useGetRestrictionsQuery, + useCreateRestrictionMutation, + useDeleteRestrictionMutation, +} from "@/api/restrictionsApiSlice"; +import { z } from "zod"; +import React, { useEffect, useRef, useState } from "react"; +import { useGetNumberOfCourseSectionsQuery } from "@/api/coursesApiSlice"; +import { + useCreateEventMutation, + useGetEventsQuery, + useDeleteEventMutation, + useUpdateEventMutation, +} from "@/api/eventsApiSlice"; +import { useGetOfferingsQuery } from "@/api/offeringsApiSlice"; +import { useGetOfferingEventsQuery } from "@/api/offeringsApiSlice"; +import { useNavigate, useSearchParams } from "react-router-dom"; +import { + Event, + Timetable, + TimetableEvents, + Restriction, + Offering, +} from "@/utils/type-utils"; +import { TimetableForm } from "@/models/timetable-form"; +import { + getSemesterStartAndEndDates, + getSemesterStartAndEndDatesPlusOneWeek, +} from "@/utils/semester-utils"; +import { courseEventStyles } from "@/constants/calendarConstants"; +import TimetableErrorDialog from "./TimetableErrorDialog"; +import { parseEvent } from "@/utils/calendar-utils"; + +interface CalendarProps { + setShowLoadingPage: React.Dispatch>; + isChoosingSectionsManually: boolean; + semester: string; + selectedCourses: TimetableForm["courses"]; + newOfferingIds: number[]; + restrictions: TimetableForm["restrictions"]; + header?: string; +} + +const Calendar = React.memo( + ({ + setShowLoadingPage, + semester, + selectedCourses, + newOfferingIds, + restrictions, + isChoosingSectionsManually, + header = "Your Timetable", + }) => { + const form = useForm>(); + + const navigate = useNavigate(); + const [queryParams] = useSearchParams(); + const isEditingTimetable = queryParams.has("edit"); + const editingTimetableId = parseInt(queryParams.get("edit") ?? "0"); + + const [createTimetable] = useCreateTimetableMutation(); + const [updateTimetable] = useUpdateTimetableMutation(); + const [createEvent] = useCreateEventMutation(); + const [deleteEvent] = useDeleteEventMutation(); + const [createRestriction] = useCreateRestrictionMutation(); + const [deleteRestriction] = useDeleteRestrictionMutation(); + + const [errorMessage, setErrorMessage] = useState(null); + const [updateErrorMessage, setUpdateErrorMessage] = useState( + null, + ); + const semesterStartDate = getSemesterStartAndEndDates(semester).start; + const { start: semesterStartDatePlusOneWeek, end: semesterEndDate } = + getSemesterStartAndEndDatesPlusOneWeek(semester); + + const { data: offeringsData } = useGetOfferingsQuery({}) as { + data: Offering[]; + }; + + const { data: courseEventsData } = useGetOfferingEventsQuery({ + offering_ids: newOfferingIds.join(","), + semester_start_date: semesterStartDate, + semester_end_date: semesterEndDate, + }) as { data: Event[] }; + + const { data: timetablesData } = useGetTimetablesQuery() as { + data: Timetable[]; + }; + + const courseEvents = courseEventsData ?? []; + const userEvents: Event[] = []; + + let index = 1; + const courseEventsParsed = courseEvents.map((event) => + parseEvent(index++, event, "courseEvent"), + ); + const userEventsParsed = userEvents.map((event) => + parseEvent(index++, event, "userEvent"), + ); + + const calendar = createCalendar({ + views: [ + createViewDay(), + createViewWeek(), + createViewMonthGrid(), + createViewMonthAgenda(), + ], + firstDayOfWeek: 0, + selectedDate: semesterStartDatePlusOneWeek, + minDate: semesterStartDate, + maxDate: semesterEndDate, + defaultView: viewWeek.name, + events: [...courseEventsParsed, ...userEventsParsed], + calendars: { + courseEvent: courseEventStyles, + }, + plugins: [createEventModalPlugin()], + weekOptions: { + gridHeight: 600, + }, + dayBoundaries: { + start: "06:00", + end: "21:00", + }, + isResponsive: false, + }); + + const { data: timetableEvents } = useGetEventsQuery(editingTimetableId, { + skip: !isEditingTimetable, + }) as { + data: TimetableEvents; + }; + + const oldOfferingIds = [ + ...new Set( + timetableEvents?.courseEvents.map((event) => event.offering_id), + ), + ].sort((a, b) => a - b); + + const { data: restrictionsData } = useGetRestrictionsQuery( + editingTimetableId, + { + skip: !isEditingTimetable, + }, + ) as { + data: Restriction[]; + }; + + const oldRestrictions = restrictionsData ?? []; + + const timetableTitleRef = useRef(null); + const selectedCourseIds = selectedCourses.map((course) => course.id); + + const { data: numberOfSectionsData } = useGetNumberOfCourseSectionsQuery( + { + course_ids: selectedCourseIds.join(","), + semester: semester, + }, + { + skip: !selectedCourses.length, + }, + ); + + const totalNumberOfRequiredSections = !selectedCourses.length + ? 0 + : (numberOfSectionsData?.totalNumberOfCourseSections ?? 0); + const totalNumberOfSelectedSections = [ + ...new Set( + offeringsData + ?.filter((offering) => newOfferingIds.includes(offering.id)) + .map( + (offering) => + `${offering.code} ${offering.offering} ${offering.meeting_section}`, + ), + ), + ].length; + const allOfferingSectionsHaveBeenSelected = isEditingTimetable + ? !numberOfSectionsData || + !offeringsData || + totalNumberOfSelectedSections === totalNumberOfRequiredSections + : totalNumberOfSelectedSections === totalNumberOfRequiredSections; + + useEffect(() => { + if (!isEditingTimetable) { + return; + } + }, [timetablesData, editingTimetableId, isEditingTimetable]); + + const handleCreate = async () => { + const timetableTitle = timetableTitleRef.current?.value ?? ""; + // Create timetable + const { data, error } = await createTimetable({ + timetable_title: timetableTitle, + semester: semester, + }); + if (error) { + const errorData = (error as { data?: { error?: string } }).data; + setErrorMessage(errorData?.error ?? "Unknown error occurred"); + return; + } + setShowLoadingPage(true); + // Create course events for the newly created timetable + const newTimetableId = data[0].id; + for (const offeringId of newOfferingIds) { + const { error: offeringError } = await createEvent({ + calendar_id: newTimetableId, + offering_id: offeringId, + semester_start_date: semesterStartDate, + semester_end_date: semesterEndDate, + }); + if (offeringError) { + console.error(offeringError); + } + } + // Create restrictions for the newly created timetable + for (const restriction of restrictions) { + const restrictionObject = { + calendar_id: newTimetableId, + type: restriction.type, + days: restriction.days, + start_time: restriction.startTime, + end_time: restriction.endTime, + disabled: restriction.disabled, + num_days: restriction.numDays, + max_gap: restriction.maxGap, + }; + const { error: restrictionError } = + await createRestriction(restrictionObject); + if (restrictionError) { + console.error(restrictionError); + } + } + // Redirect to the home page to see the newly created timetable + navigate("/home"); + }; + + const handleUpdate = async () => { + const timetableTitle = timetableTitleRef.current?.value ?? ""; + setShowLoadingPage(true); + + const offeringIdsToDelete = oldOfferingIds.filter( + (offeringId) => !newOfferingIds.includes(offeringId), + ); + const offeringIdsToAdd = newOfferingIds.filter( + (offeringId) => !oldOfferingIds.includes(offeringId), + ); + if (offeringIdsToAdd.length === 0 && offeringIdsToDelete.length === 0) { + setUpdateErrorMessage("You have made no changes to the timetable!"); + setShowLoadingPage(false); + return; + } + // Delete course events + for (const offeringId of offeringIdsToDelete) { + const { error: deleteError } = await deleteEvent({ + id: 1, + calendar_id: editingTimetableId, + event_type: "course", + offering_id: offeringId, + }); + if (deleteError) { + console.error(deleteError); + } + } + // Create course events + for (const offeringId of offeringIdsToAdd) { + const { error: createError } = await createEvent({ + calendar_id: editingTimetableId, + offering_id: offeringId, + semester_start_date: semesterStartDate, + semester_end_date: semesterEndDate, + }); + if (createError) { + console.error(createError); + } + } + form.setValue("offeringIds", newOfferingIds); + // Delete restrictions + for (const restriction of oldRestrictions) { + const { error: deleteError } = await deleteRestriction({ + id: restriction.id, + calendar_id: editingTimetableId, + }); + if (deleteError) { + console.error(deleteError); + } + } + // Create restrictions + for (const restriction of restrictions) { + const restrictionObject = { + calendar_id: editingTimetableId, + type: restriction.type, + days: restriction.days, + start_time: restriction.startTime, + end_time: restriction.endTime, + disabled: restriction.disabled, + num_days: restriction.numDays, + max_gap: restriction.maxGap, + }; + const { error: restrictionError } = + await createRestriction(restrictionObject); + if (restrictionError) { + console.error(restrictionError); + } + } + + try { + await updateTimetable({ + id: editingTimetableId, + timetable_title: timetableTitle, + }).unwrap(); + } catch (error) { + setUpdateErrorMessage("You have made no changes to the timetable"); + setShowLoadingPage(false); + return; + } + navigate("/home"); + }; + + return ( +
      +

      +
      {header}
      + + {!isEditingTimetable ? ( + + {isChoosingSectionsManually && + !allOfferingSectionsHaveBeenSelected && ( +

      + Please select all LEC/TUT/PRA sections for your courses in + order to save your timetable. +

      + )} + + {isChoosingSectionsManually && ( + + )} + + + + Timetable Creation + + What would you like to name your timetable? + + + + + + + + + + + + + +
      + ) : ( +
      +
      + {isChoosingSectionsManually && + !allOfferingSectionsHaveBeenSelected && ( +

      + Please select all LEC/TUT/PRA sections for your courses in + order to save your timetable. +

      + )} + + + +
      +
      + {" "} + {updateErrorMessage}{" "} +
      +
      + )} +

      + +
      + ); + }, +); + +export default Calendar; diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/CourseSearch.tsx b/course-matrix/frontend/src/pages/TimetableBuilder/CourseSearch.tsx new file mode 100644 index 00000000..26b07a05 --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/CourseSearch.tsx @@ -0,0 +1,227 @@ +import { FilterIcon, Info, Search as SearchIcon } from "lucide-react"; +import { Input } from "../../components/ui/input"; +import { useContext, useEffect, useRef, useState } from "react"; +import { CourseModel } from "@/models/models"; +import { useClickOutside } from "@/utils/useClickOutside"; +import { + HoverCard, + HoverCardContent, + HoverCardTrigger, +} from "@/components/ui/hover-card"; +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/components/ui/accordion"; +import { FormContext } from "./TimetableBuilder"; +import OfferingContent from "./OfferingContent"; +import { convertBreadthRequirement } from "@/utils/convert-breadth-requirement"; + +/** + * CourseSearch Component + * + * Provides a search bar for users to find and select courses. + * It integrates with a filtering system and displays search results dynamically. + * + * Features: + * - **Live Search**: Filters courses based on user input and displays results in a dropdown panel. + * - **Form Integration**: Uses `useContext(FormContext)` to update the selected courses in the parent form. + * - **Click Outside Handling**: Uses `useClickOutside` to close the search panel specifically when clicking outside the panel. + * - **Course Selection**: Allows users to add a course to their timetable while preventing duplicates. + * - **Course Details Preview**: + * - Displays a hover card (`HoverCard`) with additional course information. + * - Includes prerequisites, exclusions, recommended preparation, and links to UTSC's course calendar. + * - **Expandable Section Information**: + * - Uses `Accordion` to show section times info via the `OfferingContent` component. + * + * Props: + * - `value` (`string`): The current search input value. + * - `showFilter` (`() => void`): Function to toggle filter options. + * - `onChange` (`(value: string) => void`): Callback for updating the search value. + * - `data` (`CourseModel[]`): List of available courses to display. + * - `isLoading` (`boolean`): Indicates whether course data is loading. + * + * Hooks: + * - `useState` for managing UI states like `showPanel`. + * - `useRef` for managing input focus and click outside detection. + * - `useContext(FormContext)` to update the selected courses in the form. + * + * UI Components: + * - `Input` for search input. + * - `HoverCard` for additional course details. + * - `Accordion` for expandable section info. + * - `FilterIcon` to trigger filtering options. + * + * @returns {JSX.Element} The rendered course search component. + */ + +interface CourseSearchProps { + value: string; + showFilter: () => void; + onChange: (_: string) => void; + data: CourseModel[]; + isLoading: boolean; +} + +const CourseSearch = ({ + value, + showFilter, + onChange, + data, + isLoading, +}: CourseSearchProps) => { + const inputRef = useRef(null); + const panelRef = useRef(null); + const [showPanel, setShowPanel] = useState(false); + useClickOutside(panelRef, () => setShowPanel(false), showPanel, inputRef); + + const form = useContext(FormContext); + + const handleAddCourse = (item: CourseModel) => { + if (!form) return; + const currentList = form.getValues("courses") || []; + if (currentList.length > 7) return; // ensure max courses added is 8 + if (currentList.find((c) => c.id === item.id)) return; // ensure uniqueness + const newList = [...currentList, item]; + console.log(newList); + form.setValue("courses", newList); + }; + + return ( +
      + + onChange(e.target.value)} + onFocus={() => setShowPanel(true)} + /> + + {showPanel && ( +
      + {data && data.length > 0 ? ( + data.map((item, index) => ( +
      handleAddCourse(item)} + className="p-2 hover:bg-gray-100 cursor-pointer flex justify-between items-center gap-1" + > +
      +

      {item.code}

      +

      {item.name}

      +
      + + + + + e.stopPropagation()} + > +
      +

      + {item.code}: {item.name} +

      +

      {item.description}

      +
      +

      + Breadth Requirement: {" "} + {convertBreadthRequirement( + item.breadth_requirement ?? "", + )} +

      + {item.course_experience && ( +

      + Course Experience: {" "} + {item.course_experience} +

      + )} + {item.prerequisite_description && ( +

      + Prerequisites: {" "} + {item.prerequisite_description} +

      + )} + {item.corequisite_description && ( +

      + Corequisites: {" "} + {item.corequisite_description} +

      + )} + {item.exclusion_description && ( +

      + Course Experience: {" "} + {item.exclusion_description} +

      + )} + {item.recommended_preperation && ( +

      + Recommended Preperation: {" "} + {item.recommended_preperation} +

      + )} + {item.note && ( +

      + Note: {item.note} +

      + )} + + Link to UTSC Course Calendar + +
      + + + + Section Times Info + + + + + + +
      +
      +
      +
      +
      +
      + )) + ) : isLoading ? ( +

      Loading...

      + ) : ( +

      No results found

      + )} +
      + )} +
      + ); +}; + +export default CourseSearch; diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/CreateCustomSetting.tsx b/course-matrix/frontend/src/pages/TimetableBuilder/CreateCustomSetting.tsx new file mode 100644 index 00000000..dd873cd0 --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/CreateCustomSetting.tsx @@ -0,0 +1,409 @@ +import { + Card, + CardContent, + CardDescription, + CardFooter, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { useContext, useState } from "react"; +import { FormContext } from "./TimetableBuilder"; +import { X } from "lucide-react"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { + baseRestrictionForm, + daysOfWeek, + RestrictionSchema, +} from "@/models/timetable-form"; +import { + Form, + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage, +} from "@/components/ui/form"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { useForm, UseFormReturn } from "react-hook-form"; +import { z } from "zod"; +import { Button } from "@/components/ui/button"; +import { Checkbox } from "@/components/ui/checkbox"; +import { TimePickerHr } from "@/components/time-picker-hr"; +import { Input } from "@/components/ui/input"; + +interface CreateCustomSettingProps { + closeHandler: () => void; + submitHandler: (values: z.infer) => void; +} + +/** + * CreateCustomSetting Component + * + * Allows users to define custom scheduling restrictions for their timetable. Users can restrict courses + * based on specific times, days, or enforce a minimum number of days off per week. + * + * Features: + * - **Restriction Types**: + * - Restrict times before/after/between specific hours. + * - Restrict entire days from scheduling. + * - Enforce a minimum number of days off per week. + * - **Form Handling**: + * - Uses `react-hook-form` with `zodResolver` for validation. + * - Dynamically updates input fields based on selected restriction type. + * - **Time Selection**: + * - Uses `TimePickerHr` to select start and end times. + * - **Day Selection**: + * - Uses checkboxes for selecting restricted days. + * - **Submission Handling**: + * - Calls `submitHandler` with validated restriction data. + * - Closes modal on successful submission. + * + * Props: + * - `closeHandler` (`() => void`): Function to close the restriction modal. + * - `submitHandler` (`(values: z.infer) => void`): Callback to apply the restriction. + * + * Hooks: + * - `useForm` for form state management. + * - `useState` for managing UI behavior. + * + * UI Components: + * - `Card`, `Form`, `Input`, `Checkbox`, `Select`, `Button` for structured form inputs. + * - `TimePickerHr` for time selection. + * + * @returns {JSX.Element} The restriction creation form. + */ + +const CreateCustomSetting = ({ + closeHandler, + submitHandler, +}: CreateCustomSettingProps) => { + const restrictionForm = useForm>({ + resolver: zodResolver(RestrictionSchema), + defaultValues: baseRestrictionForm, + }); + + const restrictionType = restrictionForm.watch("type"); + + const createRestriction = (values: z.infer) => { + console.log(values); + submitHandler(values); + closeHandler(); + }; + + const form = useContext(FormContext); + + const isDaysOffRestrictionApplied = () => { + const val = form + ?.getValues("restrictions") + .some((r) => r.type === "Days Off"); + // console.log(val); + return val; + }; + + const isMaxGapRestrictionApplied = () => { + const val = form + ?.getValues("restrictions") + .some((r) => r.type === "Max Gap"); + // console.log(val); + return val; + }; + + const getRestrictionType = (value: string) => { + if ( + value === "Restrict Before" || + value === "Restrict After" || + value === "Restrict Between" + ) { + return "time"; + } else if (value === "Restrict Day") { + return "day"; + } else if (value === "Days Off") { + return "days off"; + } else if (value === "Max Gap") { + return "hours"; + } + }; + + return ( +
      + + +
      + closeHandler()} + className="absolute top-0 right-0 cursor-pointer hover:text-gray-400" + /> +
      + + Create New Restriction + + + Prevent courses from being scheduled for certain times and days. + +
      + +
      + console.log(errors), + )} + className="space-y-8" + > +
      + ( + + Restriction Type + + + + + + )} + /> + {restrictionType && + (getRestrictionType(restrictionType) === "day" || + getRestrictionType(restrictionType) === "time") ? ( + <> + ( + + Days +
      + {daysOfWeek.map((item) => ( + { + return ( + + + { + return checked + ? field.onChange([ + ...(field?.value || []), + item.id, + ]) + : field.onChange( + field.value?.filter( + (value) => + value !== item.id, + ), + ); + }} + /> + + + {item.label} + + + ); + }} + /> + ))} + { + return ( + + + { + return checked + ? field.onChange( + daysOfWeek.map( + (item) => item.id, + ), + ) + : field.onChange([]); + }} + /> + + + All Days + + + ); + }} + /> +
      + +
      + )} + /> + {restrictionType && + (restrictionType === "Restrict After" || + restrictionType === "Restrict Between") && ( + ( + + From + +
      + +
      +
      + +
      + )} + /> + )} + + {restrictionType && + (restrictionType === "Restrict Before" || + restrictionType === "Restrict Between") && ( + ( + + To + +
      + +
      +
      + +
      + )} + /> + )} + + ) : restrictionType && + getRestrictionType(restrictionType) === "days off" ? ( + <> + ( + + Minimum no. days off per week + + + field.onChange(e.target.valueAsNumber) + } + /> + + + + )} + /> + + ) : ( + restrictionType && + getRestrictionType(restrictionType) === "hours" && ( + <> + ( + + + Max gap allowed between + lectures/tutorials/practicals (hours) + + + + field.onChange(e.target.valueAsNumber) + } + /> + + + + )} + /> + + ) + )} +
      + + +
      + +
      + +
      +
      + ); +}; + +export default CreateCustomSetting; diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/GeneratedCalendars.tsx b/course-matrix/frontend/src/pages/TimetableBuilder/GeneratedCalendars.tsx new file mode 100644 index 00000000..4b9d392c --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/GeneratedCalendars.tsx @@ -0,0 +1,308 @@ +import { Spinner } from "@/components/ui/spinner"; +import { TimetableGenerateResponseModel } from "@/models/models"; +import { ScheduleXCalendar } from "@schedule-x/react"; +import { + createCalendar, + createViewDay, + createViewMonthAgenda, + createViewMonthGrid, + createViewWeek, + viewWeek, +} from "@schedule-x/calendar"; +import { Event } from "@/utils/type-utils"; +import { + getSemesterStartAndEndDates, + getSemesterStartAndEndDatesPlusOneWeek, +} from "@/utils/semester-utils"; +import { courseEventStyles } from "@/constants/calendarConstants"; +import { createEventModalPlugin } from "@schedule-x/event-modal"; +import React, { useEffect, useRef, useState } from "react"; +import { useGetOfferingEventsQuery } from "@/api/offeringsApiSlice"; +import { Button } from "@/components/ui/button"; +import { + Pagination, + PaginationContent, + PaginationItem, + PaginationPrevious, + PaginationLink, + PaginationEllipsis, + PaginationNext, +} from "@/components/ui/pagination"; +import { + DialogHeader, + DialogFooter, + DialogTrigger, + Dialog, + DialogContent, + DialogTitle, + DialogDescription, + DialogClose, +} from "@/components/ui/dialog"; +import { Input } from "@/components/ui/input"; +import { Label } from "@radix-ui/react-label"; +import { useNavigate } from "react-router-dom"; +import { useCreateTimetableMutation } from "@/api/timetableApiSlice"; +import { useCreateEventMutation } from "@/api/eventsApiSlice"; +import { useCreateRestrictionMutation } from "@/api/restrictionsApiSlice"; +import { TimetableForm } from "@/models/timetable-form"; +import { set } from "zod"; +import TimetableErrorDialog from "./TimetableErrorDialog"; + +interface GeneratedCalendarsProps { + setShowLoadingPage: (_: boolean) => void; + setIsGeneratingTimetables: (_: boolean) => void; + semester: string; + generatedTimetables?: TimetableGenerateResponseModel; + restrictions: TimetableForm["restrictions"]; +} + +function parseEvent(id: number, event: Event, calendarId: string) { + return { + id: id, + title: event.event_name, + start: + event.event_date + + " " + + event.event_start.split(":")[0] + + ":" + + event.event_start.split(":")[1], + end: + event.event_date + + " " + + event.event_end.split(":")[0] + + ":" + + event.event_end.split(":")[1], + calendarId: calendarId, + }; +} + +export const GeneratedCalendars = React.memo( + ({ + setShowLoadingPage, + setIsGeneratingTimetables, + semester, + generatedTimetables, + restrictions, + }) => { + if (!generatedTimetables) { + return ( +
      + Generating... +
      + ); + } + const timetableTitleRef = useRef(null); + const navigate = useNavigate(); + + // Current timetable we are viewing + const [currentTimetableIndex, setCurrentTimetableIndex] = useState(0); + + const currentTimetableOfferings = + generatedTimetables.schedules[currentTimetableIndex]; + const numberOfTimetables = generatedTimetables.schedules.length; + + const semesterStartDate = getSemesterStartAndEndDates(semester).start; + const { start: semesterStartDatePlusOneWeek, end: semesterEndDate } = + getSemesterStartAndEndDatesPlusOneWeek(semester); + + const { data: courseEventsData, isLoading } = useGetOfferingEventsQuery({ + offering_ids: currentTimetableOfferings + ?.map((offering) => offering.id) + .join(","), + semester_start_date: semesterStartDate, + semester_end_date: semesterEndDate, + }) as { data: Event[]; isLoading: boolean }; + + const [createTimetable] = useCreateTimetableMutation(); + const [createEvent] = useCreateEventMutation(); + const [createRestriction] = useCreateRestrictionMutation(); + + const courseEventsParsed = + courseEventsData?.map((event, index) => + parseEvent(index + 1, event, "courseEvent"), + ) ?? []; + + const [errorMessage, setErrorMessage] = useState(null); + + const handleCreate = async () => { + const timetableTitle = timetableTitleRef.current?.value ?? ""; + // Create timetable + const { data, error } = await createTimetable({ + timetable_title: timetableTitle, + semester: semester, + }); + if (error) { + const errorData = (error as { data?: { error?: string } }).data; + setErrorMessage(errorData?.error ?? "Unknown error occurred"); + return; + } + setShowLoadingPage(true); + // Create course events for the newly created timetable + const newTimetableId = data[0].id; + for (const offering of currentTimetableOfferings) { + const offeringId = offering.id; + const { error: offeringError } = await createEvent({ + calendar_id: newTimetableId, + offering_id: offeringId, + semester_start_date: semesterStartDate, + semester_end_date: semesterEndDate, + }); + if (offeringError) { + console.error(offeringError); + } + } + // Create restrictions for the newly created timetable + for (const restriction of restrictions) { + const restrictionObject = { + calendar_id: newTimetableId, + type: restriction.type, + days: restriction.days, + max_gap: restriction.maxGap, + start_time: restriction.startTime, + end_time: restriction.endTime, + disabled: restriction.disabled, + num_days: restriction.numDays, + }; + const { error: restrictionError } = + await createRestriction(restrictionObject); + if (restrictionError) { + console.error(restrictionError); + } + } + // Redirect to the home page to see the newly created timetable + navigate("/home"); + }; + + const calendar = createCalendar({ + views: [ + createViewDay(), + createViewWeek(), + createViewMonthGrid(), + createViewMonthAgenda(), + ], + firstDayOfWeek: 0, + selectedDate: semesterStartDatePlusOneWeek, + minDate: semesterStartDate, + maxDate: semesterEndDate, + defaultView: viewWeek.name, + events: [...courseEventsParsed], + calendars: { + courseEvent: courseEventStyles, + }, + plugins: [createEventModalPlugin()], + weekOptions: { + gridHeight: 600, + }, + dayBoundaries: { + start: "06:00", + end: "21:00", + }, + isResponsive: false, + }); + + useEffect(() => { + setCurrentTimetableIndex(0); + }, [generatedTimetables]); + + return ( + <> +
      +
      +

      + Generated Timetables ( + {generatedTimetables ? generatedTimetables?.schedules?.length : 0} + ) +

      +
      + + + + + + + + + Timetable Creation + + What would you like to name your timetable? + + + + + + + + + + + + + + +
      +
      + {isLoading ? ( + + ) : ( + + )} +
      + + + + + setCurrentTimetableIndex((prev) => Math.max(0, prev - 1)) + } + disabled={currentTimetableIndex === 0} + /> + + {Array.from({ length: numberOfTimetables }).map((_, index) => ( + + setCurrentTimetableIndex(index)} + isActive={currentTimetableIndex === index} + > + {index + 1} + + + ))} + + + + setCurrentTimetableIndex((prev) => + Math.min(numberOfTimetables - 1, prev + 1), + ) + } + disabled={currentTimetableIndex === numberOfTimetables - 1} + /> + + + +
      +
      + + ); + }, +); diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/OfferingContent.tsx b/course-matrix/frontend/src/pages/TimetableBuilder/OfferingContent.tsx new file mode 100644 index 00000000..dc6841d2 --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/OfferingContent.tsx @@ -0,0 +1,102 @@ +import { useGetOfferingsQuery } from "@/api/offeringsApiSlice"; + +import { + Table, + TableBody, + TableCaption, + TableCell, + TableHead, + TableHeader, + TableRow, +} from "@/components/ui/table"; +import { CourseModel, OfferingModel } from "@/models/models"; + +interface OfferingContentProps { + item: CourseModel; + semester: string; +} + +/** + * OfferingContent Component + * + * Displays the available course offerings for a selected course and semester. + * It fetches offering data from the backend using RTK Query (`useGetOfferingsQuery`) and + * renders a table with section details. + * + * Features: + * - **Data Fetching**: Calls `useGetOfferingsQuery` to retrieve course offerings based on `course_code` and `semester`. + * - **Loading State**: Displays a loading message while fetching data. + * - **Table Display**: + * - Shows section details including time, location, instructor, capacity, and delivery mode. + * - Handles optional fields gracefully (e.g., empty values). + * - **Waitlist Handling**: Indicates whether a section has a waitlist (`Y` or `N`). + * + * Props: + * - `item` (`CourseModel`): The selected course whose offerings are displayed. + * - `semester` (`string`): The semester for which course offerings are fetched. + * + * Hooks: + * - `useGetOfferingsQuery` for fetching offerings. + * + * UI Components: + * - `Table`, `TableRow`, `TableCell` for structured tabular display. + * + * @returns {JSX.Element} The rendered table of course offerings. + */ + +const OfferingContent = ({ item, semester }: OfferingContentProps) => { + const { data, isLoading, error, refetch } = useGetOfferingsQuery({ + course_code: item.code, + semester: semester, + }); + + return ( + <> + {isLoading ? ( +

      Loading...

      + ) : ( +
      + + + + Meeting Section + Day + Time + Location + Current + Max + Waitlist? + Delivery Mode + Instructor + Notes + + + + {(data as OfferingModel[]).map((offering, index) => { + console.log("offering", offering); + return ( + + + {offering.meeting_section} + + {offering.day ?? ""} + {`${offering.start ?? ""} - ${offering.end ?? ""}`} + {offering.location ?? ""} + {offering.current ?? ""} + {offering.max ?? ""} + {offering.is_waitlisted ? "N" : "Y"} + {offering.delivery_mode ?? ""} + {offering.instructor ?? ""} + {offering.notes ?? ""} + + ); + })} + +
      +
      + )} + + ); +}; + +export default OfferingContent; diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/OfferingInfo.tsx b/course-matrix/frontend/src/pages/TimetableBuilder/OfferingInfo.tsx new file mode 100644 index 00000000..2c513ff9 --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/OfferingInfo.tsx @@ -0,0 +1,407 @@ +import { useGetOfferingsQuery } from "@/api/offeringsApiSlice"; +import { + Select, + SelectContent, + SelectGroup, + SelectItem, + SelectLabel, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { CourseModel, OfferingModel } from "@/models/models"; +import { useEffect, useMemo, useState } from "react"; +import { Edit } from "lucide-react"; +import { UseFormReturn } from "react-hook-form"; +import { TimetableFormSchema } from "@/models/timetable-form"; +import { z } from "zod"; + +interface OfferingInfoProps { + course: Pick; + semester: string; + form: UseFormReturn>; +} + +const OfferingInfo = ({ course, semester, form }: OfferingInfoProps) => { + const { data: offeringsData, isLoading } = useGetOfferingsQuery({ + course_code: course.code, + semester: semester, + }); + + const offeringIds = form.watch("offeringIds") ?? []; + + const lectures = offeringsData + ?.filter((offering: OfferingModel) => + offering.meeting_section.startsWith("LEC"), + ) + .sort((a: OfferingModel, b: OfferingModel) => + a.meeting_section < b.meeting_section ? -1 : 1, + ); + const tutorials = offeringsData + ?.filter((offering: OfferingModel) => + offering.meeting_section.startsWith("TUT"), + ) + .sort((a: OfferingModel, b: OfferingModel) => + a.meeting_section < b.meeting_section ? -1 : 1, + ); + const practicals = offeringsData + ?.filter((offering: OfferingModel) => + offering.meeting_section.startsWith("PRA"), + ) + .sort((a: OfferingModel, b: OfferingModel) => + a.meeting_section < b.meeting_section ? -1 : 1, + ); + + const lectureSections: string[] = [ + ...new Set( + lectures?.map((lec: { meeting_section: string }) => lec.meeting_section), + ), + ] as string[]; + const tutorialSections = [ + ...new Set( + tutorials?.map((tut: { meeting_section: string }) => tut.meeting_section), + ), + ] as string[]; + const practicalSections = [ + ...new Set( + practicals?.map( + (pra: { meeting_section: string }) => pra.meeting_section, + ), + ), + ] as string[]; + const sections = [ + ...new Set([...lectureSections, ...tutorialSections, ...practicalSections]), + ]; + const sectionsToOfferingIdsMap = new Map(); + sections.forEach((section: string) => { + const lectureOfferingIds = lectures + ?.filter( + (lec: { meeting_section: string }) => lec.meeting_section === section, + ) + .map((lec: { id: number }) => lec.id); + const tutorialOfferingIds = tutorials + ?.filter( + (tut: { meeting_section: string }) => tut.meeting_section === section, + ) + .map((tut: { id: number }) => tut.id); + const practicalOfferingIds = practicals + ?.filter( + (pra: { meeting_section: string }) => pra.meeting_section === section, + ) + .map((pra: { id: number }) => pra.id); + const offeringIds = [ + ...lectureOfferingIds, + ...tutorialOfferingIds, + ...practicalOfferingIds, + ]; + sectionsToOfferingIdsMap.set(section, offeringIds); + }); + + const selectedOfferingIds = offeringsData?.filter((offering: OfferingModel) => + offeringIds.includes(offering.id), + ); + + const initialSelectedLecture = useMemo( + () => + selectedOfferingIds?.filter((offering: { meeting_section: string }) => + offering.meeting_section.startsWith("LEC"), + ) ?? [], + [selectedOfferingIds], + ); + const initialSelectedTutorial = useMemo( + () => + selectedOfferingIds?.filter((offering: { meeting_section: string }) => + offering.meeting_section.startsWith("TUT"), + ) ?? [], + [selectedOfferingIds], + ); + const initialSelectedPractical = useMemo( + () => + selectedOfferingIds?.filter((offering: { meeting_section: string }) => + offering.meeting_section.startsWith("PRA"), + ) ?? [], + [selectedOfferingIds], + ); + + // Load initial selected lecture, tutorial, practical + const [loadedInitialSelectedLecture, setLoadedInitialSelectedLecture] = + useState(false); + const [loadedInitialSelectedTutorial, setLoadedInitialSelectedTutorial] = + useState(false); + const [loadedInitialSelectedPractical, setLoadedInitialSelectedPractical] = + useState(false); + useEffect(() => { + if (!loadedInitialSelectedLecture && initialSelectedLecture.length > 0) { + setSelectedLecture(initialSelectedLecture); + setLoadedInitialSelectedLecture(true); + } + }, [initialSelectedLecture, loadedInitialSelectedLecture]); + useEffect(() => { + if (!loadedInitialSelectedTutorial && initialSelectedTutorial.length > 0) { + setSelectedTutorial(initialSelectedTutorial); + setLoadedInitialSelectedTutorial(true); + } + }, [initialSelectedTutorial, loadedInitialSelectedTutorial]); + useEffect(() => { + if ( + !loadedInitialSelectedPractical && + initialSelectedPractical.length > 0 + ) { + setSelectedPractical(initialSelectedPractical); + setLoadedInitialSelectedPractical(true); + } + }, [initialSelectedPractical, loadedInitialSelectedPractical]); + + const [selectedLecture, setSelectedLecture] = useState([]); + const [selectedTutorial, setSelectedTutorial] = useState([]); + const [selectedPractical, setSelectedPractical] = useState( + [], + ); + + const handleSelect = ( + lecture: OfferingModel[], + tutorial: OfferingModel[], + practical: OfferingModel[], + ) => { + if (lecture) { + setSelectedLecture(lecture); + setIsEditingLectureSection(false); + } + if (tutorial) { + setSelectedTutorial(tutorial); + setIsEditingTutorialSection(false); + } + if (practical) { + setSelectedPractical(practical); + setIsEditingPracticalSection(false); + } + const oldOfferingIds: number[] = [ + ...selectedLecture, + ...selectedTutorial, + ...selectedPractical, + ].map((offering: OfferingModel) => offering.id); + const newOfferingIds: number[] = [ + ...lecture, + ...tutorial, + ...practical, + ].map((offering: OfferingModel) => offering.id); + + const filteredOfferingIds = offeringIds.filter( + (id: number) => !oldOfferingIds.includes(id), + ); + const resultOfferingIds = [...filteredOfferingIds, ...newOfferingIds]; + form.setValue("offeringIds", resultOfferingIds); + }; + + const [isEditingLectureSection, setIsEditingLectureSection] = useState(false); + const [isEditingTutorialSection, setIsEditingTutorialSection] = + useState(false); + const [isEditingPracticalSection, setIsEditingPracticalSection] = + useState(false); + + return ( + <> + {isLoading ? ( +

      Loading...

      + ) : ( +
      + {lectures?.length > 0 && + (!isEditingLectureSection ? ( +
      + {selectedLecture[0]?.meeting_section ?? "No LEC selected"} + setIsEditingLectureSection(true)} + /> +
      + ) : ( +
      + +
      + ))} + {tutorials?.length > 0 && + (!isEditingTutorialSection ? ( +
      + {selectedTutorial[0]?.meeting_section ?? "No TUT selected"} + setIsEditingTutorialSection(true)} + /> +
      + ) : ( +
      + +
      + ))} + {practicals?.length > 0 && + (!isEditingPracticalSection ? ( +
      + {selectedPractical[0]?.meeting_section ?? "No PRA selected"} + setIsEditingPracticalSection(true)} + /> +
      + ) : ( +
      + +
      + ))} +
      + )} + + ); +}; + +export default OfferingInfo; diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/SearchFilters.tsx b/course-matrix/frontend/src/pages/TimetableBuilder/SearchFilters.tsx new file mode 100644 index 00000000..aad54cd5 --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/SearchFilters.tsx @@ -0,0 +1,252 @@ +import { Button } from "@/components/ui/button"; +import { + Card, + CardHeader, + CardTitle, + CardDescription, + CardContent, +} from "@/components/ui/card"; +import { X } from "lucide-react"; +import { + Form, + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage, +} from "@/components/ui/form"; +import { + BreadthRequirementEnum, + FilterForm, + FilterFormSchema, +} from "@/models/filter-form"; +import { z } from "zod"; +import { UseFormReturn } from "react-hook-form"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { convertBreadthRequirement } from "@/utils/convert-breadth-requirement"; +import { SemesterEnum } from "@/models/timetable-form"; +import { useGetDepartmentsQuery } from "@/api/departmentsApiSlice"; +import { DepartmentModel } from "@/models/models"; + +interface SearchFiltersProps { + closeHandler: () => void; + submitHandler: (values: z.infer) => void; + resetHandler: () => void; + filterForm: UseFormReturn; +} + +/** + * SearchFilters Component + * + * Provides filtering options for refining course search results. Users can filter courses + * based on breadth requirement, credit weight, department, and year level. + * + * Features: + * - **Breadth Requirement Filtering**: Users can filter courses by breadth category. + * - **Credit Weight Selection**: Allows users to filter courses based on credit weight (1.0 or 0.5). + * - **Department Filtering**: Fetches department data dynamically using `useGetDepartmentsQuery`. + * - **Year Level Selection**: Enables filtering by course year level (1 to 4). + * - **Form Handling**: + * - Uses `react-hook-form` with `zodResolver` for validation. + * - Resets filters with a `Reset` button. + * - Submits selected filters using `Apply`. + * + * Props: + * - `closeHandler` (`() => void`): Closes the filter modal. + * - `submitHandler` (`(values: z.infer) => void`): Applies the selected filters. + * - `resetHandler` (`() => void`): Resets all filters. + * - `filterForm` (`UseFormReturn`): React Hook Form instance for managing filter values. + * + * Hooks: + * - `useGetDepartmentsQuery` for retrieving department data. + * + * UI Components: + * - `Card`, `Form`, `Select`, `Button` for structured input handling. + * + * @returns {JSX.Element} The search filters modal. + */ + +const SearchFilters = ({ + closeHandler, + submitHandler, + resetHandler, + filterForm, +}: SearchFiltersProps) => { + const handleApply = (values: z.infer) => { + submitHandler(values); + closeHandler(); + }; + + const { data, isLoading, error, refetch } = useGetDepartmentsQuery(); + + return ( +
      + + +
      + closeHandler()} + className="absolute top-0 right-0 cursor-pointer hover:text-gray-400" + /> +
      + Filters + Apply filters to course search. +
      + +
      + + console.log(errors), + )} + className="space-y-8" + > +
      + ( + + Breadth Requirement + + + + + + )} + /> + + ( + + Credit Weight + + + + + + )} + /> + + ( + + Department + + + + + + )} + /> + + ( + + Year Level + + + + + + )} + /> + +
      + + +
      +
      +
      + +
      +
      +
      + ); +}; + +export default SearchFilters; diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/ShareDialog.tsx b/course-matrix/frontend/src/pages/TimetableBuilder/ShareDialog.tsx new file mode 100644 index 00000000..9d86c979 --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/ShareDialog.tsx @@ -0,0 +1,96 @@ +import { Button } from "@/components/ui/button"; +import { + Dialog, + DialogTrigger, + DialogContent, + DialogHeader, + DialogFooter, + DialogTitle, + DialogDescription, + DialogClose, +} from "@/components/ui/dialog"; +import { Input } from "@/components/ui/input"; +import { Label } from "@/components/ui/label"; +import { useRef, useState } from "react"; +import { useCreateShareMutation } from "@/api/sharedApiSlice"; +import TimetableSuccessDialog from "./TimetableSuccessDialog"; +import { Spinner } from "@/components/ui/spinner"; + +interface ShareDialogProps { + open: boolean; + setOpen: (open: boolean) => void; + calendar_id: number; +} + +const ShareDialog = ({ open, setOpen, calendar_id }: ShareDialogProps) => { + const emailRef = useRef(null); + const [shareTimetable] = useCreateShareMutation(); + + const [loading, setLoading] = useState(false); + const [errorMessage, setErrorMessage] = useState(null); + const [successMessage, setSuccessMessage] = useState(null); + + const handleShare = async () => { + setLoading(true); + const email = emailRef.current?.value; + const { error } = await shareTimetable({ + shared_email: email, + calendar_id, + }); + if (error) { + const errorData = (error as { data?: { error?: string } }).data; + setErrorMessage(errorData?.error ?? "Unknown error occurred"); + } else { + setSuccessMessage("Timetable shared successfully!"); + setOpen(false); + setErrorMessage(null); + } + setLoading(false); + }; + + return ( + { + setOpen(!open); + setErrorMessage(null); + }} + > + + + + + Share Timetable + + Who would you like to share your timetable with? + + + {loading && } + + + + {errorMessage} + + + + + + + + + + ); +}; + +export default ShareDialog; diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/SharedCalendar.tsx b/course-matrix/frontend/src/pages/TimetableBuilder/SharedCalendar.tsx new file mode 100644 index 00000000..8b296d1e --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/SharedCalendar.tsx @@ -0,0 +1,197 @@ +import { ScheduleXCalendar } from "@schedule-x/react"; +import { + createCalendar, + createViewDay, + createViewMonthAgenda, + createViewMonthGrid, + createViewWeek, + viewWeek, +} from "@schedule-x/calendar"; +// import { createDragAndDropPlugin } from "@schedule-x/drag-and-drop"; +import { createEventModalPlugin } from "@schedule-x/event-modal"; +import "@schedule-x/theme-default/dist/index.css"; +import React from "react"; +import { useGetSharedEventsQuery } from "@/api/eventsApiSlice"; +import { Event, TimetableEvents, Restriction } from "@/utils/type-utils"; +import { + getSemesterStartAndEndDates, + getSemesterStartAndEndDatesPlusOneWeek, +} from "@/utils/semester-utils"; +import { courseEventStyles } from "@/constants/calendarConstants"; +import { parseEvent } from "@/utils/calendar-utils"; +import { useGetSharedRestrictionsQuery } from "@/api/sharedApiSlice"; +import { formatTime } from "@/utils/format-date-time"; +import LoadingPage from "../Loading/LoadingPage"; + +interface SharedCalendarProps { + user_id: string; + user_username: string; + calendar_id: number; + timetable_title: string; + semester: string; +} + +const SharedCalendar = React.memo( + ({ user_id, user_username, calendar_id, timetable_title, semester }) => { + const semesterStartDate = getSemesterStartAndEndDates(semester).start; + const { start: semesterStartDatePlusOneWeek, end: semesterEndDate } = + getSemesterStartAndEndDatesPlusOneWeek(semester); + + const { data: sharedEventsData, isLoading: isSharedEventsLoading } = + useGetSharedEventsQuery( + { user_id, calendar_id }, + { skip: !user_id || !calendar_id }, + ) as { + data: TimetableEvents; + isLoading: boolean; + }; + const sharedEvents = sharedEventsData as TimetableEvents; + + const { data: restrictionsData, isLoading: isRestrictionsLoading } = + useGetSharedRestrictionsQuery( + { user_id, calendar_id }, + { skip: !user_id || !calendar_id }, + ) as { + data: Restriction[]; + isLoading: boolean; + }; + const restrictions = restrictionsData ?? []; + + const isLoading = isSharedEventsLoading || isRestrictionsLoading; + + const courseEvents: Event[] = sharedEvents?.courseEvents ?? []; + const userEvents: Event[] = sharedEvents?.userEvents ?? []; + + const courses = [ + ...new Set( + courseEvents.map((event) => event.event_name.split("-")[0].trim()), + ), + ]; + const courseToMeetingSectionMap = new Map(); + courseEvents.forEach((event) => { + const course = event.event_name.split("-")[0].trim(); + const meetingSection = event.event_name.split("-")[1].trim(); + if (courseToMeetingSectionMap.has(course)) { + const meetingSections = courseToMeetingSectionMap.get(course); + if (meetingSections) { + courseToMeetingSectionMap.set(course, [ + ...new Set([...meetingSections, meetingSection]), + ]); + } + } else { + courseToMeetingSectionMap.set(course, [meetingSection]); + } + }); + + let index = 1; + const courseEventsParsed = courseEvents.map((event) => + parseEvent(index++, event, "courseEvent"), + ); + const userEventsParsed = userEvents.map((event) => + parseEvent(index++, event, "userEvent"), + ); + + const calendar = createCalendar({ + views: [ + createViewDay(), + createViewWeek(), + createViewMonthGrid(), + createViewMonthAgenda(), + ], + firstDayOfWeek: 0, + selectedDate: semesterStartDatePlusOneWeek, + minDate: semesterStartDate, + maxDate: semesterEndDate, + defaultView: viewWeek.name, + events: [...courseEventsParsed, ...userEventsParsed], + calendars: { + courseEvent: courseEventStyles, + }, + plugins: [createEventModalPlugin()], + weekOptions: { + gridHeight: 600, + }, + dayBoundaries: { + start: "06:00", + end: "21:00", + }, + isResponsive: false, + }); + + const username = + user_username.trim().length > 0 ? user_username : "John Doe"; + + return isLoading ? ( + + ) : ( +
      +

      + You are viewing{" "} + {username ?? "John Doe"}'s{" "} + timetable named{" "} + {timetable_title} for{" "} + {semester} +

      +
      + Courses:{" "} + {courses.length === 0 && ( + + This timetable has no courses + + )} + {courses.map((course) => ( + + {course}{" "} + + ({(courseToMeetingSectionMap.get(course) ?? []).join(", ")}) + + + ))} +
      + Restrictions: + {restrictions.length === 0 && ( + No restrictions applied + )} +
      + {restrictions.map((restriction) => { + const restrictedDays = JSON.parse(restriction.days) + .map((day: string) => { + if (day === "MO") return "Monday"; + if (day === "TU") return "Tuesday"; + if (day === "WE") return "Wednesday"; + if (day === "TH") return "Thursday"; + if (day === "FR") return "Friday"; + if (day === "SA") return "Saturday"; + if (day === "SU") return "Sunday"; + return "Unknown Day"; + }) + .join(", "); + const restrictionText = + restriction.type === "Max Gap" + ? `${restriction.type} of ${restriction.max_gap} Hours on ${restriction.days}` + : restriction.type === "Restrict Before" + ? `${restriction.type} ${formatTime(new Date(`2025-01-01T${restriction.end_time}.00Z`))} on ${restrictedDays}` + : restriction.type === "Restrict After" + ? `${restriction.type} ${formatTime(new Date(`2025-01-01T${restriction.start_time}.00Z`))} on ${restrictedDays}` + : restriction.type === "Restrict Between" + ? `${restriction.type} ${formatTime(new Date(`2025-01-01T${restriction.start_time}.00Z`))} and ${formatTime(new Date(`2025-01-01T${restriction.end_time}.00Z`))} on ${restrictedDays}` + : restriction.type === "Restrict Day" + ? `Restrict the days of ${restrictedDays}` + : restriction.type === "Days Off" + ? `Minimum of ${restriction.num_days} days off` + : "Unknown Restriction Applied"; + + return ( +
      + {restrictionText} +
      + ); + })} +
      + +
      + ); + }, +); + +export default SharedCalendar; diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/TimetableBuilder.tsx b/course-matrix/frontend/src/pages/TimetableBuilder/TimetableBuilder.tsx new file mode 100644 index 00000000..67cfb502 --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/TimetableBuilder.tsx @@ -0,0 +1,673 @@ +import { Button } from "@/components/ui/button"; +import { + Form, + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage, +} from "@/components/ui/form"; +import { + RestrictionSchema, + SemesterEnum, + TimetableFormSchema, + baseTimetableForm, +} from "@/models/timetable-form"; +import { Share, WandSparkles, X } from "lucide-react"; +import { createContext, useEffect, useState } from "react"; +import { useForm, UseFormReturn } from "react-hook-form"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { z } from "zod"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import CourseSearch from "@/pages/TimetableBuilder/CourseSearch"; +import CreateCustomSetting from "./CreateCustomSetting"; +import { formatTime } from "@/utils/format-date-time"; +import { FilterForm, FilterFormSchema } from "@/models/filter-form"; +import { useGetCoursesQuery } from "@/api/coursesApiSlice"; +import { + useGenerateTimetableMutation, + useGetTimetablesQuery, +} from "@/api/timetableApiSlice"; +import { useGetEventsQuery } from "@/api/eventsApiSlice"; +import { useGetOfferingsQuery } from "@/api/offeringsApiSlice"; +import { useGetRestrictionsQuery } from "@/api/restrictionsApiSlice"; +import { useDebounceValue } from "@/utils/useDebounce"; +import SearchFilters from "./SearchFilters"; +import Calendar from "./Calendar"; +import { + Offering, + TimetableEvents, + Timetable, + Restriction, +} from "@/utils/type-utils"; +import { useSearchParams } from "react-router-dom"; +import OfferingInfo from "./OfferingInfo"; +import { Checkbox } from "@/components/ui/checkbox"; +import { CourseModel, TimetableGenerateResponseModel } from "@/models/models"; +import LoadingPage from "@/pages/Loading/LoadingPage"; +import { GeneratedCalendars } from "./GeneratedCalendars"; +import { Spinner } from "@/components/ui/spinner"; +import { convertRestrictionTimes } from "@/utils/convert-restriction-times"; +import ShareDialog from "./ShareDialog"; + +type FormContextType = UseFormReturn>; +export const FormContext = createContext(null); +const SEARCH_LIMIT = 1000; + +/** + * TimetableBuilder Component + * + * Allows users to build a personalized timetable by selecting courses, applying filters, + * and setting restrictions. It integrates with `react-hook-form` for form management and fetches course data + * dynamically using RTK Query. + * + * Features: + * - **Course Selection**: Users can search for and select courses, ensuring no duplicates. + * - **Semester Selection**: Dropdown selection for choosing the semester. + * - **Custom Restrictions**: Allows users to define time-based restrictions for scheduling preferences. + * - **Filters**: Users can apply advanced search filters to refine course selection. + * - **Live Search**: Implements debounced search for optimized performance. + * - **State Management**: + * - `isEditNameOpen`, `isCustomSettingsOpen`, `showFilters` for modal management. + * - `filters` for search filters. + * - `selectedCourses` and `enabledRestrictions` to track user selections. + * + * Hooks: + * - `useForm` for managing form states (`form`, `filterForm`). + * - `useEffect` to trigger API refetch on search input changes. + * - `useDebounceValue` to prevent excessive API calls when searching. + * + * API Calls: + * - Fetches course data using `useGetCoursesQuery`. + * - Sends timetable creation request to `/api/timetable/create` (TODO). + * + * UI Components: + * - `Form`, `Select`, `Input`, `Button` for structured form inputs. + * - `CourseSearch` for searching and selecting courses. + * - `CreateCustomSetting` for adding personalized restrictions. + * - `SearchFilters` for filtering course results. + * + * @returns {JSX.Element} The rendered timetable builder. + */ + +const TimetableBuilder = () => { + const form = useForm>({ + resolver: zodResolver(TimetableFormSchema), + defaultValues: baseTimetableForm, + }); + + const filterForm = useForm>({ + resolver: zodResolver(FilterFormSchema), + }); + + const [queryParams] = useSearchParams(); + const isEditingTimetable = queryParams.has("edit"); + const timetableId = parseInt(queryParams.get("edit") || "0"); + + const [showLoadingPage, setShowLoadingPage] = useState(isEditingTimetable); + + const selectedCourses = form.watch("courses") || []; + const enabledRestrictions = form.watch("restrictions") || []; + const searchQuery = form.watch("search"); + const debouncedSearchQuery = useDebounceValue(searchQuery, 250); + const selectedSemester = form.watch("semester"); + const offeringIds = form.watch("offeringIds"); + + // console.log("Selected courses", selectedCourses); + // console.log("Enabled restrictions", enabledRestrictions); + + const [isCustomSettingsOpen, setIsCustomSettingsOpen] = useState(false); + const [filters, setFilters] = useState(null); + const [showFilters, setShowFilters] = useState(false); + const [isChoosingSectionsManually, setIsChoosingSectionsManually] = + useState(isEditingTimetable); + const [isGeneratingTimetables, setIsGeneratingTimetables] = useState(false); + const [generatedTimetables, setGeneratedTimetables] = + useState(); + const [errorMsg, setErrorMsg] = useState(""); + const noSearchAndFilter = () => { + return !searchQuery && !filters; + }; + const [openShareDialog, setOpenShareDialog] = useState(false); + + // limit search number if no search query or filters for performance purposes. + // Otherwise, limit is 10k, which effectively gets all results. + const { + data: coursesData, + isLoading, + refetch, + } = useGetCoursesQuery({ + limit: noSearchAndFilter() ? SEARCH_LIMIT : 10000, + search: debouncedSearchQuery || undefined, + semester: selectedSemester, + ...filters, + }); + + const [generateTimetable, { isLoading: isGenerateLoading }] = + useGenerateTimetableMutation(); + + const { data: allCoursesData } = useGetCoursesQuery({ + limit: 10000, + }) as { + data: CourseModel[]; + }; + + const { data: offeringData } = useGetOfferingsQuery({}) as { + data: Offering[]; + }; + const offerings = offeringData || []; + const offeringIdToCourseIdMap = offerings.reduce( + (acc, offering) => { + acc[offering.id] = offering.course_id; + return acc; + }, + {} as Record, + ); + + const { data: timetableEventsData } = useGetEventsQuery(timetableId, { + skip: !isEditingTimetable, + }) as { + data: TimetableEvents; + }; + + const [loadedSemester, setLoadedSemester] = useState(false); + const [loadedCourses, setLoadedCourses] = useState(false); + const [loadedOfferingIds, setLoadedOfferingIds] = useState(false); + const [loadedRestrictions, setLoadedRestrictions] = useState(false); + + const { data: restrictionsData } = useGetRestrictionsQuery(timetableId, { + skip: !isEditingTimetable, + }) as { + data: Restriction[]; + }; + + const { data: timetablesData } = useGetTimetablesQuery() as { + data: Timetable[]; + }; + const timetables = timetablesData || []; + const currentTimetableTitle = timetables.find( + (timetable) => timetable.id === timetableId, + )?.timetable_title; + const currentTimetableSemester = timetables.find( + (timetable) => timetable.id === timetableId, + )?.semester; + + // Set the state variable courseEvents, and set the form values for 'offeringIds', 'courses', and 'restrictions' + useEffect(() => { + if (!loadedSemester && currentTimetableSemester) { + form.setValue("semester", currentTimetableSemester); + setLoadedSemester(true); + } + if ( + timetableEventsData && + coursesData && + allCoursesData && + offeringIdToCourseIdMap && + restrictionsData && + !loadedCourses && + !loadedOfferingIds && + !loadedRestrictions + ) { + const existingOfferingIds = [ + ...new Set( + timetableEventsData?.courseEvents.map((event) => event.offering_id), + ), + ].sort((a, b) => a - b); + form.setValue("offeringIds", existingOfferingIds); + setLoadedOfferingIds(true); + + const existingCourseIds = [ + ...new Set( + existingOfferingIds.map( + (offeringId) => offeringIdToCourseIdMap[offeringId], + ), + ), + ]; + const existingCourses = allCoursesData.filter((course: CourseModel) => + existingCourseIds.includes(course.id), + ); + form.setValue("courses", existingCourses); + setLoadedCourses(true); + // Parse restrictions data (For startTime and endTime, we just care about the time, so we use the random date of 2025-01-01 so that the date can be parsed correctly) + // We also add 1 hour (i.e. 60 * 60 * 1000 milliseconds) to the time to account for the timezone difference between the server and the client + const parsedRestrictions = restrictionsData.map( + (restriction: Restriction) => + ({ + days: JSON.parse(restriction?.days) as string[], + disabled: restriction?.disabled, + startTime: restriction?.start_time + ? new Date( + new Date( + `2025-01-01T${restriction.start_time}.00Z`, + ).getTime() + + 60 * 60 * 1000, + ) + : undefined, + endTime: restriction?.end_time + ? new Date( + new Date(`2025-01-01T${restriction.end_time}.00Z`).getTime() + + 60 * 60 * 1000, + ) + : undefined, + type: restriction?.type, + numDays: restriction?.num_days, + maxGap: restriction?.max_gap, + }) as z.infer, + ); + form.setValue("restrictions", parsedRestrictions); + setLoadedRestrictions(true); + setShowLoadingPage(false); + } + }, [ + timetableEventsData, + coursesData, + restrictionsData, + loadedCourses, + loadedOfferingIds, + loadedRestrictions, + form, + allCoursesData, + offeringIdToCourseIdMap, + loadedSemester, + currentTimetableSemester, + ]); + + useEffect(() => { + if (searchQuery) { + refetch(); + } + }, [debouncedSearchQuery]); + + const handleGenerate = async ( + values: z.infer, + ) => { + try { + const newValues = convertRestrictionTimes(values); + console.log(">> Timetable options:", newValues); + const res = await generateTimetable(newValues); + const data: TimetableGenerateResponseModel = res.data; + + // RTK Query does NOT throw errors, so check for `error` + if ("error" in res) { + console.error("Mutation failed:", res.error); + throw new Error("not found"); + } + setIsGeneratingTimetables(true); + setGeneratedTimetables(data); + setErrorMsg(""); + } catch { + setIsGeneratingTimetables(false); + setErrorMsg("No valid timetables found"); + } + }; + + const handleReset = () => { + form.reset(); + filterForm.reset(); + setFilters(null); + }; + + const handleRemoveCourse = (course: { + id: number; + code: string; + name: string; + }) => { + const currentList = form.getValues("courses"); + const newList = currentList.filter((item) => item.id !== course.id); + form.setValue("courses", newList); + }; + + const handleAddRestriction = (values: z.infer) => { + const currentList = form.getValues("restrictions"); + const newList = [...currentList, values]; + form.setValue("restrictions", newList); + }; + + const handleRemoveRestriction = (index: number) => { + const currentList = form.getValues("restrictions"); + const newList = currentList.filter((_, i) => i !== index); + form.setValue("restrictions", newList); + }; + + const applyFilters = (values: z.infer) => { + setFilters(values); + console.log("Apply filters", values); + }; + + return showLoadingPage ? ( + + ) : ( +
      +
      +
      +
      +
      +
      +

      + {isEditingTimetable ? "Edit Timetable" : "New Timetable"} +

      + {isEditingTimetable && ( +

      + Editing: {currentTimetableTitle} +

      + )} +
      +
      + + {isEditingTimetable && ( + + )} + {isEditingTimetable && ( + + )} +
      +
      +
      +
      +
      + + { + console.error("Form submission errors:", errors); + })} + className="space-y-8" + > +
      + ( + + Semester + + + + + + )} + /> + + ( + + + Pick a few courses you'd like to take + + + { + field.onChange(value); + }} + data={coursesData} // TODO: Replace with variable data + isLoading={isLoading} + showFilter={() => setShowFilters(true)} + /> + + + + )} + /> +
      +
      +
      +

      + Selected courses: {selectedCourses.length} (Max 8) +

      + {!isEditingTimetable && !isGeneratingTimetables && ( +
      + { + setIsChoosingSectionsManually(checked === true); + if (checked) { + form.setValue("restrictions", []); + } + }} + /> + +
      + )} +
      +
      + {!isEditingTimetable || + (isEditingTimetable && + loadedCourses && + loadedOfferingIds && + selectedCourses) ? ( + selectedCourses.map((course, index) => { + return ( +
      +
      +

      + {course.code}: {course.name} +

      +
      + { + handleRemoveCourse(course); + const newOfferingsIds = form + .getValues("offeringIds") + .filter( + (offeringId: number) => + offeringIdToCourseIdMap[ + offeringId + ] !== course.id, + ); + form.setValue( + "offeringIds", + newOfferingsIds, + ); + }} + /> +
      +
      + {isChoosingSectionsManually && ( + + )} +
      + ); + }) + ) : ( +

      + Loading courses... +

      + )} +
      +
      + {(!isChoosingSectionsManually || isEditingTimetable) && ( + <> +
      +
      +

      Custom Settings

      +

      + {!isEditingTimetable + ? "Add additional restrictions to your timetable to personalize it to your needs." + : "This timetable was created with the following restrictions:"} +

      +
      + +
      + +
      + ( + +

      + Enabled Restrictions: {enabledRestrictions.length} +

      + +
      + )} + /> +
      + {enabledRestrictions && + enabledRestrictions.map((restric, index) => ( +
      + {restric.type.startsWith("Restrict") ? ( +

      + {restric.type}:{" "} + {restric.startTime + ? formatTime(restric.startTime) + : ""}{" "} + {restric.type === "Restrict Between" + ? " - " + : ""}{" "} + {restric.endTime + ? formatTime(restric.endTime) + : ""}{" "} + {restric.days?.join(" ")} +

      + ) : restric.type.startsWith("Days") ? ( +

      + {restric.type}: At least{" "} + {restric.numDays} days off +

      + ) : ( +

      + {restric.type}:{" "} + {restric.maxGap} hours +

      + )} + + handleRemoveRestriction(index)} + /> +
      + ))} +
      +
      + + )} + + {!isChoosingSectionsManually && ( +
      + {isGenerateLoading ? ( + + ) : ( + + )} +
      + )} + +
      {errorMsg}
      + {isCustomSettingsOpen && ( + setIsCustomSettingsOpen(false)} + /> + )} +
      + +
      +
      + {isGeneratingTimetables ? ( + + ) : ( + + )} +
      + + {showFilters && ( + setShowFilters(false)} + resetHandler={() => { + setFilters(null); + setShowFilters(false); + console.log("reset filters"); + }} + filterForm={filterForm} + /> + )} +
      +
      + ); +}; + +export default TimetableBuilder; diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/TimetableErrorDialog.tsx b/course-matrix/frontend/src/pages/TimetableBuilder/TimetableErrorDialog.tsx new file mode 100644 index 00000000..2181a945 --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/TimetableErrorDialog.tsx @@ -0,0 +1,49 @@ +import { Button } from "@/components/ui/button"; +import { + DialogHeader, + DialogFooter, + Dialog, + DialogContent, + DialogTitle, + DialogDescription, + DialogClose, +} from "@/components/ui/dialog"; +import React from "react"; + +interface TimetableErrorDialogProps { + errorMessage: string | null; + setErrorMessage: React.Dispatch>; +} + +const TimetableErrorDialog: React.FC = ({ + errorMessage, + setErrorMessage, +}) => { + const dialogTitle = errorMessage; + const dialogDescription = errorMessage?.includes("title already exists") + ? "Please choose another title for your timetable" + : null; + + return ( + setErrorMessage(null)} + > + + + {dialogTitle} + {dialogDescription} + + + + + + + + + ); +}; + +export default TimetableErrorDialog; diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/TimetableSuccessDialog.tsx b/course-matrix/frontend/src/pages/TimetableBuilder/TimetableSuccessDialog.tsx new file mode 100644 index 00000000..9b85ccac --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/TimetableSuccessDialog.tsx @@ -0,0 +1,49 @@ +import { Button } from "@/components/ui/button"; +import { + DialogHeader, + DialogFooter, + Dialog, + DialogContent, + DialogTitle, + DialogDescription, + DialogClose, +} from "@/components/ui/dialog"; +import React from "react"; + +interface TimetableSuccessDialogProps { + successMessage: string | null; + setSuccessMessage: React.Dispatch>; +} + +const TimetableSuccessDialog: React.FC = ({ + successMessage, + setSuccessMessage, +}) => { + const dialogTitle = successMessage; + const dialogDescription = successMessage?.includes("title already exists") + ? "Please choose another title for your timetable" + : null; + + return ( + setSuccessMessage(null)} + > + + + {dialogTitle} + {dialogDescription} + + + + + + + + + ); +}; + +export default TimetableSuccessDialog; diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/ViewCalendar.tsx b/course-matrix/frontend/src/pages/TimetableBuilder/ViewCalendar.tsx new file mode 100644 index 00000000..495b08cf --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/ViewCalendar.tsx @@ -0,0 +1,165 @@ +import { ScheduleXCalendar } from "@schedule-x/react"; +import { + createCalendar, + createViewDay, + createViewMonthAgenda, + createViewMonthGrid, + createViewWeek, + viewWeek, +} from "@schedule-x/calendar"; +// import { createDragAndDropPlugin } from "@schedule-x/drag-and-drop"; +import { createEventModalPlugin } from "@schedule-x/event-modal"; +import "@schedule-x/theme-default/dist/index.css"; +import React from "react"; +import { useGetSharedEventsQuery } from "@/api/eventsApiSlice"; +import { Event, TimetableEvents } from "@/utils/type-utils"; +import { + getSemesterStartAndEndDates, + getSemesterStartAndEndDatesPlusOneWeek, +} from "@/utils/semester-utils"; +import { courseEventStyles } from "@/constants/calendarConstants"; +import { parseEvent } from "@/utils/calendar-utils"; +import { useGetUsernameFromUserIdQuery } from "@/api/authApiSlice"; +import { Spinner } from "@/components/ui/spinner"; +import { SemesterIcon } from "@/components/semester-icon"; + +interface ViewCalendarProps { + user_id: string; + calendar_id: number; + timetable_title: string; + semester: string; + show_fancy_header: boolean; +} + +const ViewCalendar = React.memo( + ({ user_id, calendar_id, timetable_title, semester, show_fancy_header }) => { + const { data: usernameData } = useGetUsernameFromUserIdQuery(user_id, { + skip: calendar_id === -1, + }); + const username = usernameData + ? usernameData.trim().length > 0 + ? usernameData + : "John Doe" + : "John Doe"; + + const semesterStartDate = getSemesterStartAndEndDates(semester).start; + const { start: semesterStartDatePlusOneWeek, end: semesterEndDate } = + getSemesterStartAndEndDatesPlusOneWeek(semester); + + const { data: sharedEventsData, isLoading: isSharedEventsLoading } = + useGetSharedEventsQuery( + { user_id, calendar_id }, + { skip: !user_id || !calendar_id }, + ) as { + data: TimetableEvents; + isLoading: boolean; + }; + const sharedEvents = sharedEventsData as TimetableEvents; + + const isLoading = isSharedEventsLoading; + + const courseEvents: Event[] = sharedEvents?.courseEvents ?? []; + const userEvents: Event[] = sharedEvents?.userEvents ?? []; + + const courses = [ + ...new Set( + courseEvents.map((event) => event.event_name.split("-")[0].trim()), + ), + ]; + const courseToMeetingSectionMap = new Map(); + courseEvents.forEach((event) => { + const course = event.event_name.split("-")[0].trim(); + const meetingSection = event.event_name.split("-")[1].trim(); + if (courseToMeetingSectionMap.has(course)) { + const meetingSections = courseToMeetingSectionMap.get(course); + if (meetingSections) { + courseToMeetingSectionMap.set(course, [ + ...new Set([...meetingSections, meetingSection]), + ]); + } + } else { + courseToMeetingSectionMap.set(course, [meetingSection]); + } + }); + + let index = 1; + const courseEventsParsed = courseEvents.map((event) => + parseEvent(index++, event, "courseEvent"), + ); + const userEventsParsed = userEvents.map((event) => + parseEvent(index++, event, "userEvent"), + ); + + const calendar = createCalendar({ + views: [ + createViewDay(), + createViewWeek(), + createViewMonthGrid(), + createViewMonthAgenda(), + ], + firstDayOfWeek: 0, + selectedDate: semesterStartDatePlusOneWeek, + minDate: semesterStartDate, + maxDate: semesterEndDate, + defaultView: viewWeek.name, + events: [...courseEventsParsed, ...userEventsParsed], + calendars: { + courseEvent: courseEventStyles, + }, + plugins: [createEventModalPlugin()], + weekOptions: { + gridHeight: 600, + }, + dayBoundaries: { + start: "06:00", + end: "21:00", + }, + isResponsive: false, + }); + + return isLoading ? ( + + ) : ( +
      + {!show_fancy_header && ( +

      +
      + + {timetable_title} +
      +

      + )} + {show_fancy_header && ( + <> +

      + You are viewing{" "} + {username ?? "John Doe"}'s{" "} + timetable named{" "} + {timetable_title} for{" "} + {semester} +

      +
      + Courses:{" "} + {courses.length === 0 && ( + + This timetable has no courses + + )} + {courses.map((course) => ( + + {course}{" "} + + ({(courseToMeetingSectionMap.get(course) ?? []).join(", ")}) + + + ))} +
      + + )} + +
      + ); + }, +); + +export default ViewCalendar; diff --git a/course-matrix/frontend/src/pages/TimetableBuilder/mockSearchData.ts b/course-matrix/frontend/src/pages/TimetableBuilder/mockSearchData.ts new file mode 100644 index 00000000..86939ef8 --- /dev/null +++ b/course-matrix/frontend/src/pages/TimetableBuilder/mockSearchData.ts @@ -0,0 +1,221 @@ +import { OfferingModel } from "@/models/models"; + +export const mockSearchData = { + courses: [ + { + id: 1, + created_at: "2025-02-07 23:14:00.54424+00", + updated_at: "2025-02-07 23:14:00.54424+00", + code: "ACMA01H3", + breadthRequirement: "ART_LIT_LANG", + description: + "ACMA01H3 surveys the cultural achievements of the humanities in visual art, language, music, theatre, and film within their historical, material, and philosophical contexts. Students gain understanding of the meanings of cultural works and an appreciation of their importance in helping define what it means to be human.", + exclusionDescription: "(HUMA01H3)", + name: "Exploring Key Questions in the Arts, Culture and Media", + }, + { + id: 2, + created_at: "2025-02-07 23:14:00.54424+00", + updated_at: "2025-02-07 23:14:00.54424+00", + code: "ACMB10H3", + breadthRequirement: "SOCIAL_SCI", + description: + "Equity and diversity in the arts promotes diversity of all kinds, including those of race, gender, socio-economic status, sexual orientation or identity, age, ability or disability, religion, and aesthetics, tradition or practice. This course examines issues of equity and diversity and how they apply across all disciplines of arts, culture and media through critical readings and analysis of cultural policy.", + prerequisiteDescription: "Any 4.0 Credits", + exclusionDescription: "(VPAB07H3)", + recommendedPreperation: "Do stuff", + name: "Equity and Diversity in the Arts", + }, + { + id: 3, + created_at: "2025-02-07 23:14:00.54424+00", + updated_at: "2025-02-07 23:14:00.54424+00", + code: "ACMC01H3", + breadthRequirement: "ART_LIT_LANG", + courseExperience: "University-Based Experience", + description: + "A study of the arts, culture and/or media sector through reflective practice. Students will synthesize their classroom and work place / learning laboratory experiences in a highly focused, collaborative, and facilitated way through a series of assignments and discussions.", + prerequisiteDescription: + "9.0 credits including VPAB16H3 and VPAB17H3 (or its equivalent with instructor permission) and successful completion of required Field Placement Preparation Activities", + exclusionDescription: "(HUMA01H3)", + name: "ACMEE Applied Practice I", + corequisiteDescription: + "Field Placement I (may be taken as a prerequisite with Program Director's permission)", + note: "This course will be graded as a CR if a student successfully completes their internship; and as NCR is the placement was unsuccessful. The NCR will impact the CGPA and count as a 0.0 CGPA value on a transcript.", + }, + ], +}; + +export const mockOffering: OfferingModel[] = [ + { + id: 1, + created_at: "2025-02-07 23:14:00.54424+00", + updated_at: "2025-02-07 23:14:00.54424+00", + course_id: 1, + code: "ACMA01H3", + meeting_section: "LEC01", + offering: "Fall 2025", + day: "MO", + start: "12:00 PM", + end: "2:00 PM", + location: "BV469", + current: "15", + max: "25", + is_waitlisted: false, + delivery_mode: "In-person", + instructor: "Prof John Doe", + notes: "This course offers no credits", + }, + { + id: 2, + created_at: "2025-02-07 23:14:00.54424+00", + updated_at: "2025-02-07 23:14:00.54424+00", + course_id: 1, + code: "ACMA01H3", + meeting_section: "LEC01", + offering: "Fall 2025", + day: "MO", + start: "12:00 PM", + end: "2:00 PM", + location: "BV469", + current: "15", + max: "25", + is_waitlisted: false, + delivery_mode: "In-person", + instructor: "Prof John Doe", + notes: "This course offers no credits", + }, + { + id: 3, + created_at: "2025-02-07 23:14:00.54424+00", + updated_at: "2025-02-07 23:14:00.54424+00", + course_id: 1, + code: "ACMA01H3", + meeting_section: "LEC01", + offering: "Fall 2025", + day: "MO", + start: "12:00 PM", + end: "2:00 PM", + location: "BV469", + current: "15", + max: "25", + is_waitlisted: false, + delivery_mode: "In-person", + instructor: "Prof John Doe", + notes: "This course offers no credits", + }, + { + id: 1, + created_at: "2025-02-07 23:14:00.54424+00", + updated_at: "2025-02-07 23:14:00.54424+00", + course_id: 1, + code: "ACMA01H3", + meeting_section: "LEC01", + offering: "Fall 2025", + day: "MO", + start: "12:00 PM", + end: "2:00 PM", + location: "BV469", + current: "15", + max: "25", + is_waitlisted: false, + delivery_mode: "In-person", + instructor: "Prof John Doe", + notes: "This course offers no credits", + }, + { + id: 2, + created_at: "2025-02-07 23:14:00.54424+00", + updated_at: "2025-02-07 23:14:00.54424+00", + course_id: 1, + code: "ACMA01H3", + meeting_section: "LEC01", + offering: "Fall 2025", + day: "MO", + start: "12:00 PM", + end: "2:00 PM", + location: "BV469", + current: "15", + max: "25", + is_waitlisted: false, + delivery_mode: "In-person", + instructor: "Prof John Doe", + notes: "This course offers no credits", + }, + { + id: 3, + created_at: "2025-02-07 23:14:00.54424+00", + updated_at: "2025-02-07 23:14:00.54424+00", + course_id: 1, + code: "ACMA01H3", + meeting_section: "LEC01", + offering: "Fall 2025", + day: "MO", + start: "12:00 PM", + end: "2:00 PM", + location: "BV469", + current: "15", + max: "25", + is_waitlisted: false, + delivery_mode: "In-person", + instructor: "Prof John Doe", + notes: "This course offers no credits", + }, + { + id: 1, + created_at: "2025-02-07 23:14:00.54424+00", + updated_at: "2025-02-07 23:14:00.54424+00", + course_id: 1, + code: "ACMA01H3", + meeting_section: "LEC01", + offering: "Fall 2025", + day: "MO", + start: "12:00 PM", + end: "2:00 PM", + location: "BV469", + current: "15", + max: "25", + is_waitlisted: false, + delivery_mode: "In-person", + instructor: "Prof John Doe", + notes: "This course offers no credits", + }, + { + id: 2, + created_at: "2025-02-07 23:14:00.54424+00", + updated_at: "2025-02-07 23:14:00.54424+00", + course_id: 1, + code: "ACMA01H3", + meeting_section: "LEC01", + offering: "Fall 2025", + day: "MO", + start: "12:00 PM", + end: "2:00 PM", + location: "BV469", + current: "15", + max: "25", + is_waitlisted: false, + delivery_mode: "In-person", + instructor: "Prof John Doe", + notes: "This course offers no credits", + }, + { + id: 3, + created_at: "2025-02-07 23:14:00.54424+00", + updated_at: "2025-02-07 23:14:00.54424+00", + course_id: 1, + code: "ACMA01H3", + meeting_section: "LEC01", + offering: "Fall 2025", + day: "MO", + start: "12:00 PM", + end: "2:00 PM", + location: "BV469", + current: "15", + max: "25", + is_waitlisted: false, + delivery_mode: "In-person", + instructor: "Prof John Doe", + notes: "This course offers no credits", + }, +]; diff --git a/course-matrix/frontend/src/stores/authslice.ts b/course-matrix/frontend/src/stores/authslice.ts new file mode 100644 index 00000000..dc5aa056 --- /dev/null +++ b/course-matrix/frontend/src/stores/authslice.ts @@ -0,0 +1,29 @@ +import { createSlice } from "@reduxjs/toolkit"; + +const initialState = { + userInfo: localStorage.getItem("userInfo") + ? JSON.parse(localStorage.getItem("userInfo") || "{}") + : null, +}; + +// Handle storing + retreival of user info from local storage +const authSlice = createSlice({ + name: "auth", + initialState, + reducers: { + setCredentials: (state, action) => { + state.userInfo = action.payload; + localStorage.setItem("userInfo", JSON.stringify(action.payload ?? {})); + const expirationTime = new Date().getTime() + 30 * 24 * 60 * 60 * 1000; // = 30 days + localStorage.setItem("expirationTime", expirationTime.toString()); + }, + clearCredentials: (state) => { + state.userInfo = null; + localStorage.clear(); + }, + }, +}); + +export const { setCredentials, clearCredentials } = authSlice.actions; + +export default authSlice.reducer; diff --git a/course-matrix/frontend/src/stores/store.ts b/course-matrix/frontend/src/stores/store.ts new file mode 100644 index 00000000..1081c2cb --- /dev/null +++ b/course-matrix/frontend/src/stores/store.ts @@ -0,0 +1,25 @@ +import { configureStore } from "@reduxjs/toolkit"; +import { setupListeners } from "@reduxjs/toolkit/query/react"; +import { apiSlice } from "../api/baseApiSlice"; +import authReducer from "./authslice"; + +/** + * Sets up a store using Redux Toolkit to store application state information. + */ + +const store = configureStore({ + reducer: { + [apiSlice.reducerPath]: apiSlice.reducer, + auth: authReducer, + }, + + middleware: (getDefaultMiddleware) => + getDefaultMiddleware().concat(apiSlice.middleware), + devTools: true, +}); + +setupListeners(store.dispatch); + +export default store; + +export type RootState = ReturnType; diff --git a/course-matrix/frontend/src/utils/calendar-utils.ts b/course-matrix/frontend/src/utils/calendar-utils.ts new file mode 100644 index 00000000..d26be723 --- /dev/null +++ b/course-matrix/frontend/src/utils/calendar-utils.ts @@ -0,0 +1,29 @@ +import { Event, Timetable } from "@/utils/type-utils"; + +export function parseEvent(id: number, event: Event, calendarId: string) { + return { + id: id, + title: event.event_name, + start: + event.event_date + + " " + + event.event_start.split(":")[0] + + ":" + + event.event_start.split(":")[1], + end: + event.event_date + + " " + + event.event_end.split(":")[0] + + ":" + + event.event_end.split(":")[1], + calendarId: calendarId, + }; +} + +export function sortTimetablesComparator(a: Timetable, b: Timetable) { + if (a.favorite == b.favorite) + return b?.updated_at.localeCompare(a?.updated_at); + if (a.favorite) return -1; + if (b.favorite) return 1; + return 0; +} diff --git a/course-matrix/frontend/src/utils/convert-breadth-requirement.ts b/course-matrix/frontend/src/utils/convert-breadth-requirement.ts new file mode 100644 index 00000000..0537ea3b --- /dev/null +++ b/course-matrix/frontend/src/utils/convert-breadth-requirement.ts @@ -0,0 +1,9 @@ +export const convertBreadthRequirement = (code: string) => { + if (code === "ART_LIT_LANG") return "Arts, Literature and Language"; + else if (code === "HIS_PHIL_CUL") + return "History, Philosophy and Cultural Studies"; + else if (code === "SOCIAL_SCI") return "Social and Behavioral Sciences"; + else if (code === "NAT_SCI") return "Natural Sciences"; + else if (code === "QUANT") return "Quantitative Reasoning"; + else return ""; +}; diff --git a/course-matrix/frontend/src/utils/convert-restriction-times.ts b/course-matrix/frontend/src/utils/convert-restriction-times.ts new file mode 100644 index 00000000..a0728201 --- /dev/null +++ b/course-matrix/frontend/src/utils/convert-restriction-times.ts @@ -0,0 +1,27 @@ +import { TimetableFormSchema } from "@/models/timetable-form"; +import { z } from "zod"; + +export function dateToTimeString(date: Date) { + return date.toTimeString().split(" ")[0]; +} + +export function convertRestrictionTimes( + values: z.infer, +) { + let newValues: any = { ...values }; + let newRestrictions: any[] = []; + for (const restriction of values.restrictions) { + let newRestriction: any = { ...restriction }; + if (restriction.endTime) { + newRestriction.endTime = dateToTimeString(restriction.endTime); + console.log(newRestriction.endTime); + } + if (restriction.startTime) { + newRestriction.startTime = dateToTimeString(restriction.startTime); + console.log(newRestriction.startTime); + } + newRestrictions.push(newRestriction); + } + newValues.restrictions = newRestrictions; + return newValues; +} diff --git a/course-matrix/frontend/src/utils/convert-timestamp-to-locale-time.ts b/course-matrix/frontend/src/utils/convert-timestamp-to-locale-time.ts new file mode 100644 index 00000000..35867568 --- /dev/null +++ b/course-matrix/frontend/src/utils/convert-timestamp-to-locale-time.ts @@ -0,0 +1,7 @@ +export function convertTimestampToLocaleTime( + timestampz: string | number, +): string { + const date = new Date(timestampz); + + return date.toLocaleString(); // Uses system's default locale +} diff --git a/course-matrix/frontend/src/utils/format-date-time.ts b/course-matrix/frontend/src/utils/format-date-time.ts new file mode 100644 index 00000000..4ef21d41 --- /dev/null +++ b/course-matrix/frontend/src/utils/format-date-time.ts @@ -0,0 +1,7 @@ +export const formatTime = (date: Date) => { + return date.toLocaleTimeString("en-US", { + hour: "2-digit", + minute: "2-digit", + hour12: true, + }); +}; diff --git a/course-matrix/frontend/src/utils/semester-utils.ts b/course-matrix/frontend/src/utils/semester-utils.ts new file mode 100644 index 00000000..f4821b9f --- /dev/null +++ b/course-matrix/frontend/src/utils/semester-utils.ts @@ -0,0 +1,34 @@ +export function getSemesterStartAndEndDates(semester: string) { + return { + start: + semester === "Summer 2025" + ? "2025-05-02" + : semester === "Fall 2025" + ? "2025-09-02" + : "2026-01-05", + end: + semester === "Summer 2025" + ? "2025-08-07" + : semester === "Fall 2025" + ? "2025-12-02" + : "2026-04-06", + }; +} + +export function getSemesterStartAndEndDatesPlusOneWeek(semester: string) { + // Note: We make the start date 1 week after actual in order to not trunacte first week of calendar + return { + start: + semester === "Summer 2025" + ? "2025-05-09" + : semester === "Fall 2025" + ? "2025-09-09" + : "2026-01-12", + end: + semester === "Summer 2025" + ? "2025-08-07" + : semester === "Fall 2025" + ? "2025-12-02" + : "2026-04-06", + }; +} diff --git a/course-matrix/frontend/src/utils/time-picker-utils.tsx b/course-matrix/frontend/src/utils/time-picker-utils.tsx new file mode 100644 index 00000000..79c01422 --- /dev/null +++ b/course-matrix/frontend/src/utils/time-picker-utils.tsx @@ -0,0 +1,192 @@ +/** + * regular expression to check for valid hour format (01-23) + */ +export function isValidHour(value: string) { + return /^(0[0-9]|1[0-9]|2[0-3])$/.test(value); +} +/** + * regular expression to check for valid 12 hour format (01-12) + */ +export function isValid12Hour(value: string) { + return /^(0[1-9]|1[0-2])$/.test(value); +} +/** + * regular expression to check for valid minute format (00-59) + */ +export function isValidMinuteOrSecond(value: string) { + return /^[0-5][0-9]$/.test(value); +} + +type GetValidNumberConfig = { max: number; min?: number; loop?: boolean }; + +export function getValidNumber( + value: string, + { max, min = 0, loop = false }: GetValidNumberConfig, +) { + let numericValue = parseInt(value, 10); + + if (!isNaN(numericValue)) { + if (!loop) { + if (numericValue > max) numericValue = max; + if (numericValue < min) numericValue = min; + } else { + if (numericValue > max) numericValue = min; + if (numericValue < min) numericValue = max; + } + return numericValue.toString().padStart(2, "0"); + } + + return "00"; +} + +export function getValidHour(value: string) { + if (isValidHour(value)) return value; + return getValidNumber(value, { max: 23 }); +} +export function getValid12Hour(value: string) { + if (isValid12Hour(value)) return value; + return getValidNumber(value, { min: 1, max: 12 }); +} +export function getValidMinuteOrSecond(value: string) { + if (isValidMinuteOrSecond(value)) return value; + return getValidNumber(value, { max: 59 }); +} +type GetValidArrowNumberConfig = { + min: number; + max: number; + step: number; +}; + +export function getValidArrowNumber( + value: string, + { min, max, step }: GetValidArrowNumberConfig, +) { + let numericValue = parseInt(value, 10); + if (!isNaN(numericValue)) { + numericValue += step; + return getValidNumber(String(numericValue), { min, max, loop: true }); + } + return "00"; +} + +export function getValidArrowHour(value: string, step: number) { + return getValidArrowNumber(value, { min: 0, max: 23, step }); +} + +export function getValidArrow12Hour(value: string, step: number) { + return getValidArrowNumber(value, { min: 1, max: 12, step }); +} + +export function getValidArrowMinuteOrSecond(value: string, step: number) { + return getValidArrowNumber(value, { min: 0, max: 59, step }); +} + +export function setMinutes(date: Date, value: string) { + const minutes = getValidMinuteOrSecond(value); + date.setMinutes(parseInt(minutes, 10)); + return date; +} +export function setSeconds(date: Date, value: string) { + const seconds = getValidMinuteOrSecond(value); + date.setSeconds(parseInt(seconds, 10)); + return date; +} +export function setHours(date: Date, value: string) { + const hours = getValidHour(value); + date.setHours(parseInt(hours, 10)); + return date; +} +export function set12Hours(date: Date, value: string, period: Period) { + const hours = parseInt(getValid12Hour(value), 10); + const convertedHours = convert12HourTo24Hour(hours, period); + date.setHours(convertedHours); + return date; +} + +export type TimePickerType = "minutes" | "seconds" | "hours" | "12hours"; +export type Period = "AM" | "PM"; + +export function setDateByType( + date: Date, + value: string, + type: TimePickerType, + period?: Period, +) { + switch (type) { + case "minutes": + return setMinutes(date, value); + case "seconds": + return setSeconds(date, value); + case "hours": + return setHours(date, value); + case "12hours": { + if (!period) return date; + return set12Hours(date, value, period); + } + default: + return date; + } +} +export function getDateByType(date: Date, type: TimePickerType) { + switch (type) { + case "minutes": + return getValidMinuteOrSecond(String(date.getMinutes())); + case "seconds": + return getValidMinuteOrSecond(String(date.getSeconds())); + case "hours": + return getValidHour(String(date.getHours())); + case "12hours": + const hours = display12HourValue(date.getHours()); + return getValid12Hour(String(hours)); + default: + return "00"; + } +} + +export function getArrowByType( + value: string, + step: number, + type: TimePickerType, +) { + switch (type) { + case "minutes": + return getValidArrowMinuteOrSecond(value, step); + case "seconds": + return getValidArrowMinuteOrSecond(value, step); + case "hours": + return getValidArrowHour(value, step); + case "12hours": + return getValidArrow12Hour(value, step); + default: + return "00"; + } +} +/** + * handles value change of 12-hour input + * 12:00 PM is 12:00 + * 12:00 AM is 00:00 + */ +export function convert12HourTo24Hour(hour: number, period: Period) { + if (period === "PM") { + if (hour <= 11) { + return hour + 12; + } else { + return hour; + } + } else if (period === "AM") { + if (hour === 12) return 0; + return hour; + } + return hour; +} +/** + * time is stored in the 24-hour form, + * but needs to be displayed to the user + * in its 12-hour representation + */ +export function display12HourValue(hours: number) { + if (hours === 0 || hours === 12) return "12"; + if (hours >= 22) return `${hours - 12}`; + if (hours % 12 > 9) return `${hours}`; + return `0${hours % 12}`; +} diff --git a/course-matrix/frontend/src/utils/type-utils.ts b/course-matrix/frontend/src/utils/type-utils.ts new file mode 100644 index 00000000..910c1179 --- /dev/null +++ b/course-matrix/frontend/src/utils/type-utils.ts @@ -0,0 +1,63 @@ +// Declare any useful typescript types here + +export type MakeOptionalExcept = Partial> & + Pick; + +export type Event = { + id: number; + event_name: string; + event_date: string; + event_start: string; + event_end: string; + offering_id: number; +}; + +export type Offering = { + id: number; + created_at: Date; + updated_at: Date; + course_id: number; + meeting_section: string; + offering: string; + day: string; + start: string; + end: string; + location: string; + current: number; + max: number; + is_waitlisted: boolean; + delivery_mode: string; + instructor: string; + notes: string; + code: string; +}; + +export type TimetableEvents = { + courseEvents: Event[]; + userEvents: Event[]; +}; + +export type Timetable = { + id: number; + created_at: string; + updated_at: string; + semester: string; + timetable_title: string; + user_id: string; + favorite: boolean; +}; + +export type Restriction = { + id: number; + user_id: string; + created_at: Date; + updated_at: Date; + type: string; + days: string; + start_time: string; + end_time: string; + disabled: boolean; + num_days: number; + calendar_id: number; + max_gap: number; +}; diff --git a/course-matrix/frontend/src/utils/typeutils.ts b/course-matrix/frontend/src/utils/typeutils.ts new file mode 100644 index 00000000..4ada9f10 --- /dev/null +++ b/course-matrix/frontend/src/utils/typeutils.ts @@ -0,0 +1,3 @@ +// Declare any useful typescript types here +export type MakeOptionalExcept = Partial> & + Pick; diff --git a/course-matrix/frontend/src/utils/useClickOutside.tsx b/course-matrix/frontend/src/utils/useClickOutside.tsx new file mode 100644 index 00000000..061e045f --- /dev/null +++ b/course-matrix/frontend/src/utils/useClickOutside.tsx @@ -0,0 +1,36 @@ +import { useEffect } from "react"; + +/* Handles closing of UI element when user clicks off the component. + - isActive is the useState state representing the component's show/hide state. + - ref refers to the UI component to show/hide + - excludeRef refers to a UI component to exclude from click outside detection. */ + +export const useClickOutside = ( + ref: React.RefObject, + onClickOutside: () => void, + isActive: boolean, + excludeRef?: React.RefObject, +) => { + useEffect(() => { + const handleClickOutside = (event: MouseEvent) => { + if (excludeRef?.current?.contains(event.target as Node)) { + return; + } + if (ref.current && !ref.current.contains(event.target as Node)) { + onClickOutside(); + } + }; + + /* Add event listener only if the element is being shown. This ensures that + we are not polluting the page with many global event listeners at the same time. */ + if (isActive) { + document.addEventListener("mousedown", handleClickOutside); + } else { + document.removeEventListener("mousedown", handleClickOutside); + } + + return () => { + document.removeEventListener("mousedown", handleClickOutside); + }; + }, [ref, onClickOutside, isActive]); +}; diff --git a/course-matrix/frontend/src/utils/useDebounce.ts b/course-matrix/frontend/src/utils/useDebounce.ts new file mode 100644 index 00000000..6d656923 --- /dev/null +++ b/course-matrix/frontend/src/utils/useDebounce.ts @@ -0,0 +1,12 @@ +import { useEffect, useState } from "react"; + +export const useDebounceValue = (value: T, interval: number) => { + const [debounceValue, setDebounceValue] = useState(value); + + useEffect(() => { + const id = setTimeout(() => setDebounceValue(value), interval); + return () => clearTimeout(id); + }, [value, interval]); + + return debounceValue; +}; diff --git a/course-matrix/frontend/src/vite-env.d.ts b/course-matrix/frontend/src/vite-env.d.ts new file mode 100644 index 00000000..11f02fe2 --- /dev/null +++ b/course-matrix/frontend/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/course-matrix/frontend/tailwind.config.js b/course-matrix/frontend/tailwind.config.js new file mode 100644 index 00000000..bdab53a9 --- /dev/null +++ b/course-matrix/frontend/tailwind.config.js @@ -0,0 +1,97 @@ +/** @type {import('tailwindcss').Config} */ +export default { + darkMode: ["class"], + content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], + theme: { + extend: { + borderRadius: { + lg: "var(--radius)", + md: "calc(var(--radius) - 2px)", + sm: "calc(var(--radius) - 4px)", + }, + colors: { + background: "hsl(var(--background))", + foreground: "hsl(var(--foreground))", + card: { + DEFAULT: "hsl(var(--card))", + foreground: "hsl(var(--card-foreground))", + }, + popover: { + DEFAULT: "hsl(var(--popover))", + foreground: "hsl(var(--popover-foreground))", + }, + primary: { + DEFAULT: "hsl(var(--primary))", + foreground: "hsl(var(--primary-foreground))", + }, + secondary: { + DEFAULT: "hsl(var(--secondary))", + foreground: "hsl(var(--secondary-foreground))", + }, + muted: { + DEFAULT: "hsl(var(--muted))", + foreground: "hsl(var(--muted-foreground))", + }, + accent: { + DEFAULT: "hsl(var(--accent))", + foreground: "hsl(var(--accent-foreground))", + }, + destructive: { + DEFAULT: "hsl(var(--destructive))", + foreground: "hsl(var(--destructive-foreground))", + }, + border: "hsl(var(--border))", + input: "hsl(var(--input))", + ring: "hsl(var(--ring))", + chart: { + 1: "hsl(var(--chart-1))", + 2: "hsl(var(--chart-2))", + 3: "hsl(var(--chart-3))", + 4: "hsl(var(--chart-4))", + 5: "hsl(var(--chart-5))", + }, + sidebar: { + DEFAULT: "hsl(var(--sidebar-background))", + foreground: "hsl(var(--sidebar-foreground))", + primary: "hsl(var(--sidebar-primary))", + "primary-foreground": "hsl(var(--sidebar-primary-foreground))", + accent: "hsl(var(--sidebar-accent))", + "accent-foreground": "hsl(var(--sidebar-accent-foreground))", + border: "hsl(var(--sidebar-border))", + ring: "hsl(var(--sidebar-ring))", + }, + }, + keyframes: { + "accordion-down": { + from: { + height: "0", + }, + to: { + height: "var(--radix-accordion-content-height)", + }, + }, + "accordion-up": { + from: { + height: "var(--radix-accordion-content-height)", + }, + to: { + height: "0", + }, + }, + "fade-in": { + "0%": { opacity: "0" }, + "100%": { opacity: "1" }, + }, + }, + animation: { + "accordion-down": "accordion-down 0.2s ease-out", + "accordion-up": "accordion-up 0.2s ease-out", + "fade-in": "fade-in 0.4s ease-in-out", + }, + }, + }, + plugins: [ + require("tailwindcss-animate"), + require("@assistant-ui/react-ui/tailwindcss")({ shadcn: true }), + ], +}; diff --git a/course-matrix/frontend/tests/mocks/svgMock.tsx b/course-matrix/frontend/tests/mocks/svgMock.tsx new file mode 100644 index 00000000..4e215833 --- /dev/null +++ b/course-matrix/frontend/tests/mocks/svgMock.tsx @@ -0,0 +1,2 @@ +export default "SvgrURL"; +export const ReactComponent = "div"; diff --git a/course-matrix/frontend/tests/setupTests.ts b/course-matrix/frontend/tests/setupTests.ts new file mode 100644 index 00000000..d0de870d --- /dev/null +++ b/course-matrix/frontend/tests/setupTests.ts @@ -0,0 +1 @@ +import "@testing-library/jest-dom"; diff --git a/course-matrix/frontend/tsconfig.app.json b/course-matrix/frontend/tsconfig.app.json new file mode 100644 index 00000000..2ed01044 --- /dev/null +++ b/course-matrix/frontend/tsconfig.app.json @@ -0,0 +1,31 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true, + + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["src"] +} diff --git a/course-matrix/frontend/tsconfig.json b/course-matrix/frontend/tsconfig.json new file mode 100644 index 00000000..586ee7ac --- /dev/null +++ b/course-matrix/frontend/tsconfig.json @@ -0,0 +1,15 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ], + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + }, + "jsx": "react-jsx", + "types": ["@testing-library/jest-dom"] + } +} diff --git a/course-matrix/frontend/tsconfig.node.json b/course-matrix/frontend/tsconfig.node.json new file mode 100644 index 00000000..db0becc8 --- /dev/null +++ b/course-matrix/frontend/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/course-matrix/frontend/tsconfig.test.json b/course-matrix/frontend/tsconfig.test.json new file mode 100644 index 00000000..dde8fcf3 --- /dev/null +++ b/course-matrix/frontend/tsconfig.test.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "node", + "esModuleInterop": true, + "skipLibCheck": true, + "strict": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + }, + "jsx": "react-jsx", + "types": ["jest", "@testing-library/jest-dom"] + }, + "include": [ + "**/*.test.tsx", + "**/*.test.ts", + "./jest.config.ts", + "tests", + "src" + ] +} diff --git a/course-matrix/frontend/vite.config.ts b/course-matrix/frontend/vite.config.ts new file mode 100644 index 00000000..fa3675c0 --- /dev/null +++ b/course-matrix/frontend/vite.config.ts @@ -0,0 +1,19 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; +import path from "path"; + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react()], + resolve: { + alias: { + "@": path.resolve(__dirname, "./src"), + }, + }, + server: { + host: "0.0.0.0", // Allow access from external devices + port: 5173, // Ensure it's using the correct port + strictPort: true, // Ensure it doesn't pick a different port if 5173 is in use + open: false, // Prevent auto-opening a browser on the server + }, +}); diff --git a/doc/sprint0/personas.pdf b/doc/sprint0/personas.pdf new file mode 100644 index 00000000..c4183a22 Binary files /dev/null and b/doc/sprint0/personas.pdf differ diff --git a/doc/sprint0/product.md b/doc/sprint0/product.md new file mode 100644 index 00000000..e818c876 --- /dev/null +++ b/doc/sprint0/product.md @@ -0,0 +1,103 @@ +# AI-Powered Course and Timetable Planner / c01w25-project-course-matrix + +## I. Product Features + +Course Matrix is an innovative website-based AI-powered agent designed to transform academic and daily planning for undergraduate students at UTSC. It combines an advanced course database with a dynamic AI assistant to provide students with a centralized, intuitive, and efficient scheduling tool. The platform's intelligent algorithm traverses the extensive course catalogue at UTSC and analyzes user preferences to generate personalized timetables. Instead of spending hours navigating various platforms, students can now input their requirements and preferences and receive tailored scheduling recommendations in minutes. +By consolidating the course database and AI features into a single tool, Course Matrix offers a one-stop solution that eliminates the inefficiencies of traditional planning methods. +Key features include: + +- **AI-Powered Assistance**: + - Retrieve comprehensive course information such as prerequisites, exclusion, offerings, and degree requirements. + - Make course recommendations tailored to user questions, preferences and academic goals. + - Generate timetables based on user-provided constraints, preferences and needs. + - Organize and manage AI chat logs by topic with options to edit, delete, or export them for future reference. +- **Dynamic Scheduling**: + - Create and customize timetables with colour-coded daily activity blocks such as lectures, assignments, leisure, etc. + - Overlay course options onto the existing timetable for a clear, visual representation of how it will affect the user's schedule. + - Automatic timetable suggestions based on user-provided information such as course preferences, and restrictions. + - Compare suggested timetables side by side to choose the best option. +- **Comprehensive Course Database**: + - Search and filter courses by department, level, prerequisites or degree requirements. + - Access a centralized repository of credible and updated course data +- **Collaboration & Sharing**: + - Share timetables with internal and external users via the platform's internal sharing system or export as PDFs, and calendar links. + - Compare schedules side by side for better coordination and synchronization. +- **Notification & Alerts**: + - Opt-in for email reminders about critical events such as deadlines or exams. + - Tag and favourite specific timetables for quick access. + +## II. Target Users + +Course Matrix primarily aims at providing UTSC undergraduate students with a 4-year companion, particularly those who may feel overwhelmed by managing multiple platforms and balancing between coursework and daily life: + +- First-year Students: Who are stepping into the university environment for the first time and need guidance in navigating the new environments, campus logistics and course planning. +- International Students: Those who face numerous academic restrictions, and financial strains and must plan ahead to avoid prolonged academic journeys while fulfilling permit requirements. + +[User Personas: Click Here](personas.pdf) + +## III. Why should User Choose This Product + +### 1. Time Saving and Convenience + +Currently, UTSC students must navigate multiple platforms (e.g., the UTSC timetable, course description pages, and ACORN) to plan courses and confirm their availability. Course Matrix saves users time and streamlines the course research process by centralizing these functionalities into one location. Its AI assistant allows users to interact in normal English while still being able to fully utilise the help and tools provided with little to no instructions. Users can also manually customize their timetables and acquire academic information from a single location. Instead of spending a week gathering all the available course options and trying to fit them into a rigid timetable for visual representation of the next four months, users can easily communicate with the AI agent to receive numerous recommendations on how to effectively schedule different activities throughout the days within minutes. + +### 2. Flexibility and Personalization + +The time management tools currently provided by UTSC lack the flexibility and customization options that students often need. While third-party timetable providers offer more personalization features, they lack integration with the UTSC course database, leading to inefficiencies and a higher likelihood of errors. +Course Matrix addresses these challenges by bridging the gap with features that allow users to: + +- Input key information into the course-generating algorithm to receive tailored timetable suggestions. +- Manually adjust schedules to align with personal preferences. +- Leverage an AI assistant for automated timetable creation. + +By centralizing these functions, Course Matrix eliminates the need for students to juggle multiple websites and information sources, enabling them to manage both their academic and personal lives through a single, cohesive timetable. Additionally, robust personalization options allow users to customize the visual layout of their schedules for clarity and practicality, making the platform more intuitive and user-friendly. + +### 3. Error Reduction + +A centralized database helps users avoid critical errors, such as overlooking courses with limited availability or missing essential academic details often buried in traditional platforms. Consolidating information in one place eliminates the need to manually transfer data between pages, reducing the risk of human errors like incorrect lecture times or course codes. + +### 4. Enhanced Coordination + +Sharing and comparing schedules is often cumbersome with existing tools. Course Matrix simplifies this by offering: + +- Seamless timetables sharing via internal system or external links. +- Easier group project coordination as users' schedules can be compared side-by-side. + +## IV. Product Acceptance Criteria + +A fully realized Course Matrix will include the following features and development standards: + +**Functionalities & User Interface**: + +- **Secure User Authorization**: Comprehensive account management and robust data privacy features that ensure users maintain full control over their accounts and information. +- **AI Personal Assistant**: Interactive and accurate, capable of providing detailed course information and generating tailored timetables. +- **Course Generating Algorithm**: Processes user inputs to produce optimized timetable suggestions customized to their needs. +- **Comprehensive Course Database**: Enables filtering by key criteria, such as prerequisites, exclusions, and department, for efficient course selection. +- **Timetable Management Tools**: Allows users to create customizable schedules, share timetables, and access advanced visualization features for clarity and ease of use. +- **Email Notification System**: Provides timely alerts for important academic events and deadlines. +- **Intuitive User Interface**: A seamless and user-friendly design ensures users can easily navigate and utilize the platform without requiring extensive instructions. + +**Development Standards**: + +- **Rigorous Testing**: All code is thoroughly tested to address potential bugs and ensure functionality across all use cases. +- **Feature Integration and Code Review**: New features are reviewed by at least two team members to ensure quality and consistency before being merged into the production environment, adhering to a structured code review process. + +## V. Product Discussion Highlight + +### 1. Identifying the Problem + +Our team identified several key challenges UTSC students encounter when managing their academic schedules: + +- **Inefficiency**:  Students often spend hours, particularly at the start of each semester, navigating multiple websites to research course details, availability, and alignment with degree requirements. Moreover, platforms like ACORN lack features such as overlaid course visualization, requiring students to switch between tabs to explore options before seeing how they fit into their timetables. +- **Course Selection and Academic Journey Planning**: UTSC offers a diverse range of courses with varying prerequisites and requirements, making it challenging for students to identify suitable options. This complexity increases the risk of students overlooking courses that align with their academic goals, interests, or preferences. +- **Limited Time Management Tools**: The current UTSC timetable system only displays enrolled courses and lacks options for adding additional activities or customizing the layout to suit individual preferences. This rigidity reduces its practicality. Furthermore, the absence of functionality to test different course combinations makes it difficult for students to explore and choose the most effective schedule. + +### 2. Brainstorming Solution + +We explored various solutions to address these challenges and identified the need for a centralized platform equipped with interactive tools that empower students to create personalized schedules efficiently. +One alternative considered was developing an Outlook-style timetable, where users could block time slots for activities or events and overlay their schedules with team members to identify mutual availability for group meetings. However, this approach lacked integration with the UTSC course database, limiting its utility. Users would still need to manually search for available courses and their details, rather than benefiting from automated recommendations or a visual preview of how selected courses fit into their existing schedules. +The Course Matrix platform addresses these gaps by offering immediate, practical solutions that simplify academic planning and decision-making. Designed to be a smart and reliable companion, it helps students navigate their academic journeys more effectively throughout their time at UTSC. + +### 3. Team organization + +Effective communication is central to our team's strategy for collaboration. We schedule meetings three times a week (Tuesday, Friday, and Sunday) to maintain momentum, discuss progress, and ensure alignment across tasks. diff --git a/doc/sprint0/product_backlog.md b/doc/sprint0/product_backlog.md new file mode 100644 index 00000000..c7ca6eae --- /dev/null +++ b/doc/sprint0/product_backlog.md @@ -0,0 +1,475 @@ +## User Story 1: Account Creation + +**As a** user +**I want** to securely create an account +**So that** I can access personalized features and manage my information with confidence + +### Acceptance Criteria + +- [ ] **Given** the user provides a valid email address and a password meeting complexity requirements, + **When** they submit the account creation form, + **Then** the system should send a verification email with a unique link to activate the account. + +--- + +## User Story 2: User Login + +**As a** user +**I want** to securely log into my account +**So that** I can access personalized features and manage my information + +### Acceptance Criteria + +- [ ] **Given** the user has an activated account with a valid email address and password, + **When** they submit the login form with their credentials, + **Then** the system should authenticate the user and grant access to their account. + +--- + +## User Story 3: User Logout + +**As a** user +**I want** to be able to log out of my account +**So that** I can securely end my session and protect my personal information + +### Acceptance Criteria + +- [ ] **Given** the user is logged into their account, + **When** they click the “logout” button, + **Then** the system should log the user out and redirect them to the login page or a public view. + +--- + +## User Story 4: Account Deletion + +**As a** user +**I want** to be able to delete my account and all data associated with it +**So that** I can maintain control over my personal information and ensure my privacy is respected + +### Acceptance Criteria + +- [ ] **Given** that the user wants to delete their account, + **When** the user presses the confirm button after reviewing a warning message about the consequences of account deletion, + **Then** the system should: + - Prompt the user to confirm their identity by entering their password. + - Permanently delete the user's account and all associated data from the system. + - Display a confirmation message indicating successful deletion. + - Send an email notification to the user confirming the account has been deleted. + +## User Story 5: AI Assistant - Retrieve Course Information + +**As a** user +**I want** the assistant to retrieve comprehensive course information, including prerequisites, offerings, and recommendations +**So that** I can quickly and easily find the solutions I need + +### Acceptance Criteria + +- [ ] **Given** that the user wants to retrieve information for a specific course, + **When** the user asks for details about the course, + **Then** the AI assistant should: + - Retrieve and present all relevant course information, including: + - Prerequisites / Exclusions. + - Semester offerings. + - Recommendations (e.g., related courses or advice for success in the course). + - Course Description. + - Present the information in an elegant, user-friendly format, such as: + - Clear headings for each section (e.g., "Prerequisites," "Offered In," "Recommendations"). + - Bullet points or short paragraphs for easy readability. + - Conforming to user needs (e.g., “Tell me about CSCC01 in less than 50 words”). + - Handle ambiguous course names or codes by asking clarifying questions to the user if needed (e.g., clarifying if the user is asking for MATC01 or CSCC01 if the user asks “Tell me about C01”). + +--- + +## User Story 6: AI Assistant - Retrieve Graduation Requirements + +**As a** user +**I want** to request important details about graduation requirements, such as POST and other criteria +**So that** I can avoid navigating multiple links to find the answers + +### Acceptance Criteria + +- [ ] **Given** that the user wants to retrieve graduation requirements for a specific program, + **When** the user asks for details about the program, + **Then** the AI assistant should: + - Retrieve and present all relevant graduation requirements, including: + - POSt requirements (e.g., program entry prerequisites). + - Credit requirements (e.g., total credits, required courses, elective options). + - Minimum grade thresholds for program-specific courses. + - Any additional criteria, such as co-op work terms. + - Format the response in a clear, organized layout with sections like: + - Program Entry Requirements. + - Graduation Credit Breakdown. + - Additional Criteria or Recommendations. + - Handle ambiguous program names by prompting the user to clarify (e.g., "Did you mean Computer Science Specialist or Computer Science Major?"). + - Provide quick links to official resources for more detailed program policies, if applicable. + - Notify the user if information is incomplete or unavailable and offer further assistance (e.g., "Would you like help navigating the official website?"). + +--- + +## User Story 7: AI Assistant - Generate Timetable + +**As a** user +**I want** to create a timetable directly through the assistant chatbot +**So that** I can save time and streamline the process + +### Acceptance Criteria + +- **Input Processing** + + - [ ] **Given** that the user wants to generate a timetable, + - [ ] **When** the user provides details such as: + - A list of desired courses. + - Time constraints (e.g., exclusions like "no classes after 5 PM" or inclusions like "prefer mornings"). + - Specific days to exclude or prioritize. + - Maximum or minimum break times between classes. + - [ ] **Then** the assistant should: + - Parse and validate the input. + - Ask clarifying questions if necessary. + - Confirm that the gathered parameters are correct with a summary (e.g., "You’ve requested: Course A, B, C; no classes after 5 PM; and at least one-hour breaks between classes. Is this correct?"). + +- **Timetable Generation** + + - [ ] **Given** that the parameters are validated and confirmed by the user, + **When** the assistant processes the information, + **Then** it should: + - Pass the parameters to the timetable generation function (via a custom programmed algorithm). + - Display a loading message (e.g., "Generating your timetable..."). + +- **Timetable Presentation** + + - [ ] **Given** the function successfully generates the timetable, + **When** the assistant receives the response, + **Then** it should: + - Present a link to the list of generated timetables. + +- **Error Handling** + - [ ] **Given** that the user’s constraints cannot be met, + **When** no suitable schedules can be generated, + **Then** the assistant should: + - Notify the user (e.g., "Based on your constraints, no feasible timetable could be generated. Would you like to modify some conditions?"). + - Suggest modifications (e.g., "Consider extending your availability or reducing course preferences."). + +--- + +## User Story 8: AI Assistant - Create New Chat Log + +**As a** user +**I want** to be able to create new chat logs with the assistant +**So that** my interactions are organized and separated by topic or purpose + +### Acceptance Criteria + +- [ ] **Given** that the user wants to create a new chat log, + **When** the “create new chat” button is pressed, + **Then** the system should: + - Open a new chat window or session, allowing the user to start a fresh conversation. + - Automatically assign a new session identifier or title (e.g., "Chat 1," "Chat with Assistant - 01/28/2025"). + +--- + +## User Story 9: AI Assistant - Export, Rename, and Delete Chat Logs + +**As a** user +**I want** to be able to export, rename, and delete past chat logs +**So that** I can manage my personal data and retain control over my interaction history + +### Acceptance Criteria + +- **Export** + + - [ ] **Given** that the user wants to export the chat log, + **When** the “export” button is pressed, + **Then** a formatted .txt file will be downloaded containing all messages of the chat log. + - Prompt the user to select a file format (e.g., .txt, .pdf, or .json). + - Generate a file containing all messages from the selected chat log in the chosen format. + - Ensure the file includes: + - Time Stamped messages. + - User and assistant labels for clarity. + - Trigger a download for the file with a default name like *.txt. + +- **Rename** + + - [ ] **Given** that the user wants to rename a chat log, + **When** the “rename” button is pressed, + **Then** the system should: + - Provide an editable text field to input the new name. + - Validate the new name to ensure it’s not empty or overly long. + - Save and display the updated chat name immediately. + +- **Delete** + - [ ] **Given** that the user wants to delete a chat log, + **When** the “delete” button is pressed, + **Then** the system should: + - Prompt the user with a confirmation message (e.g., “Are you sure you want to delete this chat log? This action cannot be undone.”). + - Permanently delete the chat log upon confirmation. + - Notify the user of successful deletion (e.g., “Chat log deleted successfully”). + +## User Story 10: Course Database - Course Listing + +**As a** student +**I want** a list of available courses to be displayed based on my filter options +**So that** I can potentially analyze them and add them to my schedule + +### Acceptance Criteria + +- [ ] **Given** that the student is building their timetable, + **When** they open the course browsing feature, + **Then** the system should: + - Display a comprehensive list of all available courses, organized by: + - Department or program. + - Year level (e.g., 1st-year, 2nd-year). + - Availability (e.g., Fall, Winter, Summer). + - Allow students to filter the list by: + - Course code or name. + - Time for availability. + - Credit weight (e.g., half-credit, full-credit). + +--- + +## User Story 11: Course Database - Course Details + +**As a** student +**I want** to access detailed and comprehensive information about a selected course +**So that** I can effectively analyze and evaluate it + +### Acceptance Criteria + +- [ ] **Given** that the student selects a course from the list, + **When** they click on the course, + **Then** the system should display detailed information regarding the course. + +## User Story 12: Course Scheduler - Build Timetable + +**As a** student +**I want** to build a set of timetables to manage my lecture time, homework time, and leisure time +**So that** I can effectively balance my schedule and stay organized + +### Acceptance Criteria + +- [ ] **Given** that the student wants to build a timetable, + **When** they add new entries to the timetable, + **Then** the system should display a timetable reflecting the student’s entries. + +--- + +## User Story 13: Course Scheduler - Edit and Delete Entries + +**As a** student +**I want** to edit and delete entries in my timetable (both courses and custom entries) +**So that** it always remains accurate and up-to-date + +### Acceptance Criteria + +#### Edit + +- [ ] **Given** that the student wants to modify an existing timetable entry, + **When** they select an entry and choose the "Edit" option, + **Then** the system should allow them to update details such as time, duration, or notes. + +- [ ] **Given** that the student modifies a course entry, + **When** they save the changes, + **Then** the system should immediately reflect the changes in the timetable. + +#### Delete + +- [ ] **Given** that the student wants to remove a course or custom entry, + **When** they select the entry and choose the "Delete" option, + **Then** the system should prompt them for confirmation before proceeding. + +- [ ] **Given** that the student confirms the deletion, + **When** the system processes the request, + **Then** the entry should be permanently removed from the timetable. + +--- + +## User Story 14: Course Scheduler - Visualize Schedule + +**As a** student +**I want** to visualize my schedule as I hover over courses and their sections +**So that** I can easily identify any gaps in my schedule + +### Acceptance Criteria + +- [ ] **Given** that I am adding courses to my schedule, + **When** I hover over a course’s lecture, tutorial, or lab section, + **Then** a semi-transparent preview of the entry should be displayed on the timetable, indicating where it would be placed. + +- [ ] **Given** that a course section conflicts with an existing entry, + **When** I hover over that section, + **Then** the preview should highlight the conflict with a red outline indicator, signifying the conflict. + +- [ ] **Given** that I stop hovering over the course section, + **When** I move my cursor away, + **Then** the preview should disappear without affecting the existing schedule. + +- [ ] **Given** that I select a course section after hovering, + **When** I click to add it to my schedule, + **Then** the section should be permanently placed on the timetable. + +--- + +## User Story 15: Course Scheduler - Custom Colour for Entries + +**As a** student +**I want** to be able to customize the colour of each of my calendar entries +**So that** the schedule looks visually appealing and easier to navigate + +### Acceptance Criteria + +- [ ] **Given** that I want to change the colour of a calendar entry, + **When** I select an entry and open the colour customization option, + **Then** a colour palette should be displayed, allowing me to choose a new colour. + +- [ ] **Given** that I select a new colour for an entry, + **When** I confirm the selection, + **Then** the updated colour should immediately apply to the calendar entry and be saved automatically. + +--- + +## User Story 16: Course Generation - Input Courses + +**As a** student +**I want** to input a list of courses I want to take into the scheduler +**So that** it can generate a timetable with the relevant courses included + +### Acceptance Criteria + +- [ ] **Given** that I want to include specific courses, + **When** I press the course selection button, + **Then** the scheduler should display the selected course and consider it in the timetable generation algorithm. + +- [ ] **Given** that I have selected multiple courses, + **When** I finalize my course selection, + **Then** the scheduler should generate a timetable that includes all the chosen courses while avoiding conflicts. + +--- + +## User Story 17: Course Generation - Custom Rules and Restrictions + +**As a** student +**I want** to specify rules—such as time slot restrictions, day restrictions, and the number of days per week +**So that** I can customize a timetable that suits my needs + +### Acceptance Criteria + +- [ ] **Given** that I want to add rules and restrictions to my schedule, + **When** I input specific constraints (e.g., no classes before 10 AM, no classes on Fridays, or a maximum of three days per week), + **Then** the algorithm should incorporate these restrictions when generating my timetable. + +- [ ] **Given** that my selected courses and restrictions make it impossible to generate a valid schedule, + **When** I attempt to generate a timetable, + **Then** the system should notify me and provide suggestions (e.g., relaxing certain constraints or prioritizing specific courses). + +--- + +## User Story 18: Course Generation - Save Timetables + +**As a** student +**I want** the generated timetables to be saved in the system +**So that** I can easily refer back to them later + +### Acceptance Criteria + +- [ ] **Given** that I have generated course schedules, + **When** I navigate to another page on the website, + **Then** my generated timetables should still be accessible unless I have explicitly deleted them. + +- [ ] **Given** that I want to delete a generated timetable, + **When** I click the delete option for a specific timetable, + **Then** that timetable should be permanently removed from the system. + +--- + +## User Story 19: Email Notifications + +**As a** student +**I want** to opt in/opt out of email notifications +**So that** I could receive email notices of important events + +### Acceptance Criteria + +- [ ] **Given** that I want to opt in or opt out of email notifications, + **When** I toggle the email notification option in my settings, + **Then** my preference (opt-in or opt-out) should be saved, and I will start receiving or stop receiving email notifications accordingly. + +--- + +## User Story 20: Favouriting Timetables + +**As a** student +**I want** to favourite timetables +**So that** I can easily access and put them to practical use + +### Acceptance Criteria + +- [ ] **Given** that I want to favourite a timetable, + **When** I click the "Favourite" button next to the schedule, + **Then** the schedule will be marked as a favorite and displayed prominently at the top of the timetable list. + +- [ ] **Given** that I want to remove a favorited timetable, + **When** I click the "Unfavourite" button next to the schedule, + **Then** the schedule will be unfavorited and displayed prominently at the top of the timetable list. + +--- + +## User Story 21: Export Timetable + +**As a** student +**I want** to export my course schedule as a PDF or calendar +**So that** I can reference it in other formats + +### Acceptance Criteria + +- [ ] **Given** that I want to export my schedule, + **When** I click the export button, + **Then** a prompt should show up about the export options, either in PDF or .ics file format. + +--- + +## User Story 22: Compare Timetables + +**As a** student +**I want** to perform side-by-side comparisons with my schedules +**So that** I can easily identify my preference + +### Acceptance Criteria + +- [ ] **Given** that I want to compare 2 of my schedules, + **When** I select the 2 schedules to compare, + **Then** the window should be split into 2 halves, one for each schedule, allowing easy side-by-side comparison. + +- [ ] **Given** that I am comparing schedules, + **When** I hover over a course or event in one schedule, + **Then** the corresponding time slot in the other schedule should be highlighted if there is a conflict or overlap. + +--- + +## User Story 23: Share Schedule + +**As a** student +**I want** to share my schedule with other users on the platform +**So that** we can compare our schedules + +### Acceptance Criteria + +- [ ] **Given** that I am a registered user with a completed schedule on the platform, + **When** I choose to share my schedule, + **Then** the platform should provide an option to generate a shareable link or directly compare schedules with selected users. + +- [ ] **Given** that another user has shared their schedule with me, + **When** I open the shared schedule, + **Then** I should be able to view their schedule in a readable format and compare it with mine. + +--- + +## User Story 24: Share Schedule via Link + +**As a** student +**I want** to share my schedule via a link +**So that** others can view it without needing to sign up for an account + +### Acceptance Criteria + +- [ ] **Given** that I want to share my schedule via a link, + **When** I click the “Generate Link” button, + **Then** a unique, shareable link should be created, granting view-only access to my schedule. diff --git a/doc/sprint0/sprint0-course-matrix.rtf b/doc/sprint0/sprint0-course-matrix.rtf new file mode 100644 index 00000000..b6601bbd --- /dev/null +++ b/doc/sprint0/sprint0-course-matrix.rtf @@ -0,0 +1,527 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} +{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;} +{\f43\fbidi \fswiss\fcharset0\fprq2 Aptos;}{\f46\fbidi \fswiss\fcharset0\fprq0{\*\panose 00000000000000000000}ArialMT{\*\falt Arial};}{\f47\fbidi \froman\fcharset0\fprq0{\*\panose 00000000000000000000}Times-Roman{\*\falt Times New Roman};} +{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2 Aptos Display;} +{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2 Aptos;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\f1545\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f1546\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f1548\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f1549\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\f1550\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f1551\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f1552\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\f1553\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f1565\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f1566\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f1568\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;} +{\f1569\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f1570\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f1571\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f1572\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;} +{\f1573\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f1885\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f1886\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f1888\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;} +{\f1889\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f1892\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f1893\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f1975\fbidi \fswiss\fcharset238\fprq2 Aptos CE;} +{\f1976\fbidi \fswiss\fcharset204\fprq2 Aptos Cyr;}{\f1978\fbidi \fswiss\fcharset161\fprq2 Aptos Greek;}{\f1979\fbidi \fswiss\fcharset162\fprq2 Aptos Tur;}{\f1982\fbidi \fswiss\fcharset186\fprq2 Aptos Baltic;} +{\f1983\fbidi \fswiss\fcharset163\fprq2 Aptos (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} +{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} +{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Aptos Display CE;} +{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Aptos Display Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Aptos Display Greek;}{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Aptos Display Tur;} +{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Aptos Display Baltic;}{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Aptos Display (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} +{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} +{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Aptos CE;} +{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Aptos Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Aptos Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Aptos Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Aptos Baltic;} +{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Aptos (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0; +\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green0\blue0;\red0\green0\blue0;\chyperlink\ctint255\cshade255\red70\green120\blue134;\red96\green94\blue92; +\red225\green223\blue221;}{\*\defchp \fs24\kerning2\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa160\sl278\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{ +\ql \li0\ri0\sa160\sl278\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\kerning2\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 +\snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* +\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl278\slmult1 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\kerning2\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 +\snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf19 \sbasedon10 \sunhideused \styrsid12786968 Hyperlink;}{\*\cs16 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \cf20\chshdng0\chcfpat0\chcbpat21 +\sbasedon10 \ssemihidden \sunhideused \styrsid12786968 Unresolved Mention;}}{\*\listtable{\list\listtemplateid-1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext +\leveltemplateid1828632430\'01-;}{\levelnumbers;}\loch\af46\hich\af46\dbch\af31505\fbias0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 +\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;} +\f3\fbias0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\lin3600 } +{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23 +\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0 +\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\lin6480 }{\listname ;}\listid1960183588}}{\*\listoverridetable{\listoverride\listid1960183588\listoverridecount0\ls1}}{\*\rsidtbl \rsid2115301 +\rsid4471494\rsid4529580\rsid5528027\rsid7362720\rsid7606205\rsid9842439\rsid11692972\rsid12786968\rsid13447725\rsid15356332\rsid16212828}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0 +\mnaryLim1}{\info{\operator Dmitriy Prokopchuk}{\creatim\yr2025\mo2\dy5\hr17\min37}{\revtim\yr2025\mo2\dy7\hr20\min38}{\version4}{\edmins51}{\nofpages5}{\nofwords1119}{\nofchars6383}{\nofcharsws7488}{\vern113}}{\*\xmlnstbl {\xmlns1 http://schemas.microsof +t.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect +\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701 +\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot12786968 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 +\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6 +\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang +{\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\kerning2\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 { +\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 # Sprint 0 rubrics}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 **Team Name:** }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid12786968 \hich\af46\dbch\af31505\loch\f46 Course Matrix}{\rtlch\fcs1 +\af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 **Github:** }{\field{\*\fldinst {\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid12786968 \hich\af46\dbch\af31505\loch\f46 HYPERLINK "}{ +\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid12786968\charrsid12786968 \hich\af46\dbch\af31505\loch\f46 https://github.com/UTSC-CSCC01-Software-Engineering-I/term-group-project-c01w25-project-course-matrix}{\rtlch\fcs1 \af46\afs22 +\ltrch\fcs0 \f46\fs22\kerning0\insrsid12786968 \hich\af46\dbch\af31505\loch\f46 "}{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid4471494 {\*\datafield +00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90be4000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f0055005400530043002d004300530043004300300031002d0053006f006600740077006100720065002d004500 +6e00670069006e0065006500720069006e0067002d0049002f007400650072006d002d00670072006f00750070002d00700072006f006a006500630074002d006300300031007700320035002d00700072006f006a006500630074002d0063006f0075007200730065002d006d00610074007200690078000000795881f43b +1d7f48af2c825dc485276300000000a5ab000300}}}{\fldrslt {\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \cs15\f46\fs22\ul\cf19\kerning0\insrsid12786968\charrsid13447725 \hich\af46\dbch\af31505\loch\f46 +https://github.com/UTSC-CSCC01-Software-Engineering-I/term-group-project-c01w25-project-course-matrix}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid12786968 \hich\af46\dbch\af31505\loch\f46 } +{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 ---}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 ## product.md (Max 36 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Project objectives have been specified clearly (max 5 marks)\~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 + +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 5marks = clearly}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 mark\~ = somewhat clearly}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = not at all}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid12786968 \hich\af46\dbch\af31505\loch\f46 5}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Key users have been identified clearly (max 2 marks)\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 marks = clearly}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1 mark\~ = somewhat clearly}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = not at all}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark:}{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid12786968 \hich\af46\dbch\af31505\loch\f46 2}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Scenarios have been described clearly (max 5 marks)\~\~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 5 marks = clearly}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 mark\~ = somewhat clearly}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = not at all}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid12786968 \hich\af46\dbch\af31505\loch\f46 5}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Market research has been done (max 5marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 5 marks = to a high degree}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 mark = to an acceptable degree}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = not at all}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark = }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid12786968 \hich\af46\dbch\af31505\loch\f46 2}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - The idea is feasible and students could realistically finish an MVP during the course of the semester (max 5 marks)}{\rtlch\fcs1 \af47\afs22 +\ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 5 marks = to a high degree}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 mark = to an acceptable degree}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = not at all}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark =}{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205 \hich\af46\dbch\af31505\loch\f46 5}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - The idea is novel , it shows a level of thought and creativity (max 5 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 5 marks = to a high degree}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 mark = to an acceptable degree}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = not at all}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark =}{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205 \hich\af46\dbch\af31505\loch\f46 3}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - The idea has business potential (max 2 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 marks = to a high degree}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1 mark = to an acceptable degree}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = not at all}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark =}{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205 \hich\af46\dbch\af31505\loch\f46 }{\rtlch\fcs1 +\af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid4471494 \hich\af46\dbch\af31505\loch\f46 1}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - Quality of the persona should be measured based on the presence/absence quality of description of the following elements:}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\~\~\hich\af46\dbch\af31505\loch\f46 Age, personality, personal background}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\~\~\hich\af46\dbch\af31505\loch\f46 Skills, professional background}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\~\~\hich\af46\dbch\af31505\loch\f46 Attitude towards technology, domain, etc.}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\~\~\hich\af46\dbch\af31505\loch\f46 Goals when using the system}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\~\~\hich\af46\dbch\af31505\loch\f46 (max 4 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 4 marks = Two or more high quality personas provided}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 3 marks = Two personas provided but quality is not very good}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 marks = Only 1 persona provided with good quality}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1 mark\~ = One persona of poor quality}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = No personas provided}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \tab \~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205 \hich\af46\dbch\af31505\loch\f46 4}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Relevance to the system\~ (max 2 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 marks = Personas are highly relevant to the system\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1 mark\~ = Personas are somewhat relevant}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = Not all or no personas are relevant\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your ma\hich\af46\dbch\af31505\loch\f46 rk: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205 +\hich\af46\dbch\af31505\loch\f46 2}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Persona Descriptions (max 2 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 marks = Appropriate length and is well-written}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1 mark\~ = Short and/or with errors}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = No writing or poor quality}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205 \hich\af46\dbch\af31505\loch\f46 2}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Competition has been identified clearly (max 2 marks)\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 marks = clearly}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1 mark = somewhat clearly}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = not at all}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205 \hich\af46\dbch\af31505\loch\f46 1}{\rtlch\fcs1 \af47\afs22 +\ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Definition of done is (max 5 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 5 marks = Relevant to the project and applies to all stories}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 mark\~\hich\af46\dbch\af31505\loch\f46 = Somewhat relevant and does not apply to all stories}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = Missing or unclear}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205 \hich\af46\dbch\af31505\loch\f46 5}{\rtlch\fcs1 \af47\afs22 +\ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 - Team organization (roles) divided clearly (max 5 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 5 marks = Team organization (roles) are divided clearly}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 mark\~ = Unclear team organization}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = Not completed}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid5528027 \hich\af46\dbch\af31505\loch\f46 5}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Decision making (max 2 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 marks = decision making is described clearly}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1 mark\~ = unclear decision making}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = Not completed}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid5528027 \hich\af46\dbch\af31505\loch\f46 2}{\rtlch\fcs1 +\af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Meetings (max 2 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 marks = Meeting plan described clearly}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1 mark\~ = Description is unclear}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = Description is missing; Not completed}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid5528027 \hich\af46\dbch\af31505\loch\f46 2}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 product.md Total Mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid5528027 \hich\af46\dbch\af31505\loch\f46 47}{\rtlch\fcs1 +\af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 / 53}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~}{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid12786968 \hich\af46\dbch\af31505\loch\f46 Notes:}{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 +\f46\fs22\kerning0\insrsid7362720 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\insrsid12786968 \hich\af46\dbch\af31505\loch\f46 -\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls1\rin0\lin720\itap0\pararsid7606205 {\rtlch\fcs1 +\af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid12786968 \hich\af46\dbch\af31505\loch\f46 Market research is acceptable but has not been done to a high degree necessary for full marks. Missing }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 +\f46\fs22\kerning0\insrsid7606205 \hich\af46\dbch\af31505\loch\f46 depth of research}{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid12786968 \hich\af46\dbch\af31505\loch\f46 on third party providers. (-3pt)}{\rtlch\fcs1 \af47\afs22 +\ltrch\fcs0 \f46\fs22\kerning0\insrsid12786968\charrsid7606205 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\insrsid7606205 \hich\af46\dbch\af31505\loch\f46 -\tab}}{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205 \hich\af46\dbch\af31505\loch\f46 +Competition identified somewhat clearly. Missing concrete examples. (-1pt)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205\charrsid7606205 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f46\fs22\insrsid7606205\charrsid7606205 \hich\af46\dbch\af31505\loch\f46 -\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls1\rin0\lin720\itap0\pararsid5528027 { +\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205\charrsid7606205 \hich\af46\dbch\af31505\loch\f46 Idea }{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205 \hich\af46\dbch\af31505\loch\f46 novelty is acceptable }{ +\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid15356332 \hich\af46\dbch\af31505\loch\f46 but not above and beyond }{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205 \hich\af46\dbch\af31505\loch\f46 (}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid15356332 \hich\af46\dbch\af31505\loch\f46 -2 pt}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7606205 \hich\af46\dbch\af31505\loch\f46 ) +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f46\fs22\insrsid4471494 \hich\af46\dbch\af31505\loch\f46 -\tab}}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid4471494 \hich\af46\dbch\af31505\loch\f46 Business potential +\hich\f46 \endash \loch\f46 might be hard to convince a university to switch their existing system (-1 pt)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid4471494\charrsid5528027 +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 ---}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 ## Product Backlog.md (Max 20 marks)\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Sufficient stories created to occupy team for next 4 sprints (max 5 marks)\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 5 marks = Excellent}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 mark\~ = Few user stories, clearly not enough to occupy team for release 1}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = No user stories}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid5528027 \hich\af46\dbch\af31505\loch\f46 5}{\rtlch\fcs1 +\af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 +\par +\par \~\~\hich\af46\dbch\af31505\loch\f46 - Backlog created in JIRA with the correct user story format and definition of done outlined clearly (max 8 marks)\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 8 marks = Excellent +\par \hich\af46\dbch\af31505\loch\f46 - 5 marks = Not all user stories in correct format and missing chunk of details}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 mark\~ = Few user stories, clearly not enough to occupy team for entire project}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = No user stories}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid5528027 \hich\af46\dbch\af31505\loch\f46 8}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Relevant persona clearly identified for each user story (max 2 marks)\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 + +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 marks = All user stories identify relevant persona}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1 mar\hich\af46\dbch\af31505\loch\f46 k\~ = Part of the stories do not mention persona}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = No personas mentioned in user stories}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid5528027 \hich\af46\dbch\af31505\loch\f46 2}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - All user stories identify goal/desire and all identify why/benefit (max 2 marks)\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 marks = All user stories identify goals}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1 mark\~ = Part of the stories do not identify goals}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = No user story identifies goals}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid5528027 \hich\af46\dbch\af31505\loch\f46 2}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Writing (max 3 marks)\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 3 marks = Writing is very clear for all stories}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1.5 mark\~\hich\af46\dbch\af31505\loch\f46 = Writing is not clear for some stories}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = Writing is poor and with errors}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid5528027 \hich\af46\dbch\af31505\loch\f46 3}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 Product Backlog.md Total Mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid5528027 \hich\af46\dbch\af31505\loch\f46 20}{ +\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 / 20}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 ---}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 ## Setup (max 5 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Frontend}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2.5 mark\~\hich\af46\dbch\af31505\loch\f46 = Frontend installation and configuration are outlined properly}{\rtlch\fcs1 \af47\afs22 +\ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = Frontend installation and configuration are not provided}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 + +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Backend}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2.5 mark\~ = Backend installation and configuration are outlined properly}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = Backend installation and configuration are not outlined properly}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid5528027 \hich\af46\dbch\af31505\loch\f46 2.5}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid5528027 \hich\af46\dbch\af31505\loch\f46 2.5}{\rtlch\fcs1 +\af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 Setup Total Mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid5528027 \hich\af46\dbch\af31505\loch\f46 5}{\rtlch\fcs1 +\af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 / 5}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 ---}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 ## Documentation: README.md (max 3 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Motivation and Project Description}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1 mark\~ = Short detailed description o\hich\af46\dbch\af31505\loch\f46 f motivation behind the project and why it exists}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = Motivation is missing or has grammar errors/typos}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid9842439 \hich\af46\dbch\af31505\loch\f46 1}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Installation for your Software/System}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1 mark\~\hich\af46\dbch\af31505\loch\f46 = Instructions for installation process are clear and concise, with provided commands.}{ +\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = No instructions or installation section has grammar errors/typos}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid9842439 \hich\af46\dbch\af31505\loch\f46 1}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Contribution}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1 mark\~ = Contribution process is well-explained, allowing contributors to easily get on board}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = Contribution is missing or has grammar errors/typos}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid9842439 \hich\af46\dbch\af31505\loch\f46 1}{\rtlch\fcs1 +\af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 README.md Total Mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid9842439 \hich\af46\dbch\af31505\loch\f46 3}{\rtlch\fcs1 +\af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 / 3}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \tab }{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 ---}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 ## User experience: (max 10 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - User experience is logically related t\hich\af46\dbch\af31505\loch\f46 o scenarios (from product.md) (max 5 marks)}{\rtlch\fcs1 \af47\afs22 +\ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 5 marks = Relates well}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 mark\~ = Somewhat related}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = Missing or not related}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid2115301 \hich\af46\dbch\af31505\loch\f46 5}{\rtlch\fcs1 +\af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 - Graphic representation is clear and represents well intended user interface elements (max 5 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 5 marks = Clear and well done}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 2 mark\~ = Not very clear,\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 marks = missing or completely unclear}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 Your mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid9842439 \hich\af46\dbch\af31505\loch\f46 5}{\rtlch\fcs1 +\af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\hich\af46\dbch\af31505\loch\f46 User experience Total Mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid9842439 \hich\af46\dbch\af31505\loch\f46 10}{ +\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 / 10}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 ---}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 ## Presentation quality: (max 5 marks)}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 5 marks = Documentation done very clearly and presented in a very well organized way}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 3 mark\~ = presented in somewhat clear way}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 1.5 mark\~ = Not very clear,\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\~\~\~\hich\af46\dbch\af31505\loch\f46 - 0 mark\hich\af46\dbch\af31505\loch\f46 s = missing or completely unclear}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \~\hich\af46\dbch\af31505\loch\f46 Presentation quality Total Mark: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid9842439 \hich\af46\dbch\af31505\loch\f46 5}{ +\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 / 5}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par +\par }{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid2115301 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 ## Total Mark\~\~}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 \f47\fs22\kerning0\insrsid7362720 +\par }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid4471494 \hich\af46\dbch\af31505\loch\f46 89}{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\kerning0\insrsid7362720 \hich\af46\dbch\af31505\loch\f46 / 96}{\rtlch\fcs1 \af47\afs22 \ltrch\fcs0 +\f47\fs22\kerning0\insrsid7362720 +\par +\par +\par +\par +\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a +9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad +5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 +b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 +0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 +a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f +c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 +0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 +a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 +6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b +4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b +4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210094a9528694070000c7200000160000007468656d652f7468656d652f +7468656d65312e786d6cec595f8b1bc9117f0fe43b0cf32e6b66248da4c5f2a1bfdeb3776d63c90ef7d82bb566dadb333d4cb7762d8e83e07bca4b207077e421 +0779cb430839c8418ebce4c3186c92cb874875cf68d42db5bc7f30c184dd7dd1b47e55fd9baaeaaa52f5fdcf5e27d4b9c039272cedb9fe3dcf75703a670b9246 +3df7c56c52ebb80e17285d20ca52dc73d798bb9f3df8e52feea32311e3043b209ff223d4736321b2a37a9dcf6119f17b2cc3297cb7647982043ce6517d91a34b +d09bd07ae079613d4124759d1425a0f6e97249e6d8994995ee838df23185c75470b930a7f954aac68684c22ece7d89e06b3ea4b9738168cf857d16ec72865f0b +d7a1880bf8a2e77aeacfad3fb85f4747a51015076435b989fa2be54a81c579a0f6cca3b36a536f1c749a7ea55f01a8d8c78d3bf2bfd2a700683e87372db8e83a +fd56e8758212ab818a8f16ddddb6df30f19afec61e67bf1b0e82a6a15f810afdcd3dbc37e98e472d03af4005beb587ef7bc1a0db30f00a54e0c33d7c73dc6f07 +6303af403125e9f93e3a6c773a6189ae204b468fadf06e187aed5109dfa2201aaae8925b2c592a0ec55a825eb17c020009a44890d411eb0c2fd11ca2b89f09c6 +9d11e119456bd7c950ca382c7b81ef43e835bda0fa571647471869d2921730e17b4b928fc3e739c944cf7d045a5d0df2eea79fdebef9f1ed9bbfbffdfaebb76f +feea9c902816852a43ee18a5912ef7f39f7ef79fef7fedfcfb6f7ffcf99b6fed78aee3dfffe537effff1cf0fa987a3b635c5bbef7e78ffe30fef7effdb7ffdf9 +1b8bf67e8ece74f88c24983b4ff0a5f39c25f082ca14267f7c96df4c621623a24bf4d388a314c95d2cfac72236d04fd688220b6e804d3bbecc21d5d8800f57af +0cc2d3385f0962d1f8384e0ce0296374c072ab151ecbbd3433cf566964df3c5fe9b8e7085dd8f61ea2d4f0f27895418e253695c3181b349f51940a14e1140b47 +7ec7ce31b6bcdd178418763d25f39c71b614ce17c419206235c98c9c19d1b4153a2609f8656d2308fe366c73fad219306a7beb11be3091703610b5909f616a98 +f1215a0994d854ce504275839f2011db484ed7f95cc78db9004f47983267bcc09cdb649ee6f0be9ad31f23c86e56b79fd27562227341ce6d3a4f10633a72c4ce +87314a321b764ad258c77ececf214491f38c091bfc949927443e831f507ad0dd2f0936dc7d75367801594ea7b40d10f9cd2ab7f8f2216646fc4ed77489b02dd5 +f4f3c448b1fd9c58a363b08a8cd03ec198a24bb4c0d879f1b985c1806586cdb7a41fc590558eb12db01e213356e5738a39f44ab2b9d9cf9327841b213bc5113b +c0e774bd9378d6284d507e48f313f0ba6ef3f1590e87d142e1299d9febc027047a408817ab519e72d0a105f741adcf62641430f9ccedf1bace0dff5de78cc1b9 +7c65d0b8c6b904197c631948ecbacc076d3343d4d8601b3033449c135bba0511c3fd5b11595c95d8ca2ab7340fedd60dd01d194d4f42d22b3aa0ff5de703fdc5 +bb3f7c6f09c18fd3edd8151ba9ea867dcea15472bcd3dd1cc2edf63443962fc8a7dfd28cd02a7d86a18aece7abbb8ee6aea371ffef3b9a43e7f9ae8f39d46ddc +f5312ef417777d4c395af9387dccb67581ae468e178a318f1afa2407673e4b42e954ac293ee16aecc3e1d7cc62028b524ecd3b713503cc62f828cb1c6c60e0a2 +1c29192767e25744c4d31865301bf25da924e2a5ea883b19e3303252cb56dd124f57c9295b14a34e355bf28acaca91d8ae7b2d183a15eb30a612053a6c978b92 +9f9aa7025fc5365263d60d01297b1312da6626898685447bb37805093935fb382cba16161da97ee3aa3d5300b5ca2bf073db811fe93db7d594846046cee7d09a +2fa49f0a576fbcab9cf9313d7dc8984604c058b1781318ca579eee4aae075f4fbe5d116ad7f0b4414239a5082b9384b28c6af0780c3f82cbe894abd7a171535f +77b72e35e84953a8fd20beb734da9d0fb1b8adaf416e3737d054cf1434752e7b6ed86841c8cc51d673973032868f4906b1c3e52f2e4423b877998bbc38f0b7c9 +2c59cec508f1b830b84a3a857b122270ee5092f45cf9fa951b68aa7288e2e60790103e59725d482b9f1a3970bae964bc5ce2b9d0ddaead484b178f90e18b5c61 +fd5689df1e2c25d90adc3d8d1797ce195de5cf118458abed4b032e08879b03bfb0e682c0555895c8b6f1b75398cae4afdf45a9182ad611cd625456143d991770 +554f2a3aeaa9b281f654be33185433495908cf22596075a31ad5b42a5d05878355f76a2169392d696e6ba6915564d5b4673163874d19d8b1e5ed8abcc66a6362 +c8697a852f52f76ecaed6e72dd4e9f505509307865bfdb957e8dda7633839a64bc9f8665ce2e57cddab179c12ba85da74868593fdca8ddb15b5523acdbc1e2ad +2a3fc8ed462d2c2d377da5b2b4ba33d7afb5d9d92b481e23e872575470e54a98ebe608bab2a9ea498ab40147e4b5288f067c725639e9b95f7aad7e7318b48635 +afd31ad79a8da657ebb4fa8d5abfd56af8e396ef8d06c1575058449cf8ade2be7e02d717745ddedaabf5bd9bfb647343736fce923a5337f375455cdddcfbc1e1 +9b7b8740d2f93218fbcda01f0c6bc3911fd69ac128ac75da8d7e6d1884a3a00f293d9cf4bf729d0b05f607a3d164d20a6ae110704dafdfaaf5078d612dec8c07 +c1c41f37471e80cbccf91afa6fb0e9c616f051f17af05f000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d +652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d +363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d26245228 +2e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9 +850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c0200001300000000000000000000 +000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b000000000000000000 +00000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000190200 +007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210094a9528694070000c720000016000000000000 +00000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b010000270000 +00000000000000000000009e0a00007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000990b00000000} +{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d +617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 +6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 +656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} +{\*\latentstyles\lsdstimax376\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong; +\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid; +\lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid; +\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2; +\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1; +\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1; +\lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; +\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2; +\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3; +\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; +\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5; +\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6; +\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; +\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4; +\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4; +\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1; +\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1; +\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2; +\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2; +\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3; +\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4; +\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4; +\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5; +\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5; +\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6; +\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6; +\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark; +\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1; +\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1; +\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2; +\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3; +\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3; +\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4; +\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4; +\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5; +\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5; +\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6; +\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Mention; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hashtag;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Unresolved Mention;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Link;}}{\*\datastore 01050000 +02000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 +d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000f0a3 +b332ca79db01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/doc/sprint0/team.md b/doc/sprint0/team.md index d265c91f..a32abad2 100644 --- a/doc/sprint0/team.md +++ b/doc/sprint0/team.md @@ -1,10 +1,9 @@ - | Full Name | UtorID | Student ID | Email | Best way to Connect | Slack Username | - | --------- | ------ | ---------- | ----- | ------------------- | -------------- | - | Thomas Yang | yangz254 | 1009066957 | thomas.yang@mail.utoronto.ca | Discord | Thomas Yang | - | Minh Tran | tranmi43 | 1006804914 | minhhai.tran@mail.utoronto.ca | Discord / Email | Minh Tran | - | Kevin Lan | lankevin | 1009407143 | k.lan@mail.utoronto.ca | Discord | Kevin Lan | - | Masahisa Sekita | sekitama | 1008115950 | masahisa.sekita@mail.utoronto.ca | Discord | Masahisa Sekita | - | Austin Xu | xuausti1 | 1008011688 | austin.xu@mail.utoronto.ca | Discord | Austin Xu | - +| Full Name | UtorID | Student ID | Email | Best way to Connect | Phone Number | Slack Username | +| --------------- | -------- | ---------- | -------------------------------- | ------------------- | -------------- | --------------- | +| Thomas Yang | yangz254 | 1009066957 | thomas.yang@mail.utoronto.ca | Discord | (437)-990-6782 | Thomas Yang | +| Minh Tran | tranmi43 | 1006804914 | minhhai.tran@mail.utoronto.ca | Discord / Email | (437)-986-8802 | Minh Tran | +| Kevin Lan | lankevin | 1009407143 | k.lan@mail.utoronto.ca | Discord | (647)-636-2522 | Kevin Lan | +| Masahisa Sekita | sekitama | 1008115950 | masahisa.sekita@mail.utoronto.ca | Discord | (905)-807-6233 | Masahisa Sekita | +| Austin Xu | xuausti1 | 1008011688 | austin.xu@mail.utoronto.ca | Discord | (416)-731-1488 | Austin Xu | Group Jira: https://cscc01-course-matrix.atlassian.net/jira/software/projects/SCRUM/boards/1/timeline diff --git a/doc/sprint0/team_contract.pdf b/doc/sprint0/team_contract.pdf new file mode 100644 index 00000000..225c0212 Binary files /dev/null and b/doc/sprint0/team_contract.pdf differ diff --git a/doc/sprint0/ux_ui_mockups.md b/doc/sprint0/ux_ui_mockups.md new file mode 100644 index 00000000..a6ab542b --- /dev/null +++ b/doc/sprint0/ux_ui_mockups.md @@ -0,0 +1,5 @@ +# UX/UI Mockups + +We created 3 main flows to demonstrate the user interaction of the core functionality of our application. + +Can be found with this [Figma link](https://www.figma.com/design/zPQ9ZNO3VoOn4QjEbwq8Hz/C01?node-id=0-1&t=dlHH5gecxejBJuGN-1) diff --git a/doc/sprint1/RPM.md b/doc/sprint1/RPM.md new file mode 100644 index 00000000..3b4dd0ca --- /dev/null +++ b/doc/sprint1/RPM.md @@ -0,0 +1,101 @@ +# Release Plan + +## Release Name: Course_Matrix_V1.0.0 + +## 1. Release Objectives for Sprint 1 + +### 1.1 Goals + +- Build database schemas to store course information, course offerings and user accounts by Feb 9th 2025 + + - **`course` schema**: + - The `offerings` table should have columns for the Meeting Section, Session Offering, Day of Week, Start-End time, Location, Number of current enrollments, Max number of enrollments + - The `courses` table should have columns for the course code, name, breadth requirements, description, prerequisites, corequisites, and exclusions + - The `corequisites` table should have columns to map each course_id with their corresponding corequisite course_ids + - The `prerequisites` table should have columns to map each course_id with their corresponding prerequisite course_ids + - The `departments` table should have columns to map each department to their code name as shown in the course codes + - **`account` schema**: + - The `users` table should have columns to store user account information: username, password, user_id + +- Import course information and course offerings for the Winter, Summer and Fall semesters of 2024 from the UTSC timetable archive by Feb 9th 2025 +- Build basic software features for the first TA demo by Feb 13th 2025 including: + - Account registration, login, logout + - Display all available courses with filtering options: + - Semester + - Breadth Requirement + - Credit Weight + - Department + - Course Level + - Display courses and course offerings information: Course Description, Meeting Section, Offering, Days of Week, Time, Location + +### 1.2 Metrics for Measurement + +- Database schema + - Include all offerings offered in the Winter, Summer, and Fall semesters of 2024 as listed on the UTSC Course Timetable Archive + - Include all the critical fields listed above (section 1.1) for user accounts, courses and course offerings information +- User account management + + - Registration: + - Users must be able to create an account using email and password + - Users' passwords must be hash-protected in the database + - Login/Logout + - Users must be able to login to their account using their email and password + - User must be logged in a valid session to browse through different web pages + - When a user is logged in or logged out of the system there will be a clear message on the screen + +- Course display + - A general course display table will be showcased on a webpage containing all the critical offering information (listed in section 1.1) + - Each course entry contains a link to the course information page (listed in section 1.1) + +## 2. Release Scope + +### 2.1 Included Features + +- Account management: Allows users to create and manage their personal events and program requirements + + - Registration + - Login + - Logout + +- Course Display: Allows users to access up-to-date courses and course offerings information for timetable generation + - Course offering information + - Course description information + +### 2.2 Excluded Features + +- Automatic timetable generating algorithm +- Personal AI assistant features: + + - Chat prompt + - Retrieve courses and course offerings information + - Retrieve program requirements + - Generate timetable + +- Calendar customization features: + + - Add, update, and delete personal events from the user's calendar + - Customize the personal calendar with colour-coding + - Overlay course options over the user's current calendar + +- Email notification +- Timetable comparison, exportation and sharing + +Due to conflicts with other assignments and midterm tests, our team did not have enough time to develop these features. They will be developed in future sprints. + +### 2.3 Bug Fixes + +None + +### 2.4 Non-Functional Requirements + +- User-sensitive account information must be codified to ensure security + + - Users' passwords must be hash-protected + - Users' events information (title, content) must be hash-protected + +- Fast course query time + - When users finish filling out the filtering options and click on the search button, the website should not take over 5 seconds to display all courses that fit the description + +### 2.5 Dependencies and Limitations + +- None diff --git a/doc/sprint1/System Design.pdf b/doc/sprint1/System Design.pdf new file mode 100644 index 00000000..05011494 Binary files /dev/null and b/doc/sprint1/System Design.pdf differ diff --git a/doc/sprint1/images/Blocked_ticket.png b/doc/sprint1/images/Blocked_ticket.png new file mode 100644 index 00000000..a74939af Binary files /dev/null and b/doc/sprint1/images/Blocked_ticket.png differ diff --git a/doc/sprint1/images/Blocking_tickets.png b/doc/sprint1/images/Blocking_tickets.png new file mode 100644 index 00000000..cc7ce174 Binary files /dev/null and b/doc/sprint1/images/Blocking_tickets.png differ diff --git a/doc/sprint1/images/JIRA_Backlog.png b/doc/sprint1/images/JIRA_Backlog.png new file mode 100644 index 00000000..2e4b70c2 Binary files /dev/null and b/doc/sprint1/images/JIRA_Backlog.png differ diff --git a/doc/sprint1/images/Ticket_Description_and_Child_Issue.png b/doc/sprint1/images/Ticket_Description_and_Child_Issue.png new file mode 100644 index 00000000..9f0fe4df Binary files /dev/null and b/doc/sprint1/images/Ticket_Description_and_Child_Issue.png differ diff --git a/doc/sprint1/images/Ticket_Detail.png b/doc/sprint1/images/Ticket_Detail.png new file mode 100644 index 00000000..e909a2d3 Binary files /dev/null and b/doc/sprint1/images/Ticket_Detail.png differ diff --git a/doc/sprint1/images/Ticket_Workflow.png b/doc/sprint1/images/Ticket_Workflow.png new file mode 100644 index 00000000..52bc8283 Binary files /dev/null and b/doc/sprint1/images/Ticket_Workflow.png differ diff --git a/doc/sprint1/images/account_schema.png b/doc/sprint1/images/account_schema.png new file mode 100644 index 00000000..a82bbbeb Binary files /dev/null and b/doc/sprint1/images/account_schema.png differ diff --git a/doc/sprint1/images/course_filter.png b/doc/sprint1/images/course_filter.png new file mode 100644 index 00000000..2898b1bc Binary files /dev/null and b/doc/sprint1/images/course_filter.png differ diff --git a/doc/sprint1/images/course_information.png b/doc/sprint1/images/course_information.png new file mode 100644 index 00000000..d871e1f7 Binary files /dev/null and b/doc/sprint1/images/course_information.png differ diff --git a/doc/sprint1/images/course_schema.png b/doc/sprint1/images/course_schema.png new file mode 100644 index 00000000..3fbed2f6 Binary files /dev/null and b/doc/sprint1/images/course_schema.png differ diff --git a/doc/sprint1/images/courses.png b/doc/sprint1/images/courses.png new file mode 100644 index 00000000..999815e0 Binary files /dev/null and b/doc/sprint1/images/courses.png differ diff --git a/doc/sprint1/images/image.png b/doc/sprint1/images/image.png new file mode 100644 index 00000000..5ec3c7ac Binary files /dev/null and b/doc/sprint1/images/image.png differ diff --git a/doc/sprint1/iteration-01.plan.md b/doc/sprint1/iteration-01.plan.md new file mode 100644 index 00000000..0a3a7bc4 --- /dev/null +++ b/doc/sprint1/iteration-01.plan.md @@ -0,0 +1,139 @@ +# Course Matrix + +## Iteration 01 + +- **Start date**: 02/04/2025 +- **End date**: 02/13/2025 + +## 1. Process + +#### 1.1 Roles & Responsibilities + +- **Epic 1: Registration/Login**: Thomas and Masa + + - Create account database schema to store and protect users' account information + - Develop software backend API and frontend UI to handle users' account registrations and authentications to ensure secured access to different pages + +- **Epic 2: Course Database**: Kevin and Austin + + - Create a course database schema to store all course offerings and course information + - Develop software backend API and frontend UI to display all courses and course offerings information + +- **Note taking & Documentation**: Minh + - Taking notes during stand-ups + - Create sprint 1 documentation: iteration-plan-01, RPM, and sprint-01 review + - Create System Design Document + +In addition to their specific roles, all team members have a collective responsibility to support and assist other team members to ensure that the goals (listed in section 2.1) are achieved and develop a working prototype. + +#### 1.2 Events + +- **Initial planning meeting**: + + - Location: In person, computer lab BV498 + - Time: 2/4/2025 + - Purposes: + - Go over the sprint 1 requirements + - Define tasks and responsibilities for each team member + +- **Stand up meeting**: + + - Location: Online or in-person depending on members availability + - Time: Every Tuesday from 12 pm to 1 pm, Friday and Sunday from 9 pm to 10 pm + - Purposes + - Progress updates: What has each member done since the last stand-up + - Determine the next steps and deadlines + - Discuss current blockers and possible solutions + +- **Final review meeting** + - Location: Online + - Time: 2/13/2025 + - Purposes: + - Review features and deliverables implemented in sprint 1 + - Determine changes that need to be made in sprint 2 + +#### 1.3 Artifacts + +- Our team will track the progress through Jira + + - Each user story will be uploaded to Jira as a ticket: + + - Categorized in the backlog by its epic, and execution sprint + + ![JIRA Backlog](./images/JIRA_Backlog.png) + + - Ticket details include: estimated story point to determine its priority, assignees + + ![Ticket Detail](./images/Ticket_Detail.png) + + - Tickets of large user stories will be broken down into smaller child issues + + ![Ticket Description and Child Issue](./images/Ticket_Description_and_Child_Issue.png) + + - Each ticket will also show: + + - Other tickets blocked by it + + ![Blocked tickets](./images/Blocked_ticket.png) + + - Other tickets blocking it + + ![Blocking tickets](./images/Blocking_tickets.png) + + - Additional tasks required during the development process will also be submitted as a task ticket on JIRA for tracking. + - Students or groups of students will be assigned first to epic and then to the specific user story. + - Workflow + + ![Ticket Workflow](./images/Ticket_Workflow.png) + +## 2. Product + +#### 2.1 Goal and Tasks + +**1. Create database schemas that will be the foundation for future feature developments** + +- _Account database schema_: [SCRUM-67](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-67?atlOrigin=eyJpIjoiNGVjOGU4ZGZkZWMzNDVlYzljZjgxMzNhMGI1Y2MyOGEiLCJwIjoiaiJ9) +- _Course database schema_: [SCRUM-68](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-68?atlOrigin=eyJpIjoiYjg1ZjkxN2IwMzE4NGVlNmE2YmU3YjZlM2ZjNThjZGMiLCJwIjoiaiJ9) + +**2. Develop product features for the product demo:** + +- _Epic 1: Registration and Login_ + + - Account Creation: [SCRUM-25](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-25?atlOrigin=eyJpIjoiNTU0NWE3OTQ3MjgwNDYwNzgzNTM5MjI2NmFjMDc4ZWMiLCJwIjoiaiJ9) + - Account Login: [SCRUM-26](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-26?atlOrigin=eyJpIjoiMmRkZWQyMjQzMDhlNDQ5MGEwNTRjYjBhMDM2ZDE5YjUiLCJwIjoiaiJ9) + - Account Logout: [SCRUM-27](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-27?atlOrigin=eyJpIjoiYmY4ZmExZTZmN2VkNGViZTkzNDA4ZjZhZTJlMWE0YTciLCJwIjoiaiJ9) + +- _Epic 2: Course DB_ + - Courses List Display: [SCRUM-42](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-42?atlOrigin=eyJpIjoiYTMzZWI2OGQxYmUyNDc2MmE4MTM5ZjA2M2I3NWFmYWUiLCJwIjoiaiJ9) + - Courses Entries Display: [SCRUM-43](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-43?atlOrigin=eyJpIjoiYzIxMTdkN2ZkYjc3NGU1NWJhNTAxZDE3ODA4NTM2ZmIiLCJwIjoiaiJ9) + +**3. Create sprint1 documentation:** [SCRUM-70](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-70?atlOrigin=eyJpIjoiNGE5YWQ3MzU5YTg3NGI1ODgyNjk2YTBlOWY4ZDgzMDkiLCJwIjoiaiJ9) + +#### 2.2 Artifacts + +**1. Database Schemas** + +- `course` schema: + - `courses` table: Course information + - `offerings` table: Lecture sections available for each course in a semester + - `prerequisites` table: Records prerequisite relationships + - `corequisites` table: Records corequisite relationships + - `departments` table: Records all department codes and their associated names +- `account` schema + - `users` table: Records the email, encrypted password, and other login info for users + +**2. Pages/Features** + +- Registration and login + + - Static welcome page for users to create an account + - Static welcome page for users to log in to their account + - Drop-down menu for users to log off their account + +- Course DB + - Static page that displays all the courses available, with filter options for users to narrow it down + - Static course page that displays detailed course information + +**3. Mock data** + +- Mock data for courses & offerings extracted from the UTSC course timetable archive for Winter, Summer, and Fall 2024. diff --git a/doc/sprint1/sprint-01-review.md b/doc/sprint1/sprint-01-review.md new file mode 100644 index 00000000..f66ab316 --- /dev/null +++ b/doc/sprint1/sprint-01-review.md @@ -0,0 +1,95 @@ +# Course Matrix/term-group-project-c01w25-project-course-matrix + +## Iteration 01 - Review & Retrospect + +When: 2/13/2025 at 9:00 pm + +Where: Online + +## Process - Reflection + +In Sprint 1, our team focused on developing the critical features needed to establish a foundational software and database structure, which will be further enhanced in future sprints. +Our team successfully generated two database schemas: + +- A `course` schema for storing course and course-offering information +- A `auth` schema for storing user account information + +The course schema was populated with data from previous semesters, serving as mock data. Additionally, we implemented account registration, login, and logout functionality to ensure that only authorized users can access Course Matrix features and protected database content. + +Furthermore, we laid the foundation for a timetable generator by enabling users to browse and filter the course database to find relevant courses and lectures. We also introduced options for users to apply specific restrictions to their schedules. + +### Decision that turned out well + +1. **Pair Programming & Peer Evaluation** + Our team adopted a pair programming approach, where each member was paired with another to provide support and review submissions. This approach worked well, as it allowed us to complete all planned tasks despite each member's busy schedule with midterms and other assignments. + +2. **Balanced User Story Planning** + The number of user stories planned for Sprint 1 factored in scheduling constraints. Allocating story points helped us prioritize tasks effectively, ensuring all features and components were thoroughly tested and functional without overburdening any team member. + +3. **Sub Tasks For Large User Story** + At the start of Sprint 1, we spent time breaking down complex user stories into smaller, specific tasks. This approach provided clearer instruction and expectations for each member's deliverables, reducing the time needed for testing and integrating components. + +4. **Using Supabase** + We opted to use Supabase, which offered intuitive coding guidelines, built-in tools that sped up the implementation process, seamless integration with our tech stack and provide a user-friendly interface. + +### Decision that did not turn out as well as we hoped + +1. **Intermediate Deadline & Check-ins** + Although we had well-defined goals and met our final deadline, intermediate deadlines and check-ins could have been better planned. This would have helped identify and resolve errors earlier in the development process and ensure that all team members delivered the expected progress at each check-in. + +### Planned Changes + +**Improve Code Comment/Documentation**: At the beginning of each component, add a comment block explaining its functionality and connections to other components if applicable. + +**Standardizing Code Formating**: Aligning coding conventions across the project to ensure consistency (to be documented in the README.md) + +## Product - Review + +### Goals and/or tasks that were met/completed + +- Build database schemas to store course information, course offerings and user accounts by Feb 9th 2025 + + - `course` schema: + + - The `offerings` table should have columns for the Meeting Section, Session Offering, Day of Week, Start-End time, Location, Number of current enrollments, Max number of enrollments, Instructor + - The `courses` table should have columns for the course code, name, breadth requirements, description, prerequisites, corequisites, and exclusions + - The `corequisites` table should have columns to map each course_id with their corresponding corequisite course_ids + - The `prerequisites` table should have columns to map each course_id with their corresponding prerequisite course_ids + - The `departments` table should have columns to map each department to their code name as shown in the course codes + ![course schema](./images/course_schema.png) + + - `account` schema (renamed: `auth` schema) : + - The `users` table should have columns to store user account information: email, encrypted password, user_id + + ![account schema](./images/account_schema.png) + +- Import course information and course offerings for the Winter, Summer and Fall semesters of 2024 from the UTSC timetable archive by Feb 9th 2025 as a mock database for courses offered in the Fall, Summer semester of 2025 and Winter of 2026. + ![courses](./images/courses.png) + +- Build basic software features for the first TA demo by Feb 13th 2025 including: + + - Account registration, login, logout + - Display all available courses with filtering options: - Semester - Breadth Requirement - Credit Weight - Department - Course Level + ![course filter](./images/course_filter.png) + +- Display courses and course offerings information: Course Description, Meeting Section, Offering, Days of Week, Time, Location + ![course information](./images/course_information.png) + +### Goals and/or tasks that were planned but not met/completed + +- None + +## Meeting Highlights + +For the next iteration, development efforts will focus on: + +1. Course Calendar Customization + - Adding, updating and deleting personal events + - Adding and removing courses + - Color-coding events +2. AI Assistant Integration +3. Timetable Builder Algorithm Development +4. Process Enhancements + - Improving intermediate check-ins + - Strengthening coding conventions + - Enhancing code documentation with comments diff --git a/doc/sprint1/sprint1-course-matrix.docx b/doc/sprint1/sprint1-course-matrix.docx new file mode 100644 index 00000000..9892caf1 Binary files /dev/null and b/doc/sprint1/sprint1-course-matrix.docx differ diff --git a/doc/sprint2/RPM.md b/doc/sprint2/RPM.md new file mode 100644 index 00000000..64422687 --- /dev/null +++ b/doc/sprint2/RPM.md @@ -0,0 +1,91 @@ +# Release Plan + +## Release Name: Course_Matrix_V1.1.0 + +## 1. Release Objectives for Sprint 2 + +### 1.1 Goals + +- Part 2 of user registration and login: + + - User password change + - User account deletion + - Username + email display via dropdown menu + +- Expand database schemas to support additional timetable customization and AI assistant interactions by February 28, 2025 + + - **`timetable` schema**: + - The `timetables` table should have columns for `id`, `created_at`, `timetable_title`, `user_id`, and `updated_at`. + - The `course_events` table should have columns for `id`, `created_at`, `calendar_id`, `updated_at`, `event_name`, `event_date` , `event_start`, `event_end`, `event_description`, and `offering_id`. + - The `user_events` table should have columns for `id`, `created_at`, `event_name`, `event_description`, `event_date` , `event_start`, `event_end`, `calendar_id`, and `updated_at`. + +- Develop enhanced scheduling features for the demo by March 7th, 2025: + + - Ability to insert, update, and delete timetable and events entries (course events for offered lectures, tutorial, etc and user events for users’ personal events) . + - Automatic and customized timetable generation based on user constraints. + - Custom colour customization for timetable entries. + - Favourite timetable functionality. + +- Build AI-powered assistant features: + - AI chatbot interface enabling users to create, rename, and delete chat logs. + - Retrieval of course information and program requirements from the database. + +### 1.2 Metrics for Measurement + +- **Database Schema Expansion** + + - Ensure the `timetable` schema supports new features. + - Verify referential integrity and indexing for efficient queries. + +- **Timetable Management** + + - Users can create, modify, and delete timetables and event entries without errors. + - Timetable generation respects user constraints (e.g., time preferences, course exclusions). + - Custom colour selections persist across sessions. + - Favourite timetables are stored and retrievable. + +- **AI Assistant Features** + - Users can create, rename, and delete chat logs. + - AI fetches course details and program requirements exclusively from the internal vectorized database. + - AI does not use web-based or non-course-related information. + +## 2. Release Scope + +### 2.1 Included Features + +- **Timetable Management** + + - Add, update, and delete timetables and event entries. + - Generate an optimized schedule based on user preferences. + - Customize timetable entry colours. + - Favourite timetables for quick access. + +- **AI Assistant** + - AI-powered chatbot with interactive Q&A. + - Retrieval of course and program requirement details. + - Chat log creation, renaming, and deletion. + +### 2.2 Excluded Features + +- Multi-user timetable sharing. +- AI recommendations for schedule optimization. +- Push notifications for schedule changes. + +### 2.3 Bug Fixes + +- Fix passwords having unlimited length +- Fix Login session infinite loop bug +- Fix auth middleware login to check for user session +- Fix login not redirecting to dashboard if session already exists +- Fix form deselect field option in filter panel + +### 2.4 Non-Functional Requirements + +- **Performance** + - AI assistants should stream the first response within 5 seconds of user query. + - Timetable generation should not exceed 10 seconds under typical load. + - Proper authorization for protected operations such as deleting/updating users + +### 2.5 Dependencies and Limitations + +- The AI assistant relies solely on the internal course database and does not fetch web-based content. diff --git a/doc/sprint2/Sprint2-course-matrix.rtf b/doc/sprint2/Sprint2-course-matrix.rtf new file mode 100644 index 00000000..6bfec2ee --- /dev/null +++ b/doc/sprint2/Sprint2-course-matrix.rtf @@ -0,0 +1,466 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} +{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f4\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Helvetica;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;} +{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f43\fbidi \fswiss\fcharset0\fprq2 Aptos;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2 Aptos Display;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2 Aptos;} +{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f46\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f47\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\f49\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f50\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f51\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f52\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\f53\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f54\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f66\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f67\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;} +{\f69\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f70\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f71\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f72\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);} +{\f73\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f74\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f86\fbidi \fswiss\fcharset238\fprq2 Helvetica CE;}{\f87\fbidi \fswiss\fcharset204\fprq2 Helvetica Cyr;} +{\f89\fbidi \fswiss\fcharset161\fprq2 Helvetica Greek;}{\f90\fbidi \fswiss\fcharset162\fprq2 Helvetica Tur;}{\f91\fbidi \fswiss\fcharset177\fprq2 Helvetica (Hebrew);}{\f92\fbidi \fswiss\fcharset178\fprq2 Helvetica (Arabic);} +{\f93\fbidi \fswiss\fcharset186\fprq2 Helvetica Baltic;}{\f94\fbidi \fswiss\fcharset163\fprq2 Helvetica (Vietnamese);}{\f386\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f387\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;} +{\f389\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f390\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f393\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f394\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);} +{\f476\fbidi \fswiss\fcharset238\fprq2 Aptos CE;}{\f477\fbidi \fswiss\fcharset204\fprq2 Aptos Cyr;}{\f479\fbidi \fswiss\fcharset161\fprq2 Aptos Greek;}{\f480\fbidi \fswiss\fcharset162\fprq2 Aptos Tur;}{\f483\fbidi \fswiss\fcharset186\fprq2 Aptos Baltic;} +{\f484\fbidi \fswiss\fcharset163\fprq2 Aptos (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} +{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} +{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Aptos Display CE;} +{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Aptos Display Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Aptos Display Greek;}{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Aptos Display Tur;} +{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Aptos Display Baltic;}{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Aptos Display (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} +{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} +{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Aptos CE;} +{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Aptos Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Aptos Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Aptos Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Aptos Baltic;} +{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Aptos (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0; +\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green0\blue0;\red0\green0\blue0;}{\*\defchp \fs24\kerning2\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap +\ql \li0\ri0\sa160\sl278\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa160\sl278\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 +\af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\kerning2\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;} +{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl278\slmult1 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\kerning2\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 +\snext11 \ssemihidden \sunhideused Normal Table;}}{\*\listtable{\list\listtemplateid-1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid1\'01\'95;}{\levelnumbers +;}\fi-360\li720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0 +\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 +\ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0 +\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 +\ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0 +\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 }{\listname ;}\listid1}{\list\listtemplateid-1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 +\levelindent0{\leveltext\leveltemplateid101\'01\'95;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 +\ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0 +\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 +\ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0 +\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 +\ltrch\fcs0 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 }{\listname ;}\listid2}{\list\listtemplateid-1\listhybrid{\listlevel +\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat91\levelspace0\levelindent0{\leveltext\leveltemplateid-1710851836\'01-;}{\levelnumbers;}\loch\af4\hich\af4\dbch\af31505\fbias0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23 +\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative +\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 +\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;} +\f3\fbias0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\lin5760 } +{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\lin6480 }{\listname ;}\listid320234674}} +{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid320234674\listoverridecount0\ls3}}{\*\rsidtbl \rsid1206834\rsid4267412\rsid4552342\rsid5131454\rsid6043254\rsid11012777 +\rsid13832864\rsid14564074\rsid15534922}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator Dmitriy Prokopchuk}{\creatim\yr2025\mo3\dy15\hr17\min16} +{\revtim\yr2025\mo3\dy17\hr16\min30}{\version5}{\edmins38}{\nofpages6}{\nofwords1391}{\nofchars7932}{\nofcharsws9305}{\vern115}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} +\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect +\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701 +\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot15534922 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 +\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6 +\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang +{\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1033\kerning2\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 # Sprint 2 Marking Scheme +\par +\par \hich\af4\dbch\af31505\loch\f4 **Team Name:** }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning0\insrsid15534922 \hich\af4\dbch\af31505\loch\f4 Course Matrix}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 +\par +\par --- +\par +\par \hich\af4\dbch\af31505\loch\f4 ## Version Control (max 10 marks) +\par +\par \hich\af4\dbch\af31505\loch\f4 - Consistent Usage of Git (5 pt): +\par \hich\af4\dbch\af31505\loch\f4 - 2 pts: Regular and consistent commits demonstrating incremental progress in the project. +\par \hich\af4\dbch\af31505\loch\f4 - 2 pt: Demonstrated proficiency in basic Git commands ((e.g., commit, push, pull, merge) and usage based on the contribution guidelines described by the team in their README. +\par \hich\af4\dbch\af31505\loch\f4 - 1 pts: Meaningful commit messages that convey the purpose of each change. +\par +\par \hich\af4\dbch\af31505\loch\f4 - Branches/Naming/Organization (5 pt) +\par \hich\af4\dbch\af31505\loch\f4 - 2 pts: Proper utilization of branches for feature development, bug fixes, etc. Should have feature branches for eac\hich\af4\dbch\af31505\loch\f4 h user story that differs significantly in logic. +\par \hich\af4\dbch\af31505\loch\f4 - 2 pts: Use of Pull Requests and/or avoidance of direct uploads and merging zip files. +\par \hich\af4\dbch\af31505\loch\f4 \loch\af4\dbch\af31505\hich\f4 \u9679\'3f\hich\af4\dbch\af31505\loch\f4 Should not directly commit each change to the main branch. +\par \hich\af4\dbch\af31505\loch\f4 \loch\af4\dbch\af31505\hich\f4 \u9679\'3f\hich\af4\dbch\af31505\loch\f4 Should ideally merge branches using pull request feature on GitHub. +\par \hich\af4\dbch\af31505\loch\f4 \loch\af4\dbch\af31505\hich\f4 \u9679\'3f\hich\af4\dbch\af31505\loch\f4 Should not manually merge zips from different branches in one local repo - bad practice +\par \hich\af4\dbch\af31505\loch\f4 - 1 pts: Clear and meaningful branch naming conventions that reflect the purpose of the branch. +\par +\par +\par \hich\af4\dbch\af31505\loch\f4 Version Control Total Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning0\insrsid15534922 \hich\af4\dbch\af31505\loch\f4 10}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 / 10 + +\par +\par +\par \loch\af4\dbch\af31505\hich\f4 \emdash \emdash +\par \hich\af4\dbch\af31505\loch\f4 ## Code Quality (max 8 marks) +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning0\insrsid1206834 +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 - Proper naming: 1 mark +\par \hich\af4\dbch\af31505\loch\f4 - Indentation and spacing: 1 mark +\par \hich\af4\dbch\af31505\loch\f4 - Proper use of comments: 1 mark +\par \hich\af4\dbch\af31505\loch\f4 - Consistent coding style: 2.5 mark +\par \hich\af4\dbch\af31505\loch\f4 - Code is easy to modify and re-use: 2.5 mark +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 + Code Quality Total Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid6043254 \hich\af4\dbch\af31505\loch\f4 8}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 / 8 +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid13832864 +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \loch\af4\dbch\af31505\hich\f4 \emdash \emdash +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 ## UI Design and Ease of Use (8 marks): +\par \hich\af4\dbch\af31505\loch\f4 Visual Design/GUI (4 marks): +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\insrsid1206834 \loch\af4\dbch\af31505\hich\f4 \'95\tab}}\pard \ltrpar\ql \fi-720\li720\ri0\nowidctlpar\tx220\tx720\wrapdefault\faauto\ls1\rin0\lin720\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 +\f4\cf1\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 The UI demonstrates a cohesive and visually appealing design with appropriate color schemes, fonts, and visual elements: 1.5 mark +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\insrsid1206834 \loch\af4\dbch\af31505\hich\f4 \'95\tab}\hich\af4\dbch\af31505\loch\f4 +Consistent branding and styling are applied throughout the application and creative and thoughtful use of design elements that enhance the overall aesthetics: 1.5 mark +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\insrsid1206834 \loch\af4\dbch\af31505\hich\f4 \'95\tab}\hich\af4\dbch\af31505\loch\f4 Intuitive navigation with clear and logically organized menus, buttons, or tabs: 1 mark +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid1206834 \~ +\par \hich\af4\dbch\af31505\loch\f4 Ease of Use (4 marks): +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\insrsid1206834 \loch\af4\dbch\af31505\hich\f4 \'95\tab}}\pard \ltrpar\ql \fi-720\li720\ri0\nowidctlpar\tx220\tx720\wrapdefault\faauto\ls2\rin0\lin720\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 +\f4\cf1\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 Intuitiveness and simplicity in the user interactions, very minimal learning curve: 1.5 mark +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\insrsid1206834 \loch\af4\dbch\af31505\hich\f4 \'95\tab}\hich\af4\dbch\af31505\loch\f4 Interactivity and Responsiveness: 1.5 mark +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\insrsid1206834 \loch\af4\dbch\af31505\hich\f4 \'95\tab}\hich\af4\dbch\af31505\loch\f4 Clear and user-friendly error messages that guide users in resolving issues or success messages: 1 mark + +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 UI Design and Ease of Use}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 +\hich\af4\dbch\af31505\loch\f4 Total Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 \hich\af4\dbch\af31505\loch\f4 8}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 / 8 +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 +\par \loch\af4\dbch\af31505\hich\f4 \emdash \emdash +\par \hich\af4\dbch\af31505\loch\f4 ## BackLog Management (10 mark) +\par \hich\af4\dbch\af31505\loch\f4 - Jira is used proficiently to manage user stories, tasks, and sprints. +\par \hich\af4\dbch\af31505\loch\f4 - An even distribution of user stories across multiple sprints, not all in one sprint. +\par \hich\af4\dbch\af31505\loch\f4 - An even distribution of user stories amongst group members. +\par \hich\af4\dbch\af31505\loch\f4 - Completion and thoughtful organization of the Jira Board and Backlog +\par \hich\af4\dbch\af31505\loch\f4 - Sh\hich\af4\dbch\af31505\loch\f4 ould use subtask/child issues feature to break down user stories instead of creating a large pool of unclassified tasks/user stories. +\par \hich\af4\dbch\af31505\loch\f4 - Each user story / task in Sprint 2 has been assigned story estimation points. +\par \hich\af4\dbch\af31505\loch\f4 - All tasks/user stories in Sprint 2 should be completed. +\par +\par \hich\af4\dbch\af31505\loch\f4 Note: a completed sprint may be hidden from the Backlog/Board. +\par \hich\af4\dbch\af31505\loch\f4 - You need to find/recover them manually. +\par \hich\af4\dbch\af31505\loch\f4 - Do not deduct marks for completed sprints, therefore stories that disappeared. +\par +\par \hich\af4\dbch\af31505\loch\f4 Deduct 1/1.5 marks for each \hich\af4\dbch\af31505\loch\f4 criteria violated. +\par +\par \hich\af4\dbch\af31505\loch\f4 Backlog Management Total Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 \hich\af4\dbch\af31505\loch\f4 10}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 / 10 + +\par +\par \loch\af4\dbch\af31505\hich\f4 \emdash +\par \hich\af4\dbch\af31505\loch\f4 ##Project Tracking (max 10 marks) +\par \hich\af4\dbch\af31505\loch\f4 - }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 Burndown chart is accurate, correctly reflecting tasks completed and remaining. +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 - The burndown smoothly tracks progress, reflecting team velocity and workload. +\par \hich\af4\dbch\af31505\loch\f4 - X-axis correctly represents sprint timeline with appropriate intervals. +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid5131454 \hich\af4\dbch\af31505\loch\f4 - }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid5131454 \hich\af4\dbch\af31505\loch\f4 +Network diagram to show the critical path and documenting the findings in schedule.pdf}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid5131454 +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 - Ideal vs. actual progress is clearly represented for comparison. +\par +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 +Deduct 2/2.5 marks for each criteria violated. +\par +\par \hich\af4\dbch\af31505\loch\f4 If the burndown chart is flat, no marks should be provided +\par +\par \hich\af4\dbch\af31505\loch\f4 Project Tracking Total Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 \hich\af4\dbch\af31505\loch\f4 10}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 / 10}{ +\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid1206834 +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 +\par --- +\par \hich\af4\dbch\af31505\loch\f4 ## Planning Meetings (RPM.md, sprint1.md) (max 10 marks) +\par +\par \hich\af4\dbch\af31505\loch\f4 - RPM.md (Release Planning Meetings) (max 5 marks) +\par \hich\af4\dbch\af31505\loch\f4 - 5 marks = Release goals are specified and there are sufficient references to included features, excluded features, bug fixes, non-functional requirement, dependency & limitati\hich\af4\dbch\af31505\loch\f4 +on to be completed during the release +\par \hich\af4\dbch\af31505\loch\f4 +\par \hich\af4\dbch\af31505\loch\f4 Deduct 1 marks for each criteria violated. +\par \hich\af4\dbch\af31505\loch\f4 +\par \hich\af4\dbch\af31505\loch\f4 Your Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 \hich\af4\dbch\af31505\loch\f4 5}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 +\par \hich\af4\dbch\af31505\loch\f4 +\par \hich\af4\dbch\af31505\loch\f4 - Sprint Planning meeting (sprint2.md) (max 5 marks) +\par \hich\af4\dbch\af31505\loch\f4 + - 5 marks = Meeting and sprint goal is documented, all spikes clearly identified, team capacity recorded, participants are recorded, everyone has participated, decisions about user stories to be completed this sprint are clear, tasks breakdown is done +\hich\af4\dbch\af31505\loch\f4 . +\par +\par \hich\af4\dbch\af31505\loch\f4 +\par \hich\af4\dbch\af31505\loch\f4 Deduct 0.5/ 1 marks for each criteria violated. +\par +\par \hich\af4\dbch\af31505\loch\f4 Your Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 \hich\af4\dbch\af31505\loch\f4 5}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 +\par +\par \hich\af4\dbch\af31505\loch\f4 Planning Meetings Total Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 \hich\af4\dbch\af31505\loch\f4 10}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 / 10 + +\par +\par \loch\af4\dbch\af31505\hich\f4 \emdash +\par \hich\af4\dbch\af31505\loch\f4 ## System Design Document Enhancement ( 10 marks) +\par +\par \hich\af4\dbch\af31505\loch\f4 Groups using React + Express and not relying on classes. Components can be treated as \hich\af4\dbch\af31505\loch\f4 classes +\par \hich\af4\dbch\af31505\loch\f4 +\par \hich\af4\dbch\af31505\loch\f4 - CRC Cards [or equivalent, if the team is not using CRC) (max 4 marks) +\par \hich\af4\dbch\af31505\loch\f4 - 4 marks = Class names and Collaborators have matching names and responsibilities are stated clearly +\par \hich\af4\dbch\af31505\loch\f4 - 2 marks = At least one of the class names does not match the collaborator names or the responsibilities for at least one class are unclear +\par \hich\af4\dbch\af31505\loch\f4 - 1 marks = Two class names do not match the collaborator names or the responsibilities of two or more classes are not stated or are unclear +\par \hich\af4\dbch\af31505\loch\f4 - 0 marks = No CRC provid\hich\af4\dbch\af31505\loch\f4 ed or the provided document does not match the CRC model +\par +\par \hich\af4\dbch\af31505\loch\f4 Your Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 \hich\af4\dbch\af31505\loch\f4 4}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 +\par +\par +\par \hich\af4\dbch\af31505\loch\f4 - Software Architecture Diagram (max 6 marks) +\par +\par \hich\af4\dbch\af31505\loch\f4 ** If the architecture is not enhanced, groups should provide proper reasoning on why and marks can be awarded accordingly +\par +\par \hich\af4\dbch\af31505\loch\f4 - 6 marks = The Architecture Diagram is enhanced, it is formatted using proper graphic symbols, and it follows a known Architecture diagram. Detailed description of the components as part of system decomposition. +\par +\par \hich\af4\dbch\af31505\loch\f4 - 4 marks = The Architecture Diagram is enhanced, it is not formatted well, and it follows somewhat a known Architecture diagram. Some detailed description of the com\hich\af4\dbch\af31505\loch\f4 +ponents as part of system decomposition\tab +\par \hich\af4\dbch\af31505\loch\f4 - 2 marks = The Architecture Diagram is enhanced, it is not formatted well, or it does not follow a known Architecture diagram. less description of the components as part of system decomposition\tab +\par \hich\af4\dbch\af31505\loch\f4 - 1 mark = The Architecture Diagram is enhanced, it is not formatted well, and it is unclear what Architecture it follows. +\par \hich\af4\dbch\af31505\loch\f4 - 0 marks = No diagram present or the presented document does not look like a software architecture diagram +\par +\par \hich\af4\dbch\af31505\loch\f4 Your Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 \hich\af4\dbch\af31505\loch\f4 5}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 +\par +\par \hich\af4\dbch\af31505\loch\f4 System\hich\af4\dbch\af31505\loch\f4 Design Total Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 \hich\af4\dbch\af31505\loch\f4 9}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 +\hich\af4\dbch\af31505\loch\f4 / 10 +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 +\par \hich\af4\dbch\af31505\loch\f4 Notes: +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 \hich\af4\dbch\af31505\loch\f4 -\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\nowidctlpar +\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\wrapdefault\faauto\ls3\rin0\lin720\itap0\pararsid11012777 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 \hich\af4\dbch\af31505\loch\f4 +No update to front-end and back-end deployment locations from last sprint\hich\f4 \rquote \loch\f4 s feedback. (-1 pt) +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 +\par --- +\par \hich\af4\dbch\af31505\loch\f4 ## Team Communication (5 marks) +\par --- +\par \hich\af4\dbch\af31505\loch\f4 ## Daily Stand-ups (max 3 marks) +\par \hich\af4\dbch\af31505\loch\f4 - Team updates are done on the Slack server within your team's #standup channel +\par \hich\af4\dbch\af31505\loch\f4 - Standup Format: +\par \hich\af4\dbch\af31505\loch\f4 +\par \hich\af4\dbch\af31505\loch\f4 [Standup Date] - Sprint # Standup # +\par \hich\af4\dbch\af31505\loch\f4 1. What did you work on since the last standup? +\par \hich\af4\dbch\af31505\loch\f4 2. What do you commit to next? +\par \hich\af4\dbch\af31505\loch\f4 3. When do you think you'll be done? +\par \hich\af4\dbch\af31505\loch\f4 4. Do you have any blockers? +\par \hich\af4\dbch\af31505\loch\f4 +\par \hich\af4\dbch\af31505\loch\f4 - Each group is required to post a minimum of 6 standups per sprint (Max 6 marks; 0.5 marks per daily standup) +\par \hich\af4\dbch\af31505\loch\f4 - Standup updates answers the necessary questions and is good quality +\par \hich\af4\dbch\af31505\loch\f4 - 0.5 marks = All teams members have sent their updates in the channel and are well written/good quality. Each team member consistently addresses the above four questions: +\par +\par \hich\af4\dbch\af31505\loch\f4 Deduct 0.1 points for each standup missed for up to 0.5 point in total. +\par \hich\af4\dbch\af31505\loch\f4 - For full marks, at least 6 standups need to be present. +\par +\par \hich\af4\dbch\af31505\loch\f4 Daily Stand-ups Total Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 \hich\af4\dbch\af31505\loch\f4 3}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 / 3 +\par +\par +\par \hich\af4\dbch\af31505\loch\f4 - Sprint Retrospective (max 2 marks) +\par \hich\af4\dbch\af31505\loch\f4 - 2 marks = Includes a comprehensive review of what went well during the sprint, identifying specific examples of success\hich\af4\dbch\af31505\loch\f4 es and effective practices. +\par \hich\af4\dbch\af31505\loch\f4 Proposes practical and realistic actions to address identified challenges and improve future sprints +\par +\par \hich\af4\dbch\af31505\loch\f4 Deduct 0.5 points for each criteria violated. +\par +\par \hich\af4\dbch\af31505\loch\f4 Sprint Retro Total Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid11012777 \hich\af4\dbch\af31505\loch\f4 2}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 / 2 +\par +\par +\par \hich\af4\dbch\af31505\loch\f4 Team Communication Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid4267412 \hich\af4\dbch\af31505\loch\f4 5}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 / 5 +\par +\par +\par \loch\af4\dbch\af31505\hich\f4 \emdash +\par \hich\af4\dbch\af31505\loch\f4 ## Unit Testing (max 12 marks) +\par +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 - Covers all critical functions and edge cases. (3 marks)}{\rtlch\fcs1 \af4\afs32 +\ltrch\fcs0 \f4\fs32\cf1\kerning0\insrsid1206834 +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 - Tests are well-structured, modular, and maintainable. (3 marks)}{\rtlch\fcs1 \af4\afs32 \ltrch\fcs0 \f4\fs32\cf1\kerning0\insrsid1206834 +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 - Thoroughly tests edge cases (boundary values, errors) (3 marks)}{\rtlch\fcs1 \af4\afs32 \ltrch\fcs0 \f4\fs32\cf1\kerning0\insrsid1206834 +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\cf1\kerning0\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 - Tests run successfully with clear output. (3 marks)}{\rtlch\fcs1 \af4\afs32 \ltrch\fcs0 \f4\fs32\cf1\kerning0\insrsid1206834 +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 +Unit Testing Total Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid14564074 \hich\af4\dbch\af31505\loch\f4 3}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 / 12 +\par +\par --- +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid4267412 +\par \hich\af4\dbch\af31505\loch\f4 Note: +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid14564074 \hich\af4\dbch\af31505\loch\f4 -\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\nowidctlpar +\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\wrapdefault\faauto\ls3\rin0\lin720\itap0\pararsid4267412 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid14564074 \hich\af4\dbch\af31505\loch\f4 Almost n}{\rtlch\fcs1 +\af4 \ltrch\fcs0 \f4\kerning1\insrsid4267412 \hich\af4\dbch\af31505\loch\f4 o tests }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid14564074 \hich\af4\dbch\af31505\loch\f4 were included\hich\af4\dbch\af31505\loch\f4 . Most a +\hich\af4\dbch\af31505\loch\f4 re commented out, the \hich\af4\dbch\af31505\loch\f4 few that aren\loch\af4\dbch\af31505\hich\f4 \rquote \hich\af4\dbch\af31505\loch\f4 t do run.}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid4267412 +\hich\af4\dbch\af31505\loch\f4 (-}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid14564074 \hich\af4\dbch\af31505\loch\f4 9}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid4267412 \hich\af4\dbch\af31505\loch\f4 pt) +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid4267412 +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 ## Sprint Demo (Max 17 marks) +\par +\par \hich\af4\dbch\af31505\loch\f4 - Attendance (max 2.5 marks) +\par \hich\af4\dbch\af31505\loch\f4 - 2.5 marks = full team is present +\par \hich\af4\dbch\af31505\loch\f4 - 0.5 mark = one member is not present +\par \hich\af4\dbch\af31505\loch\f4 - 0 marks = more than one member is not present +\par +\par \hich\af4\dbch\af31505\loch\f4 - Working software (max 8 marks) +\par \hich\af4\dbch\af31505\loch\f4 - 8 marks = All 2 or 3 features presented work flawlessly +\par \hich\af4\dbch\af31505\loch\f4 - 1 mark removed for each bug/error identified or for missing records on JIRA +\par +\par \hich\af4\dbch\af31505\loch\f4 - UI Presentation (max 4 marks) +\par \hich\af4\dbch\af31505\loch\f4 - 4 marks = UI demonstrated is visually appealing and intuitive for users +\par \hich\af4\dbch\af31505\loch\f4 - 2 marks = one or more errors identified by the demo TA +\par \hich\af4\dbch\af31505\loch\f4 - 0 marks = UI is visually unappealing +\par +\par \hich\af4\dbch\af31505\loch\f4 - Presentation (max 2.5 marks) +\par \hich\af4\dbch\af31505\loch\f4 - 2.5 marks = Overall fluency in demonstrating software, speaking, and present\hich\af4\dbch\af31505\loch\f4 ing ideas and technical +\par \hich\af4\dbch\af31505\loch\f4 details. Comfortably answers any technical questions asked by TA +\par +\par +\par \hich\af4\dbch\af31505\loch\f4 Your Mark: }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid4267412 \hich\af4\dbch\af31505\loch\f4 17}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 / 17 +\par +\par +\par +\par \hich\af4\dbch\af31505\loch\f4 ## Total Mark +\par +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid14564074 \hich\af4\dbch\af31505\loch\f4 90}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid1206834 \hich\af4\dbch\af31505\loch\f4 / 100 +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid6043254 +\par +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\wrapdefault\faauto\rin0\lin0\itap0\pararsid6043254 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid6043254 +\hich\af4\dbch\af31505\loch\f4 Note (nitpick but no deduction): +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid6043254 \hich\af4\dbch\af31505\loch\f4 -\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\nowidctlpar +\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\wrapdefault\faauto\ls3\rin0\lin720\itap0\pararsid6043254 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid6043254 \hich\af4\dbch\af31505\loch\f4 +codeToYear and yearToCode in backend constants.ts map data to data\hich\af4\dbch\af31505\loch\f4 using a switch statement. }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\kerning1\insrsid14564074 \hich\af4\dbch\af31505\loch\f4 Code quality wise t}{\rtlch\fcs1 \af4 +\ltrch\fcs0 \f4\kerning1\insrsid6043254 \hich\af4\dbch\af31505\loch\f4 hese should use a Map instead of \hich\af4\dbch\af31505\loch\f4 a switch statement +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6043254 +\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a +9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad +5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 +b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 +0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 +a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f +c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 +0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 +a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 +6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b +4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b +4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100d0557692fa0700000d220000160000007468656d652f7468656d652f +7468656d65312e786d6cec5a4b8f1bb911be07c87f68f45d5677eb3db0bcd0d3b3f68c3db064077ba4244a4d0fbb2934a99911160b04de532e0b2cb00972c802 +b9e5100459200b64914b7e8c011bc9e647a448b65aa444791e30022398994b37f555f16355b1aa9add0f3fbb4aa87781334e58daf6c30781efe174ca66245db4 +fd97e361a9e97b5ca07486284b71db5f63ee7ff6e897bf78888e448c13ec817cca8f50db8f85581e95cb7c0ac3883f604b9cc26f73962548c06db628cf327409 +7a135a8e82a05e4e10497d2f4509a87d3e9f9329f6c652a5ff68a37c40e136155c0e4c693692aab125a1b0b3f35022f89af768e65d20daf6619e19bb1ce32be1 +7b1471013fb4fd40fdf9e5470fcbe82817a2e280ac2137547fb95c2e303b8fd49cd962524c1a0ca266352cf42b0015fbb84153fe17fa14004da7b052cdc5d419 +d6ea4133cab106485f3a74b71a61c5c61bfa2b7b9cc356bd1b552dfd0aa4f557f7f0c1b035e8d72cbc02697c6d0fdf09a26eab62e11548e3eb7bf8eaa0d38806 +165e81624ad2f37d74bdd16cd673740199337aec84b7eaf5a0d1cfe15b144443115d728a394bc5a1584bd06b960d0120811409927a62bdc473348528ee2c05e3 +5e9ff025456bdf5ba29471180ea23084d0ab0651f1af2c8e8e3032a4252f60c2f786241f8f4f33b2146dff0968f50dc8bb9f7e7afbe6c7b76ffefef6ebafdfbe +f9ab774216b1d0aa2cb963942e4cb99ffff4ed7fbeffb5f7efbffdf1e7ef7eebc67313fffe2fbf79ff8f7f7e483d6cb5ad29defdee87f73ffef0eef7dffcebcf +df39b477323431e1639260ee3dc397de0b96c00295296cfe7892dd4e621c23624a74d205472992b338f40f446ca19fad11450e5c17db767c9541aa71011faf5e +5b844771b612c4a1f1699c58c053c66897654e2b3c957319661eafd2857bf26c65e25e2074e19abb8752cbcb83d512722c71a9ecc5d8a27946512ad002a75878 +f237768eb163755f1062d9f5944c33c6d95c785f10af8b88d3246332b1a2692b744c12f0cbda4510fc6dd9e6f495d765d4b5ea3ebeb091b0371075901f636a99 +f1315a0994b8548e51424d839f2011bb488ed6d9d4c40db8004f2f3065de60863977c93ccf60bd86d39f22c86e4eb79fd27562233341ce5d3a4f106326b2cfce +7b314a962eec88a4b189fd9c9f438822ef8c0917fc94d93b44de831f507ad0ddaf08b6dc7d7d36780959cea4b40d10f9cb2a73f8f2316656fc8ed6748eb02bd5 +74b2c44ab19d8c38a3a3bb5a58a17d823145976886b1f7f27307832e5b5a36df927e12435639c6aec07a82ec5895f729e6d02bc9e6663f4f9e106e85ec082fd8 +013ea7eb9dc4b3466982b2439a9f81d74d9b0f26196c460785e7747a6e029f11e801215e9c4679ce418711dc07b59ec5c82a60f29ebbe3759d59febbc91e837d +f9daa271837d0932f8d63290d84d990fda668ca835c13660c6887827ae740b2296fbb722b2b82ab195536e6e6fdaad1ba03bb29a9e84a4d77440ffbbce07fa8b +777ff8de11821fa7db712bb652d52dfb9c43a9e478a7bb3984dbed697a2c9b914fbfa5e9a3557a86a18aece7abfb8ee6bea3f1ffef3b9a43fbf9be8f39d46ddc +f7313ef417f77d4c7eb4f271fa986deb025d8d3c5ed0c73cead0273978e63327948ec49ae213ae8e7d383ccdcc863028e5d479272ece0097315cca32071358b8 +4586948c9731f12b22e2518c96703614fa52c982e7aa17dc5b320e47466ad8a95be2e92a3965337dd4a9ce96025d593912dbf1a006874e7a1c8ea98446d71bf9 +a0e4a7ce5381af62bb50c7ac1b0252f636248cc96c12150789c666f01a12f2d4ece3b068395834a5fa8dabf64c01d40aafc0e3b6070fe96dbf569584e08c9c4f +a1359f493f69576fbcab9cf9313d7dc8985604c0b1a25e091cca179e6e49ae07972757a743ed069eb64828a7e8b0b24928cba8068fc7f0109c47a71cbd098ddb +fabab575a9454f9a42cd07f1bda5d1687e88c55d7d0d72bbb981a666a6a0a977097b3c824de77b53b46cfb73383386cb6409c1c3e52317a20b78f1321599def1 +77492dcb8c8b3ee2b1b6b8ca3ada3f091138f32849dabe5c7fe1079aaa24a2c9b560eb7eaae422b9e13e3572e075dbcb783ec75361fadd189196d6b790e275b2 +70feaac4ef0e96926c05ee1ec5b34b6f4257d90b0421566b84d2bb33c2e1d541a85d3d23f02eacc864dbf8dba94c79f6375f46a918d2e3882e63949714339b6b +b82a28051d7557d8c0b8cbd70c06354c9257c2c9425658d3a856392d6a97e670b0ec5e2f242d6764cd6dd1b4d28a2c9bee3466cdb0a9033bb6bc5b9537586d4c +0c49cd2cf13a77efe6dcd626d9ed340a4599008317f6bb5bed37a86d27b3a849c6fb795826ed7cd42e1e9b055e43ed2655c248fbf58dda1dbb1545c2391d0cde +a9f483dc6ed4c2d07cd3582a4bab97e6e67b6d36790dc9a30f6dee8aea37dd34853b19957c799629df4ed86c9d5f52ae138df6b96c4a2592a62ff0dc23b3abb6 +1fb93a47fdb635ccbb01859662b2781582ce6ecf16ccf152546fd84258077811547a53dac285849a197aef42589d28ba688bab0d65d9ab035e9990eb55836973 +4bc1d5be15e1743c43d0db8e5467a7732fd0be12797e812b6f9591b6ff6550eb547b51ad570a9ab541a95aa906a566ad5329756ab54a38a88541bf1b7d05f444 +9c8435fdd5c3105e02d175feed831adffbfe21d9bce77a30654999a9ef1bcacafbeafb87303afcfd033812684583b01a75a25ea9d70feba56ad4af979a8d4aa7 +d48beafda80345bb3eec7ce57b170a1c76fbfde1b01695ea3dc055834eadd4e9567aa57a73d08d86e1a0da0f009c979f2b788a019b6d6c01978ad7a3ff020000 +ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e61676572 +2e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168 +aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bb +d048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff030050 +4b01022d0014000600080000002100e9de0fbfff0000001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c +504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f2e72656c73504b01022d0014 +0006000800000021006b799616830000008a0000001c00000000000000000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e +786d6c504b01022d0014000600080000002100d0557692fa0700000d2200001600000000000000000000000000d60200007468656d652f7468656d652f746865 +6d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700000000000000000000000000040b00007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000ff0b00000000} +{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d +617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 +6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 +656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} +{\*\latentstyles\lsdstimax376\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong; +\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid; +\lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid; +\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2; +\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1; +\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1; +\lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; +\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2; +\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3; +\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; +\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5; +\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6; +\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; +\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4; +\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4; +\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1; +\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1; +\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2; +\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2; +\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3; +\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4; +\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4; +\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5; +\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5; +\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6; +\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6; +\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark; +\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1; +\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1; +\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2; +\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3; +\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3; +\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4; +\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4; +\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5; +\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5; +\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6; +\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Mention; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hashtag;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Unresolved Mention;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Link;}}{\*\datastore 01050000 +02000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 +d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000e04e +4d7a7b97db01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/doc/sprint2/System Design.pdf b/doc/sprint2/System Design.pdf new file mode 100644 index 00000000..05675c4b Binary files /dev/null and b/doc/sprint2/System Design.pdf differ diff --git a/doc/sprint2/burndown.pdf b/doc/sprint2/burndown.pdf new file mode 100644 index 00000000..2fef08c1 Binary files /dev/null and b/doc/sprint2/burndown.pdf differ diff --git a/doc/sprint2/images/Blocked_ticket.png b/doc/sprint2/images/Blocked_ticket.png new file mode 100644 index 00000000..a74939af Binary files /dev/null and b/doc/sprint2/images/Blocked_ticket.png differ diff --git a/doc/sprint2/images/Blocking_tickets.png b/doc/sprint2/images/Blocking_tickets.png new file mode 100644 index 00000000..cc7ce174 Binary files /dev/null and b/doc/sprint2/images/Blocking_tickets.png differ diff --git a/doc/sprint2/images/Burndown.png b/doc/sprint2/images/Burndown.png new file mode 100644 index 00000000..7665826d Binary files /dev/null and b/doc/sprint2/images/Burndown.png differ diff --git a/doc/sprint2/images/JIRA_Backlog.png b/doc/sprint2/images/JIRA_Backlog.png new file mode 100644 index 00000000..2e4b70c2 Binary files /dev/null and b/doc/sprint2/images/JIRA_Backlog.png differ diff --git a/doc/sprint2/images/Ticket_Description_and_Child_Issue.png b/doc/sprint2/images/Ticket_Description_and_Child_Issue.png new file mode 100644 index 00000000..9f0fe4df Binary files /dev/null and b/doc/sprint2/images/Ticket_Description_and_Child_Issue.png differ diff --git a/doc/sprint2/images/Ticket_Detail.png b/doc/sprint2/images/Ticket_Detail.png new file mode 100644 index 00000000..e909a2d3 Binary files /dev/null and b/doc/sprint2/images/Ticket_Detail.png differ diff --git a/doc/sprint2/images/Ticket_Workflow.png b/doc/sprint2/images/Ticket_Workflow.png new file mode 100644 index 00000000..52bc8283 Binary files /dev/null and b/doc/sprint2/images/Ticket_Workflow.png differ diff --git a/doc/sprint2/images/account_schema.png b/doc/sprint2/images/account_schema.png new file mode 100644 index 00000000..a82bbbeb Binary files /dev/null and b/doc/sprint2/images/account_schema.png differ diff --git a/doc/sprint2/images/course_filter.png b/doc/sprint2/images/course_filter.png new file mode 100644 index 00000000..2898b1bc Binary files /dev/null and b/doc/sprint2/images/course_filter.png differ diff --git a/doc/sprint2/images/course_information.png b/doc/sprint2/images/course_information.png new file mode 100644 index 00000000..d871e1f7 Binary files /dev/null and b/doc/sprint2/images/course_information.png differ diff --git a/doc/sprint2/images/course_schema.png b/doc/sprint2/images/course_schema.png new file mode 100644 index 00000000..3fbed2f6 Binary files /dev/null and b/doc/sprint2/images/course_schema.png differ diff --git a/doc/sprint2/images/courses.png b/doc/sprint2/images/courses.png new file mode 100644 index 00000000..999815e0 Binary files /dev/null and b/doc/sprint2/images/courses.png differ diff --git a/doc/sprint2/images/image.png b/doc/sprint2/images/image.png new file mode 100644 index 00000000..5ec3c7ac Binary files /dev/null and b/doc/sprint2/images/image.png differ diff --git a/doc/sprint2/images/user_delete.png b/doc/sprint2/images/user_delete.png new file mode 100644 index 00000000..227b1aad Binary files /dev/null and b/doc/sprint2/images/user_delete.png differ diff --git a/doc/sprint2/images/user_edit.png b/doc/sprint2/images/user_edit.png new file mode 100644 index 00000000..78424513 Binary files /dev/null and b/doc/sprint2/images/user_edit.png differ diff --git a/doc/sprint2/iteration-02.plan.md b/doc/sprint2/iteration-02.plan.md new file mode 100644 index 00000000..e37b064b --- /dev/null +++ b/doc/sprint2/iteration-02.plan.md @@ -0,0 +1,146 @@ +# Course Matrix + +## Iteration 02 + +- **Start date**: 02/15/2025 +- **End date**: 03/07/2025 + +## 1. Process + +### 1.1 Roles & Responsibilities + +#### Epic 1: Scheduler + +**Team Members:** Austin, Minh, Thomas + +- Develop a calendar interface that allows users to retrieve, add, modify, and delete timetables and events both user custom event entries and predefined course entries. +- Implement an algorithm that optimally schedules events based on user preferences and constraints. + +#### Epic 2: AI Assistant + +**Team Members:** Kevin, Masa + +- Develop an AI-powered chat interface that enables direct Q&A interactions between users and the AI. +- Ensure seamless integration with the scheduling system to provide intelligent recommendations and assistance. + +- **Note taking & Documentation**: Minh and Thomas + - Taking notes during stand-ups + - Create sprint 2 documentation: iteration-plan-02, RPM, and sprint-02 review + - Update System Design Document + +In addition to their specific roles, all team members have a collective responsibility to support and assist other team members to ensure that the goals (listed in section 2.1) are achieved and develop a working prototype. + +#### 1.2 Events + +- **Initial planning meeting**: + + - Location: Virtual + - Time: 2/16/2025 + - Purposes: + - Go over the sprint 2 requirements + - Define tasks and responsibilities for each team member + +- **Stand up meeting**: + + - Location: Online or in-person depending on members availability + - Time: Every Tuesday from 12 pm to 1 pm, Thursday and Sunday from 9 pm to 10 pm + - Purposes + - Progress updates: What has each member done since the last stand-up + - Determine the next steps and deadlines + - Discuss current blockers and possible solutions + +- **Final review meeting** + - Location: Online + - Time: 3/6/2025 + - Purposes: + - Review features and deliverables implemented in sprint 2 + - Determine changes that need to be made in sprint 3 + +#### 1.3 Artifacts + +- Our team will track the progress through Jira + + - Each user story will be uploaded to Jira as a ticket: + + - Categorized in the backlog by its epic, and execution sprint + + ![JIRA Backlog](./images/JIRA_Backlog.png) + + - Ticket details include: estimated story point to determine its priority, assignees + + ![Ticket Detail](./images/Ticket_Detail.png) + + - Tickets of large user stories will be broken down into smaller child issues + + ![Ticket Description and Child Issue](./images/Ticket_Description_and_Child_Issue.png) + + - Each ticket will also show: + + - Other tickets blocked by it + + ![Blocked tickets](./images/Blocked_ticket.png) + + - Other tickets blocking it + + ![Blocking tickets](./images/Blocking_tickets.png) + + - Additional tasks required during the development process will also be submitted as a task ticket on JIRA for tracking. + - Students or groups of students will be assigned first to epic and then to the specific user story. + - Workflow + + ![Ticket Workflow](./images/Ticket_Workflow.png) + +- Furthermore, we will implement a Burndown Chart, which will be included as `burndown.pdf` by the end of the sprint. This chart will also feature comments on the sprint's progress and a velocity comparison. +- Below is an example Burndown Chart from Sprint 0: + +![Burndown Chart](./images/Burndown.png) + +## 2. Product + +#### 2.1 Goal and Tasks + +**1. Develop product features for the product demo:** + +- _Account Editing_ (Modifying account password): [SCRUM-95](https://cscc01-course-matrix.atlassian.net/jira/software/projects/SCRUM/boards/1/backlog?selectedIssue=SCRUM-95) +- _Account Deletion_: [SCRUM-28](https://cscc01-course-matrix.atlassian.net/jira/software/projects/SCRUM/boards/1/backlog?selectedIssue=SCRUM-28) + +- _Epic 1: Scheduler_ + + - Timetable Basics/Insertion: [SCRUM-46](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-46) + - Entries Update/Delete: [SCRUM-47](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-47) + - Timetable Generation: [SCRUM-52](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-52) + - Entries Visualization: [SCRUM-50](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-50) + - Entries Colour Customization: [SCRUM-51](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-51) + - Timetable Favourite: [SCRUM-57](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-57) + +- _Epic 2: AI Assistant_ + - Creation of New Chats: [SCRUM-36](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-36) + - Chatlog Export/Rename/Delete: [SCRUM-37](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-37) + - Course Info Retrieval: [SCRUM-29](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-29) + - Program Requirements Retrieval: [SCRUM-30](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-30) + +**3. Create sprint2 documentation:** [SCRUM-119](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-119) + +#### 2.2 Artifacts + +### Pages/Features + +#### Registration/Login + +- Dropdown menu displaying username and associated email. +- Functional password reset and account deletion features. + +#### Scheduler + +- Home page for creating new timetables. +- Timetable management: insertion, updating, and deletion of timetables and events (course entries and custom user entries). +- Algorithm for automated timetable generation. +- Hover effect: calendar highlights selected course entry. +- Custom colour selection for timetable entries. +- Option to favourite timetables for quick access. + +#### AI Assistant + +- Functional AI chatbot interface with chat log creation, editing, and deletion. +- AI retrieves relevant course information and program requirements from the course database. +- AI strictly uses the internal course database without relying on external or irrelevant information. diff --git a/doc/sprint2/schedule.pdf b/doc/sprint2/schedule.pdf new file mode 100644 index 00000000..b4315063 Binary files /dev/null and b/doc/sprint2/schedule.pdf differ diff --git a/doc/sprint2/sprint-02.review.md b/doc/sprint2/sprint-02.review.md new file mode 100644 index 00000000..b0aa2b4a --- /dev/null +++ b/doc/sprint2/sprint-02.review.md @@ -0,0 +1,112 @@ +# Course Matrix/term-group-project-c01w25-project-course-matrix + +## Iteration 02 - Review & Retrospect + +When: 3/6/2025 at 9:00 pm +Where: Online + +## Process - Reflection + +In Sprint 2, our team focused on developing our most complex and difficult features needed to establish our software’s main functionality, which will be completed and tested in future sprints. +Our team successfully generated and implemented the following features: + +- AI assistant chatbot to help query useful information regarding courses and prerequisites. +- Timetable display, a better calendar visualizer. +- Deploying a functional version of our software. +- Editing and updating accounts. +- Improving documentation for code. +- Resolving bug issues from previous sprints. + +By the end of sprint 2 we were able to have most of these features completed and for the features that weren’t completed excellent progress has been made into completing them. + +We have set up an AI assistant that can answer questions related to course offerings. Multiple chats can be created, and deleted. These chats can be copied to clipboard and exported wherever the user sees fit. We have completed functionality for users, they can now update and delete their accounts. The timetable, our main feature, has all of its infrastructure setup and is well in progress to being completed. + +The setup for deploying our application has been completed, with a basic version of our application already deployed on google cloud. Our code’s readability and format has also been standardized so that all functions pushed are well documented. + +In conclusion, during sprint 2 excellent progress has been made in completing our software’s main features. + +#### Decision that turned out well + +1. **Using AI Frameworks** + One of the decisions that turned out well for our group was using various AI tools (Langchain, assistant-ui, Pinecone, OpenAI). The usage of these tools was extremely helpful in refining our AI chatbot’s replies. Additionally, these open source softwares were able to accelerate our development time letting us get our work completed faster. + +2. **Division of Tasks Based on Expertise** + We divided the work among our group members depending on what they had worked on in the previous sprint. For instance, our people who had worked on the basics of fetching the courses worked on it again. This allowed them to build on their previous experience and get their work completed faster. For our AI chatbot we had a member currently going through CSCC11 introduction to machine learning. The course provided experience helped them complete the feature more quickly as well. + +3. **Schedule-X UI Library** + This provided a nice visual interface for displaying the user’s timetables as well as an easy way of managing them (e.g. supports drag-and-drop functionality). Due to this choice we were able to quickly get a visually appealing UI for our application. + +#### Decision that did not turn out as well as we hoped + +1. **Amount of User Stories to Complete** + During sprint 2 we had hoped on completing most of our user stories by the end due to the presence of reading week. We believed that due to this we could complete nearly the entirety of our application. We were incorrect as there were many critical points that needed to be completed before moving on to other features meaning most of the user stories we wanted to complete by sprint 2 had to be pushed back to sprint 3. + +2. **Incorrect Estimation of User Story Difficulty** + During sprint 2 we underestimated the difficulty of many of the user stories to be completed. Many of the user stories we labeled as having story points of 5, which in retrospect was clearly too low. + +#### Planned Changes + +**Pushing Back Various User Stories** +Due to the underestimation of the difficulty of getting various user stories completed we will be pushing back multiple user stories and features to the next sprint. + +**Work Periods** +Work periods proved to be an excellent addition to our group’s productivity. These work periods allowed all of our members to work cooperatively to get tasks done quicker. + +## Produce - Review + +#### Goals and/or tasks that were met/completed + +- Set up Custom SMTP for Supbase email sending (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-94). + +- Improve documentation for Sprint 1 code (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-105). During the course of Sprint 2 we documented all of our code from sprint 1. Now every function and file is documented such that it is clear what it does, what information it takes, and where it is used. + +- Setup GitHub Workflow to auto-format code (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-107). Whenever code is committed to git it is automatically made to conform to a specified format. + +- Account Editing (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-95). The user can now edit their account from our `auth\users\` table such that they can change their username and password as they please. The user can change their username to anything they want so long as it is not blank nor over 50 characters long and their password can be changed via email confirmation. + ![Burndown Chart](./images/user_edit.png) +- Account Deletion (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-28). The user can now delete their account from our `auth\users\` table such that all information regarding the account is deleted as well. + ![Account Deletion](images/user_delete.png) + +- Course Info Retrieval (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-29). The user can now query the chatbot for information about the course information from our `courses` table (e.g. CSCC01 Intro to Software Engineering is a computer science course that teaches the basics of software engineering and requires CSCB09). +- Program Requirements Retrieval (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-30). The ability for our user to ask our AI chatbot for a course’s program requirements from our `courses` table. + +- Create Deployment Plan (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-108). Our application will be deployed using a google cloud virtual machine, currently a basic version of our application is deployed in the following address: http://34.130.253.243:5173 + +- AI Infrastructure (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-109). We have created and trained a chatbot AI using an OpenAI token so a user can query it for course information from our database and respond accordingly. + +- Creation of New Chats (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-36). The ability for a user to have multiple chats with our AI chatbot. + +- Chatlog Export/Name/Delete + (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-37). The ability for our user to name, export and delete their chats with our AI chatbot. + +- Sprint 2 Documentation (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-119). During sprint 2 all of our code was documented and formatted properly. All added functions and files have clearly defined uses and required fields. + +- Fix: Password max Length (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-112). Made sure that password lengths would not exceed 50 characters. + +- Enable RLS (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-113). Made it so that only admin level access could edit and modify user information. + +- Fix: Redirect login to dashboard if session exists (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-114). User is redirected to the login page automatically if a session is not found. + +- Fix: Improve auth middleware logic to check user session (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-117). + +- Fix: Auth Session Infinite loop (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-118). Fixed potentially issue where Auth might trap users in an infinite loop. + +#### Goals and/or tasks that were planned but not met/completed + +- Timetable Basics/Insertion (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-46). The ability for a user to add courses from our `courses` table to their timetables and display it in a visually useful format. + +- Entries Update/Delete (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-47). The ability to update an entry’s information for instance, a course’s lecture time from our `courses` table. The ability to change a user’s timetable for different courses. + +- Timetable Generation (https://cscc01-course-matrix.atlassian.net/browse/SCRUM-52). The ability for a user to automatically generate a timetable with a given selection of courses from our `courses` table and time requirements. + +## Meeting Highlights + +We have decided to do the following from here on out: +Better estimate user story points +Designate work periods + +For the next meetings our development efforts will focus on: +Refining our AI Chatbot +Completing the timetable +Reassess our user stories +Fully Deploying our Application diff --git a/doc/sprint3/NFR.pdf b/doc/sprint3/NFR.pdf new file mode 100644 index 00000000..34af274b Binary files /dev/null and b/doc/sprint3/NFR.pdf differ diff --git a/doc/sprint3/Performance Testing Report.pdf b/doc/sprint3/Performance Testing Report.pdf new file mode 100644 index 00000000..56f69c56 Binary files /dev/null and b/doc/sprint3/Performance Testing Report.pdf differ diff --git a/doc/sprint3/RPM.md b/doc/sprint3/RPM.md new file mode 100644 index 00000000..a7f794cf --- /dev/null +++ b/doc/sprint3/RPM.md @@ -0,0 +1,101 @@ +# Release Plan + +## Release Name: Course_Matrix_V1.3.0 + +## 1. Release Objectives for Sprint 3 + +### 1.1 Goals + +- Develop enhanced scheduling features: + + - Ability to insert, update, and delete timetables and events entries (course events for offered lectures, tutorials, etc and user events for users’ personal events) . + - Automatic and customized timetable generation based on user constraints. + - Custom colour customization for timetable entries. + - Favourite timetable functionality. + - Timetable Export/Share + - Timetable compare + - Email Notifications + +- Build upon AI-powered assistant: + + - Timetable Generation via AI. + - AI Chatbot refinement. + +- Project Deployment: + + - Project has a usable dockerfile + - Project is running on a VM instance + - Project on update is automatically tested + - Project auto redeploys on update + +- Integration Test Cases: + - Project functions will have integration unit tests written for them + - Project functions will pass integration unit tests written for them + +### 1.2 Metrics for Measurement + +- **Timetable Management** + + - Users can create, modify, and delete timetables and event entries without errors. + - Timetable generation respects user constraints (e.g., time preferences, course exclusions). + - Custom colour selections persist across sessions. + - Favourite timetables are stored and retrievable. + - User generated timetables can be exported + - Stored timetables can be compared to one another if the user has access to them. + - Email notifications are sent to user based on upcoming timetable events + +- **AI Assistant Features** + + - AI can be queried to generate a timetable for the user based on a list of courses and a list of time restrictions + +- **Deployment Features** + - Project when deployed is deployed using a docker image + - Project when deployed is accessible online on a virtual Machine + - Project when updated is automatically unit tested + - Project when updated and passing unit tests is auto-redeployed + +– **Integration / Unit Testing** + +- Project functions are unit tested so that their behaviour is clear and potential bugs are caught +- Project functions passes unit tests so bug free functionality is ensured + +## 2. Release Scope + +- **Timetable Management** + + - Add, update, and delete timetables and event entries. + - Generate an optimized schedule based on user preferences. + - Customize timetable entry colours. + - Favourite timetables for quick access. + - Export/Share timetables + +- **AI Assistant** + + - AI-Powered timetable generation + +- **Deployment** + - Project runs on a docker image + - Project is accessible on the web while running on a VM instance + - Project on update is automatically tested + - Project auto redeploys on update that passes tests + +### 2.2 Excluded Features + +### 2.3 Bug Fixes + +- Fix module importing linting errors +- Fix Restriction creation bugs +- Fix text highlight on edit username + +### 2.4 Non-Functional Requirements + +- **Performance** + - AI output refinement. The AI chatbot responses need to be more reliable and cover more cases (e.g. querying for the year level of courses). + - Timetable generator algorithm returns suggested timetables based on users' input within 5-10 seconds for a standard course load of 5 courses. + +### 2.5 Dependencies and Limitations + +- The AI assistant relies on querying an external vector database and open AI. Bothe of these are online resources so if they are down our feature will be down as well. +- The Timetable relies solely on the internal course database and installed dependencies. It does not fetch web-based content. +- Unit testing relies solely on internal functions and installed dependencies. It does not fetch any web-based content. +- The deployment relies on fetching the latest project version from github and (if it passes all unit tests) deploys the latest version on our google cloud virtual machine instance. diff --git a/doc/sprint3/Scalability and Availability Concerns.pdf b/doc/sprint3/Scalability and Availability Concerns.pdf new file mode 100644 index 00000000..7ebc27a1 Binary files /dev/null and b/doc/sprint3/Scalability and Availability Concerns.pdf differ diff --git a/doc/sprint3/Security Measures & Testing.pdf b/doc/sprint3/Security Measures & Testing.pdf new file mode 100644 index 00000000..d21ba7fb Binary files /dev/null and b/doc/sprint3/Security Measures & Testing.pdf differ diff --git a/doc/sprint3/System Design.pdf b/doc/sprint3/System Design.pdf new file mode 100644 index 00000000..708f12d4 Binary files /dev/null and b/doc/sprint3/System Design.pdf differ diff --git a/doc/sprint3/burndown.pdf b/doc/sprint3/burndown.pdf new file mode 100644 index 00000000..9d45ffd7 Binary files /dev/null and b/doc/sprint3/burndown.pdf differ diff --git a/doc/sprint3/images/Blocked_ticket.png b/doc/sprint3/images/Blocked_ticket.png new file mode 100644 index 00000000..a74939af Binary files /dev/null and b/doc/sprint3/images/Blocked_ticket.png differ diff --git a/doc/sprint3/images/Blocking_tickets.png b/doc/sprint3/images/Blocking_tickets.png new file mode 100644 index 00000000..cc7ce174 Binary files /dev/null and b/doc/sprint3/images/Blocking_tickets.png differ diff --git a/doc/sprint3/images/Burndown.png b/doc/sprint3/images/Burndown.png new file mode 100644 index 00000000..7665826d Binary files /dev/null and b/doc/sprint3/images/Burndown.png differ diff --git a/doc/sprint3/images/JIRA_Backlog.png b/doc/sprint3/images/JIRA_Backlog.png new file mode 100644 index 00000000..2e4b70c2 Binary files /dev/null and b/doc/sprint3/images/JIRA_Backlog.png differ diff --git a/doc/sprint3/images/Ticket_Description_and_Child_Issue.png b/doc/sprint3/images/Ticket_Description_and_Child_Issue.png new file mode 100644 index 00000000..9f0fe4df Binary files /dev/null and b/doc/sprint3/images/Ticket_Description_and_Child_Issue.png differ diff --git a/doc/sprint3/images/Ticket_Detail.png b/doc/sprint3/images/Ticket_Detail.png new file mode 100644 index 00000000..e909a2d3 Binary files /dev/null and b/doc/sprint3/images/Ticket_Detail.png differ diff --git a/doc/sprint3/images/Ticket_Workflow.png b/doc/sprint3/images/Ticket_Workflow.png new file mode 100644 index 00000000..52bc8283 Binary files /dev/null and b/doc/sprint3/images/Ticket_Workflow.png differ diff --git a/doc/sprint3/images/account_schema.png b/doc/sprint3/images/account_schema.png new file mode 100644 index 00000000..a82bbbeb Binary files /dev/null and b/doc/sprint3/images/account_schema.png differ diff --git a/doc/sprint3/images/course_filter.png b/doc/sprint3/images/course_filter.png new file mode 100644 index 00000000..2898b1bc Binary files /dev/null and b/doc/sprint3/images/course_filter.png differ diff --git a/doc/sprint3/images/course_information.png b/doc/sprint3/images/course_information.png new file mode 100644 index 00000000..d871e1f7 Binary files /dev/null and b/doc/sprint3/images/course_information.png differ diff --git a/doc/sprint3/images/course_schema.png b/doc/sprint3/images/course_schema.png new file mode 100644 index 00000000..3fbed2f6 Binary files /dev/null and b/doc/sprint3/images/course_schema.png differ diff --git a/doc/sprint3/images/courses.png b/doc/sprint3/images/courses.png new file mode 100644 index 00000000..999815e0 Binary files /dev/null and b/doc/sprint3/images/courses.png differ diff --git a/doc/sprint3/images/image.png b/doc/sprint3/images/image.png new file mode 100644 index 00000000..5ec3c7ac Binary files /dev/null and b/doc/sprint3/images/image.png differ diff --git a/doc/sprint3/images/user_delete.png b/doc/sprint3/images/user_delete.png new file mode 100644 index 00000000..227b1aad Binary files /dev/null and b/doc/sprint3/images/user_delete.png differ diff --git a/doc/sprint3/images/user_edit.png b/doc/sprint3/images/user_edit.png new file mode 100644 index 00000000..78424513 Binary files /dev/null and b/doc/sprint3/images/user_edit.png differ diff --git a/doc/sprint3/iteration-03.plan.md b/doc/sprint3/iteration-03.plan.md new file mode 100644 index 00000000..f472f1ed --- /dev/null +++ b/doc/sprint3/iteration-03.plan.md @@ -0,0 +1,165 @@ +# Course Matrix + +## Iteration 03 + +- **Start date**: 03/8/2025 +- **End date**: 03/21/2025 + +## 1. Process + +### 1.1 Roles & Responsibilities + +#### Epic 1: Scheduler + +**Team Members:** Austin, Minh, and Thomas + +- Develop a calendar interface that allows users to retrieve, add, modify, and delete timetables and events both user custom event entries and predefined course entries. +- Develop an algorithm that optimally schedules events based on user preferences and constraints. +- Develop an algorithm that emails notification its users based on upcoming timetable events +- Develop custom color customization so that users can select what colors they want for different courses +- Develop a calendar interface that allows users to export and share their timetables with other users +- Develop an algorithm that allows users to compare two different timetables together + +#### Epic 2: AI Assistant + +**Team Members:** Kevin + +- Develop an AI-powered chat interface that takes a list of courses and a list of time constraints and generates a possible user timetable fulfilling the given requirements. +- Refine AI-powered chat interface so that querying for database information is more reliable and understandable + +- **Note taking & Documentation**: Minh, Masahisa, and Thomas + - Taking notes during stand-ups + - Create sprint 2 documentation: iteration-plan-02, RPM, and sprint-02 review + - Update System Design Document + +In addition to their specific roles, all team members have a collective responsibility to support and assist other team members to ensure that the goals (listed in section 2.1) are achieved and develop a working prototype. + +#### Epic 3: Deployment + +**Team Members:** Masahisa + +- Create a dockerfile such that our application can be run on a docker image with application setup being done automatically. +- Ensure that our application’s docker image runs on a VM instance accessible on the web. +- Ensure that our deployed project automatically redeploys when a new version of our application is pushed that passes all unit testing. + +#### Epic 4: Unit and integration Testing + +**Team Members:** Austin + +- Create unit / integration tests for our application functions (timetable, ai assistant, user stories, etc.) such that their functionality is clear and bug free. + +#### 1.2 Events + +- **Initial planning meeting**: + + - Location: Virtual + - Time: 3/8/2025 + - Purposes: + - Go over the sprint 3 requirements + - Define tasks and responsibilities for each team member + +- **Stand up meeting**: + + - Location: Online or in-person depending on members availability + - Time: Every Tuesday from 12 pm to 1 pm, Thursday and Sunday from 9 pm to 10 pm + - Purposes + - Progress updates: What has each member done since the last stand-up + - Determine the next steps and deadlines + - Discuss current blockers and possible solutions + +- **Final review meeting** + - Location: Online + - Time: 3/21/2025 + - Purposes: + - Review features and deliverables implemented in sprint 3 + - Determine changes that need to be made in sprint 4 + +#### 1.3 Artifacts + +- Our team will track the progress through Jira + + - Each user story will be uploaded to Jira as a ticket: + + - Categorized in the backlog by its epic, and execution sprint + + ![JIRA Backlog](./images/JIRA_Backlog.png) + + - Ticket details include: estimated story point to determine its priority, assignees + + ![Ticket Detail](./images/Ticket_Detail.png) + + - Tickets of large user stories will be broken down into smaller child issues + + ![Ticket Description and Child Issue](./images/Ticket_Description_and_Child_Issue.png) + + - Each ticket will also show: + + - Other tickets blocked by it + + ![Blocked tickets](./images/Blocked_ticket.png) + + - Other tickets blocking it + + ![Blocking tickets](./images/Blocking_tickets.png) + + - Additional tasks required during the development process will also be submitted as a task ticket on JIRA for tracking. + - Students or groups of students will be assigned first to epic and then to the specific user story. + - Workflow + + ![Ticket Workflow](./images/Ticket_Workflow.png) + +- Furthermore, we will implement a Burndown Chart, which will be included as `burndown.pdf` by the end of the sprint. This chart will also feature comments on the sprint's progress and a velocity comparison. +- Below is an example Burndown Chart from Sprint 0: + +![Burndown Chart](./images/Burndown.png) + +## 2. Product + +#### 2.1 Goal and Tasks + +**1. Develop product features for the product demo:** + +- _Epic 1: Scheduler_ + + - Timetable Basics/Insertion: [SCRUM-46](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-46) + - Entries Update/Delete: [SCRUM-47](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-47) + - Timetable Generation: [SCRUM-52](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-52) + - Entries Visualization: [SCRUM-50](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-50) + - Entries Colour Customization: [SCRUM-51](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-51) + - Timetable Favourite: [SCRUM-57](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-57) + - Timetable Export/Share: + [SCRUM-58](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-58) + +- _Epic 2: AI Assistant_ + + - Timetable Generation via AI: + [SCRUM-31](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-31) + - Refine AI outputs: + [SCRUM-132](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-132) + +- _Epic 3: Deployment_ + - Project Deployment: + [SCRUM-130](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-130) + +**3. Create sprint3 documentation:** +[SCRUM-127](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-127) + +#### 2.2 Artifacts + +### Pages/Features + +#### Scheduler + +- Timetable management: insertion, updating, and deletion of timetables and events (course entries and custom user entries). +- Algorithm for automated timetable generation. +- Hover effect: calendar highlights selected course entry. +- Custom colour selection for timetable entries. +- Option to favourite timetables for quick access. +- Option to share/export timetable to other users +- Option to compare two separate timetables +- Option to send email notifications on upcoming timetable events + +#### AI Assistant + +- Ability to generate an optimal timetable based on a list of courses and time restrictions +- Refined AI outputs so that all database information can be quickly obtained by the user diff --git a/doc/sprint3/schedule.pdf b/doc/sprint3/schedule.pdf new file mode 100644 index 00000000..39537b86 Binary files /dev/null and b/doc/sprint3/schedule.pdf differ diff --git a/doc/sprint3/sprint-03.review.md b/doc/sprint3/sprint-03.review.md new file mode 100644 index 00000000..d78e7727 --- /dev/null +++ b/doc/sprint3/sprint-03.review.md @@ -0,0 +1,95 @@ +# Course Matrix/term-group-project-c01w25-project-course-matrix + +## Iteration 03 - Review & Retrospect + +When: 3/20/2025 at 9:00 pm + +Where: Online + +## Process - Reflection + +In Sprint 3, our team focused on completing our most complex and difficult features needed to establish our software’s main functionality, which will be further tested and bug fixed in future sprints. +Our team successfully generated and implemented the following features: + +- Timetable operations via AI +- Timetable Basics/Insertion +- Timetable generation +- Entries Update/Delete +- Email notifications +- Unit/Integration testing our application + +By the end of sprint 3 we were able to have most of these features completed and for the features that weren’t completed either excellent progress had been made into completing them or they were deemed redundant. + +Our timetable is now fully functional. The user can create timetables with their chosen courses and their times will be displayed properly. The user can update timetables. All of the basic features are done. Additionally, the user can automatically generate a timetable that follows a list of courses and a list of time restrictions. + +Our AI assistant’s functionality has been expanded upon and refined. Now it can execute timetable functions when queried to by the user. For instance, the user can create, edit and delete a timetable from our AI chatbot. Additionally, various queries that could potentially break the chatbot have been patched. + +The setup for deploying our application has been completed, a version of our application is already deployed on google cloud with a CI/CD pipeline. Currently, if a new change is pushed to develop and it passes all tests the application is then deployed on our google cloud virtual machine. + +In conclusion, during sprint 3 excellent progress has been made in completing our software’s main features. + +#### Decisions that turned out well + +1. **Using Existing Developed Functions** + One decision that turned out well for us was when integrating our AI with our timetables. Normally, getting our AI trained well enough that it could properly interact with our timetable database would’ve taken far too long. By instead making our AI chatbot call existing functions (e.g. calling timetable generate to generate a timetable) we greatly simplified this process while also making it more reliable. + +2. **Google Cloud Virtual Machine** + When deploying our application with a proper CI/CD pipeline choosing google cloud was greatly beneficial to our group. Firstly, our group had experience working with google cloud thus we were able to have a robust environment setup to run our application well ahead of time. Due to this adding the CI/CD pipeline was all we had to do to get our application fully deployed. + +#### Decisions that did not turn out as well as we hoped + +1. **Timetable Database Bad Data** + During sprint 3 we had run into many technical difficulties with our timetable database. Due to a few key coding oversights made earlier in development we had to reset our database to fix corrupted entries filling it up. This cost our team valuable time. + +2. **Incorrect Estimation of Bug Fix Difficulty** + During sprint 3 we underestimated the difficulty of fixing what seemed to be small bugs in our code. Most of our bugs were visual bugs whose origin were nested deeply in our dependencies. Due to this, fixing these bug issues often took as much time as developing a feature or were outright unfixable in the allotted time. + +#### Planned Changes + +**Reassessing Bugs** +Various bugs that were planned on being completed today were instead pushed back to be completed later. Their difficulty score will likely be increased as well. + +**Pushing Back/Scrapping Various User Stories** +There were a few user stories that we have decided to push back to sprint 4. Additionally, we considered scrapping some of the low priority features as we want to prioritize on refining existing features. + +## Product - Review + +#### Goals and/or tasks that were met/completed + +- Timetable Operations via AI [SCRUM-31](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-31). From the AI chatbot we can use various of our timetable operations like for instance, generating a timetable using timetable generate. +- Timetable Basics/Insertion [Scrum-46](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-46). Basic timetable functionalities like insertion. +- Entries Update/Delete + [Scrum-47](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-47). Updating timetable entries and deleting them. +- Email Notifications [Scrum-56](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-56). Notifying users via email based on upcoming timetable events. +- Fix restriction Creation Bugs [SCRUM-129](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-129) +- Fix module importing linting errors [SCRUM-125](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-125) +- Updated ReadMe file [SCRUM-126](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-126). Updated ReadMe file so that app setup is up to date. +- Sprint 3 Documentation + [SCRUM-127](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-127). Creating iteration-03.md and other required sprint 3 documents. +- Sprint 3 Retrospective + [SCRUM-128](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-128). Finishing sprint 3 retrospective documents (e.g. burndown.pdf). +- Refine AI Outputs (especially for year level) [SCRUM-132](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-132). Making sure AI output does not break a specified format +- Enhancement: Check timetable name duplicate [SCRUM-137](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-137) +- Add Backend Testing [SCRUM-138](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-138) + +#### Goals and/or tasks that were planned but not met/completed + +- Timetable Export/Share [SCRUM-58](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-58). Sharing your timetable with others and exporting them to a copyable format. +- Timetable Favorite [SCRUM-57](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-57). Being able to favorite a timetable. +- Fix text highlight on edit username [SCRUM-131](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-131) +- Project Deployment + [SCRUM-130](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-130). Making a CI/CD pipeline with all requirements defined by assignment 2. + +## Meeting Highlights + +We have decided to do the following from here on out: + +1. Prioritize polishing existing features +2. Preparing our application for presentation +3. Scrapping few user stories that are deemed either redundant or unimportant + +For the next meetings our development efforts will focus on: + +1. Adding additional unit/integration tests to our program to ensure stability +2. Patching various bug fixes +3. Completing any unfinished user stories diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..3f24dec2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "term-group-project-c01w25-project-course-matrix", + "lockfileVersion": 3, + "requires": true, + "packages": {} +}