×

Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

Ask Slashdot: Modern Web Development Applied Science Associates Degree?

samzenpus posted about 10 months ago | from the teach-them-well dept.

Education 246

First time accepted submitter campingman777 writes "I am being asked by students to develop an associates of applied science in modern web development at my community college. I proposed the curriculum to some other web forums and they were absolutely against it. Their argument was that students would not learn enough higher math, algorithms, and data structures to be viable employees when their industry changes every five years. As part of our mission is to turn out employees immediately ready for the work force, is teaching knowledge-based careers as a vocation appropriate?"

Sorry! There are no comments related to the filter you selected.

masters degree (-1, Flamebait)

TempleOS (3394245) | about 10 months ago | (#46389935)

I have a masters degree from ASU. Undergrad was computer systems engineering, Masters was electrical engineering. Engineering requires smarter people than computer science. Physics is tops. Psychology is bottom.

Re:masters degree (3, Funny)

Hognoxious (631665) | about 10 months ago | (#46390215)

Oblig: http://xkcd.com/435/ [xkcd.com]

And yet your boss, his boss and his boss's boss are probably either MBAs or lawyers. Go figure.

Re:masters degree (1)

Zalbik (308903) | about 10 months ago | (#46390309)

Physics is tops. Psychology is bottom.

Mathematics says "Hi, how's it going down there?"

Re:masters degree (1)

Assmasher (456699) | about 10 months ago | (#46390575)

Seriously? LOL. An applied science doesn't require smarter people than pure science. The intrinsic limitation of being 'applied' would suggest that pure science would actually require smarter people.

In any case, the reality is that neither requires smarter people.

Re:masters degree (0)

HornWumpus (783565) | about 10 months ago | (#46390653)

CS is not a 'pure science'. CS is taught out of fucking business schools at some universities.

There are going to be a couple of exceptions (schools) but in general people flunk out of EE/CompE and go on to do well in CS, never the other way around.

Re:masters degree (0)

Anonymous Coward | about 10 months ago | (#46390635)

And CS pays better than EE or Physics. That's why you get people with Physics degrees writing software.

Not a good idea (0)

Anonymous Coward | about 10 months ago | (#46389945)

Web standards move to fast. By the end of a four year program, everything they learned is obsolete.

Mentorship, sure. Apprenticeship, I wish.

Degree? Useless.

Re:Not a good idea (3, Insightful)

bhcompy (1877290) | about 10 months ago | (#46390007)

1) Associates degrees are two year programs.
2) Like any other degree, the point is to get the piece of paper. You're hoping that the degree shows that people are smart enough to learn a new language with an understanding of how the language of their particular platform works in general. Web development is a lot less based in hard math/logic in general than most other forms of development. You don't train a nurse to perform open heart surgery like they're some kind of cardiologist, thus you don't need to train a javascript developer to write assembly or know advanced calculus.

Re:Not a good idea (3, Insightful)

MrBingoBoingo (3481277) | about 10 months ago | (#46390391)

Pretty much this. People going into an associates program generally are doing it for the vocational training with the expectation that when they graduate they can get a job where they continue learning and training in the craft. For this sort of curriculum you want to start with the basics of learning the relevant languages and tools, and bleed into working on practical projects before the end of the program. The biggest challenge in a two year curriculum is going to be introducing databases.

Re:Not a good idea (4, Funny)

Marxist Hacker 42 (638312) | about 10 months ago | (#46390567)

For 99% of web work, you can get by with the concept of relational databases and three SQL commands: Select, Insert, and Update.

PLEASE don't teach them delete.

Re:Not a good idea (1)

metalmaster (1005171) | about 10 months ago | (#46390037)

Associates' refers to a 2 year program, but i agree that anything that's relevant now will not be 2 years from now.

Re:Not a good idea (1)

HornWumpus (783565) | about 10 months ago | (#46390239)

Anything that's obsolete in two years should not be part of schooling.

There are plenty of things that will not be rapidly obsolete that will more then fill a two year (or four year) program.

Start with 'basic computer programming' (any procedural language so long as it's C; this is a washout class, expect a 25% pass rate), then practical HTML, move on to database theory and practice.

Finally one semester of practical web programming per web development platform you can find competent teachers for. Let the students take one or more if they have time.

That said 90% of students in this program will not be able to learn by doing at the end of the program and will fall off inside of 5 years. The 10% that won't fall off, likely never needed the program in the first place.

Re:Not a good idea (0)

Anonymous Coward | about 10 months ago | (#46390561)

C in a website application curriculum? You're kidding right? Most "web developers" I've run into under 30 don't know C, C++, or Java. If it's not Ruby, Python, or "insert flavor of the month scripting language here" they won't touch it.

Re:Not a good idea (1)

HornWumpus (783565) | about 10 months ago | (#46390681)

As I said. It's a washout class. Also an attempt at giving them a clue about what's going on under the hood.

Re:Not a good idea (1)

Marxist Hacker 42 (638312) | about 10 months ago | (#46390597)

I'd go with C (make it hard enough to achieve a 10% pass rate, else you're not going to weed out those who don't have the stamina to code hours on end, this is the Controller)- followed by databases (any relational database will do, keep it simple, third normal form and select/insert/delete, this is the Model) and then, when they've got the basics, HTML/Javascript (the View). I can see it actually being two terms of each, for six terms total.

Re:Not a good idea (5, Insightful)

NotDrWho (3543773) | about 10 months ago | (#46390305)

i agree that anything that's relevant now will not be 2 years from now

-sarcasm on-
Yeah, remember back in the 90's when html, javascript, java, etc. were important for web developers? All long forgotten now.

Not to mention all the OOP languages that were all gone within 2 years of being introduced--like C, C++, etc.
-sarcasm off-

Do you people ever actually read what you type?

Not necessarily true... (1)

PortHaven (242123) | about 10 months ago | (#46390609)

If you learned Java, HTML 4/5, CSS, difference of SQL/NOSQL data storage, etc. These things are NOT going to cease in 2 years.

The problem is, that universities are often decades behind. In 2000, my computer science program required Novell Netware, COBOL, and PASCAL was common too. Sure I took some C++ and VB as electives. But how could an entire computer science curriculum be devoid of anything web related in 2000? That was just insane...

It would be like graduating today, and not even touching upon mobile, web services, or XML....huh what?

We're not talking about graduating students at the cutting edge. But they shouldn't waste 2-4 years of their lives to come out 10 years behind the 8 ball. That's ridiculous...

Re:Not a good idea (1)

roman_mir (125474) | about 10 months ago | (#46390141)

I offer apprenticeship positions, I have 4 students right now actually, 2 finished their education, one dropped out and one is still studying. I took them in with the understanding that at first they are not getting paid at all, they all agreed to it. There were a few others, who I had to let go, they were useless. At this point I am paying all of my students, they display themselves as being useful, they learn quickly, they have the right attitude, so now they are making good money for their level of experience and productivity. Apprenticeship is not dead, except in the welfare states, like the USA.

Change? In the web? Not really. (5, Insightful)

mveloso (325617) | about 10 months ago | (#46390181)

Javascript and HTML haven't changed all that much. CSS? It's getting to the point where change is slowing down. Web architectures have been stable for years.

Nobody in real life uses higher math in front-end web development. They might use multiplication and division to do layouts. It's debatable whether anyone actually uses algorithms. Data structures would be handy, but it's also arguable whether web developers actually understand them or not - especially if you talk to any DBA about how website A uses the RDBMS.

Web frameworks would be handy. There are general things about frameworks that don't change.

What would be good would be some discussion around the process of building a website, from customer requirements to deployment. How to choose a technology, payment processor, server technology, etc.

Re:Change? In the web? Not really. (0)

Anonymous Coward | about 10 months ago | (#46390459)

So much THIS, I can't help myself. For all of the high-falutin' talk about algorithms and higher-order maths, the things that are consistently missed (badly!) by many web developers (and web development teams) are working together with customers to develop sane and achievable requirements, choosing proper technology, implementing good security, and producing something that's actually usable by real customers who don't have CS degrees (because, duh, your customers DON'T.) The fancy crap keeps changing, but that's just ${insert_language_here} flavor-of-the-day churn. Build a good solid website that does what it's supposed to do in an intuitive, customer-focused way, and it can easily survive the Web X.0 churn as well. (Dare I say, Classic Slashdot is a good example of this principle, whereas Beta... well, I digress.)

Re:Not a good idea (1)

BitterOak (537666) | about 10 months ago | (#46390217)

I still use a five year old book on CSS and a seven year old book on PHP, and they work just fine. Javascript has changed a bit since then, and newer tools like jquery evolve more rapidly, but the fundamentals change slowly enough that if someone gets a job in the field when they graduate, they should be able to keep up with changes throughout their career. This will be especially true if the professors teach it properly: encourage independent learning and discovery through projects and reading and not relying solely on lectures. In other words, teach the students how to learn web development, instead of just teaching web development.

Re:Not a good idea (1)

bobbied (2522392) | about 10 months ago | (#46390297)

Degree? Useless.

Not so fast. Degrees are not useless. Sure the technology learned when earning the degree might be obsolete by the time you get out and actually find a job, but the advantage of the degree is NOT the tools, it's the learning of the *process* of software development. It's about the mindset and not about the specific tools you use.

Now if you only learned the tools when you got your degree, it was worthless, but most degree programs do much more than produce coders fluent in the language of the day. They should teach you the basics of data structures, how to convert your algebraic equations into code, some of the classic algorithms for sorting and such. They should teach you HOW a computer actually works and what your code makes is do. In the end you should be able to DESIGN a program not just code one up. The better degree programs also teach you how to teach yourself which is a life skill a programmer will ALWAYS need, and most HS graduates have never mastered.

So formal schooling (2 or 4 more years) has much value.

Re:Not a good idea (1)

Nemesisghost (1720424) | about 10 months ago | (#46390537)

I think that's why it would be an associate's(2 year) degree as apposed to a bachelor's(4 year). And in general, while specific technologies change quickly, the overall theory behind them really hasn't.

Re:Not a good idea (1)

Marxist Hacker 42 (638312) | about 10 months ago | (#46390545)

" at my community college"

This would be a two year degree with a lot of mentoring, and would likely be 20 credit hours or less.

You *MIGHT* be able to teach somebody some basic web design in that amount of time, but they would end up the young kid on a team doing front end work.

I'm confused (2)

pieisgood (841871) | about 10 months ago | (#46389963)

What would someone with an applied science in modern web development do?

Would they work on the algorithms for applied science in a server side language like php?
Would they work in python/c++/haskell or something like fortran and hook into php?

I'd like to help, but I need some further information.

Note: I looked up this degree on google and the last result on the first page was this submission.

Re:I'm confused (5, Interesting)

campingman777 (1432017) | about 10 months ago | (#46390029)

SEMESTER 1
        English I
        Intro to computers (or waived) (CIS 100)
        Programming tools (Github, IDEs, StackExchange, JIRA)
        Intro to Programming Logic (CIS 104)

SEMESTER 2
        Algebra I
        English II (tech writing)
        Project Management (software)
        Web Development I (HTML & CSS)

SEMSTER 3
        Government
        Interpersonal Communication
        Databases I (re-visit & modify current offering)
        Web Development II (Javascript & jQuery)

SEMESTER 4
        Cultural Anthropology
        Introduction to Unix (CIS 140)
        Web Development III (node.js, MVC frameworks, e-commerce)
        Capstone Project

Re:I'm confused (1)

Anonymous Coward | about 10 months ago | (#46390135)

You need at least one serious web development programing language in there like python, ruby, or (dare I call it a programming language) php. Meanwhile Intro to Programming Logic should be a traditional format language like C++ or Java so that when introduced to a web programming language with different formating, they have a reference point when they are handed a different web programming language with different formating later on.

Re:I'm confused (0)

Anonymous Coward | about 10 months ago | (#46390231)

One other thought, that's a really light course load. You could fit one more class a semester easily.

Re:I'm confused (0)

Anonymous Coward | about 10 months ago | (#46390319)

Do you want serious web development language or python, ruby, or php?

Re:I'm confused (0)

Anonymous Coward | about 10 months ago | (#46390379)

Re:I'm confused (0)

Anonymous Coward | about 10 months ago | (#46390699)

You need at least one serious web development programing language in there like python, ruby, or (dare I call it a programming language) php.

I would not suggest that. First of all, the most "serious" Web development languages, these days, are JavaScript and CSS.

CSS, especially. Good CSS is very difficult. You can do amazing things with CSS. [cssplay.co.uk]

JavaScript is rapidly becoming a server language.

PHP would be next, over Ruby or Python; as most CMSes, these days, are written in PHP, and Web development is what happens over the engine. If you want to get geeky, then consider teaching theme and plugin development.

For the record, I have a long history as a compiled language developer (ASM, PL/1, FORTRAN, C, Pascal, C++, ObjC, etc.). I don't particularly like PHP or JavaScript, but a lot of people do, and that's why they need to be taught.

Re:I'm confused (1)

khasim (1285) | about 10 months ago | (#46390253)

The problem I see with that is that you don't have enough tech.

You have 5 courses that I would consider "electives". English I and English II being examples of such.

You have 5 "intro" courses.

Which leaves 3 stages of web development and 1 stage of database ... whatever. You have more electives than core.

Which leaves a basic math class and a project class. Dump the math class. If they don't have it already they can make it up outside of that program. Add another database class.

Also dump the "programming tools" class. They can pick that up in their programming classes. Add a class on basic web server administration. Install Apache and add modules and read logs. Install IIS and so forth.

Re:I'm confused (0)

Anonymous Coward | about 10 months ago | (#46390439)

Not only that, but the course load is light. I would expect students to be taking 5 classes a semester on average. 6 classes if you're really ambitious.

Re:I'm confused (0)

Anonymous Coward | about 10 months ago | (#46390709)

You may be confusing college with high school. Three or four college classes is a typical full-time load.

Re:I'm confused (1)

DaveV1.0 (203135) | about 10 months ago | (#46390705)

Chances are those classes you think should be dumped are required by the certifying authority for this to qualify for an AAS. Many of the classes will be for people new to programming, so programming tools, etc. will be needed. There is no need for a basic web server admin class. There is most-likely an entirely different AAS degree for that kind of knowledge.

Re:I'm confused (0)

Anonymous Coward | about 10 months ago | (#46390071)

They would make web stuff; html, javascript, etc. This is an embiggening of a vocational qualification, like Facilities Maintenance Engineer for janitor or Senior Sales Associate for cashier.

Re:I'm confused (0)

Anonymous Coward | about 10 months ago | (#46390083)

An Associate of Applied Science is a type of associate degree. It differs from an Associate of Arts or Associate of Science typically in that it does not require general education courses. What this means is that the student would take probably something like 60 credits of only "web development" related course work.

I obtained an Associates of Science degree in 2004 in Computer Information Systems. This had general education requirements, so I had to take some classes in English, Math, Humanities, etc.

Re:I'm confused (1)

pieisgood (841871) | about 10 months ago | (#46390157)

Ok, when I went to CC I only got an AA. Looking at it now though it makes sense. Just like people can get a bachelors of science in computer engineering. This was my mistake.

I guess the course design then would be tailored around the kind of worker you want to output. Do you want to output a JS front end type guy, or a back end software design and architecture person?

Re:I'm confused (1)

ColdWetDog (752185) | about 10 months ago | (#46390271)

Whatever they do, make them take at least two semesters of non remedial English (assuming you are in the US).

Please.

Re:I'm confused (0)

Anonymous Coward | about 10 months ago | (#46390429)

"Whatever they do, make them take at least two semesters of non-remedial English (assuming you are in the US)." #ftfy

Re:I'm confused (1)

StripedCow (776465) | about 10 months ago | (#46390229)

Or they might learn to build the next Hadoop/Cassandra/etc.

How To Teach It (0)

Anonymous Coward | about 10 months ago | (#46389979)

If you are just going to teach them how to use [popular GUI webpage design app], then I would say it is worthless. If your curriculum includes a fair bit of algorithm study and performance analysis techniques, it might be more viable. An AS isn't going to be enough for someone to design the back-end to say Netflix or Facebook, but if you can teach them how to make maintainable, professional quality websites, there is a market for these for local professionals (Doctors, Lawyers, independent restaurants).

Trade school (1)

Animats (122034) | about 10 months ago | (#46389987)

There's nothing wrong with running a trade school. But "associate of applied science in modern web development" is a bit much. Still, you can now get an "associate degree" in heating, ventilating, and air conditioning. [vistacollege.edu] No classes in thermodynamics, but training in useful skills including brazing, soldering, and plumbing.

Teach the fundamentals (4, Insightful)

vilanye (1906708) | about 10 months ago | (#46390001)

The fundamentals never change. With a solid base, there is nothing a programmer can't do.

An AA program focused on what will get them hired today is exactly what will not get them hired tomorrow.

Re:Teach the fundamentals (0)

Anonymous Coward | about 10 months ago | (#46390061)

without those buzzwords on the resume, all the CS in the world will not get you hired.

Re:Teach the fundamentals (1)

EMG at MU (1194965) | about 10 months ago | (#46390143)

The fundamentals never change. With a solid base, there is nothing a programmer can't do.

An AA program focused on what will get them hired today is exactly what will not get them hired tomorrow.

That is true. And so many of us are thankful we learned the fundamentals and principles because we have had really gainfull and fulfilling careers because of it. But not everyone is like us.

There are a lot of people who don't want to / cannot learn the fundamentals. But since they have been told the only path towards the middle class is to go to a 4 year school they will enroll and either drop out, flunk out, change majors, or graduate being barely competent in what they studied. And they will most likely have a lot of debt.

Wouldn't it be better to give those who wish it another option?

Re:Teach the fundamentals (3, Interesting)

sconeu (64226) | about 10 months ago | (#46390199)

Precisely. When I was at UCSC, the students were agitating for a course in ... [wait for it] ... VAX Assembler.

The department (quite rightly) ignored our plea.

Re:Teach the fundamentals (0)

Anonymous Coward | about 10 months ago | (#46390249)

There are a lot of people who don't want to / cannot learn the fundamentals. But since they have been told the only path towards the middle class is to go to a 4 year school they will enroll and either drop out, flunk out, change majors, or graduate being barely competent in what they studied. And they will most likely have a lot of debt.

Wouldn't it be better to give those who wish it another option?

That's not really the question. Replace "programmer" with "medical doctor" and see if the answer isn't obvious in that profession.

The question is "Is there a useful 2-year cirriculum to creat an AS that would output a useful, productive, and hierable web programmer?"

Re:Teach the fundamentals (2)

Ichijo (607641) | about 10 months ago | (#46390293)

The fundamentals of modern web development would be things like configuration management (including source control and deployment strategies), load testing, separation of content from presentation, accessibility, and so on. If you have a good understanding of these, you will remain relevant in the web development workforce long after we've moved away from HTML and JavaScript.

Re:Teach the fundamentals (1)

ranton (36917) | about 10 months ago | (#46390441)

I agree, but this doesn't mean they need a full bachelors degree. I know you didn't say that specifically, but it kind of sounds like you are implying it. A class for each of the following topics would create a very employable web developer IMHO:

Intro to programming - teaching the very basics in a language like Python
Data structures and algorithms - one class can give a good enough to give an intro to data structures, sorting algorithms, etc.
Intro to web development - teach HTML, CSS, and Javascript
Advanced Javascript
Intro to databases
Design Fundamentals

I may be missing something, but just these 18 credit hours would train a hire-able student who knows enough fundamentals to allow their skills to grow throughout their career. The biggest problem is that the average student who is only looking for an associates degree is probably going to have trouble getting a job regardless of what they are taught. There are a number of life choices or other circumstances that led them down this path, and most of them will be looked down on by most employers.

Yes (5, Informative)

jnelson4765 (845296) | about 10 months ago | (#46390017)

I work in a company writing online billing software. We use Perl and Ruby. We don't need people who know quicksort vs. bubble sort - we need people who understand browsers, and AJAX calls, and JSON, and business logic. I never touch anything more complicated in math than basic algebra.

Javascript, CSS, and something other than PHP are what you need to know, with a leavening of SQL and XML. Screw all that CompSci crap - we don't use it in 99.9% of our code.

Re:Yes (1)

khasim (1285) | about 10 months ago | (#46390355)

Screw all that CompSci crap - we don't use it in 99.9% of our code.

It's not whether you use it in your code.

CompSci teaches you the fundamentals that AJAX and JSON and such are built upon. That way you know what the alternatives are and what their strengths/weaknesses are.

Re:Yes (0)

Anonymous Coward | about 10 months ago | (#46390621)

No, CompSci does NOT teach you that JSON is a crappy format for configuration files because it does not allow comments to provide inline documentation. And CS also does NOT teach you that you can run XML through a simple compression routines supported by just about every browser that will take away most of the bloat.

And yet here we are with people applying the worst "features" from both. Yes, I'm bitter :D

Re:Yes (1)

Rob Fielding (3524407) | about 10 months ago | (#46390421)

Then remake the math curriculum around coding and probability. You should be writing lisp(?) programs to do your symbolic (not numeric) solves very early on. Put discrete math and probability far before calculus; and focus on writing programs to do the solves rather than on doing the calculations. Whipping up an app that succeeds just well enough to get into production but not to actually survive it is a problem that purely vocational training doesn't help with. That is how you end up with situations where a contractor is brought in to clean up a mess or to move blame to the contractor. The basics of computational complexity need to be absorbed before you can make web sites; even if they are all being hosted in AppEngine or AWS. Computer Science education is a bit floppy about teaching good software engineering (ie: small conceptual changes creating small code changes, making code organization scale, making efficient abstractions that don't leak). There comes a day where a vocational developer encounters major performance problems and things like this are found all over the code: 1) immutable string append in a loop (not understanding what O(n^2) means) 2) select * from two giant tables and group by unindexed field (not understanding what O(n^2) means) 3) deeply nested for/while loops (not understanding what O(n^2) means 4) data races (not having a coherent model of how the computer works, or what to do if you dont want to have to think about it too carefully)

Associates (2)

OverlordQ (264228) | about 10 months ago | (#46390031)

A Bachelors of Arts in anything scientific generally implies that you're not going to get enough exposure to anything you'll actually be doing, much less an associates. So sure, if you want to develop a program that teaches things they could pick up for $20 out of a book and make your college thousands, then 'Associates of Applied Science' sounds perfect.

Re:Associates (-1)

Anonymous Coward | about 10 months ago | (#46390111)

Spoken like someone who couldn't handle college and who has a chip on his shoulder towards everyone who can.

or someone like me... (1)

PortHaven (242123) | about 10 months ago | (#46390651)

Who got the Associates, learned 90% of use in his elective C++ during his first semester. And everything else, including the first job I landed, came from Sam's Teach Yourself HTML in 24 Hours.

Re:Associates (2)

HornWumpus (783565) | about 10 months ago | (#46390301)

A BA in a science means one of two things.

1. You went to a school that offered a BA in science subjects as a certificate of attendance for those that spent 4 years studying a science but never got any of the 'science' or 'math' parts.
2. You went to a school where the humanities control things. They don't like the _fact_ that BAs are second rate to BSs. So in the places run by the basket weaving departments, they just give 'bachelors' degrees or sometimes BAs in all subjects.

AAS Web Development (0)

Anonymous Coward | about 10 months ago | (#46390039)

As part of our mission is to turn out employees immediately ready for the work force, is teaching knowledge-based careers as a vocation appropriate?"

In general web developers do not require courses in theoretical computer science especially for an applied science degree at the associate level. Maybe if your college was offering a bachelor degree in web development, teaching some theoretical material during third and fourth year might be appropriate although still of questionable value. As you said the college's mission is to produce workforce-ready graduates not scientists. Most people graduating with computer science degrees never use any of the theoretical knowledge taught at universities and colleges and most end up with a career in information technology or information systems anyway.

2 years pure classroom is pushing it for IT jobs (1)

Joe_Dragon (2206452) | about 10 months ago | (#46390213)

2 years pure classroom is pushing it for IT jobs and 4 years is loaded with filler and fluff.

We need apprenticeships with on going classes that are not tied down to the old degree system.

Product of communite college reporting in (3, Insightful)

OffTheLip (636691) | about 10 months ago | (#46390059)

After bouncing around the tech world several decades ago I settled into the affordable/employable community college path. After looking into my options and expenses transferring to a 4yr BS in CS was the right option for me. My local, affordable, community college was the springboard. I am grateful.

Re:Product of communite college reporting in (1)

pieisgood (841871) | about 10 months ago | (#46390201)

I'd mod you up, went to CC transferred and got my BS in Math and minor in CS. CC was also humbling, generally a learning experience all around.

Why Not? (3, Interesting)

EMG at MU (1194965) | about 10 months ago | (#46390087)

There are a lot of people who go to 4 year schools expecting a vocational training program and not a education in the principals of their field. AKA anyone who has complained about learning "fluff". A large percentage of a CompE/Computer Science program's students will state that they just want to learn what will get them a job in the real world. These same students are going to slack off in the "fluff' classes and come out with no ability to apply what they learned in those classes. It is wasted time, money, and energy. Give them another option.

To me the question is who is better off: someone who half-assed their way through a CompE degree, got out with $50,000 in debt and is still barely employable as a entry level programmer? Or someone who skipped all the "fluff" and got a 2 year practical programming degree for a fraction of the cost, and is still barely employable as an entry level programmer? I'm arguing it is the guy with less debt.

CompE guy is better off (0)

Anonymous Coward | about 10 months ago | (#46390173)

He can at least bullshit his way into a good-paying job. The guy with the 2 year degree will be lucky to find a job with a degree that fails the minimum requirements everywhere.

Re:Why Not? (1)

Hognoxious (631665) | about 10 months ago | (#46390295)

not a education in the principals of their field.

Indeed.

Re:Why Not? (1)

timeOday (582209) | about 10 months ago | (#46390337)

Here is why not: do baristas really need a college degree (in anything?) No. But if some graduates are desperate enough to apply, then they will probably get the job.

That would be my concern with this vocational degree. Would you know enough to be productive? For those types of jobs, yes. But would you win one of the limited number of positions available? Less likely.

This is the basic conundrum driving much of the college debt crisis - being qualified for a job doesn't mean you will get one. So it's an endless race of who can be the most qualified.

Re:Why Not? (1)

HornWumpus (783565) | about 10 months ago | (#46390349)

Even half assing you way through a CompE degree is tough.

Almost all that attempt it will funk out and end up in CS. Especially if you skip the 'Fluff' you will never get to the specialized stuff in an engineering program. The first two years of CompE are almost all 'fluff' as you define it.

"in modern web development" (0)

Anonymous Coward | about 10 months ago | (#46390091)

You don't need higher math, algorithms, and data structures in web development. Anyone that says you do is bullshitting you.

Of course, that degree won't be very useful in 10 years, but that isn't your problem.

Re:"in modern web development" (1)

AlreadyStarted (523251) | about 10 months ago | (#46390203)

You don't need higher math, algorithms, and data structures in web development.

Much of the javascript I see is far heavier on these items than the avionics code I encounter at work. Also I don't know how a person could do anything technical at all without an understanding of these three items, in any field. They are synonymous with tools, methods, and materials.

What do you mean by web devlopment? (1)

RichMan (8097) | about 10 months ago | (#46390109)

#1 Do you mean planning and implementing a sever base? From customer requirements, backup provisioning, security and obselecense planning, servicing and reliability infractructure ....
#2 Do you mean using a MS based GUI to stuff a toolkit based web site onto a cloud service server?

There are several worlds of difference between #1 and #2.

vocational training is now life long (2)

RLBrown (889443) | about 10 months ago | (#46390117)

This is not an isolated problem. All vocations either do or will require life long vocational retraining. New technologies are introduced very frequently in areas such as building construction, business systems, environmental systems, mining, agriculture, metalworking, and so on. The time has passed when you could learn to weld on the xyz welder, and thereafter be employed for life, working with only that tool and that skill. When John Henry saw the stream drill, what he should have done is to put down his hammer and say "teach me to run that stream drill". The associates degree should be just the first certification -- the student needs to be taught to pursue and obtain more certifications throughout his or her working life. Also, my feeling is that the curricula needs to involve as much "why" as "how".

Historical to modern (1)

bluefoxlucid (723572) | about 10 months ago | (#46390123)

You will want a lot of backed-off stuff to teach historical-to-modern flow.

Historically, CGI and SQL were used. Some files on disk stuff, executable programs, etc. Executable programs gave way to scripts like Perl and PHP.

In modern times, raw SQL has been transformed into stuff like Python SQLAlchemy. CGI, being too slow--it takes longer to load/unload the interpreter (or even a C executable) than it does to execute the work--has given way to FastCGI, and then WSGI. Straight markup and scripting has given way to frameworks such as CherryPy, Django, and Flask, combined with templating like Mako, used to create content management systems for front-end people.

Even the SQL back-end, now through SQLAlchemy and other ORM, has given way to solution-based storage: if your data is document-oriented (XML, YAML, JSON type), it's stored in a Document Storage Database like MongoDB, Couchbase, or such. If we call SQL tables indexed CSV files, we can call Document collections indexed JSON (and call JSON a thing "similar to" XML or YAML). Graph databases connect objects to other objects, which become relevant with applications like Facebook. And some applications even mix modes: an _id ObjectId index in MongoDB may provide the 'vid_id' column on a certain table in PostgreSQL, allowing data which conforms exceptionally poorly to certain models to mingle with data which conforms exceptionally poorly to other models by using both models and storing the different buckets of the data in different places.

That shows them a handful of tools; it shows them that the tools change; and it shows them that some tools are legacy, others have been marginalized. SQL is marginalized: document storage databases make much more sense for most modern applications, and eventually will likely displace anywhere from 10% to 80% of SQL-backed storage, but will remain the incorrect answer for a significant set of applications which should (and hopefully will) remain on SQL. XML has been replaced: modern APIs use JSON rather than XML/SOAP, and on-disk storage has severe problems with large concurrent volatile data sets. Languages come and go; CGI is dead in favor of application servers such as those which communicate over WSGI.

By all means, put practical skill into modern languages and methods. Java, suck as it is, is still relevant. Python is still up-and-coming but is a fantastic language for modern Web programming. C# and VB.Net both get a lot of use in Windows-based hosting, opinions on that abound. Don't spend a lot of time making sure students are strongly familiar with how to set up C applications with CGI and Apache; that's not a useful skill. Do spend time using MySQL, PostgreSQL, and MS SQL Server, as well as MongoDB and other document stores--both programming and doing the actual data modeling--along with other, less-relevant new technologies (document storage is a big one because it conforms to most complex data; node based databases conform to a specific model useful for AI and for social networking or other object-associative tasks).

A better degree would be... (1)

QuietLagoon (813062) | about 10 months ago | (#46390127)

... a degree in puzzle solving.

.
Just trying to figure out which version of which browser supports what subset of CSS is one of the greatest puzzles facing mankind.....

Math basics (1)

Anonymous Coward | about 10 months ago | (#46390131)

I'm going for a Bachelor of Computer Science and I'm treated exactly like a student who pursues a mathematics degree or engineering degree. This means I must take the bare minimum of math classes like Calculus 1, 2, 3, Discrete Math 1, 2 and Linear Algebra. That's 6 courses worth typically 18 credits. Those aren't electives but basic fundamental math classes that a true CS professional needs in his/her career. You cannot adequately teach the CS math basics and the CS core courses in a short 2 year associates degree. If you try to fit all of them in to 2 years then you're doing a disservice to the students and the industries that'd want to hire them later on.

Re:Math basics (1)

Hognoxious (631665) | about 10 months ago | (#46390415)

You cannot adequately teach the CS math basics and the CS core courses in a short 2 year associates degree.

Who's trying to? And why do you think anyone is? I don't see CS in the title.

If you try to fit all of them in to 2 years then you're doing a disservice to the students and the industries that'd want to hire them later on.

Imagine I'm trying to hire a Python programmer who knows a bit about CSS to work on our utterly grody stock control system that has a MySQL backend and needs to talk to our wanky CRM system written in fuck knows what.

Tell me how lambda calculus is really the same thing.

Sure (4, Insightful)

quietwalker (969769) | about 10 months ago | (#46390159)

This assumes 'web development' refers to web-based applications, not just informational webpages.

This is likely to be an unpopular opinion to many, but I don't see the huge barrier here.

I've been working as a software developer for nearly 20 years now, going from games programming to business apps to web development and machine learning. In that whole time, I can count only a small handful of times when I've ever had to exhibit mathematical skills more complex than trivial algebra. Oh sure, in college, they made me write my own compilers, I had to write my own vector math routines for my ray tracer, and so on, and I consider these valuable learning experiences. However, in the real world, where I'm employed and make money, I use software libraries for those sorts of things.

When it comes to data structures, the languages of employers today, java and c#, provide me with the majority of structures and optimized-enough algorithms to manipulate them. I don't have to do a big-O analysis and determine if my data patterns will be better served by a skip-list than a quicksort, because we just throw memory and cpu at that anyway!

The point is, if you spend 1-2 years learning to write software - not computer science theory - you'll be ready to enter the workforce. Sure, you're not going to be someone creating those frameworks, you're not going to be an architect, but you'll be able to use them. A few years of real world problems and google at your finger tips, and it's likely you'll have learned enough to start tackling those harder problems.

Here's a list of what I'd prioritize before computer science theory, in regards to employment:
      - Proficient in SQL and at least one database type
      - Familiar with IDEs, source control, bug/task trackers, automated builds and testing, debugging tools and techniques.
      - Ability to work in a group software project.
      - Exposure and participation in a full blow software development life cycle (SDLC) from reading, writing, evaluating requirements, coding, debugging, QA, unit testing, the oft-overlooked documentation, etc. Include at least something waterfall and something agile-ish.
      - Expert with HTML & CSS, javascript, and awareness of javascript libraries and frameworks.

I don't think I need to explain the value of any of these, and these practical concerns trump high level concepts like discrete mathematics or heuristic design for the entry-level developer.

What do auto mechanics do? (0)

Anonymous Coward | about 10 months ago | (#46390163)

I'm not expert in the field of web development, or auto mechanics, but I wonder what similarities there are between the two, and how one can be applied to the other in your case.

Every year, new automobiles are rolled out with new technologies, and auto mechanics need to keep their knowledge current. If they don't, they will find that their prospects become ever more limited to oil changes, tire rotations, and working on old clunkers. This seems like a direct correlation to web development.

Auto mechanics will usually get hired on by company to do "contract work" for their customers, at a wage rate. Partner with a web development contracting firm in your area, and find what things they will need from your students. I'd be willing to bet that there are some equivalent "oil change and tire rotation" aspects to web development that all your students will need to know, in addition to some of the most current web technologies, to hit the ground running.

Assume that every few years, they'll need to take a few courses to keep their knowledge current, just like an auto mechanic. You'll also have to dispel the myth that they will be rock star programmers, hackers, or be able to design and develop their own web application, just as an auto mechanic won't be designing the next model of Tesla.

Re:What do auto mechanics do? (0)

Anonymous Coward | about 10 months ago | (#46390207)

BTW, I'm not a web developer, but I am an intermediate-level software engineer with a BS in CS.

Very Bad Idea (0)

Anonymous Coward | about 10 months ago | (#46390169)

Don't flood the programming market with even more worthless wankers who only know the tools you taught and the languages you taught and couldn't build a Hello, World in a new language outside of an IDE without an online tutorial and 6 man weeks.

If you need to be taught a specific tool or language in a classroom environment (rather than teach yourself) then.

a.) Your "knowledge" will be out of date before you "graduate" and more importantly:
b.) You are not fit to be a programmer.

Crap idea.. (0)

Anonymous Coward | about 10 months ago | (#46390185)

Need the math. Seriously. Need the algorithms. Seriously. It's "hard" and "not cool" .. but if the enjoy eating past the initial 1-2 years that those low-weight skills are useful, good luck!

Don't do it. (1)

SparkleMotion88 (1013083) | about 10 months ago | (#46390187)

Students would not learn enough higher math, algorithms, and data structures to be viable employees when their industry changes every five years

The doer and thinker, no allowance for the other.. (1)

Hognoxious (631665) | about 10 months ago | (#46390599)

It's lucky an associate degree is only two years then. By my lower maths and unsophisticated algorithms that leaves 3 years to be on the job, learning while earning.

Sure, bricklayers don't learn many things that architects and civil engineers do do. But then architects & civil engineers don't learn all the things bricklayers do either.

Not Enough Math? (0)

Anonymous Coward | about 10 months ago | (#46390191)

This is a web development degree. They do not need to complete Calculus III to have enough math to do web development. I would argue the highest courses that will do them any good are Calculus I (differential) and Probability & Statistics.

It's been done ... PGCC (1)

oneiros27 (46144) | about 10 months ago | (#46390193)

It doesn't have to be math heavy ... you can focus more on 'web design' or even 'user experience design' rather than heavy programming 'web development'.

Prince George's Community College [pgcc.edu] (PG County, Maryland) offers a lot of certificate programs, including ones on 'Computer Graphics' and 'Web Technology', that can be expanded into a AAS in IT (which would require you to take some programming courses, even if concentrating graphics)

Take a look at the pages numbered 116 to 124 the PDF of their 'programs of study' from their course catalog : https://www.pgcc.edu/uploadedF... [pgcc.edu]

I got a master's degree in that, essentially (1)

sandytaru (1158959) | about 10 months ago | (#46390209)

My cohort was full of 25-to-30-something professionals who had already been in the workforce for several years, all of whom had an undergrad degree in something (ranged from English to comp sci), and all of whom were highly motivated to finish the program because advancement in existing careers depended on it.

Could we have done it if we were 18-year-olds fresh from high school? I doubt it. It's not that the work was difficult (well, aside from server side Java, which was a headache and a half) but the pace at which we covered material would have probably taken twice as long at the undergrad level.

I think the program may need to be more narrowly focused. You can't churn out a genuine web programmer at the associate's level, but you can produce an entry level IT worker with a solid understanding of HTML, Javascript, and maybe PHP and SQL in that time frame.

Do not neglect data structures (1)

Daniel Hoffmann (2902427) | about 10 months ago | (#46390221)

Data structures (and associated algorithms) is the most vital part of a programmers learning. If you had a good data structures course (and coursework) you are set for life.

And also data structures should be taught in a language with POINTERS (C or Pascal are the usual picks). I don't care if you are teaching a 10 year old, if you don't teach pointers you might as well be teaching Basic.

You don't need to go VERY deep into the subject, B-trees and such are probably overkill for your aims. But the kids need to learn how to make a double-linked list, basic hash tables and binary trees with one hand tied to their backs. You can get this kind of curriculum over with about a year. The ones that get left behind should be terminated, they will not make it as programmers.

If that sounds too harsh for you, you might consider giving a class for web designers (as in, no programming, only HTML/CSS and image editing tools, maybe some templating engine). A good designer is worth his weight in gold.

Web development is not applied science (1)

Qrypto (462155) | about 10 months ago | (#46390233)

Maybe an associate degree in web development would be more appropriate.

Scale back but don't ignore Comp Sci (0)

Anonymous Coward | about 10 months ago | (#46390235)

You don't need to know how to implement 5 different sorting algorithms or how exactly to solve for Big-O. You do need to know roughly how sorting works and what is implied by Big-O. If you can understand that Merge-Sort generally uses more resources in some cases and Quicksort can be attacked by binary data to cause slowness. Understanding that an ArrayList is just an Array which resizes is useful. A LinkedList is just a list that take a while to scan through. Dictionaries/Maps use a hashing function I think you could hit all these topics could be done in 2-3 classes with just enough understand that a student gets the complexity and understand that it isn't just magic. Do they need to know how to write insertion sort or red tree-black tree? No. Same with math. Maybe a stats class is useful for reviewing load testing results or predictive analysis of an application, but certainly not much is needed. In the same way I wouldn't bother teaching someone all the complexity of JavaScript when there are languages like JQuery, I don't think someone needs to know all the complexity to solve a subset of problems within software development.

you fAIL it!! (-1)

Anonymous Coward | about 10 months ago | (#46390261)

would take about 2 dim. If *BSD is have the energy Crrek, abysmal it a break, if shaal we? OK! parts. The current to say there have

Architecture - Concept (0)

Anonymous Coward | about 10 months ago | (#46390263)

What is vital is to teach Software architecture, Layering, Design and Human interface design theory. Apply that to the current tiered architecture. Teach the basics of HTML, CSS, JS plus one back-end language (Java, C# or any other), again focusing on the higher concepts, modularity, isolation, interfaces. On Database level, give them the basics of relational algebra and the normal forms of data, contract that with the current NoSQL craze. Make them think and design systems.

Those I can employ.

Give the Student a Computer Scince AA or AS Degree (1)

Hey_Jude_Jesus (3442653) | about 10 months ago | (#46390273)

Give the student a complete education in math, computer languages and computer science then they can use the knowledge in many industries.

Web design isn't CS (4, Interesting)

khb (266593) | about 10 months ago | (#46390277)

Such a degree, if it were to exist, should focus NOT on the basics of CS, but on good design.

1) Do cover human factor engineering principles and techniques. Include lab work to do usability testing.
2) Do cover the basics of good design (perhaps a joint Art department effort).
3) Do cover the foundations of programming, but using several web focused languages. C/C++/Algol and friends are wonderful, but you have limited hours.
4) Do provide an introduction to computer security. Chances are it is folks in the backend that need to focus on it, but security holes can occur anywhere.

Good luck.

Some thought on useful topics (0)

Anonymous Coward | about 10 months ago | (#46390413)

1. The "art" side of web development -- design schooling. 2. The "coding" side of web development -- use of the various frameworks 3. The "cookbook" side of web development -- forms, file upload, embeds 4. The "system" side of web development -- putting it all together. The interesting thing is to structure this so that you can keep it up to date. The "beginner" level would be the first semester. For the second and third semester you would introduce advanced topics in each of the four areas, along with brushups/updates. The fourth semester would be a practical project. Successful completion of the project would determin whether the student gets the associates degree. The beauty of this system is that after each semester, the student could opt for a internship to practice what he hopefully learned. Also, because you would have brushups as part of the second, third, and fourth semester, there is a good chance that the student would be current when he graduated. Or at least not as far behind as a "frozen" two-year program would provide. Just a though.

Absolutely... (0)

PortHaven (242123) | about 10 months ago | (#46390557)

Okay, I completed a 2 year associate program. Graduated in 2000. The problem...

All of the good students knew everything we were learnined was mostly a waste of time. COBOL, Netware, etc.

Zero for HTML/Web/Java/Windows Server/etc...

In fact, everything of value I learned in the program came from a few elective courses I took. Namely, a one semester C++ course really gave me my fundamentals of loops, arrays, etc, etc. I took VB I & II electives. But other than that first C++ course I took, I gained far more knowledge and skills from a Sam's Teach yourself HTML in 24 hours book.

The problem, is that university education is a dinosaur. It is a big lumbering slow behemoth. The heads of the IT program were dated in their skills, so they did not want to teach anything they didn't know. Sure the head of the program knew Netware, but it was already almost extinct by that point. If there are ZERO job listings for an old technology, a school should drop teaching it.

COBOL, yes there were jobs for COBOL, if you KNEW the language. 1 or 2 semesters is not enough to become proficient. And basic college class COBOL shared very little with the COBOL that was being run out there in the real world.

The truth is, an IT program for ANY university needs to be dynamic. It needs to set some fundamental concepts and systems but devoid itself of being tied too strongly to platforms. The biggest royal pain was when I tried to transfer. Basically it was a road block, I endeavored to enter an IT program of a nearby university. But they had a different credit and requirement system. They required 4 credits in a language, and refused to accept my COBOL or VB credits. As C++ was a single semester, that was only 3 credits. The solution? I would have been required to take two more semesters of PASCAL...really?

***

The point is, education should not be about a god damn white slip of paper. It should be about education, and being prepared for a practical endeavor of life. And this is why, within 20 years, 80% of the universities and colleges in America will be gone.

Because they are utterly failing their students while encumbering them with debt that far far far exceeds the value of the service most colleges are providing. And it can only go on so long, with a $1 trillion+ of student loan debt and A students flipping burgers.

***

If I were to be developing a curriculum. I would list out what concepts are necessary for today. These concepts would be updated as the business world evolves. But the platforms and means to instruct those concepts would be much more fluid.

For example, one might want to teach loops, sorts, conditional logic, arrays, encapsulation, inheritance, etc, etc. Well most of those can be taught on a wide variety of languages. DO NOT tie your curriculum to a specific language to technology. Likewise, for networking, security, roles, access, etc. These concepts stand true whether you're using a Microsoft or Unix based system. If Petunia Global Whale of a Network displaces both of those in 10 years as the default standard. It is likely that security, roles, access privileges, etc. will remain important.

So really, a university should be evaluating what concepts need to be taught, and then separately evaluating the best platform to teach it on. For example, mobile development...hot area. 5 years ago it might have made more sense to teach concepts of mobile development on the iOS platform. Today, it would make more sense to teach it on Android. (More accessibility, one can build off of prior instruction using Java.) But that doesn't mean it will always be the case.

A university curriculum needs to be practical and forward seeking. And no, there is no excuse for not being so. Don't spout that BS that curriculums take time to develop. Computer Science is NOT math or literature, it is not an area of study that is stagnant for decades on the lower end. Rather the lower ends are often the most dynamic areas.

Today, a college curriculum should ensure that it is teaching its students the fundamental basics, preferably in a language platform they could use in the real world. It should be ensuring that its students can conceptualize the differences between SQL and NOSQL and why one might use one over the other. If your students can't answer that question, you have failed them as a school. If it takes your system more than 5 years to update a curriculum, than let me suggest you take all that hard earned $$$$ your students are putting in your pocket and hire some folks to assist you in developing a system for implementing curriculum changes far more quickly.

Beta again, really? (-1, Offtopic)

Morpf (2683099) | about 10 months ago | (#46390563)

Dear Slashdot,
didn't you say you knew Beta was broken, what was wrong etc? Didn't you say, you would only redirect not logged in users to Beta? Well, I have my doubts as I am force over with Beta again. And not even a click to Classic works. Great work again with your Beta. I am really proud of you. Well sort of. Well actually I am not. You guys really know how to annoy your user base.

I hate Beta.

Re:Beta again, really? (1)

Soulskill (1459) | about 10 months ago | (#46390707)

Hitting the link to Classic Slashdot in the footer should send you back -- or just try this link [slashdot.org] . Assuming you have cookies enabled, the choice should stick.

foundation (1)

thinsoldier (937530) | about 10 months ago | (#46390569)

Full time web developer for 12 years, no vacations, no co-workers, no college, no experience with "real/serious" languages, no math skills, no appreciation for CLI. I suggest some modern quick and easy stuff like frameworks and jquery initially to allow them to have the feeling of actually making something. But after that all the focus should be on foundation skills that would also be useful beyond just websites/webapps. Having those skills will make it possible to quickly pick up whatever else they encounter in the future. But make sure everyone takes a math test before starting the class. I go years at a time without having to use ANY math at all and then when I do need to I take 10x longer than any normal person to build the simplest things.

Re:foundation (2)

thinsoldier (937530) | about 10 months ago | (#46390589)

And don't confuse web *design* (as in graphic design) with web *development*

Changes every 5 years? (3, Insightful)

Jason Levine (196982) | about 10 months ago | (#46390637)

When I was in college, one of my computer science professors told us that everything he was teaching us would be obsolete by the time we graduated. However, the concepts behind what we were learning would be valuable our entire career. Sure enough, I've never used the exact code in the exact language he taught us, but the generic concepts behind that work in almost any language I program in.

Think of the competition (0)

Anonymous Coward | about 10 months ago | (#46390677)

Those with an associates degree would be competing for jobs with people who have a BA in Music Performance and an MS in Comp Sci.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?