These days at college in education, professors have become religious on programming languages like Java, as it forces theory upon the student. Thus introductory material exposes students to many advanced concepts that might be way overwhelming. Before when I was taking programming courses, I went from simple languages like BASIC and Pascal, to C/C++ and then Java, and now C#. I didn't start my beginning courses with an language that forces good object-oriented design. That's way too much material for a beginning student.
Over the years, students have asked me, what they should take to learn programming, or how can they learn it on their own. So I wanted to detail the gradual step or stages to develop programming skills.
- Introduction Course: Branching and Looping, Variables, Arrays, Sub-routines (functions), Scope
- Intermediate Course: Modular Programming Design (functional decomposition, abstraction), Pointers or References, Binary Operators, Algorithms
- Data Structures: Link Lists, Stacks, Queues, Trees, Graphs, etc.
- Object Oriented Programming
- Object Oriented Design, Design Patterns
- Advanced Topics
- Real-Time Programming
- Network Programing
- Remoting
- Reflection
- Serialization
- Concurrency and Threading
- Database
- Component Based
There will be many that argue you are required to know a lot of mathematics, but I really disagree, Mathematics is not needed to become a programmer. But to go into really high paid jobs and management, where one is an architect, Math becomes required. To be an implementer of new things, Math is needed, but to use existing libraries, you do not need the years of Math required for a computer science degree. And with such a dearth in the market, there's always a strong need for programmers.
For Information Technology, at most one needs Steps 1-4, and at minimum one needs steps 1-2. Most all IT jobs require some sort of scripting, unless you are a button pushing Windows tech. The most high paid system administrators are ones that can do scripting and automation, with Perl and Python becoming the most popular languages.
No comments:
Post a Comment