My name is Philipp Seiler. I studied Mechanical Engineering and Mechatronics in my undergrad in Germany, at the TU Braunschweig. I did my PhD in a completely different topic, in Material Science. After that, I went to the US, where I went to Purdue University to do a post-doc, then to the UK where I was a research associate at the University of Cambridge for 6 years. After that, I became a lecturer (assistant professor) at the University of Kent. I transferred very recently to Canada.
In my research, I work on materials under extreme conditions – for example, materials for rocket engines or gas turbines. I would like to answer questions like how we can design systems that can withstand very high temperatures. The other part of my research is about lightweight materials: how can you make these material structures light weight, but still make them very strong, stiff, and tough. For that, linear algebra is very important.
“I don’t think there is a single day where I don’t use linear algebra.”
There are many tools, such as Finite Element Analysis (FEA), a tool that can predict stresses and strains that use linear algebra. This tool basically solves a system of differential equations. But instead of solving two or three equations, you’re looking at a system of millions of equations. So, it’s very important to know the underlying physics as well as the algorithms used, to understand and interpret the results.
Could you describe your teaching style and your favorite part of teaching?
Teaching is an integral part of being a professor. I like interacting with students, and I really enjoy seeing students grasp complex concepts during a lecture. It is amazing to meet former students a few years later and see them on track to get into their dream career.
I have an active teaching style, even with a large cohort size.
“I like going on academic detours – I would change the lectures when I see what students are interested in a certain topic.”
I do not plan lectures down to the minute. I come to lectures with a brief outline, then I see how the students follow and react. In particular, teaching linear algebra is like teaching a programming language. I start with the basic “commands,” such as vector spaces, vectors, matrices, etc., and then I apply these tools to solve equations in real world problems.
Why do engineers need to learn proofs, and do you have any tips for mastering them?
If I were to simply teach how a tool like matrix multiplication works, e.g. just by following an algorithm, students would quickly forget it. By knowing the proofs, you can understand why and how matrix operations work. Even if you forget the details, it will be easier to relearn it. Moreover, proofs can help students understand linear algebra conceptually.
“I want students to understand why certain concepts are true and why they work.”
Reading the textbook over the whole term is very important, so don’t just start before any midterm or exam. Also, continuously put work and effort into learning and following the lectures. While the learning curve isn’t steep in the beginning, it picks up very quickly, so you have to be on top of things. If you have questions, come to office hours or ask me after the lectures. I hope students are engaged and ask as many questions as possible.
What can students expect from this course, and what is the key takeaway you want them to learn?
“I would like students to forget what they learned in high school”.
One by one, I will introduce the necessary concepts for them to understand what matrices are. Lectures are typically based on proofs, where I introduce a tool and explain why it works. Lectures are in general more theoretical, but there are plenty of opportunities to get examples, exercises, and additional material.
[In terms of takeaways, ] they should know the fundamentals – what a matrix is, what a vector is, what are vector spaces, and how to use them. If I teach you the concept, that way you can learn to use it and apply it to different applications.
How does linear algebra connect with your work, research, or engineering in general?
Novel methods of artificial intelligence are typically highly non-linear. The question becomes, why is linear algebra still important? Linearizing a system of equations is still very powerful.
“Even machine learning technologies are all based on linear algebra.”
As I mentioned earlier, I’m doing research in materials science. If you are designing structures or materials, you are typically interested in predicting stresses and strains. One tool we use for these predictions is FEA and this is nothing but solving matrix equations. Here you could have a million-by-million matrix. Methods of linear algebra are used to efficiently solve these systems of equations. Nowadays, I don’t solve these systems by hand, but I should know how the results will look like and be able to interpret them. FEA produces colorful pictures, but just because they are colorful doesn’t mean they are true. You need to understand how stresses are computed and how the numerical solver works.
A second application of linear algebra is robotics. Let’s say you want to model a robotic arm by direct kinematics. Again, you are using matrix operations to describe the robotic system. For example, each joint of the robotic arm can be described as a matrix, representing translation and rotation. By using a matrix multiplication of the matrices of each joint, we can calculate the behaviour of the whole robotic arm.
Any other comments or thoughts to share?
For this course, ChatGPT is not a very useful tool to understand the proofs in the textbook. Currently, problems solved with ChatGPT can be false while still looking plausible.
Q: What do you call an acid with an attitude? A:A-mean-oh acid
MSE160: Molecules and Materials is a course that covers two major subjects: molecular science and material science. This course will offer a nice change of pace from the advanced math in your other courses and will feature more of the chemistry you may remember from high school.
The molecular science concepts will include atomic bonding, unit cell configurations, the electromagnetic spectrum, and more. The material science concepts will include some overlap with CIV102, beginning with stress-strain curves, and material selection for certain applications. Furthermore, you will learn about material imperfections and defects, failure mechanics, material processing methods, and phase diagrams.
Professor Scott Ramsay is a teaching stream professor who is co-teaching MSE160 this year. He is a registered professional engineer in Ontario and earned his PhD in Materials Science and Engineering from U of T in 2007. He has taught many courses that revolve around the study of materials science, including thermodynamics, materials selection, manufacturing, biomaterials, and more. Professor Ramsay has authored a digital MSE160 course textbook which features awesome demos, fun stories, and videos to help explain chemistry topics. He also made a polyurethane Pikachu in lecture!
If you would like a preview of what will be taught in the course, check out Prof. Ramsay’s YouTube channel.
Professor Anatole Von Lilienfeld has been teaching in a multitude of universities since 2013. He was a Full Professor at the University of Vienna and both an Associate and Assistant Professor at the University of Basel and the Free University of Brussels. Before he became a professor, he was an Assistant Computational Scientist at Argonne National Laboratory’s Leadership Computing Facility. From 2007-2010, Professor Anatole Von Lilienfeld was a Distinguished Harry S. Truman Fellow at Sandia National Laboratories.
He received his PhD in computational chemistry from EPF Lausanne, and studied chemistry as an undergraduate at ETH Zürich, the École de Chimie, Polymères, et Matériaux in Strasbourg, and at the University of Leipzig. Professor Von Lilienfeld’s research is centered around developing a physics-based understanding of a chemical compound space. His research also includes quantum machine learning, statistical mechanics, and computational materials design and discovery.
Professor Interviews
Snippets from our interview with Professor Ramsay:
“[MSE160] is meant to be a course that will be useful for you as an engineer, regardless of your future specialization.”
“I suppose my style or philosophy is to convey excitement I have about the subject material and convey a sense that you can figure out so many things if you understand these underlying concepts.”
“It’s all this structure/property relationship that really helps us understand so much of what’s key to engineering.”
Check out the following video interview with Professor Lilienfeld (including questions like “What is your favourite element?”):
“The lecture […] is a little bit like a live concert. So you see the artist perform, I’m not saying I’m an artist but we do a performance together.”
“We have a huge unexplored space populated with materials that could be stable, that could be extremely useful, but nobody bothered yet to make them, because we don’t know. And this was, to me, the key moment where I realized this is something I’d like to study more […]”
Course Highlights
Looking at material samples and witnessing cool live demonstrations during lecture!
Seeing material science concepts in other places; you’ll begin to see atomic packing in the supermarket fruit aisle, and phase diagrams will remind you of Pikachu!
Learning how to deliberately cause defects in a material to improve its physical properties, and why this works.
There’re typically three MSE160 lectures per week. These cover course concepts, as well as practical applications. Problems solved in class will help you study, as will the course slides. At the end of each week, there will be a demonstration to translate course concepts into real life and strengthen your understanding – make sure not to miss these fun demos!
Tutorials
While there’re no practicals, MSE160 tutorials are hosted once a week. The TAs briefly discuss the previous week’s lecture material, and most of the tutorial is spent discussing practice problems similar to those on exams. For our year, these were the only practice problems provided to students outside of the problem sets, and tutorial slides were not posted afterwards. If this is also the case for your class, make sure you pay good attention to how these tutorial problems are solved, and take good notes as they are excellent preparation for exams.
Assessments
MSE160’s textbook has weekly questions ranging from easy conceptual facts, to challenging questions, which strengthen your ability to visualize and calculate material properties. These marked assignments also serve as valuable study aids before midterms and final assessments.
In addition, there are a couple problem sets and quizzes throughout the semester. The problem sets usually consist of a couple calculation questions covered in lecture and are fairly straightforward. The quizzes are available for 24 hours; however, once you start, you only have 30 minutes to complete them. You’re allowed to access lecture notes as well as the textbook during these quizzes so make sure you use them.
Midterms & Exams
MSE160 usually has one midterm and a final. The exams are very much based on your ability to apply the correct course concepts and solve application-based problems. You will be provided with a formula sheet showcasing some important constants, a few formulas, as well as the periodic table.
Know all the crystal structures such as SC, BCC, FCC, HCP, as well as the Miller indices of interstitial sites.
Practice deriving material property indices, which require expressions for the function and objective of a structure, in addition to its geometrical and physical properties
Band gap theory: the bigger the gap, the harder it is for atoms to move from the valence band to the conduction band. Materials transmit and absorb certain wavelengths of light based on the energy of a photon relative to the band gap of the material.
A figure showing the band gaps for general metals, semiconductors, and insulators.
[Source]
More Details
Diagrams appear throughout the course, filling every chapter of the textbook. From material structures to property graphs, the diagrams make it easier to understand course concepts. You may also have to recall them during assessments.
Many course concepts will be discussed without being derived from first principles. This means you’re expected to know how to use the concept rather than how to derive or fully theorize about the concept. Focus only on as much detail as you’re given in lecture; studying beyond the course’s scope might not help you on assessments.
Since the course is so varied, the problem sets are your best tool for checking your understanding. They cover the types of questions that will appear on assessments, so make sure you can answer everything. Since every course concept will be assessed at some point, it’s best to ask for clarification if you get stuck.
The online textbook, while lengthy, covers some simple versions of assignment problems, making it a very handy resource when completing assignments.
In lectures, you’ll discuss some interesting applications of materials science. These may seem like fun detours – but pay attention. The assessments typically have a “design” question, where you’re expected to apply some concept in a practical engineering problem. Without an awareness of actual applications, you’ll struggle to find a reasonable answer.
While MSE160 may seem more “memorization-heavy” compared to other courses in the first year, there are many different types of questions that will require you to apply your understanding of complicated material properties in calculations. Therefore, studying regularly and keeping up with course content is essential for success. This course moves quickly and there are a lot of topics, all of which will be tested.
Beyond First Year
The world is made up of materials after all! MSE160 provides you with a great perspective as to how things work and some insight into manufacturing processes.
You will learn how material selection works. This is a skill you can apply in Praxis II and III, design teams, projects beyond first year, and more.
You’ll gain an appreciation for the practical applications of fundamental science. For example, you’ll understand why plastic bag handles elongate but do not break, even when supporting heavy loads. You’ll also see how knowledge of electron energy levels and light emission can lead to better TV screens.
MSE160 will connect atomic physics, chemistry, mechanics, biology, and more, showing the interconnectedness of science fields. This course will provide a basis for several courses in the Aerospace Engineering and Biomedical Systems Engineering majors, in general, every engineering discipline will involve some more material science courses.
ESC195: Calculus II builds on the skills you learned from ESC194: Calculus I. You’ll start by studying methods of integration—essentially, ways to compute the “unsolvable” integrals you might have encountered in Fall semester. You’ll also be introduced to sequences and series before diving into the world of multivariable calculus and vector functions. All these concepts are fundamental to science and engineering collectively!
Like ESC194, this course is a theoretical course that covers a lot of material at a fast pace and great depth, so keeping up with the work and further developing your problem-solving skills is key.
Note from your advisors: ESC195 might be the most important course in first- and second-year EngSci, at least from a course progress point of view. ESC195 is a prerequisite for five second-year courses; that makes it an important course to pass, but beyond that, understanding the course material is very important. While you are taking the course, put effort into actually understanding the content, rather than just blindly memorizing. Treat it like you’d treat a second language: the more you practice, the more comfortable you’ll get using it, and the better you’ll be able to do.
Professor
Professor James Davis
Professor James Davis
The instructor for ESC195 is Professor Davis, whom you will recognize from ESC194.
Professor Interview
“All of physics really came down to one equation – F = ma with calculus […] Everything from things like the Bernoulli equation governing fluid flow, to the rocket equation governing how big rockets have to be – it’s all just F = ma with calculus.”
“A student will only learn by doing. You’re not gonna learn by reading the textbook, you’re not gonna learn by attending the lectures alone. You actually have to do the work, and that’s the only way you’ll be able to learn this material”
“Anything that gets in between a student and pencil and paper is detrimental to the learning of mathematics.”
Course Highlights
You will learn integration by parts, trig substitution, and partial fractions. These may sound complicated now, but you’ll get the hang of them.
Infinite sequences and series – you’ll learn about some of their properties and applications, including how Fourier series can represent any periodic function.
A lot of multivariable calculus! You can now solve problems in three dimensions. 😄
Sketching polar graphs (all the complicated-sounding graphs like limaçons, lemniscates, and cardioids) and 3D surfaces (all the even more complicated-sounding graphs like paraboloids and hyperbolas).
Week in the Life of an ESC195 Student
Lectures
ESC195 has three hours of lecture each week. It may not seem like that much, but the lectures move very quickly. They cover derivations of course concepts and many worked examples. Sometimes students find it hard to take notes in this course because the professor tends to write quickly on the chalkboard. If you can’t keep up with his notes, we recommend you at least copy down all the examples. Knowing how professors solve examples can help you solve similar problems on your own. The course textbook (Stewart’s Calculus, same as in ESC194) supplements your course notes well.
Tutorials
Similar to ESC194, there are no practicals. There is one hour of tutorial every week. As in ESC194, you will be in smaller classes (20-25 students). TAs will work through problems similar to the assigned homework questions. At the end of each tutorial, you will also do a quiz. Each quiz is worth 2-3% of the final grade and are a great way to check that you are staying on top of the material. The questions for the quiz stem directly from the homework set for that week, so it incentivizes you to do the homework each week.
Assessments
As in ESC194, there are no formal assignments for this course beyond the weekly quizzes in tutorials. However, you are provided with recommended practice problems every week. DO THESE! They will build your calculus skills and help prepare you for assessments. Indeed, some questions on quizzes, midterms, and exams are similar to those assigned.
The assigned problems are all from the Stewart textbook (same textbook as in ESC194). As a reminder, you can buy the textbook in a package with a student solution manual, containing worked solutions to all odd-numbered problems. You can use it to check your work, discover alternative solution methods, and help yourself if you get stuck.
Note: Although it can be useful, the student solution manual is not required for this course. The Stewart textbook already contains the final answers to all odd-numbered questions.
Our recommendation to you, as in ESC194, is practice, practice, practice. Spending a few extra hours per week on calculus questions will make a huge difference for you!
Midterms & Exams
The midterms and final exam in ESC195 are similar to those in ESC194. Check out the ESC194 course overview for advice on how to prepare and manage exams. Key takeaway: practice with the Stewart textbook as well as past midterms/exams and be strategic when writing the assessments. The questions aren’t necessarily in order of difficulty so check later questions when you’re stuck to find questions you know how to solve before going back to the harder ones.
How to Succeed
Quick Tips & Equations
Note: You are not expected to know the following technical information. You will learn it all in the course.
Taylor series is an infinite series of polynomial terms that can be used to approximate complicated functions such as exponential, logarithmic, and sinusoidal. As the degree of the polynomial (and number of terms) increases, the Taylor series becomes a better approximation for the function. Make sure you know how to derive a Taylor series (and possibly memorize some common ones), and how to calculate its error.
Do A LOT of integration problems involving many different methods. Unlike derivatives, some integration problems will need trial and error to solve efficiently. Regular practice will let you solve them faster during exams.
Practice sketching polar curves. Polar coordinates are essential to solving problems involving circles, cardioids, and limaçons, among others. And the more comfortable you are in solving problems in the polar coordinates, the easier it will be for you to work with cylindrical and spherical coordinates, introduced in second-year courses.
Gain an intuition for gradients,which are like derivates in higher dimensions, and how they work. You should be able to derive them from first principles and from an algorithm and practice many problems with gradients such as tangent planes and Lagrange multipliers; you will learn about these methods in the last week of class, but do not ignore them as they will come up on the final exam.
Integration sometimes feels like this…but you’ll figure it out eventually! [Edited – Source]
More Details
All the tips from ESC194 will be useful here too, so check them out in the Calculus I overview. However, we still have one piece of advice specific to ESC195.
ESC195 is a very formula-heavy course. Even though you aren’t allowed to bring a formula sheet with you into midterms or the final exam, we highly recommend you make one to help you during revision, which can both help you keep track of what formulas you need to memorize, as well as help you in the actual memorization.
A specific example would be sequence and series techniques. When analyzing series, such as the convergence and/or limit of series, there will be many techniques to remember. To make it easier, we suggest creating a cheat sheet: list all the techniques (formally called “series convergence tests”) and when to use them. Then, as you are doing practice problems, you can reference this cheat sheet.
Another example: when doing vector function problems, there are many formulas that must be used and memorized, such as the formulas for the unit tangent vector or curvature of a plane. It is a good idea to keep all these formulas written down so that you can reread them and memorize them quicker.
Beyond First Year
After ESC195, you’ll be able to appreciate not only more advanced scientific fields, but also more advanced math jokes—you know, jokes about cows and bears and all that.
On a more serious note: the advanced math that you will learn in this course will help you understand and work in more specialized fields. Integration techniques and polar coordinates are used extensively in ECE259 (Electromagnetism) next year. Partial derivatives become important in a variety of other physics fields and vector functions are extremely important in computer science.
Note: The course code for Calculus II used to be MAT195. You may still see it referred to as such on some websites (e.g. courses.skule.ca).
Now that you’ve learned the basics of programming from ESC180, you can start learning about its applications. In ESC190, you will be introduced to the C programming language, algorithms, and data structures. Algorithms are a set of instructions that process an input into a desired output. Examples of algorithms include data sorters, search engines, and shortest path finders. Data structures are ways of storing data. Examples include linked lists, stacks, queues, and hash tables. These are useful in a variety of contexts, as you’ll see in the course.
The course will be separated into several parts, each covering a type of algorithm, programming method, or data structure. Along the way, you’ll code in Python and C, learn how to implement different algorithms and data structures, and analyze their performance. This course is not about learning every feature of a language. ESC190 is about using the simple tools learned last semester to build more advanced programs.
The instructor for ESC190 is Professor Michael Guerzhoy, whom you will recognize from ESC180.
Course Highlights
Learning the C programming language! C, unlike Python from ESC180, is much more low-level, and memory management must be done by the programmer. While C programming is more difficult, C provides greater insight into what actually occurs inside the computer, and programs typically run faster.
Learning about all the different data structures and algorithms that you might have heard of in the past:
Complete projects that have real-world significance. Last year’s projects were a weighted autocomplete function that worked on tens of thousands of words, and a seam carving program for smart image-resizing
Week in the Life of an ESC190 Student
Lectures
There are typically three hours of lecture per week in ESC190. These cover a range of topics, from basic C programming to gradient descent. There is no textbook for this course, so make sure you go to lectures and take notes. Also, much like in ESC180, there will be many in-lecture quizzes throughout the semester. And while there are no tutorials for this course, ESC190 practicals are similar to ESC180 practicals.
Practicals (Labs)
The labs in ESC190 will be held similarly to those in ESC180.
Labs and Projects
Like ESC180, ESC190 has two types of assignments: labs and projects. They are structured similarly as they are in ESC180, but topics are much more advanced (and interesting).
Midterm and Exam
The midterm and exam are structured similarly to those in ESC180. ESC190 tests can include a combination of Python and C programming. Tests are a little more theory-focused than in ESC180, so make sure to study the course theory on top of writing the labs. Past midterms and exams are also good study resources. However, like with all other courses, the types of questions that appeared on previous years’ exams might not be the same as yours.
How to Succeed
Quick Tips & Equations
Understand everything about pointers in C. Briefly put: * will provide the value at an address, and & will provide an address.
Identify the key differences between each data structure and use these differences to memorize how the structure functions and how different operations (e.g., set, get, remove) can be performed.
Practice different ways of implementing the same algorithm. During assessments, you may be asked to implement an algorithm in a specific way (e.g., using recursion).
Practice working with Abstract Data Types (ADTs) – examples can be found in past tests and exams.
More Details
Many of the tips from ESC180 will be useful here too, so check them out in the Introduction to Computer Programming overview. We have included a few more below that are specific to ESC190.
If you’re writing a function in C and are struggling with the beginning, remember that the most important parts of a function are the output (the very end) and the processing (the middle). So, try to write the middle or end of the function and then work your way up to the start. This might make things easier, as you’ll know whether the function meets processing and output specifications. This lets you focus on connecting the beginning of the function with the code you have already written.
Note: this technique can be especially useful when writing a recursive function.
When it comes to programming and computer science, you can easily get caught up in only writing and using code. Since there is more theory in ESC190 than in ESC180, you will need to review lecture notes and do the labs. Warning: this doesn’t mean that you can get by only reading your notes. Your emphasis should still be on implementing algorithms and data structures for different applications. The theory will just help you structure your code and thinking.
Pointers are a big part of this course, so make sure to pay attention at the start, and gain a thorough understanding of them early on. Don’t be afraid to watch YouTube videos or do tutorials related to pointers, as knowing pointers will make all of C so much easier.
Beyond First Year
By the end of this course, you will know how to program in C.
In ESC180, you saw how small functions can interact to make a useful program. ESC190 will take this one step further: it will demonstrate how more complicated algorithms and data structures can be made to work together. These interactions form the basis of the complex software used in our daily lives. They’re also the basis of fields like machine learning and artificial intelligence.
You’ll see that computer science is closely tied to math. Computer scientists use calculus (e.g., gradients) and linear algebra (matrices, vector spaces, etc.) extensively in their work.
Given the theoretical foundation of computer science, you don’t need to be a great programmer to succeed in the field. Similarly, you don’t have to be a great computer scientist to be a great programmer. However, this doesn’t mean that you should neglect one or the other. We would recommend building your skills in both areas as much as possible.
If you want to land a software-related internship, ESC190 will introduce you to the theory and implementation behind some concepts that are commonly seen on programming interviews.
The programming skills gained here will help you in several upper-year courses in the Electrical and Computer Engineering, Robotics Engineering, and Machine Intelligence majors.
Note: The course code for Computer Algorithms and Data Structures used to be CSC190. You may still see it referred to as such on some websites (e.g. courses.skule.ca).
Praxis II is a continuation of Praxis I. In this course, you will apply the processes and concepts you learned in the fall to improve the lived experience of a community in the Greater Toronto Area (GTA). Even more so than Praxis I, Praxis II is all aboutteamwork. You will be divided into teams in the third week, and the rest of Praxis II will be based on team activities.
Your first team project is to construct a community profile where you meet with and analyze a specific community’s baseline conditions and trends. After that comes the true heart of Praxis II. After identifying an engineering opportunity based around a specific community, you will create a Request for Proposal (RFP), which is like the design brief from Praxis I except far more detailed. The teaching team will then select around 8-10 RFPs to share with the entire class, and your team will choose one of these RFPs and develop a solution for it.
Previous years’ students present their designs to professors and public attendees during the Praxis II Showcase at Hart House
Next, you’ll prototype, test, and document your solution. The difference from Praxis I is that now, the possibilities are far more open-ended. Your concepts can range from physical products to software to something else altogether. Most importantly, you are expected to make much more informed design decisions and perform much more rigorous verification. You’ll also get to take your solution to stakeholders in your community and ask them for feedback. At the end of the course, you’ll present and defend your chosen solution to the teaching team at a public event called “Showcase.” You can view previous Praxis II design projects on the Praxis II Showcase website.
Professors
Professor Roger Carrick
Professor Roger Carrick
Professor Jennifer Lofgreen
Professor Jennifer Lofgreen
The instructors for Praxis II are Professor Jennifer Lofgreen and Professor Roger Carrick, whom you will recognize from ESC101 Praxis I.
Course Highlights
Cold-calling businesses, companies, and communities. It can be awkward at first, but you’ll quickly become a pro and discover that it isn’t all that difficult. This is a super useful skill that you can use for job searching and networking later too.
Praxis II encourages you to explore Toronto! You will go out into the GTA, meet new people, and learn new perspectives. You’ll be pushed out of your comfort zone in a good way.
Prototyping and testing your solutions. Not only will you learn CAD software called OnShape, but your design concepts can also be literally anything you want – if you can support all your design decisions with research and verification.
Praxis II Showcase! Local media have sometimes attended and featured students in their newspaper or on the radio. It is extremely fun to present and observe other teams doing the same.
Week in the Life of a Praxis II Student
Like in Praxis I, the weeks in Praxis II can vary significantly. Here is a rough approximation of how a week will look for a Praxis II student.
Lectures
Much of Praxis II is very similar to Praxis I, such as three lectures a week, as well as learning additional engineering design concepts. Just like Praxis I, lectures are still well-integrated with the tutorials (also known as studios).
Tutorials (Studios)
Praxis II tutorials (studios) are very similar to those in Praxis I. They still take place smaller groups, are led by teaching assistants, and are where most of your team-based project-specific work take place.
Practicals
The two-hour practical blocks work the same way as they did in Praxis I. Once again, it is simply a suggested meeting time, and you may choose to meet as much or as little as your team deems necessary on a weekly basis.
We cannot emphasize enough the importance of regularly checking in with your team. Make sure that everyone is regularly contributing and do not leave work until the last minute. Note that the workload in Praxis II significantly increases from Praxis I, so be prepared for a lot of teamwork. Through regular team communication, you can keep track of deadlines and allocate work more effectively. Communicating with your team helps ensure that everyone is healthy and offers an opportunity to organize hangouts together to relax. Speaking from experience, it is worth the time and effort to organize group activities to have fun and build team spirit.
Individual Assessments
In place of a final exam, there is a final independent deliverable in Praxis II: the Student Engineer Portfolio.
The portfolio is a chance for you to reflect upon your engineering design work throughout first year and understand how your positionality affected/was affected by your design work. Furthermore, it offers you an opportunity to flex your engineering muscles and describe your skills and abilities which went into these projects. We were asked to talk about our engineering design process in Praxis I, CIV102 Bridge Project, as well as Praxis II, so make sure that you have been recording and organizing evidence of what you did during these projects. Note that many companies allow prospective engineers to submit a design portfolio to display some of their work, so this assignment can be an asset in the future.
In the past year, the portfolio was due a few days after showcase. It is a good idea to work on the portfolio throughout the semester, potentially throughout the year. Taking 5 or 10 minutes every so often throughout the year to record some notes about your design process and the concepts, tools, models and frameworks (CTMF) that you’ve used in Praxis I, CIV102 Bridge Project, and Praxis II will ease a significant portion of your burden when it comes time to submit the portfolio. Trust us when we say you will want to spend as much time preparing for your other final exams instead of working on your portfolio.
Group Assessments
You will spend most of your time in Praxis II working in one group. You will write the community profile, RFP, and complete the Showcase project in this group. However, there will be some individual assignments. In addition to the handbook and portfolio, your first two assignments, the community profile and positionality statement, will be independent.
How to Succeed
Nearly all the tools you used in Praxis I will be used in Praxis II. We have listed some more tools specific to Praxis II below.
More Details
Your team can get caught up in small details; though discussion and debate are at the heart of Praxis, ask yourself if your team’s decision will affect your design’s use and function or your ability to defend your design. If there is little impact, aim to conclude the debate by picking one of the possible options. If done correctly, it’s fine to say, “This part of the design was not significant, so we simply picked one option.”
Planning is crucial in Praxis II: there’s a lot to do and there’s limited time. Being a skilled planner will help you immensely in the course.
You should have a high-level plan before you begin working. At the beginning of each task, quickly summarize what you want to achieve and your plan to achieve it. This is especially useful when justifying your design. If you plan your argument step-by-step, you’ll have a much easier time writing clearly and concisely.
However, don’t over plan! Sometimes a detailed plan is unnecessary since you know what you’re doing. Conversely, if you’ve never done the task before, you won’t know what to include in your plan. In these cases, try to work a little first to get an idea of how long something takes or the type of work it requires – then make your plan.
In high school, you may have been used to your teacher ignoring or going easy on any obvious mistakes or weaknesses in your project if the rest of it was good. In Praxis II, the markers’ job is to be critical of your design and design process, so if there’s a clear weakness, they will ask you to address it. Thus, it’s your job to have a well-rounded design that you can fully support. If your team seems to be ignoring something about your design, bring their attention to it. Think about situations in which the design can fail and then build some arguments for why those situations are unlikely. A little self-criticism goes a long way in Praxis!
Praxis II is a course that really benefits from your engagement and enjoyment of the work. Since you have a lot of choices in picking your engineering opportunity, look for communities and situations that you’re personally interested in and care about. Having a genuine interest in your work will help you in lots of ways, especially by motivating you to do the little extra research or experimentation that can turn your design from good to great.
You will be working with the same team for four months, so get to know them. What do they like? What do they dislike? Do they have pets? Why are they late every day? Did they commute in the morning? What do they want to get out of this team? What are your team goals? The key to individual success in Praxis is to be successful as a team.
Praxis II is one of the most unique and engaging courses you will take during your first year in Engineering Science. The amount of trust and responsibility given to students is almost unparalleled. Enjoy your time in Praxis II and try to get the most out of it! You could learn skills that you use throughout your life.
What Will You Take Out of It?
Like Praxis I, Praxis II gives you the opportunity to turn your personal interests into engineering opportunities. You will have the opportunity to do what you excel at or to learn something brand new!
You will get the opportunity to build on and apply the Engineering Design principles taught in Praxis I, including the FDCR principle and Toulmin model of arguments.
In Praxis II, there’s more time to spend on prototyping and testing. Use the course as an opportunity to pick up some hardware or software skills.
You’ll be designing a solution for an opportunity to support a community. This is a great way to learn about the human components of engineering, like communicating with your stakeholders, accounting for accessibility, and verifying your design.
The design skills gained in this course will serve as a basis for second-year EngSci courses such as ESC204 as well as upper-year design courses in almost all of the majors.
Praxis Showcase in the News
Media have attended some of the Praxis Showcase events. The stories in the links below detail some of the past student projects.
When people find out I’m not very good at building circuits, they’re shocked!
Circuits are the building blocks of all electrical devices – including the device on which you’re reading this right now. In EngSci’s introductory circuits course, ECE159, you’ll be introduced to circuit properties such as current, voltage, and resistance, as well as circuit components like sources, resistors, capacitors, inductors, and op-amps. You will learn about DC (direct current) and AC (alternating current) circuits, and will use techniques like mesh analysis, nodal analysis, Thévenin equivalents, differential equations, and complex numbers to analyze circuits.
The goal of the course is to solve circuits for their properties by understanding how their components interact. These interactions are expressed mathematically, so a large portion of this course is solving systems of equations. Succeeding in the course requires understanding the theory behind circuit analysis, being able to build circuits in real life and, most importantly, knowing how to apply the right formulas in the right situations. Are you ready to learn the fundamentals of harnessing electricity?
Practice and regular review will be your best friend in this course. The key is to practice the steps to answer every type of question, as there are only a handful of distinct questions that can be asked on a test. Also, although electricity can be more difficult to comprehend than larger, mechanical systems, try your best to develop intuition for the concepts in a way that works for you.
Professor Joseph Euzebe (Zeb) Tate is an Associate Professor in the Department of Electrical and Computer Engineering. He completed his BS in electrical engineering from Louisiana Tech University and received his MS and PhD from the University of Illinois. He joined the University of Toronto’s ECE department in 2008 as an assistant professor. Professor Tate’s research focuses on improving the reliability and efficiency of power grids through combining advanced telemetry and data processing.
Professor Interview
“I think mainly empathy is a really big piece of [my teaching philosophy], trying to put yourself in the shoes of someone that doesn’t know the material […] so I really try and question the assumptions that I’m making when I go into a classroom as to what the students know in advance and try and make sure nobody gets left behind by those kind of poor assumptions.”
“The circuit analysis techniques we use […] appear frequently. Sometimes very explicitly—they’ll say, “We’re going to model this chemical process as if it were a circuit,” and then solve it that way. […] There’s also a lot of benefit in the actual circuit analysis—the specific techniques. Specifically, using matrices is a really powerful way of solving things, and it’s not just electrical engineers who use it. Civil engineers, for example, also apply it.”
“I would say, reach out […] for help if you think you might need it at all. There’s no downside to contacting your professors early on. […] First, it builds a relationship, which can be helpful if you ever need a reference letter. And second, there’s no substitute for one-on-one instruction when it’s really what’s needed.”
Course Highlights
Labs. Every other week you’ll have the chance to create circuits on breadboards. Be ready not only to build circuits but to have fun.
Have you ever looked at a circuit diagram and thought, “I wish I knew what this all meant”? Well, you will be able to interpret and analyze many different types of circuits after ECE159!
This course will introduce you to using complex numbers to model real systems.
Week in the Life of an ECE159 Student
Lectures
There are typically three hours of ECE159 lectures a week. Be sure to pay attention during these lectures: this is where you learn about the circuit laws you’ll use to solve problems on assignments. In lectures, the professor will conceptually explain circuit topics, as well as go through many examples of circuit analysis. Note these examples down, as they serve as models for midterm and exam questions.
Tutorials
There is one hour of ECE159 tutorials built into your weekly schedule. During the tutorial, the theory of the course will be briefly summarized. However, the emphasis during the tutorials is on learning how to problem-solve. Your TA will work through lots of different examples, and we recommend taking notes of their problem-solving steps. ECE159 TAs are extremely helpful, so make sure to pay attention!
Practicals (Labs)
ECE159 labs are held every other week. Make sure to do the pre-labs before every lab session, as they’re worth marks but are also crucial to your ability to understand the lab. They can be a time crunch because the whole lab is done in a three-hour period. During this time, you’ll build circuits in the lab and observe their properties with different electrical instruments such as oscilloscopes.
Labs (Practicals)
Your performance during labs will be graded, so take them seriously. Although three hours may seem like a lot of time, the labs are relatively long, and many students do not end up finishing some labs on time. TAs will grade the notes you take during labs, your ability to build circuits, and your respect for the workspace.
Midterm and Exam
ECE159 has a midterm and a final exam. They consist of circuit analysis questions, and each question can be thought of as multiple difficult questions packed into one. For both exams, you will be permitted to bring a single double-sided handwritten aid sheet.
How to Succeed
Quick tips and equations
Passive Sign Convention: if positive current flows out of the positive terminal of a voltage source, then the element is delivering power. Otherwise, it is absorbing power.
Consider the hydraulic analogy, where voltage and current are analogous to water pressure and flow of water, respectively.
V = IR (Ohm’s Law)
P = VI (Electric Power)
These are general equations to represent voltage and current in a circuit:
v(t) = v(\infty) + [v(0) - v(\infty)]e^{-t/\tau} or
i(t) = i(\infty) + [i(0) - i(\infty)]e^{-t/\tau}
Common electric circuit component diagrams
You’ll learn how to use complex numbers to model AC circuits. Normally, this would involve many difficult computations. However, certain types of Faculty-approved calculators can perform almost any complex calculation for you.
Remember that circuit analysis is a mere representation of the physical world; if during a lab your data is not exactly as you had expected, don’t worry. Small sources of error are common.
More Details
This course may start off looking like basic high school review. However, it kicks into gear later, so make sure not to fall behind so that you aren’t caught off-guard. New topics will start to be introduced very quickly, and they will build upon all the old techniques and material that you’ve been learning throughout the course.
Technically speaking, you could get through this course just by knowing nodal and mesh analysis. However, you’ll waste considerable time on questions if they’re all that you use. Pay attention to concepts that can speed up your problem solving. Examples include the fact that parallel branches have the same voltage or that certain op-amp configurations are designed to perform addition, subtraction, differentiation, and integration.
The best way to remember the equations and how they connect is by writing an equation sheet as the course moves on. This will also be a helpful resource when you work through homework problem sets – and on the exams, you will be allowed a single double-sided handwritten aid sheet.
This course is about problem-solving, which means the more questions you practice, the more you’ll succeed. The lectures are also designed to be interactive and will focus on working through lots of examples. Find past ECE159 midterms and exams on courses.skule.ca.
Like classical mechanics, which you’ll learn in PHY180, introductory circuits is a very old and standard course. There are many online videos and textbooks that you can use if you’re struggling with a concept and need a new perspective.
Beyond First Year
You’ll get crucial experience in building circuits, which is important in engineering prototyping (you will likely need this in Praxis III, in your second year, and you can use these skills on design teams and for personal projects).
This course will provide a foundation for all upper-year electrical engineering courses and the coursework for majors such as ECE and Robotics.
Even if you don’t find electronics interesting, the problem-solving skills you develop in this course will be used heavily in future courses with many connected concepts and equations, such as thermodynamics.
Linear algebra is a field of math that is used throughout engineering and science. In fact, the first step in solving many engineering problems is to make it a linear algebra problem. It’s no surprise that most engineering and science programs teach linear algebra early on.
MAT185 is loosely a continuation of ESC103. It teaches linear algebra from a first principles, ground-up approach. You’ll learn the reasoning behind mathematical ideas and rigorously prove that they’re true. You’ll cover some concepts that were introduced in ESC103, such as vectors, matrices, and differential equations, and new concepts including fields, vector spaces, bases, coordinates, linear transformations, and eigenproblems.
However, unlike ESC103, there is little computation in this course. This is a proof-based course, so you’ll be tested on your ability to connect concepts and use linear algebra principles to prove and disprove general statements. MAT185 is taught as if you’ve never taken a proof-based course before, so don’t worry if you’re new to this: it’s time to learn! You’ll be taught methods like proof by contradiction, proof by induction, proof of contrapositive, proof of equal sets, and proof of if and only if statements. Students have varying experiences with this course. Some find it reasonable while others find it very difficult. There is little correlation between how you felt about ESC103 and how you will feel about MAT185. Although they both cover some pure math and linear algebra, the questions you’re asked, the perspective from which you learn, and what you’re expected to understand are completely different.
Professor Seiler completed his bachelor’s and master’s degrees in Mechanical Engineering and Mechatronics at TU Braunschweig, Germany, where he also earned his PhD in Materials Science. He held research positions at Purdue University and the University of Cambridge, where he worked on materials under extreme conditions, such as those used in gas turbines, nuclear reactors, and lightweight structures. Before transferring to the University of Toronto as a professor, he taught advanced manufacturing and mechatronics as an assistant professor at the University of Kent, UK.
Professor Interviews
Snippets from our interview with Professor Seiler:
“In my research, […] I don’t think there is a single day where I don’t use linear algebra.”
“I have an active teaching style. I like going on academic detours […] I do not plan lectures down to the minute. I come to lectures with a brief outline, then I see how the students follow and react.”
“One by one, I will introduce the necessary concepts for [students] to understand [linear algebra] […] If I were to simply teach how a tool like matrix multiplication works, e.g. just by following an algorithm, students would quickly forget it. By knowing the proofs, you can understand why and how matrix operations work. Even if you forget the details, it will be easier to relearn it. Moreover, I want students to understand why certain concepts are true and why they work. Therefore, proofs can help students understand linear algebra conceptually.”
The course textbook. We don’t want to spoil your fun, so read it for yourself!
Not only will you learn new theorems, but you’ll learn how to prove them so that you know they are true.
A lot of math symbols. (Don’t worry, the professors will walk you through them.)
The pure satisfaction you gain from proving difficult mathematical statements by using fundamental linear algebra concepts.
Week in the Life of an MAT185 Student
Lectures
There are three hours of lecture per week in this course. Lectures cover proofs, explanations of theorems, and concepts. Professor Seiler uploads semi-completed templates of lecture notes before class, and you are encouraged to use them to follow along, filling in blank sections as he teaches. There will be some example questions, but ensure you do additional practice in tutorials or on your own time. If you have questions, don’t hesitate to ask the professors.
Before every lecture, you’ll have to complete a textbook reading along with an online quiz. Ensure that you do these, as they’re crucial to understanding the concepts that will be covered more in-depth during the lecture (they are also worth marks).
Tutorials
There is one hour of tutorial per week in this course. In tutorials, you’ll be given practice problems and the teaching assistants will help you solve them. For MAT185, these tutorials are helpful as they provide a lot of practice, but it’s only as good as you make it.
Problem Sets
Approximately every month there is a problem set, with the option to work in pairs. You’re usually asked to prove or disprove some statements. The problems are relatively difficult, but you get a week to think about them and work on a solution. Try your best and these problem sets will be valuable practice. The problem set contents are similar to the more difficult exam questions.
Textbook Questions
There are also recommended textbook questions. Do these. They are not marked and are technically optional but are a great source of practice problems outside of tutorials. If you can’t complete all these recommended problems, don’t worry: they can be on the challenging side. Simply try to solve as many as you can. Any practice is good practice.
Midterms and Exam
This course has two midterms and a final exam. To study for these assessments, review tutorial problems and practice questions in addition to past exams. Once you understand how to think about problems in this course and have seen sample solutions, you’ll begin to adopt the right problem-solving mindset and develop intuition as to when you should apply certain linear algebra principles. Note that you won’t succeed in this course just by completing a few past exams due to the proof-based questions. You’ll need to practice regularly and truly attempt to digest all the content to build your proof-based mindset.
Understand the concept of vector spaces. As you’ll learn soon enough, vectors are more than just “pointy arrow thingies!” Know the proof for vector spaces by heart.
Know the difference between \bigcap and \bigcup , as well as \subseteq and \subset .
MAT185 builds upon concepts from ESC103 such as vectors and matrices and requires you to use them for proofs instead of computations. Therefore, you should thoroughly understand all the content from ESC103; concepts in MAT185 are VERY connected, so a shaky foundation will make your semester more difficult.
As mentioned earlier, practice is necessary for success in MAT185. Solving a variety of problems will help you learn different problem-solving methods. You’ll become more comfortable with proofs and will build your linear algebra intuition – both critical in this course.
Sometimes, it’s difficult to even start a problem in Linear Algebra. Don’t cave in and look at an answer key right away: this practice will hurt you in the long run. If you don’t know how to start a problem, write down what you know about it, such as relevant equations, facts, and theorems. Once these tools are laid out in front of you, it’ll be easier to connect the dots and develop a solution.
Even if you do think that you know how to solve a problem, ensure that you can solve it with a formal and rigorous proof! That being said, don’t waste your time creating a sophisticated proof for every single easy question.
In this course, your main job is connecting different facts and theorems to prove and disprove statements. Physically organizing and writing down theorems and equations will help you get organized in your head and understand how they connect.
Linear algebra is not a new subject. If you have trouble understanding a concept, there are a lot of online resources through which you can gain intuition and look for different perspectives. These different interpretations are what make linear algebra great: sometimes a physical, geometric interpretation makes the most sense. Other times, equations will just congregate together in your head. Experiment and find out what’s best for you.
Beyond First Year
This course will give you lots of problem-solving experience. Linear algebra is an abstract and general topic in math; there are often many ways to approach a problem, and you’ll get to experiment with this.
Linear algebra has applications all over engineering and science. For example, most circuit problems are solved using matrices. Quantum mechanics make use of special matrices to determine what is possible for a particle. In computer science, vectors can be used in gaming and graphics. Google uses eigenvectors to determine the ranking of pages in a search. Linear algebra is a necessary tool for robotics, machine learning, and for any field you’re interested in.
Many of your upper-year courses will require strong knowledge and frequent usage of linear algebra/
Can you share about yourself and what students can expect from MSE160?
I am from Vancouver originally. I did my undergrad at UBC, and did grad school at U of T, with a PhD in Materials Science and Engineering. In terms of my academic appointment, I’m a teaching stream faculty member, so my primary appointment is to teach. The only research that I do is pedagogical.
“[MSE160] is meant to be a course that will be useful for you as an engineer, regardless of your future specialization.”
It’s about understanding solids, and we go through everything from mechanical to optical, electrical, and magnetic properties. There is some thermodynamics in there as well, and we try to show how all the topics are interrelated. We start with one topic, and after we build up more about it, we connect it with the next topic, so hopefully by the end of it, people have a good understanding of solid materials, how they work, and the underlying structure property relationships.
We want this course to help you choose the most appropriate material for a design, or understand how, for example, temperature will affect the properties of material, if you ever need it later on in your engineering career. You either know it or you know the fundamentals to go and figure it out later yourself.
It depends on the educational system that students have come from. I think most people have seen the structure of the atom and electron configuration, so we go into that fairly quickly and we try to build on new concepts for most people, like the band theory of solids and semiconductors. Then there’s a little bit of reviewing. Some people have done crystal structures or thermodynamics in high school. We don’t assume that people have the knowledge, but we will go a little bit more quickly for some parts if we feel that most students have some background in it.
To sum it up, there’s a lot of topics that build on things that students have seen before. As for doing well, I would say probably one of the most important things is to keep up. There’s a lot of topics that are covered as I mentioned, so if you fall behind, it becomes more challenging. Also, you sometimes lose the ability to make those important connections I was talking about earlier.
What is your teaching style and favourite part about teaching?
I try to be engaging, and I like lecture demonstrations. What we have been doing every week is to build up to a good-sized lecture demonstration, probably on Friday. Hopefully that makes it memorable and reinforces concepts from the lecture.
“I suppose my style or philosophy is to convey excitement I have about the subject material and convey a sense that you can figure out so many things if you understand these underlying concepts.”
When I see a student get inspired, see a connection, or even have a Eureka moment. When they say “I understand this” or “I see how this relates to something in my life” or “that broke and I fixed it.” Those moments of learning or sudden realization of something that students have are probably my favorite.
How does this course connect to your research?
Currently, I’m not directly involved in discipline-based research like engineering research. I had a master student a few years back and she did an engineering design project, but the data we collected was more pedagogical in nature. We collaborated with some people growing lung tissue using a machine she designed. MSE 160 is really about fundamental topics. It is the basis for understanding so much of the world using bits of Physics and Chemistry.
“It’s all this structure/property relationship that really helps us understand so much of what’s key to engineering.”
Any advice or comments for incoming first-year students?
I have really enjoyed teaching EngScis in the past three years. They are a fantastic group, and I’m always impressed with how even from 3:00-4:00pm on a Friday afternoon, they seem energized and they’re happy to come to class and be polite and professional. It is really nice to get to know the EngScis and I look forward teaching them. I’m excited and looking forward to meeting everyone.
To the engineer, the glass is twice as large as it needs to be
Primary Engineering Design Framework used in Praxis I and II
Praxis I is an introduction to engineering design processes and theory. The coursefocuses on communication, teamwork, research (a lot of it), and prototyping – all crucial and connected parts of engineering design. An overarching theme is developing an engineering identity – something that unites all parts of the course and that you can carry and develop throughout your career.
At the start of the course, you’ll learn about design theory, which is based on the concept of engineers rigorously documenting and supporting their designs. Documenting your work involves tracking materials, ideas, and information that went into developing your design. “Supporting your work” means using research to inform your decisions and testing your design to ensure it will perform as intended. Along the way, you will learn to communicate your design processes and products to a wide audience.
Many of your Praxis I activities involve working in a team. A few weeks into the semester, you’ll be placed into a team of 3-5 EngSci students. Together, you will learn and apply the Frame, Diverge, Converge, and Represent (FDCR) engineering design process that is fundamental to Praxis I and II. With your team, you’ll frame an engineering opportunity by talking to and observing stakeholders around you. Then, you’ll develop ideas for tackling the opportunity and begin to challenge and test these ideas. This process will culminate in developing a prototype of your design and a design report that recommends a final design.
Some examples of opportunities from Praxis I this past year include reducing sunlight glare on laptop screens and Starbucks cup holders.
Professors
Professor Roger Carrick
Professor Roger Carrick
Professor Roger Carrick is an Assistant Professor, Teaching Stream in the Division of Engineering Science and the Department of Mechanical & Industrial Engineering. Professor Carrick has a background in mechanical engineering. He completed both his undergraduate and masters education at the University of Waterloo. Before joining the Praxis team, he served as the Designer in-Residence in the Department of Mechanical Engineering at York University, where he helped set up the Engineering Design curriculum and completed his PhD. His research interests include project-based learning, knowledge integration through design, and integrating CAD training in engineering curriculum.
Professor Jennifer Lofgreen
Professor Jennifer Lofgreen
Professor Jennifer Lofgreen, who goes by Jenny, completed her PhD in Chemistry at U of T. During that time, she also worked on writing instructions for chemistry students and teaching assistants. In fact, she used to be a teaching assistant herself for this course! She spent the past eight years in Sweden teaching academic writing for PhD students. During her time there, she started a second PhD focusing on using philosophy of science to inform research in engineering education. She focuses on the communication half of Praxis I – which is all about arguments and building strong claims!
Professor Interview
“There is a lot of theoretical understanding around engineering design and engineering communication, and learning that theoretically doesn’t really help you understand how to make use of it. You actually have to spend a lot of time practicing, iterating, running through stuff, trying things out, not quite succeeding, doing it again […] We move back and forth between a theoretical perspective and a hands-on practical application.”
Course Highlights
Praxis students prototyping designs in the Myhal Light Fabrication Facility. (It’s worth noting that “Light Fabrication” is “Light” as in “Not Heavy Fabrication.” They do NOT make light in this facility. Making light would be, strangely enough, “Heavy Fabrication,” not Light Fabrication at all.)
Exploring your own lived experience as a first-year EngSci student and working with your team to identify an opportunity to improve it.
Developing many different ideas, and prototyping and testing them. Dollar stores are your friend!
Using your new engineering design skills to recommend a design that addresses your opportunity and has the potential to improve the lived experience of first-year EngSci students.
Writing a design report! In engineering, communication is as important as design. No single engineer can be responsible for a product, from the planning and design, to manufacturing and distribution. Therefore, it is good practice to formally communicate ideas and information in a written manner.
Week in the Life of a Praxis I Student
Praxis I is a dynamic course that changes significantly from week-to-week. Here is a rough approximation of how a week will look for a Praxis I student.
Lectures
There are typically three lectures a week for Praxis I. You’ll learn about engineering design concepts in lecture and participate in design and thinking activities. You’ll find that the lectures are very well-integrated with the tutorials, discussing notable results from tutorial activities and connecting them to different engineering design concepts.
Tutorials (Studios)
Praxis tutorials are referred to as studios. In a small class led by two TAs, you’ll be guided through engineering design activities, project help, and more. Everyone in your team will be in the same studio, so this is where most of your project-specific work and instruction will happen. You’ll find that studios allow you to apply the concepts you’ve learned in the lectures. This makes studios an excellent time to build a deeper understanding of how they work and connect to one another.
Practicals
Your timetable contains a two-hour practical block each week, during which you can meet with your team and work on your project. This time will never have scheduled course activities or a room assigned; it’s a time when you know your whole team is available and you can use it as you see fit. You should definitely schedule regular meeting times with your team, ideally when you work together on your project. Since Praxis is a dynamic course, you may have no meetings some weeks and many hours of meetings on other weeks. The key is to find times that work for your entire team and to not leave all your work until the last minute! We cannot emphasize enough the importance of regularly checking in with your team. Through regular team communication, you can keep track of deadlines and allocate work more effectively. Communicating with your team helps ensure that everyone is healthy and offers an opportunity to de-stress all together. The most successful teams in Praxis tend to work together frequently, rather than taking a divide-and-conquer approach.
Assessments
Overall, the course project consists of identifying and framing an engineering design opportunity to improve the lived experience of first-year EngSci students, and developing, prototyping, and verifying design concepts that address the opportunity. During the semester, you’ll work with your team on written reports and have an oral assessment for your team project, and you will also do an individual written analysis of your experience doing engineering design. Look at the How to Succeed section below for some advice on completing these.
Midterms & Exams
There is typically a midterm and final exam in Praxis I. These exams will test you on the engineering design and communication theories and concepts you have learned, as well as your ability to apply them. Based on our experience, understanding how the course concepts connect to each other can be a useful tool when studying. To find past exams and tests, visit the Praxis I page on courses.skule.ca.
How to Succeed
Record Everything you Do We cannot stress enough how important it is to keep a record of everything you do throughout the design process, both as an individual and as a team. You’ll learn to use many concepts, tools, models, and frameworks (CTMF) throughout both Praxis I and II and will be asked to write about your usage on multiple occasions, so an organized evidence folder will be very handy. In particular, the final assessment in Praxis II requires you to reflect on and talk about your usage of Praxis CTMFs in your design projects in Praxis I, CIV102, and Praxis II (and possibly more projects), so keep this in mind and record everything.
Work WITH Your Team As mentioned before, much of Praxis I is done in teams. This is a chance for you to get to know more of your peers, learn from diverse viewpoints, and develop your ability to collaborate. It’s important to get to know how everyone likes to operate and find a good way to work together. Agree on simple rules: “If someone is late, they will buy Timbits for everyone,” or, “We will not just shoot down others’ ideas: we’ll give a reason we don’t agree and be open to debate.”
Definitely Plan to Work Together Regularly Upper-year students recommend planning early so everyone can do their individual portions as soon as possible. But don’t just divide and conquer. Do some of the work together in the early stages so any individual work stays on track. Plan to review everything together multiple times throughout each stage of the project so that your work really does come from you as a team, not a collection of individuals. If you find a particular teamwork strategy is not working, try something different. Above all, don’t forget to communicate!
Review Your Writing at Every Step of the Process Writing is a key part of professional communication, and you’ll be expected to write formally for Praxis I. The reports can be long, and the best strategy is to work on them regularly over time. When you’re revising and editing your work, don’t review it entirely in one go; you’ll find that fatigue impairs your reviewing and editing ability. Instead, focus on one thing at a time, and plan to have space to do multiple rounds, which will improve your work. Also, good engineering writing almost always involves making good use of well-chosen sources. Document your research as you go and make your own notes about your thoughts about your research. Citations always take longer than you expect, so do them as you go.
Ask Questions As with all other courses, ask questions! The teaching team will answer any of your questions about assignments, concepts discussed in lecture, engineering, communication, and much more. You will have about 5-10 minutes before and after the lecture to ask quick questions. You can also always email professors for more personal questions or attend their office hours. You should definitely ask questions if you’re having a hard time understanding something. But it doesn’t just need to be if you need help. You can also ask questions or chat with your teaching team if you want to level up!
Take Feedback Seriously You will receive holistic feedback from TAs, professors, and teammates during studio activities along with written feedback on assignments and teamwork evaluations. Feedback is personalized and is all designed to help you become a better student engineer. Part of developing as an engineer means reflecting critically on the feedback you receive and deciding for yourself what to do with it.
Beyond First Year
You’ll learn how to identify engineering design opportunities and develop creative design concepts. This skill will be useful in future design courses and in your engineering career.
Completing an engineering design process for the first time is a great learning experience for most students. It’s very rewarding to find an opportunity, frame it, develop a concept and then prototype it through to proof-of-concept functionality.
As a future engineer, you will need to make engineering decisions based on strong arguments and credible, relevant evidence, and think with a sense of logic and rigor.
The research and citations that you do for the course may seem tedious at first, but they’ll prepare you for future design projects and courses by introducing you to the research tools necessary for professional engineering.
If nothing else, this course will give you confidence in your problem-solving abilities. Overcoming the wide variety of challenges will be a source of confidence for you in your engineering design and problem-solving abilities. Additionally, the engineering design frameworks and techniques that you will learn in Praxis I will be the foundations in Praxis II, where you will focus on applying these skills to a larger scale project.
ESC180 is an introductory computer programming course. The course is taught with the assumption that students have no prior experience in programming. Python will be the only programming language used for this course.
You’ll start by covering fundamental programming concepts, including functions, conditional statements, syntax, and loops. You’ll use these basic concepts to create simple programs, ultimately learn more advanced concepts such as Python data structures and recursion and be introduced to features of computers such as memory storage and time complexity. For assignments, you’ll be writing your own code for interesting applications, practicing the skills and theory from class.
For experienced programmers, much of this course will be repetition. For newer programmers with less experience, this course will require regular practice to build a new skill set.
Michael Guerzhoy (pronounced “GER-joy”, with a hard “g”, and with the “j” pronounced like the “s” in “measure”) is teaching both ESC180 and ESC190 this year. He graduated with an honours bachelor of science from the University of Toronto in computer science, mathematics, and statistics. He went on to earn a master’s degree in both computer science and statistics. Following this, Professor Guerzhoy remained at the University of Toronto to teach several courses, before moving to Princeton University where he worked as a lecturer in the Center for Statistics and Machine Learning. In 2021, he returned to U of T to teach computer science in Engineering Science.
Course Highlights
Discovering Python is not a snake – it’s the programming language you’ll be using for this course.
That eureka moment when your program works after you spend hours debugging it.
Generating code that solves a big, real-life problem with very basic concepts.
Figuring out how recursion works
Participating in some programming competitions hosted by Prof. Guerzhoy!
Life of an ESC180 Student
Lectures
There are typically three hours of ESC180 lectures per week. There are no tutorials, so be sure to pay attention during lecture! The professor will explain programming concepts and go through example code. Ensure that you attend every lecture, because there will be multiple quizzes throughout the semester!
Practicals (Labs)
There are no tutorials for this course. ESC180 practicals are weekly 3-hour slots held in the Engineering Computing Facility (ECF) Labs. Here, you will work in pairs on assigned programming labs, getting feedback from TAs if needed.
Labs (Practicals)
Labs are released weekly, and you have three hours to complete them. You will be challenged to program functions that complete specific tasks. The labs can be long and difficult, but they are very beneficial. Try to complete all of them: it is the best way to prepare for the midterm and final exam. They will give you an opportunity to practice coding and build on your programming skills. All labs are graded by TAs, who are also there to help if you get stuck. Don’t be afraid to ask for help, especially if this is your first-time programming. According to the syllabus, “teams that make their best effort toward completing the lab will be awarded full credit.”
Projects
Projects are longer than labs and are typically assigned 3-4 weeks before the due date. They are more difficult because their scope is larger. Instead of writing one standalone function, you need to write at least 4-5 functions that accomplish a broader goal. For example, you might need to track a fictional person’s physical activity and happiness levels or build a program that predicts its opponent’s moves in a board game. You may choose to work with a partner on projects. Projects will be automatically graded on Gradescope based on many programming test cases.
Midterm and Exam
ESC180 usually has a midterm and a final. In these exams you will be asked both conceptual and programming questions. For questions that require you to write code, you will have to do so using pen and paper. The code you write in the exams will be more conceptually challenging, although it will not be as long as code from labs. The challenge is writing it quickly and without external aids. Keeping up with the labs and practicing throughout the semester will reduce your prep time, and past exams are a great source of practice problems.
How to Succeed
Quick Tips & Equations
Know your “if” statements, “for” loops, and “while” loops
Indexing Python arrays starts at 0, not 1. This is good to remember because you will be learning MATLAB at the same time, where indexing starts at 1.
For assignments (and programming in general) ensure that you have thoroughly debugged and considered boundary cases. If your program produces an error on a boundary case, you will likely fail that particular case, and if your program does not compile at all, you will not receive any marks for the assignment!
More Details
We recommend starting ESC180 projects as soon as they are released. They require a lot of thought and iteration; they cannot be completed in one go the night before the due date. You will need to brainstorm a solution, try it out, debug, and probably try again. Don’t be fooled by the “simplicity” of the problem statement: even if a function seems easy to write, it might take you several hours to debug.
Some experienced programmers can write their code immediately after seeing a problem. However, we recommend that beginners write an outline in pseudo-code before writing any code. Pseudo-code refers to an informal version of code, written in words explaining what your program does. Plan how your functions will interact and what they need to do to achieve your desired result. This way, you’ll avoid making mistakes, writing unnecessary code, and confusing yourself. Planning and sketching things out on paper is especially important when tackling projects.
Aside from the midterm and the final, you will almost always write and practice coding on an IDE (Integrated Development Environment). While you may become very good at writing, debugging and running code this way as you do the labs, solving problems with just pen and paper without being able to test or debug them on an IDE is a completely different experience. During labs, you may get into the habit of writing, running, and debugging code line-by-line; however, during exams, you will have to go through the program you have written line-by-line in your head and identify the errors yourself. So, it is important to practice without an IDE regularly, so you are better prepared for written assessments along with the labs and projects.
Like any other skill, it will take time and practice to become comfortable at programming. You’ll make mistakes and feel frustrated when you don’t know what to do. The key is regular practice. Looking at code will not be as useful as writing code on your computer. Without actual practice, it’s impossible to improve. Experimenting is the best way to learn coding. You’ll learn to use many useful methods and tools by playing around with code.
Python is a very popular language and as such, there are countless free resources available online to help you learn or debug your code. In addition, Professor Guerzhoy posts all his lectures on his YouTube channel. You can watch these recordings to make up for missed classes, study for exams, or even to get a preview of what is to come to better prepare yourself.
Beyond First Year
Through ESC180 you’ll learn how to think like a programmer. You will be introduced to several programming problem-solving techniques. These include sequential, functional, iterative, and recursive programming.
Sequential: In basic programming, the computer follows a set of instructions one after the other. By thinking sequentially, the programmer tells the computer what information to save when moving between steps and in what order.
Functional: You’ll often need several small, independent functions in your program that come together to solve a problem. Thus, you need to think about the individual components of your problem and how multiple smaller functions can be combined to solve it.
Iterative: By using loops in programming, you can repeat an action as many times as you need to solve a problem. You must therefore understand how to create solutions using these iterative techniques.
Recursive: In some cases, it is impractical to solve a problem iteratively. That’s when recursion comes in handy. Recursion is a method in which you break down a larger problem into its smallest subproblem that has a direct solution. Since the solution to the larger problem depends on this direct solution of the smaller subproblem, your program breaks down the large problem, and once it finds the smallest subproblem, it works its way forwards with the solutions from each step. You have then found a solution!
Programming is one of the most essential skills in science and engineering today. Many technical courses will either use programming or teach you to program, and you can always use programming to simplify calculations in assignments and labs. Many internships and jobs require programming experience, so it’s great that EngSci provides a solid introduction in first year.
Note: The course code for Introduction to Computer Programming used to be CSC180. You may still see it referred to as such on some websites (e.g. courses.skule.ca).