CSC491/2600

University of Toronto’s Capstone Design Course through the Department of Computer Science Innovation Lab (DCSIL).

Table of Contents

Course Overview

Students will write a software application that implements the business ideas developed in CSC454/2526 (Business of Software). This course will expose students to the core technologies, ideas, and processes in developing a startup.

Students will be given a theme, in the corequisite course (CSC454), in which to develop a startup. Students are expected to:

Class time will be a mixture of project-focused workshops, lectures, and discussions. The class will be small and very interactive. Students may hear from guest lecturers from the field.

Requirements to take this course

Important: There is also an application process on the DCSIL website.

Expectations and evaluation of Students

In general we expect students to come prepared to be guided, mentored, and to work hard throughout the term. This is not an easy course and there is a lot of work, but it is a course former students regularly describe as “having taught me more than all my other courses” and “having taught concepts I use on a daily basis as a software engineer”. Despite this, the teaching staff make themselves available via Slack as needed and will help guide and mentor you. The teaching staff is here to help you succeed as long as you put the effort in, effectively contribute to your team, and communicate (that last one is important!) In order for students to be successful in this course and their team, here is a subset of expectations students should have:

All of these expectations are in place, combined with mentorship and guidance, so that we can evaluate your abilities around:

With these expectations and evaluation principles, we know you’ll be better prepared for the software industry.

Required Materials/Software

There aren’t any required materials per se, but it is required that you bring a laptop to class with a fully functioning developer environment for your project. iPads/tablets are not recommended as the main vehicle unless you can develop on them.

You will also need a GitHub account.

Lecturer

Hello! My name is Michelle, and you can reach me at michelle.arkhangorodsky[at]mail.utoronto.ca.

By day, I’m a Staff Software Engineer at dbt Labs, where I am the technical lead of the dbt Core open source project — a data transformation framework at the heart of the data analytics platform thousands of companies, including several from the Fortune 500, that is leveraged by a community of roughly 100,000 (and counting!) data practitioners.

Prior to dbt Labs, I was a Staff Software Engineer at Shopify, building and advancing Shopify’s data platform capabilities - from telemetry and ingestion, all the way through to data transformation and visualization. During that time, I was also a Founding Engineer at Homecoming Health, a wellness platform designed for therapists to deepen their work with clients and simplify the administration of their practices.

I get to call myself a proud alumnus of the University of Toronto, having completed both my BSc (Computer Science) and MScAC (Masters in Applied Computing) there. You can view my Github at https://github.com/MichelleArk and my LinkedIn Profile here.

All opinions are my own and do not reflect the opinion of current or former employers.

Office Hours

Office hours are by appointment. Please email me at michelle.arkhangorodsky[at] mail.utoronto.ca, though messaging me on DCSIL’s Slack group is more likely to get a response.

Time and Location

Class is on Wednesday from 6-9PM EST. If you are not in a time zone that aligns with EST, please let me know early!

While some lecture material will be pre-recorded and available asynchronously online, the majority of the discussion-oriented lecture material will be presented during the weekly 6-9pm lecture slot. Any remaining time will be reserved for working periods, guest lectures, demos, further discussion, etc.

Students are expected to attend class times in order to work with their team, attend valuable tutorials, demo their work, and work with the instructor.

I don’t like something about this course

There’s always room for improvement and I’m happy to take any feedback.

Please submit an issue on this repo, or preferably make a pull request changing or adding something you don’t like.

That said, remember that your changes or concerns aren’t guaranteed to be addressed how you want. I (the instructor) have the final say.

If you prefer to speak privately, please email me or message me on Slack.