From 2665990266db0db7bcb0d84a1b7c921d60e92a05 Mon Sep 17 00:00:00 2001 From: aryzach Date: Sun, 10 May 2020 10:57:02 -0500 Subject: [PATCH] updated Software Engineering prereqs and added relevant FAQ --- FAQ.md | 6 ++++++ README.md | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/FAQ.md b/FAQ.md index fcee499..9f6da93 100644 --- a/FAQ.md +++ b/FAQ.md @@ -17,6 +17,7 @@ Alternatively, you could [contribute](#CONTRIBUTING.md) an answer yourself. - [Why is the curriculum missing some pre-requisites?](#why-is-the-curriculum-missing-some-pre-requisites) - [Why is the Firebase OSSU app different/broken?](#why-is-the-firebase-ossu-app-different-or-broken) - [What is a good course to learn the language XXXX?](#what-is-a-good-course-to-learn-this-particular-language) +- [Why require experience with a sizable project before the Software Engineering courses?](#why-require-experience-with-a-sizable-project-before-the-Software-Engineering-courses) ## Questions @@ -114,3 +115,8 @@ It is our hope that the creators of the Firebase app can bring the app up to dat OSSU focuses on finding the best courses to learn computer science topics, and isn’t focused on finding language specific courses. If you are looking to learn a particular language or framework there are two great resources to check. 1. [Hackr.io](https://hackr.io/) allows users to submit and upvote learning resources for topics such as Python or the Java Spring Framework. 2. Most languages have a community on reddit. When you find the community’s page, check to see if there is a wiki or sidebar with resources. For example, see [/r/python](https://old.reddit.com/r/Python). Note that the sidebar content can be different depending on whether you use www.reddit.com or old.reddit.com. + +### Why require experience with a sizable project before the Software Engineering courses? +Software engineering tries to solve the problem of dealing with large programs. Building a sizable program before taking the SE courses will help you understand what SE is trying to solve. We recommend the Jack-to-VM-code compiler project from the nand2tetris course because it's the first project in the curriculum that is complex enough to see value in a SE course. That said, any sizable project will do and can come from outside of the OSSU curriculum. The idea is that you've done some large enough project where the pieces started to feel unmanageable. This experience will expose pain points and lead to a better understanding of SE. + + diff --git a/README.md b/README.md index 15add6e..2634454 100644 --- a/README.md +++ b/README.md @@ -328,7 +328,7 @@ Courses | Duration | Effort | Prerequisites [Relational Database Systems](https://www.coursera.org/learn/relational-database)| 6 weeks | 3 hours/week | - [Machine Learning](https://www.coursera.org/learn/machine-learning)| 11 weeks | 4-6 hours/week | linear algebra [Computer Graphics](https://www.edx.org/course/computer-graphics-uc-san-diegox-cse167x)| 6 weeks | 12 hours/week | C++ or Java, linear algebra -[Software Engineering: Introduction](https://www.edx.org/course/software-engineering-introduction-ubcx-softeng1x) | 6 weeks | 8-10 hours/week | Software Construction - Object-Oriented Design +[Software Engineering: Introduction](https://www.edx.org/course/software-engineering-introduction-ubcx-softeng1x) | 6 weeks | 8-10 hours/week | Core Programming, and a [sizable project](FAQ.md#why-require-experience-with-a-sizable-project-before-the-Software-Engineering-courses) [Software Development Capstone Project](https://www.edx.org/course/software-development-capstone-project-ubcx-softengprjx) | 6-7 weeks | 8-10 hours/week | Software Engineering: Introduction ## Advanced CS