Who are the intended 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, 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. I will get you started but you are expected 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 (disclosure: I teach that course too! Feel free to use its lecture notes as a supplementary resource for this class).
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 5 people in your group, that means you each should plan to put, on average, 8 hours per week on OOSE (including lectures, meetings, etc). The eight hours per week is what I consider the bare minimum required time commitment.