< class="col-xs-12"> Theory and application of advanced programming methods and tools. Recent issues as well as those of an enduring nature will be discussed. Topics may include the Fourier transform; wavelets; functional programming; genetic algorithms, simulated annealing and neural networks; parallel and distributed programming; images and graphics user interface programming.

Announcements

  • Course material posted on this course website.
  • Community Discussion Boards via discord.com (Invite link in D2L Content)
  • Assignment/Grading via D2L

Lectures

  • Lectures begin on Monday, January, 13th, 2025
  • Last day to drop is Thursday, January 23rd, 2025
  • Last day to add is Friday, January 24th, 2025
  • Lectures end and last day to withdraw is Friday, April 11th, 2025
  • CPSC 501 L01 TueThu 14:00-15:15 SS 109

Tutorials

  • Tutorials will begin on Monday, January 20th, 2025
  • The main goals of the tutorials will be to help you in more deeply understanding the concepts presented in the lectures (providing more examples) and with your assignments.
  • CPSC 501 T01 TueThu 08:00-08:50 MS 160 Ali Al-Khaz'Aly ali.alkhazaly@ucalgary.ca
  • CPSC 501 T02 TueThu 09:00-09:50 MS 160 Ali Al-Khaz'Aly ali.alkhazaly@ucalgary.ca
  • CPSC 501 T03 TueThu 10:00-10:50 MS 160 Ali Al-Khaz'Aly ali.alkhazaly@ucalgary.ca

Office Hours

  • MonWed 13:00-13:50 ICT 712 or setup via email (info in D2L Content)

Important Dates

  • Term Break: Sunday-Saturday, February 16-22nd, 2025. (no lectures or tutorials)
  • University Closed for Alberta Family Day Monday, February 17th, 2025. (No lecture/office hours)
  • Midterm Exam: Thursday, February 27th, 2025. [in-class activity]
  • Final Exam: 5:00PM - 7:00PM Monday, April 28th, 2025. [registrar schedule during exam block]

Textbook Resources

  • Git - Book
    • Author: Scott Chacon, Ben Straub
    • Optional: Reference for Git.
    • Open Text Webpage Here
  • The Docker Handbook
    • Author: Farhan Hasin Chowdhury
    • Optional: Reference for Docker.
    • Open Text Webpage Here
  • The Docker Guide
    • Optional: Reference for Docker.
    • Open Webpage Here
  • Refactoring: Improving the Design of Existing Code 1e
    • Author: Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
    • ISBN: 9780201485677
    • Optional: for those that want hard copy resource.
    • 1e reccommended but is not longer inprint. Number of people have archived the pdf online (github or university hosted pages) to maintain a Java reference.
    • 2e not reccommended. Javascript language is used so this may be less clear to some. link
    • Alternate resource refactoring.com is also in javascript but recommended reference if you don't get text.
    • Technically language version doesn't matter for conceptual idea.
    • Other refactoring references refactoring.guru
    • Other refactoring references sourcemaking.com
  • Java Reflection in Action
    • Author: Ira R. Forman, Nate Forman
    • ISBN: 9781932394184
    • Optional: Will be referenced but pdf available for all below.
    • Out of print but archived here
  • Python Data Science Handbook [open]
    • Author: Jake VanderPlas
    • ISBN: 9781491912058
    • Optional: Reference for Data Science skillset for machine learning.
    • Open Text Webpage Here

The due dates for the projects, assignments, and exercises can be found in the Assignments sections of this page.

Support Materials