James Grieve
Contact
Vice-President Facilities & Operations - Technology Training Centre
- jgrieve@ualberta.ca
Courses
EXSM 3931 - Introduction to Web Development
Learn about and practice how to navigate and use your computer effectively. Explore some software common to developers in this low-code course that introduces the basics of web development. including version control and the analysis of both data and logic. Students will be introduced to basic web-hosting options, tools, and topics, and learn how to launch a website. The basics of quality assurance, and why it is so integral to the success of software projects will also be covered.
EXSM 3932 - HTML
This course introduces students to the fundamentals of HTML (HyperText Markup Language), the foundational markup language used for structuring content online. The basics of building a webpage using HTML, as well as up-to-date best-practices with the most recent HTML specification will be covered.
EXSM 3933 - Design for Developers
Strong visual design is key for success in the online world. In this course you will learn how to use key design principles such as layout, colour theory, typography, images, and form to enhance usability and improve user experience. Common industry tools and considerations will be explored to build competence in basic design concepts and meet common needs in a developer workflow. The importance of collaboration and the differences between designers and developers will be covered.
EXSM 3934 - CSS
This course introduces students to the fundamentals of CSS (Cascading Style Sheets), used to add style and layout to web pages. In this course, students will be introduced to the CSS language, and how it can be leveraged to style a responsive web page and format content into a desirable layout. Topics covered in this course include selectors, pseudo-selectors, the box model, flexbox, grid layout, media queries and others.
EXSM 3935 - JavaScript I
JavaScript is a programming language that allows you to implement complex features on web pages including timely content updates, interactive maps, animated graphics and more. Students will be introduced to JavaScript by exploring the fundamentals of programming in JavaScript, and learn to apply these concepts in a console environment. Topics include decisions, iteration, exceptions, encapsulation, proper code structure and debugging strategies. Prerequisite EXSM 3931
EXSM 3936 - JavaScript II
Build upon the skills you gained in JavaScript I and dive into manipulating web pages with advanced scripts. Topics include object oriented programming, the document object model, inheritance, polymorphism, asynchronous scripts, application programming interfaces, recursion and browser storage. Prerequisite: EXSM 3932 & EXSM 3935
EXSM 3937 - Databases
Learn how to efficiently store and recall large volumes of data by using SQL (Structured Query Language) relational databases. SQL is essential for storing data in software projects and websites of any size. In this course, students will explore databases through MariaDB (MySQL) and examine the topic of data normalization. Topics include table creation, table relationships, data manipulation, subqueries, and more.
EXSM 3938 - Web Development Capstone Project
Integrate the theory, methods, concepts, and tools you have learned from the previous core and required courses as you apply them to a real-world web development project. Confront a development problem and implement a practical solution to it. Research, plan, execute, present, and review both the front and back end of a web page. Prerequisite: EXSM 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3939, 3940 and (EXSM 3941, 3972, 3943, 3944, 3945 and 3946) or (EXSM 3949, 3950, 3951, 3952, 3953, and 3954)
EXSM 3939 - React
React is an efficient and flexible JavaScript library for creating user interfaces. Build upon your existing knowledge of JavaScript as you learn about this popular front-end library from the Meta team. Explore React's core concepts by building applications and discussing topics such as props, lifecycle hooks, thinking in components, and others. Prerequisite EXSM 3936 and EXSM 3934
EXSM 3940 - React Router and Redux
Build upon your existing knowledge of React as you learn about the idea of global state in a React application via the Redux JavaScript library. Learn to implement a dynamic navigation system using React Router. Prerequisite EXSM 3939
EXSM 3941 - C# I
C# (c-sharp) is a compiled, high level, general-purpose programming language that can be used to perform a wide range of tasks and objectives. Students will learn programming fundamentals, and the basics of developing and compiling software written in the C# language. Topics include: Translating fundamental programming topics to the C# language, Unit Testing, Data Structures, File Input and Output, and LINQ. Prerequisite EXSM 3935
EXSM 3942 - C# II
Building upon the fundamentals, this course introduces students to intermediate C# concepts. Translate Object-Oriented concepts to the C# language and explore interfacing C# objects with Databases. Topics include: Object Oriented Programming, Inheritance, Polymorphism, Recursion, Asynchronous Code, Entity Framework and more. Prerequisites EXSM 3936, EXSM 3937, and EXSM 3941
EXSM 3943 - C# Project
Stretch your abilities as you integrate the theory, methods, and tools you have learned from previous courses to apply these to a project using C#. Mirroring industry practice, you will work as part of a team, use source control technologies and project management systems as a means to collaborate efficiently. Prerequisite EXSM 3942
EXSM 3944 - .NET Core MVC
.NET is a framework that provides programming guidelines used to develop a wide range of applications from web to mobile. The .NET framework speaks to C#. Extend your knowledge of C# and Microsoft's .NET Core SDK and learn how to make web applications using C# and .NET Core MVC with an SQL database. Topics include setting up a project, configuring database connections, models and EF, views and CRUD. Prerequisite EXSM 3942
EXSM 3945 - .NET Core API
Building upon your knowledge of C# and .NET Core MVC, you will explore web applications through the development of a web API capable of receiving requests and sending responses. Topics include the purpose of APIs, Postman, and API implementation. Prerequisite EXSM 3944
EXSM 3946 - .NET Core API with React
Combine your knowledge of .NET Core API with that of React, creating a single page React application powered by a .NET Core API. Prerequisite EXSM 3945 and EXSM 3940
EXSM 3949 - Python I
Python is an interpreted, high-level, general-purpose programming language with a wide array of use cases. Topics include: Translating fundamental programming topics to the Python language, Unit Testing, Data Structures, File Input and Output, Charting and more. Prerequisite EXSM 3935
EXSM 3950 - Python II
Building upon the fundamentals, this course introduces students to intermediate Python concepts. Translate Object-Oriented concepts to the Python language and explore interfacing Python objects with Databases. Topics include: Object Oriented Programming, Inheritance, Polymorphism, Recursion, Asynchronous Code and more. Prerequisite EXSM 3936, EXSM 3937, and EXSM 3949
EXSM 3951 - Python Project
Stretch your abilities as you integrate the theory, methods, and tools you have learned from previous courses to apply these to a project using Python. Mirroring industry practice, you will work as part of a team, use source control technologies and project management systems as a means to collaborate efficiently. Prerequisite EXSM 3950
EXSM 3952 - Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Extend your knowledge of Python by learning how to make web applications using Python's Django framework with an SQL database. Topics include MVC (Model-View-Controller), PIP, and creating and configuring a Django project. Prerequisite: EXSM 3950
EXSM 3953 - Django API
Building upon your knowledge of Python and Django, you will explore web applications through the development of a web API capable of receiving requests and sending responses using Django API. Prerequisite EXSM 3952
EXSM 3954 - Django API with React
The final course in the Python stream, this class combines knowledge of Django API and React to develop interactive full-stack web applications. Prerequisite EXSM 3953 and EXSM 3940
EXSM 3958 - WordPress
Gain an understanding of WordPress, the web's leading CMS (Content Management System) as you explore how to use it from an administrative perspective and develop your own plugins, themes and Gutenberg blocks.