Ask Slashdot: Modern Web Development Applied Science Associates Degree?
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?"
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.
Eat sleep die
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. No classes in thermodynamics, but training in useful skills including brazing, soldering, and plumbing.
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.
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.
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.
Why can't I mod "-1 Idiot"?
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.
Your hair look like poop, Bob! - Wanker.
Associates' refers to a 2 year program, but i agree that anything that's relevant now will not be 2 years from now.
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.
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.
#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.
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".
-- Perhaps I see less than some, but more than many.
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).
Support my political activism on Patreon.
.
Just trying to figure out which version of which browser supports what subset of CSS is one of the greatest puzzles facing mankind.....
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.
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.
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.
Students would not learn enough higher math, algorithms, and data structures to be viable employees when their industry changes every five years
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 (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...
Build it, and they will come^Hplain.
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.
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.
Occasionally living proof of the Ballmer peak.
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.
Oblig: http://xkcd.com/435/
And yet your boss, his boss and his boss's boss are probably either MBAs or lawyers. Go figure.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
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.
If I can be modded down for being a troll, can I be modded up for being an orc, or a balrog?
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.
Maybe an associate degree in web development would be more appropriate.
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.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
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.
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.
"File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
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?
SJW's don't eliminate discrimination. They just expropriate it for themselves.
Mathematics says "Hi, how's it going down there?"
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.
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.
" 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.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
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.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
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.
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.
Loading...
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.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
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.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
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...
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.
My sci-fi novel, Ghost Thief, is now available from Amazon.com.
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.
As I said. It's a washout class. Also an attempt at giving them a clue about what's going on under the hood.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Hitting the link to Classic Slashdot in the footer should send you back -- or just try this link. Assuming you have cookies enabled, the choice should stick.
That's because there are two types of Computer Science departments in universities.
Ones that teach Computer Science, like many liberal arts schools, and those that teach "Computer Science" like a trade skill.
A school that teaches actual Computer Science will be heavily math based as computer science is fundamentally a mathematical discipline.
You could just as easily argue that people drop out of real Computer Science to go EE (I personally know two individuals who did this because they were surprised that Computer Science wasn't "Computer Programming". One of them quite during the MIPS assembler course, the other during compiler design.)
Loading...
Think of the revenue stream. Every 5 years they have to retrain.
putting the 'B' in LGBTQ+
Not everyone building C.R.U.D. web apps needs a fucking degree. It's practically a trade skill. What we need is a mass of "good enough" programmers to do 90% of the grunt work out there and do it CHEAP.
Yeah, there needs to be some server side programming in there some place. Maybe that's covered in Programming Logic and/or MVC frameworks.
I thought it was because people with CS degrees consider actual programming (as distinct from pontificating about it) beneath them.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
You didn't demand that they pay you? Go - right now - and tear up your copy of Atlas Shrugged and stick it on a nail in the bathroom, you feather-bedding molly-coddling commie bastard!
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
While completing my A.S. in Computer Sciences I took classes in logic, javascript, computer repair, networking, database design, and C#. So far I have outpaced most of my 4-year degree counterparts in salary and wealth of knowledge. I say *most* because there are some people who have the fancy degree or not but love computing to the degree they are themselves ahead of the curve. Altogether it only matters how much you are truly interested in the subject to succeed in a computing career. I think its great to have more of these programs out there for students who were like me and chose to pursue a career at the same time. The hands on training made me more applicable to a modern workforce than other CS grads from 4-years whom understood the theory and mathematics pretty well. I'm different in that I started working in a computer shop when I was 13 years old. I never stopped having a computer job after that so I've had a strong work ethic ingrained in me- but that's all that is different. Being able to see the problems companies had with their software gave me some added insight into what I was going to expect after getting that big job when I graduated. These problems are much different than classroom examples and the code is much more difficult to assess. I reached a certain point in my career when I realized that I wanted to finish a 4-year degree. It happened when I got to a point where I couldn't learn much more without understanding the academic reasoning behind certain concepts. To be perfectly blunt about it I think people studying CS should be given the flexibility to finish the classes and curriculum that they feel is appropriate. 2 years, 4 years, 6 years..whatever even 10 years but the point is that there should be recognition for this at an academic level and Computer Science should exclusively be able to recognize their scholars however they see fit.
When did C (not++) become an OOP language?
First of all, what I have seen in my past 25 years is that, schools teaching science or technology are really bad at it.
For the following two reasons:
1) Web is moving really fast. If your school isn't working with a industrial company, what you will teach is crap.
2) Experience. Knowledge is good, experience trumps knowledge. That is why you have to pay attention to what you teach. If it does not teach experience, then it is a waste of time and money.
Every student should be interned or working on a open source project and making contributions to it as part of the goals of the education program.
Your class curriculum should be defined as a contribution, not an institution.
We don't want institutionalized learners. We want contributory learning, growth and ultimately experienced individuals.
Institutionalized learners, assume they cannot learn anything unless they are institutionalized.
Contributory approach emphasizes learning by contribution, and meritocracy plays a role in it.
You empower the individual to learn BY THEMSELVES.
That is your goal.
Got Geometrodynamics? Awe, too hard to figure out? Too bad.
Math, algorithms and data strctures are not really the critical thing to learn for web development. Hopefully your grads are not starting out architecting anything complicated but instead following best practices and good workflow and leaving the majority of the algorithm architecting to people with much more experience and training.
The important thing to teach are the best practices in web component composition and workflow. These are also rapidly changing, with many competiting tools, but in a consistent direction: modular, testable components as services on top of robust development infrastructure including source control (git), code reviews, continuous integration, rapid, numerous deploys wth no downtime etc. There are lot of good resources about this, but the key thing is to see it in practice, to get hooked on how good workflow and a focus on code quality can make your work a joy instead of a nightmare. There is a huge amount to learn about the latest web development processes, but students (like yours) should be helped to paddle out and get on top of the wave so they can keep riding it - not be taught liquid mechanics or how to build a surfboard.
My dream web dev class would have one website that is built many ways but with similar workflow and final result. Rails stack, python stack, php stack, node stack, etc all using the same assets. Enough versions of the same site that all the students can work in groups to implement the same thing on each stack. Teach what is the same between the stacks (e.g. MVC), without the details of the stack's implementation of that concept and you'll be teaching a lesson that they can carry with them for a long time. Although that might be too difficult for people who haven't done any programming ever, but I think I'd enjoy that class. Regardless, you should have some code that implements a real website with real workflow that they can learn from.
Complexity Happens
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.
Correct. DROP TABLE is more proper.
http://saveie6.com/
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?
So... what are the employers in your area asking for?
:-)
I'll suggest working with the top 5 employers who want what you're contemplating and enlist their guidance; let them drive the skills they want to see (also, ask them how they'd like to see those skills be tested and/or demonstrated, so your students will have an easier time meeting their prospective employer's requirements).
Also, iterate often - track the placement + feedback of employers that do hire your students so you can find out what works well, what doesn't work as well, etc. You're not going to be optimal from the beginning (and even if you were, requirements will drift over time, so measure, adjust, rinse & repeat).
(As for all the "hands on" vs "ivory tower theory" posts, yeah... "hands on" wins for what you're describing.)
Good luck
Yeah it is easier just to work at a help desk for an ISP and work your way up making web pages on the side.
Without experience no one will hire you.
It is the opposite of 1980 and earlier where you had a degree == trainable and smart. Nowdays experience and more experience or burger flipping with a massive debt of a now useless degree.
http://saveie6.com/
But there's a lot of really good stuff that your old books aren't covering, and so you may not be using. OOP in PHP, media queries in CSS (for responsive layouts). The old books can be good if used for occasional reference, but you need a lot of other sources too (kind of what the second half of your comment was saying).
You could argue it. But you'd be wrong, pretty much universally.
There might be a school somewhere where CS is a harder program then EE. It's certainly possible.
BTW EE is less 'computer programming' then CS.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Our local state college has numerous AAS/AS degrees, these are generally designed to teach a skill more advanced then high school that you can make some use of.
The AS in computer information technology has a lot of room for specialization, allowing students to select from a large range of in-field electives in this topic such as:
Website Development, Introduction to E-Commerce, Web Animation, E-Commerce Design, Multimedia Programming, Java Programming, Web Programming, Introduction to Computer Programming, Advanced Web Programming - CGI/Perl
This allows for the AS degree to be customized to the needs (and does NOT focus 15 entire courses on just one topic).
Javascript hasn't changed. The fashionable way to use it, the libraries and some extra bindings to browser and device functionality might have changed, but the language is still fundamentally the same language that Netscape invented in 1994.
[E]ncourage independent learning and discovery through projects and reading and not relying solely on lectures
Or put another way, what you get from education is proportinal to what you put into it.
In the late nineties my son was starting his last year of (Aussie) HS, he came home and showed me a single A4 sheet of paper printed on both sides. He said to me with a sigh of incredulity - "Our computer teacher thinks this pascal project will take all year". I read the paper, it started with "phase one" - a simple in memory table to store and retrive some lines of text. Each point added some functionality that eventually added up to a multi-user file based db with a gui front end and some pretend bussiness logic in between, it was a well written spec that nicely covered the basic concepts and trade-offs. I looked back at my son and said, "If done properly, hes' right!".
It's probably the most encouraging thing any of my kids every brought home from their teacher's, although the math teacher who taught algebra with a spreed sheet was pretty good too. Not only did it cover the basics of most commercial applications, it also required a sustained effort and most importantly with each step in the project you paid for what you didn't get right in the previous steps with extra re-work. The way I helped him was not to solve all his problems for him but to give him hints like - "You should read up on something called binary trees".
Unashamed pride: He's 33 now and I'm happy to say he graduarted his EE degree with first class honurs and is now in a financial postion such that he can choose to work on what interestes him the most as opposed to what puts food on the table. Having spent the first 15yrs of my working life as a semi-skilled labourer I have absolutely no doubt that my (mature age) university education had a benifitial influence to both my children as well as myself.
And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
It truly is a great and novel idea, but I'm inherently against any and all programs that do not have an accreditation body to govern it. Not because I believe in their wisdom or almighty power, but the sole fact that enough people in the right places (industry, academics, etc.) do.
You don't have to teach web developers DELETE or DROP - many web sites will happily let anyone run either statement from the comfort of the login page.
"They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
The vast majority of web development positions need a guy who can select good Joomla components and write some bits of glue code, tweak some CSS here and some jQuery there.
Not the guy who thinks he needs to invent his own sorting routine every afternoon, and then brag about how his interfaces are so abstract that nobody, not even he, can figure out what the heck they are supposed to do ...
Typically Computer Science is part of the School of Engineering and a very watered down program exists in the School of Business and is called Computer Information Systems or some such thing.
They provide for two totally different career paths.
The former can lead to far more potential career paths. The latter usually leads to the boring JEE and web 'developer' jobs and not much else.
Relations are a mathematical construct and you need a fair amount of pre-reqs to truly grok it.
Do you people ever actually read what you type?
What's the point? Technology moves so fast that it is probably no longer relevant by the time he finishes typing it.
I am anarch of all I survey.
No. You can implement OOP in C if you feel like it:
www.cs.rit.edu/~ats/books/ooc.pdf
I am anarch of all I survey.
Computer Science has its place, certainly, but it's not in every IT shop in America. I've been giving this a lot of thought lately: How do you take those unemployed and underemployed people, whose jobs have basically disappeared, and are never coming back... and intersect SOME of those people (not all of them will be able to do it) with the enormous shortage of talented and capable IT people.
I've come to almost accept, over the last couple of years, that there's such an insatiable demand for IT, and such a shortage of competent IT people, that it's just a reality that we're going to have lots of lots of crappy people in IT, and there's nothing that can be done about it.
But I'm having difficulty completely accepting that. Because I know that the skills that you need to be good at solving technology problems are not extraordinary. I just barely started college, and then quit to join the Air Force. Five years later, I got into the web business (in 1996) and I've had a great career for 18 years. I recently decided to finish my degree, but that's a different story.
The point is: I'm not a computer scientist. There have been a few times in my career when I would have benefited from a CS degree, but not many. Mostly, what I have needed is intelligence, verbal and written communication skills, the ability to quickly learn new things, a passionate interest in technology, the three Larry Wall traits (laziness, impatience and hubris), and an understanding of how users think and act. Editorial skill has not hurt me, and neither has graphic design skill.
While I would be really interested in helping to build an educational program, one problem I have is that I'm self-taught, and therefore don't really know how you're supposed to teach this stuff. But I would love to be part of a workshop where industry folks come together for a week and brainstorm on this topic, or something.
My big sticking point is this: I honestly believe that the one non-negotiable requirement for being a good technologist is intelligence. And this seems to be controversial, because it makes it sound like I'm calling other people stupid. And, well, I am. I really wrestle with this. I wonder how good a web developer you can be if you're not quite smart.
You could just as easily argue that people drop out of real Computer Science to go EE
I went straight through the CSE branch of EE (included CS algorithms, building compilers in ADA, logic programming, circuit analysis in both the time and frequency domains, basic amplifier design, discrete math, calc, linear algebra, signal analysis and digital control of dynamic systems (read: applying laplace transforms in very complex ways)) The people in CS had it much easier than me. I can't really tell if the folks following the purer EE fork had it easier of harder, but while I envy their knowlege of photonics, wave theory, and anaogue information encoding, I don't envy the work they had to put into acquiring it, nor the complexity of their device models and circuit equations.
NOBODY dropped *into* CSE/EE (it was hard enough to get into the engineering school to begin with and CS majors would lose ground every semester on the prereqs.) It was usually the other way around. In fact the way they front-loaded the CS courses so we were roughly apace the CS majors was likely because they expected this to happen.
While theoreticians can be said to possess a certain level of explorative intellegence and a voracious memory not possessed by engineers, engineers possess an intelligence that helps one deal with having neither of the luxuries of glossing over fine details nor a flexible objective.
Someone had to do it.
College is meant to exist for people who love academic pursuits. College normally has nothing at all to do with job opportunities. To connect higher learning to the workplace degrades the concept of college and frankly would attract people into the college system that are undesirable. The heroes of learning that we are taught about in college often lived in abject poverty. Whether it is Mozart or Van Gogh or Hemmingway making a living was not their goal in life. Look at the money spent by those that play the oboe or the bassoon on their instruments and going to conservatories. Yet how many of the oboe players or bassoonists make anything at all in payment and even among the lucky ones the pay is on the miserable side. Trying to make a living as an astronomer has to be a real hoot. Seen any ads for astronomers wanted lately?
They are being taught to use truncate instead.
Pass rate is a heuristic. Depends on the student population. I'd say you set the class and tests and don't grade on a curve. Pass or fail. If it's fail, it's because this isn't a carrier for you.
The purpose of weed out classes is to save _everybody_ time.
Students hate them, but the next year is so much better. Your adviser learns your name. The signal to noise ratio improves drastically. No more rants from some fool who thinks the dollar sign being legal in variable names has conspiratorial implications (true story).
And Yes I think C is a reasonable weed out for IT track. Make them do everything from the command line, if you're a sadist. Make it boring and tedious. They are going for an IT carrier. Make sure the teacher can't teach. Assign a full professor (yes I know its CC).
Also: screw the 3rd normal form. 3rd says no redundant data. That's great and necessary for high performance TPS. But normally you want total on invoice. You don't want to re-total line item, including price history with transaction date rolled in. They should know the first three normal forms, that three is negotiable and that anybody mentioning anything past the first three is to be ignored forever. Then they are educated enough on DB theory for that stage in their carrier.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Great idea.
I use PHP to use the loginID in plain text and it inserts it directly into a query. I mean what could possibly go WRONG!
http://saveie6.com/
I read a couple of the negative comments, and they don't surprise me. On the other hand, the posters seems to miss the point of an AS degree and what Web development is about. Personally, I wouldn't bother with back end tech like SQL; single page architecture is finally taking hold and the Web side shouldn't be doing more than making RESTful calls. And algorithms? Seriously? On the other hand, UX development is splitting away from the rest of the development herd. Instruction in JavaScript, MVC or whatever TLA is current, and current frameworks is valuable in its own right.
I had to be concise as I ran out of words due to the /. title limitation. I can tell that you understood what my meaning was, so at least it conveyed information, and that's something! :-P
That's a great argument
you'd be wrong
Pretty much universally
Well, if it is pretty much universally, we can compare the Comp Sci regimens of CMU, Berkeley, RPI, MIT, CalTech, Stanford, and compare those to the EE programs of Clemson, Texas A&M, San Diego State, and the OP's Arizona State.
Something tells me they don't match up, and certainly don't favor the engineering schools.
Quite obviously the converse can be true, but then - I'm not the one claiming that the opposite is "universally" the case...
Loading...
A second undergraduate degree of mine is in Classics. Having taking a graduate course in FGPA based signal analysis, I can tell you that declining Greek based upon dialect is much more difficult. Wavelet compression in hardware versus Homeric/Attic Greek intervocalics? I will take signal analysis every time.
We had two people drop CS at our school because it was hard and get into a nearby school's engineering program.
While theoreticians can be said to possess a certain level of explorative intellegence and a voracious memory not possessed by engineers, engineers possess an intelligence that helps one deal with having neither of the luxuries of glossing over fine details nor a flexible objective.
The stupidity of this incredibly overreaching generalization cannot be understated.
Someone might as well say "While engineers can be said to have enough intelligence to make things after they've been taught enough theory, cleary only theoreticians are truly intelligent - otherwise the engineers wouldn't need them..."
(Yes, that's an equally stupid and overreaching generalization.)
Loading...
We had two people drop CS at our school because it was hard and get into a nearby school's engineering program.
That school must have had a pretty weak definition of the word "engineering."
Someone might as well say "While engineers can be said to have enough intelligence to make things after they've been taught enough theory, cleary only theoreticians are truly intelligent - otherwise the engineers wouldn't need them..."
Someone might, but while my statement recognizes that there are qualitative vectors to "intelligence" this one seems not to.
Someone had to do it.
I can teach relational databases to a kindergartner with marbles. It isn't exactly higher math.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
That school must have had a pretty weak definition of the word "engineering."
It had a pretty weak definition of education in general...
...while my statement recognizes that there are qualitative vectors to "intelligence"...
Putting a pig in a silk dress doesn't make it a princess.
Loading...
The popularity is not equal to quality as you said. The problem with your expression is that you give no information about why it is crap but rather attack the application itself. "research where to store the most important part of their application" is a vague information for those who are not familiar with what you are talking about. Your post looks too much like mud-slinger post from a politician - "it is bad" and that's the only thing you need to know. If you really want people to stop using it, be more professional and educate the readers.
Also, all programs/applications have its own advantages and disadvantages. There are reasons why many people use them even though they have flaws. Anyone who use them MUST BE EDUCATED to know what good and bad of the programs/applications. If one can talk only the bad side, the one needs to educate oneself to find out what the good side they have because otherwise no one would ever use the programs/applications. A history of the programs/applications could help explaining as well.
So if you think everyone else is a joke and lazy, you are not that much different in the way of explanation.
PS: I am not saying MySQL is neither good nor bad, but it has its own use under certain situations.
PSS: If you are trying to express your anger, at least you could write in proper English without foul language in every single sentence.
I very much disagree with this. How about XML, JSON, HTML, JavaScript, SQL, CSS? Students that have never dabbled with web stuff before could spend two years learning them and becoming proficient, they're very much relevant now and if you don't think they'll be relevant in two years I think you're crazy.
... in the first place. Calling it applied science is just a petty way of attempting to legitimize it as a highly technical skills, which it isn't.
Programming... yes, pretty much anyone can do that. Look at the mountain of poop that is amazon's codebase, and there's your proof.
Engineering on the other hand, is another beast entirely... but even a software engineer rarely has any need for scientific or mathematical skills. I found the "math" requirements for even graduate level computer science classes to be pretty lightweight, but then I'd been studying quantum and astrophysics alongside my computer science classes.
If you're putting washout classes in a Community College curriculum, you're doing it wrong.
Save Maine's economy: write stuff down. All comments are exclusively my own, not my employer.
You don't have to teach web developers DELETE or DROP - many web sites will happily let anyone run either statement from the comfort of the login page.
Worse things can and do happen - like someone making off with confidential data.
My concern over these 'minimal knowledge' courses is that their graduates will be unprepared to deal with complex issues like security. On the other hand, given the dismal state of security, they might improve things, in which case I am in favor.
WTF are you on about?
At any of those schools the EE program will be tougher the CS. Get over it.
Comparing across schools just reflects your lack of understanding of the discussion.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
You're very lucky to find CS taught out of Engineering.
More typical is CS taught out of Math (or spun off from math in previous years).
Worst is CS taught out of fucking business.
It's a good interview question for recent grads.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
I don't think I have ever seen a real CS program that is not part of the school of engineering.
Having it in the math department isn't so bad, since CS is a branch of mathematics. Most of the older CS professors that I personally know have doctorates in mathematics.
Comparing across schools just reflects your lack of understanding of the discussion
Actually, it clearly demonstrates the opposite. I'm sure you'd like to simply compare between disciplines at the same school, but that would defeat your argument.
I'd love to hear your explanation as to how you believe that CalTech's Comp Sci degree is less difficult than Clemson's EE program.
Loading...