The Software Construction courses have been removed from Core Programming, however the Software Engineering and the following Capstone Project courses remain in Core Applications.
How To Code, Software Construction, Software Engineering and the Capstone Project all follow each other sequentially as part of the Software Development MicroMasters offered by edX, and as such each course is a requirement of the last.
If the last two courses of the MicroMasters are to remain in the OSSU curriculum, then the prerequisites for Software Engineering should be changed. Is anyone currently doing SE? What would the prerequisites look like for that course?
I had to skip the two SE courses because they are behind a paywall. It's possible to view videos but not possible to access the quizzes or assignments. A student, who actually did pay, wrote at length and said that the instructors basically abandoned those courses so they are trash now. He spent 6 months on it, only to have the TA write back "you're on your own". They should be removed from the curriculum completely.
I think there was an issue for the removal of the SE courses, I don't know why that change wasn't made.
SE: Introduction is all about Software Development Methodologies (Agile, Scrum, Waterfall, Unified, Sashimi, Kanban etc.) and these are all covered by a Coursera course (which is also behind a paywall but only for submitting quizzes, not for accessing them):
https://www.coursera.org/learn/software-processes
I finished this instead. Although I was unable to submit my quizzes, they also had practice quizzes which had similar questions so I was pretty confident of my answers. The only issue is that some of the assignments are long form written assignments (given a scenario for a software development project, you have to write and explain how you would handle it) and it's supposed to be peer-graded if you pay.
SE: Capstone project is supposed to finish the Core Curriculum with a full stack project (Mario game on a webpage with Typescript). I recommend the SECOND half of CS50 to replace this. At the time I took it (May 2018) it was all about Web-based projects, but you could do other stuff too. Doing some web app with HTML/CSS/Javascript/SQL/framework of your choice such as Python/Flask etc. and hosting it on some site such as Heroku. That's what I did so I don't feel like I was missing out on anything by skipping SE:Capstone Project.
To summarize: let's remove the two SE courses and put CS50 Second Half to Core Applications.
Just looked at what's currently the second half of CS50. Its python, SQL, then 'information.'
The python project is rewriting some assignments from the first half in python. The SQL project is running some queries to answer some questions. Didn't look like any project for the 'information' chapter.
I'd argue this is not the approach we should take. We currently have an SQL / Databases course in Core Applications. Further, I think a full-stack development primer course serves a different purpose than the python / SQL combo, and it's a primary application of CS in industry.
I've taken our old Software Construction courses, but haven't taken either SE: Intro or SE: Capstone.
@spamegg1 Did you take SE: Capstone? I'm curious how much you need the two Software Construction classes to really be successful here.
Anyway, I think a primer to web dev should definitely be in core applications. But maybe the question is just to find a different class to fulfill that if the current course isn't doing the job.
The second half of cs50 is also a choice of three tracks: mobile,web and game development.
@daniel65dj https://cs50.harvard.edu/college/2020/spring/syllabus/ I don't think it is in the current version of the class
That's not the opencourseware(edx) version.This is.
@daniel65dj gotcha thanks. I'm still not sure if I'd agree replacing SE: Capstone with it just because the Capstone seems more substantial from the surface. I plan to take it soon, but if anybody has taken both (or another web dev intro) it'd be good to get some kind of comparison.
There is a full stack web dev course by University of Helsinki: https://fullstackopen.com/en/.I'll be taking it in the near future probably.
@aryzach No I did not take SE:Capstone. According to the only student who barely finished it, it was substantial. However, having absolutely no help and having to learn Typescript and node on his/her own, being stuck on it for almost 6 months, probably added greatly to how substantial it felt. My guess is that not much is lost if I don't do it.
The project that finishes the second half of CS50 can be made as substantial as one wants. I spent about 3-4 weeks on it. The choice and the "depth" of the project is entirely up to you. (You don't have to use Python and/or SQL at all). For example some CS50 students did more or less exactly the same thing SE:Capstone does (web-based Mario game). I saw it on the CS50 expo website.
Another option is to remove SE:Capstone WITHOUT replacing it with anything, and pointing people to the Full Stack Web Development Specialization later.
If Core CS is supposed to be "one possible stopping point" for some students who don't want to go further, then Core CS section can have a "final project" type section at the end of it.
I guess I'm neither here nor there. Before learning CS, I thought I'd learn web dev a lot sooner in a curriculum. After taking classes here and having a better understanding of what CS is, I understand why it's not really important for CS. I still think it fits nicely in 'core applications' because I think a lot of programmers work doing web dev or software dev after graduation. Definitely a lot more than in computer graphics. I think if we make it clear somewhere in Core CS something like "you're definitely ready / prepared to do full stack if you want to do that now, but you also don't have to." I also think it would probably give some context to the people who take the 'Advanced programming' route in advanced CS.
@aryzach Agreed. Finishing Core CS should come with a feeling of accomplishment and "you are ready to do some serious stuff!" kinda feel and direction. I think it's fairly reasonable for a student to jump to the Full Stack Specialization after that.
The capstone project has horrible reviews, and appears to be somewhat abandoned in development.
I don't think it would be a good use of student time judging by the reviews. (It also costs $300!!)
Would love to hear reviews from OSSU students.
The original issue has been addressed here: https://github.com/ossu/computer-science/pull/711
There is an outstanding question of whether this course is a good match for OSSU. (My suspicion is that it is not) I think that deserves its own issue and will involve a hard look at our current curriculum, CS2013 and available moocs to determine how to best meet any unfulfilled curricular requirements.
Most helpful comment
I guess I'm neither here nor there. Before learning CS, I thought I'd learn web dev a lot sooner in a curriculum. After taking classes here and having a better understanding of what CS is, I understand why it's not really important for CS. I still think it fits nicely in 'core applications' because I think a lot of programmers work doing web dev or software dev after graduation. Definitely a lot more than in computer graphics. I think if we make it clear somewhere in Core CS something like "you're definitely ready / prepared to do full stack if you want to do that now, but you also don't have to." I also think it would probably give some context to the people who take the 'Advanced programming' route in advanced CS.