Audience
Students come to OOSE with a varied background; for some, OOSE is their first opportunity to work on a real software project. Other students come to OOSE with more experience (after having done an internship or worked in industry). Regardless of your level of experience with app development, OOSE is a course for you to become a better software engineer and have fun developing a project with your peers.
You must know that OOSE is not a typical course. What I mean is that I am not going to "teach" you how to build software systems! You are going to learn that on your own. We assume you already have some level of app development experience (e.g. by already taking either Full Stack Javascript or User Interfaces Mobile Application course), and in OOSE you will need to explore and experiment with outside resources in order to learn technical details independently. You shall rise up to face challenges and find ways to overcome them, without any help from the teaching staff. You may as well look at me as a manager or supervisor, rather than your teacher!
This course is designed on the premise of academic self-efficacy and promotes self‐directed learning.
Self‐directed learning is when you take initiative and responsibility for learning. You select, manage, and assess your learning activities. You have the independence of setting the goals and defining what is worthwhile to learn. Teachers provide scaffolding, mentoring, and advising. Peers provide collaboration.
Self-efficacy refers to the beliefs you hold in your capabilities to think and behave in ways that are systematically oriented toward or associated with your learning goals.
We will help you set clear and specific goals that are challenging but not outside the range of your capabilities. You will collaborate with your peers to achieve those goals. We then help you assess your progress by providing honest, explicit feedback.
Self-regulated learning is not everybody's cup of tea!
If you prefer a setting where you are taught (in a more traditional sense) to develop modern software applications, consider taking EN.601.280 Full-Stack JavaScript if you have not already taken that course.
What time commitment is required?
Let's do the math! Your group should plan to collectively work like a full-time junior software developer engineer (SDE). Contractually, a full-time SDE works 40 hours per week. In practice, it is usually more than that, often much more! If there are at least 6 people in your group, that means you each should plan to put roughly 7 hours per week on OOSE (including lectures, meetings, etc). The 7 hours per week is the bare minimum required time commitment. In the latter part of the course when there are no lectures, reading, homework etc., you will spend all your hours on you project work.