
A succinct introduction to key concepts in software engineering.
What you will learn
The background necessary to learn programming with a big picture in mind
Software engineering concepts: software architecture vs. software engineering, software decomposition and testing, and others
Programming language concepts: programming language, compilation, bytecode, and others
Computer science concepts: algorithm, data structure and others
Description
Considering to become a superb software engineer without spending four years and tons of money on formal CS education? Don’t know where to begin? You have landed to the right place.
My name is Meir Goldenberg. I began by learning programming on my own in early 90s, hold Ph.D. in classical AI, and possess 30+ years of programming and 10+ years of professional teaching experience. In fact, I am passionate about both programming and teaching programming to beginners.
My experience has taught me that becoming a good programmer is about deep assimilation of thought patterns concerning algorithmic thinking and expressing ideas in elegant code that is easy to read and maintain. This is in stark contrast to most existing online (and not only) courses that focus almost exclusively on technical aspects of coding.
Therefore, I decided to address the need to teach programming well to an ambitious person, who does not want to spend four years and tons of money on a CS degree, but still wants to get real CS education and become an excellent programmer.
The hallmarks of my online teaching style are precision, succinctness and clarity. In just about 20 minutes of this mini-course, you can learn concepts in software engineering that will serve as a great foundation for your endeavor to become a great software engineer.
Content