First off congratulations on your acceptance that school is very respectable from what I'm reading online.
However, Software development is NOT computer science and looking at the program, its NOT a CS program and you wont be comparable to a CS bachelors holder.
In the world of web development (web monkeying) and app development sure its comparable, but you could do those things without a degree, a masters in basket weaving will help you with those jobs.
You'll be better off building you skills, learning DSA on your own and making connections in the industry. Its like offering a Masters in Engineering Technician (not technology, as technologist are different). I looked at a lot of "software development" degrees at bachelor and masters level and they don't seem like they are worth spending money for. There are some good software engineering and computer science programs that have a lot of cool stuff though.
However if you want to get in the depth, systems engineering, embedded development or real AI development then no way, that degree makes no sense.
People will argue with me and say "It's all the same" so I will give examples of two projects I've been working on in my free time so you can get an idea of how they differ, since I do both software engineering and software development.
COMPUTER SCIENCE
Here is an example, look at this page the guy is working on implementing a neural network on a dsPIC33FJ128GP502 DSP for voice recognition:
http://jontio.zapto.org/hda1/dsp.html
For me this is what CS is all about, that is computer science and that is true science and engineering, it involves understanding the device architecture, to the point your hand crafted assembly language is better than that generated by the compiler and knowledge of calculus and linear algebra.
I saw his work and am porting it to a dsPIC33CK dual core DSP which has similar architecture, but does not include an integrated 16-bit DAC like the dsPIC33FJ device, so I am working with a Cirrus Logic DAC and of course that extra core running at 100 MIPS can be dedicated to doing the harder stuff.
He didn't finish so I must continue his work, understand all the math he did and all his assembly language programs.
In addition to continuing his work, I'm working on integrating it with a speech synthesis project I was working on for embedded microcontrollers and made a port for the PIC32 32-bit microcontroller which was originally ported to work on a 16-bit microcontroller:
http://trinirobotics.com/2018/09/27/pic3...h-sam-tts/
The final project looks so simple, that in less than 100 lines of code (for the main program) you can have a speech synthesis engine based of Microsoft SAM TTS generator ported and running in under 39 KB of program memory. All the other code is hidden in the background and no one will know how complex the program is just looking at the final demo.
This project has been ported to making a German speech synthesis device and the original author has it running on the PIC24 16-bit device. The German engineers also massively cleared up the audio quality in addition to adding the German language and are running it on a different PIC32 device. While we both are using the PIC32 our ports are different and were done independently of each other.
You can follow along the German engineers discussion here:
http://www.thebackshed.org/forum/printer...6&TID=8202
And even get the source and stuff for their port:
https://www.thebackshed.com/forum/forum_...PN=1&TPN=8
My ultimate goal to is have an embedded lock, using a dual core DSP and a port for the PIC32 and STM32 that uses an embedded neural network to recognize a voice and then provide an a speech synthesized output that works across multiple architectures (MIPS, ARM and Proprietary) with different CPU types (16 and 32 bits, single core, multicore) using low level assembly and C, and maybe C++ for the STM32 version all offline. Maybe port to Spanish, French etc and all this will be on devices that aren't connected to the internet and won't cost much.
Is this all CS grads do? maybe not, but if I had to hire an intern they may be able to understand the math behind FFTs, feed forward neural networks, vectors and matrix multiplication.
Now the average CS grad did calculus I and II, discrete math, statistics and linear algebra as well as computer architecture, C or Assembly programming and within a week will be able to jump in an at least follow whats going on.
If you did that masters in software development and were working as a code monkey, copy and pasting "code" from stack overflow, you won't know what to do. Could they have learned this themselves? Sure, but 99% of them wont because other "developers" will tell them math and CS courses aren't needed to be a developer, which is true, but you wont be an engineer.
I first understood linear search when I was in my early teens in my favorite language C, and I've used it in C++, C#, Java, Pearl, Python and JS. The language didn't matter to me at all. The only thing changed is that I've gone from implementing it myself to importing a built in version of it, though I can still re-live the joys of doing it myself on microcontrollers.
I learned the basics of calculus from a friend of mine who was doing "add maths" in high school which came in handy when I started learning about how to use FFT and going through EE books in my free time.
When I was doing my CS degree at TESU I had to do the linear search algorithm and had to do Calculus, the logic chips I used as a child and the FPGAs I developed with helped me with discrete math and computer architecture.
These things I have picked up over my lifetime, always transferred and wont go away from me soon. Calculus, Logic and algorithms wont disappear. They are core to CS and will remain that way as long as human engineers are needed.
SOFTWARE DEVELOPMENT
I am currently working on a website to sell electronics parts online in my country as there are no stores online that specifically focus on electronics components and even the B&M stores have shifted to more consumer electronics. A company name Detour bought the Radioshack chains here and call them "DETOUR-Tech" and sell clothes within the stores and load of consumer electronics, there is however still a market for electronics components that I will fill.
Since I started development as the sole developer, I decided to use PHP 7 on the back end as my hosting provider finally supports PHP 7.0, and on the front end plain old JS, CSS and HTML just some bootstrap to make it look nice and some jquery.
The entire thing I'm am building using the text editor VS CODE and Chrome DevTools console for debugging.
It's a shared hosting so the database is on a shared server I built using PHP my admin, and the email server is set up with a GUI.
Basically there is a homepage that lists the new products and the featured ones pulled dynamically from the database, there is a cart that I can add products to that require you to create an account before you can checkout. From the account customers can view their orders and have a profile with some info they can update.
The most challenging thing was building the contact form to send mail, I've built a few before but decided to do it from scratch for the challenge and have one I know inside out that I can reuse if needed. When I loaded the side to being live tested which worked fine in my test environment, I had an issues with the PHP buffer that I needed to flush which just involved adding 3 lines of code to the top with the old "ob_flush();" solving the problem.
All that's left to work on is payments, and I was able to add SSL by clicking a button, as SSL and HTTPS came with my package as well as options for directory indexing etc. So all I need is to integrate PayPal checkouts and I'll be done.
There is also a backend CMS I built to handle updating products, updating the slider and product categories etc. so I can have anyone add products to the site and what not.
I would list the site here but it's not done yet as I still have the PayPal integration to do and well secure it some more and test more.
A worker on my recently started farm and friend of mine has an interest in web development, he finished High School and dropped out of college. He wants to learn "coding". So I've been walking him through and led him to freecodecamp. I taught him some PHP and sessions etc and he can understand most of the stuff I did with my site in under a month. He is determined and after 10 hours of work, codes until he goes to sleep, he recently went through a breakup and I think he channels everything into his coding.
I'm also learning Google Flutter and will use it to build an app to sell as well. The last app I built was in Java for Android and before that Objective-C and my first app was a J2ME for a Nokia when I was am early teen. Flutter feels the same using a JS like language called Dart and with VS Code it's not hard at all just must learn all the quirks and bugs of the framework. Same dance, different song.
Today a coworker of mine asked me to build a website for him to sell used heavy machinery and used parts for them, which is his side hustle. He already uses Facebook but now wants a website as he has so much parts, and he wants an "official" company email. I told him I can have it set up in 2 weeks cause I know all I have to do is find few spare hours to modify the site I was working on and click a few buttons to set up an email.
Will a CS grad be able to work on such a system? Sure. Will a software development grad be able to work on such a system? Sure. A HS grad? Sure.
What about the design for my requirements. A CS grad? Sure, as they have had an analysis or SE class. A software development grad? Sure. They might have done a systems analysis and design class. An HS grad? Sure, given enough time. My friend I'm teaching can work on parts like individual pages and stuff quite well in a short space of time but still has trouble understanding the "big picture".
Software development is simple, just gather your requirements, find the tools and do the implementation. Will there be harder cases? Sure and if your application is too large a software engineer or software architect (usually a demi-god in the industry) will design the entire layout and analysis. A software developer however will work on the individual components.
Software Development simple requires knowing the current tools of the job that hipsters keep trying to change and push. There are many "hypes" (Pearl, Ruby, Python, Node etc) that come into popularity then go, but the job isn't much different.
Software development is basically this. Find out what the customer wants, plan how you are going to do it, use the most stable tool that's new enough to not be obsolete, but old enough you wont have to chase all the bugs to implement it, build the thing and work with your customer, then for the next 7 years keeping it going which watching your creation become obsolete.
CS vs SD
CS is CS and software development is software development. I HATE to hear those "developers" you know the guys who spent 5 years, 10 years, 15 years, 1 month whatever doing web development saying its interchangeable with CS and CS is "worthless" and "waste of time". All these "CEO's" of a web development companies saying CS is a waste of time.
I have been into computers since I was 8, starting learning from Logic ICs all the way up to Flutter now giving me 18 years experience in the field. I've programmed on Widows 95, Linux Systems, MACS, FPGAs (from Vitxtex-E to Virtex V), Microcontrollers, PLCs, 4 bit, 8 bit, 16 bit, 32 bit, 64 bit, heck I'm even looking at 128 bit RISC V processors recently. I've dealt with SUPER-H, ARM, MIPS, RISC V, x86, x64, AMD, Intel, web, mobile, embedded. I've seen PHP, pearl (old name for python) java and ruby gone from being the "kings" to being cursed at. Hypes come and gone, you name any popular technology and over the course of my life I have dealt with it directly or indirectly. As for languages I've dabbled in too many to list, though I enjoy the C based languages as the BASIC I learned is mostly dead (well the MikroBASIC and Great COW Basic I use to teach microcontrollers to kids comes in handy, the former can do 32-bit ARM chips!) and the C languages are easiest to get work done. I enjoyed computing as my past time and as a job.
That's why I can say Software development changes, but CS remains the same. They are two different things.
It hurts me a little to see programming going from being a respectable profession I once dreamed of earning a living by to being the "monkey see monkey do" stack over flow "copy and paste" garbage it has become.
To make it worse, they are trying to drag CS into the mud along with it and a lot of people saying "I didn't learn anything about "coding" in my CS degree".
Anyone can learn software development. If this were any other branch of engineering like electrical or mechanical it's like a technician job. You don't need a degree, you can learn on the job or do a certificate. Software development is a "trade".
I think its absurd to say they are the same. They are not.
Learn discrete math, learn calculus, heck even learn linear algebra in your free time for fun, cause that's where the heart of CS lies. Don't take a software development program and expect to be "on par" with a CS grad. They are two different disciplines that require two different mindsets.
Why not just do a masters in CS? or software engineering? I think it would serve you better. If you just want a piece of paper then anyone of them is fine.