Back

Programming Methodology

  • Free

  • online
  • Online |
  • Date not specified
  • Certificate

Introduction to the engineering of computer applications emphasizing modern software engineering principles: program design, decomposition, encapsulation, abstraction, and testing. Emphasis is on good programming style and the built-in facilities of respective languages.

CS106A introduces computer programming for people who have not programmed before. To learn programming, you need to do a lot of guided programming, and have a lot of help at hand-that's CS106A. Recently, CS106A has switched to using the Python programming language and lab-style coding in lecture. But at its heart, it is still CS106A - introduce the world of computers to a broad audience.

Curriculum

This course will cover all the important topics of basic programming in Python: types, numbers, strings, functions, linear collections, dictionaries, logic, decomposition, good programming style, whole-program structure, text, file-processing, debugging, and performance. This course will also touch on more advanced topics you might want in the future, including lambdas, comprehensions, modules, and Jupyter notebooks. Python is a huge language with many advanced features, and CS106A does not do the whole thing. CS106A teaches the important core features, and you will be able to solve real programming problems with just this course.

Upcoming

Stanford University

Reinforcement Learning

  • Free
  • Online
  • Certificate
To realize the full potential of AI, autonomous systems must learn to make good decisions; reinforcement learning (RL) is a powerful paradigm for doing so. RL algorithms are applicable to a wide range of tasks, ...
  • Free
  • Online
  • Certificate