4 ms·
I don't have mixed feelings about this. A course name "Web Applications" should start by explaining the fundamental difference between "Applications" and "Web A
by nathancahill 10y ago
I don't have mixed feelings about this. A course name "Web Applications" should start by explaining the fundamental difference between "Applications" and "Web Applications", the second of which is accessed via browsers, which the developer has no control over. It's a pretty crucial concept.
As far as grading, I wouldn't expect responsive design or old IE support, but it should work in all current, major desktop browsers. It's really not hard, you just have to be conscientious of the fact that there are multiple browsers out there.
- danso 10y agoTo use another technical analogy...I teach data analysis using SQLite...the purpose of the course is for students (most of who have never actually programmed) to be introduced to SQL, but more fundamentally, the concepts of databases and data joins. Ignoring the profound differences in database architecture...SQLite follows most of the SQL standard [0]...but I think there are enough syntax differences between it and Postgres that the gulf might be roughly comparable to at least the disparity in vendor prefixes on the browser side. As for SQLite vs. MySQL...well, I used to teach lessons that allowed the use of either SQLite and MySQL, and gave that up after a year. In addition to being SQLite focused, I tell students to just use one open-source, cross-platform client: http://sqlitebrowser.org/ http://sqlitebrowser.org/ Sure, you could make the argument that I'm woefully preparing my students for jobs in which PG/MySQL/MSSQL is by far the standard...whether you're talking about web applications or dealing with legacy data files. But job viability is not in my scope...I argue that I'm teaching students the fundamentals of data and logical joins...that I use SQLite is merely an implementation detail. That's how I feel about the CS 142 class...if students come out of that class being able to understand even an intermediate level of all those concepts...when they get out into the "real world", learning how to write for cross-browser compatibility will be well within what they can learn on the job. Just like it's trivial to learn the other variants of SQL once you've grokked SQL itself. [0] https://www.sqlite.org/lang.html https://www.sqlite.org/lang.html
- nathancahill 10y agoI understand what you're saying, but I think you're confusing tools and deliverables. If I hired someone to do data analysis, and they delivered accurate results using SQLite, I could not fault them since the deliverable is correct, whether they used SQLite or PG. If I hired someone to build a web application, and then found out that it only worked in Chrome, that's a broken deliverable. The specific tool (SQLite/PG/etc or Chrome/FF/Lynx/etc) used for creating each deliverable doesn't matter.
- softawre 10y agoThe point was made that, in one course, they're already learning JS/HTML/CSS and the full MEAN stack. Adding on the requirement that it work in each browser is just too much, especially when you consider how you'd want to grade such a thing. FeatureA works in Chrome/FF but looks weird in Safari and is outright broken in IE. 7.346/10?
- nathancahill 10y agoIt's not "make it work in each browser", and it's not "just too much". If you spend an additional couple minutes per assignment checking functionality in major browsers (ignoring IE), you're set. For your FeatureA, I'd ignore IE (that's a whole college course in itself), but I'd grade that 9.8/10. -0.2 cause it looks weird in Safari.
- foota 10y agoThat's not entirely true, what about when you bring someone in and say "here's my mysql server that I haven't upgraded in years, analyze the data in it"
- ACow_Adonis 10y agoAs a real world analyst, I'd love a job where you just sit there and pay me to come up with "insights/deliverables" and not have to worry about implementation details. Indeed, in my experience, the thought that this is how it's done/what analysts should do is a chief complaint about academic-esque analysts, because they can't actually implement anything or their solution is completely unworkable for real scale/tech environment/software stack. But I would happily take a job where I can be paid to live in my ivory tower if you know a place that views that as the deliverable of analysis :p Indeed, I think the comparison of someone delivering a webpage that doesn't run on other browsers is quite an apt analogy...
- alainv 10y agoTangential: please stop abusing ellipses, it makes your (otherwise fine) writing unduly difficult to read. http://writing-skills.com/five-annoying-ways-use-ellipsis http://writing-skills.com/five-annoying-ways-use-ellipsis http://www.holyfuckingshityouredumb.com/2010/02/02/the-dreaded-internet-ellipsis/ http://www.holyfuckingshityouredumb.com/2010/02/02/the-dread...
- Hannan 10y agoDon't listen to the other comments. Your job is to teach the concepts. Implementation details are a separate concept to be learned on the job. You're teaching crafts(wo)men, not Unsullied. I remember my first job not knowing the difference between #includes with brackets versus quotes, and where the IDE was searching for them. I was so pissed that my CS program didn't prepare me adequately for my first job. But the truth is this was one of thousands of "figure that shit out for yourself" that they glossed over in favor of "don't write n^n algorithms" and "cartesian products will be the death of you"; I'm currently taking over a code base where simple requests from an ORM are issuing thousands of queries. So, please continue to teach SQL. As for browser coding, I learned all that on the job too, and it has no place in an academic setting. It's entirely dependent on feature needs, your target market, accessibility concerns, etc. To say that some new graduate should have all the skills necessary to navigate that minefield is madness. I wonder how many people bitching about Chrome/Firefox/IE are ARIA compliant.