Ask HN: New curriculum needed for university's Web Application Development
I've recently been approached by an African university with a full time position (with the possibility of continued outside work and research). One of the first discussions we had was on the quality of the skills most students graduate with.
The course needs some serious redevelopment and a refocused vision to stay viable in our ever changing web environment.
Problems I've come across from interviews with various students (pre and post graduate level) include:
* Not a strong enough focus on core technologies
* Outdated set of technologies being taught (curriculum is 10 years old)
* Students' portfolios look anything but impressive
* Students are not encouraged to build businesses or working prototypes - merely to 'get a job' (I feel this is a waste of their free time in the 3-4 years they spend on campus)
* Not enough focus on emerging technologies
* No focus on mobile web development at all
* Too much focus on M$ and Oracle technologies (although this is still heavily required in the country)
On the positive side, the course is up for review on a curriculum level. I though this would be the best platform and crowd to ask for suggestions and help.
I'd appreciate any and all discussion on this topic as I really want students who invest their time and effort to step into industry (ideally on their own) with a solid and grounded footing.
Below are the course majors.
INTERNET PROGRAMMING I Students acquire an understanding of the core principles of Java and they learn how to produce well-designed, effective applications using some of the more advanced features of the language.
INTERNET PROGRAMMING II Client-side programming using HTML and scripting languages. Advanced client-side programming.
INTERNET PROGRAMMING IIA This subject teaches how to design and develop websites using client side technologies including XHTML, Cascading Style Sheets, and JavaScript. At the end of this subject, students should show the ability to develop interactive client side websites. Contents include: Basic XHTML, Imaging for the web (Image Basics, Raster and vector graphics, Common image formats), Advanced XHTML (Meta Elements, Span and Div elements, Image Maps, Tables, Forms, Frames), Cascading Style Sheets, JavaScript Introduction + Arithmetic, JavaScript Control Structures, JavaScript Functions, JavaScript Arrays, JavaScript Objects, DHTML + DHTML Events model (The on click, on load, on error, Mouse and Form events, Event Bubbling, etc) (Total tuition time: ± 90 hours)
INTERNET PROGRAMMING AND E-COMMERCE IV The aim of this course is to introduce students to the Rapid application development with the Ruby on Rails framework and databases for interacting with, and storing data for end users. Topics include Advanced architectural design of e-commerce systems with high availability and scalability, developing front-end/back-end functionality, security/logins, system administration etc. (Total tuition time: ± 30 hours)
INTERNET PROGRAMMING IIB This subject teaches how to design and develop and deploy dynamic web applications using server-side technologies namely ASP.NET, c#, IIS /Tomcat server & Database. At the end of this subject, students should show the ability to develop dynamic and interactive 3-tier client-server-database web applications using C# in an ASP.NET development environment. Contents include reasons for using Server-Side Web scripting, Introduction to C#, Exception handling, object oriented programming in C# and the .NET framework; introduction to the Visual Studio IDE and the basic concepts of ASP.NET. (The parts of the IDE and MSDN; ASP.NET files; Web Form Layout; Basic Controls; Master Pages; Code Behind; Post-back), Validation Controls, Login Controls, Menu Controls, State Management, important concepts and classes that are essential for programming ASP. NET applications (HTTP Classes, Application and Session, Page object, Page Lifecycle), theory and practice of SQL using Microsoft SQL Server Express, debugging applications and navigating the integrated SQL Server Express/Visual...
7 comments
[ 3.0 ms ] story [ 9.6 ms ] threadExperiment with the Salman Khan learning style - invert lectures and homework. Eg, have students watch lectures at home (from MIT OCW, Stanford, Berkeley, Khan Academy, etc), and devote class time to implementing, practicing, doing. Get rid of large boring lectures, replace them with more time in guided labs/sessions. Learning programming is all about doing, and the one advantage a University can offer over self-learning is mentoring by professors and a quicker instructional feedback loop. Leverage that.