Computer programming courses can help you learn coding languages like Python, Java, and JavaScript, along with concepts such as algorithms, data structures, and software development principles. You can build skills in debugging, version control, and writing efficient code. Many courses introduce tools like Git for version control, integrated development environments (IDEs) like Visual Studio Code, and frameworks such as React or Django, that support developing applications and enhancing your programming capabilities.

Princeton University
Skills you'll gain: Data Structures, Algorithms, Java, Performance Testing, Computer Programming, Java Programming, Theoretical Computer Science, Object Oriented Programming (OOP)
Intermediate · Course · 3 - 6 Months

Princeton University
Skills you'll gain: Graph Theory, Data Structures, Algorithms, Theoretical Computer Science, Operations Research, Computational Thinking, Computer Programming, Network Routing, Java Programming, Linear Algebra
Intermediate · Course · 3 - 6 Months

Peking University
Skills you'll gain: Data Structures, Algorithms, C++ (Programming Language), Graph Theory, Object Oriented Programming (OOP), File I/O, C (Programming Language), Computational Thinking, Programming Principles, Computer Programming, Pseudocode, Program Development, Computer Science, Computer Architecture, Data Storage, Mathematical Modeling, Software Engineering, Database Systems, Debugging, Theoretical Computer Science
Beginner · Specialization · 3 - 6 Months

Arizona State University
Skills you'll gain: Supervised Learning, Unsupervised Learning, Matplotlib, File I/O, Generative Adversarial Networks (GANs), NumPy, Object Oriented Programming (OOP), Deep Learning, Image Analysis, Plot (Graphics), Machine Learning Algorithms, Object Oriented Design, Applied Machine Learning, Integrated Development Environments, Pandas (Python Package), Python Programming, Machine Learning, Event-Driven Programming, Programming Principles, Computer Programming
Beginner · Specialization · 3 - 6 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Programming Principles, C++ (Programming Language), Computer Programming, Data Structures, Algorithms, Development Environment, Debugging
Beginner · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Unified Modeling Language, Software Design, Image Analysis, Python Programming, Jupyter, Software Engineering, Application Programming Interface (API), Object Oriented Programming (OOP), Computer Vision, Integrated Development Environments, Computer Programming
Intermediate · Course · 1 - 4 Weeks
University of Michigan
Skills you'll gain: Programming Principles, Software Installation, Python Programming, Computer Programming, Computational Thinking, Development Environment
Mixed · Course · 1 - 3 Months

Skills you'll gain: Musical Composition, Music, Computer Programming, Program Development, Programming Principles, Python Programming
Beginner · Guided Project · Less Than 2 Hours

Universidad de los Andes
Skills you'll gain: File I/O, Data Visualization Software, Programming Principles, Computational Thinking, Matplotlib, Python Programming, NumPy, Algorithms, Computer Programming, Pandas (Python Package), Debugging, Data Manipulation, Integrated Development Environments, Data Structures, Data Analysis, Scripting
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Programming Principles, C++ (Programming Language), C and C++, Computer Programming, Integrated Development Environments, Pseudocode, Computer Science
Beginner · Course · 1 - 4 Weeks

University of Illinois Urbana-Champaign
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Development Environment, Engineering Software, Computer Programming, Data Structures, Debugging, Program Development
Intermediate · Course · 1 - 4 Weeks
Skills you'll gain: Embedded Software, C (Programming Language), Embedded Systems, Debugging, Peripheral Devices, Integrated Development Environments, Computer Programming Tools, Development Environment, System Programming, Electronics, Software Development Tools, Hardware Architecture, Data Structures, Electronic Hardware, Microarchitecture, Programming Principles, Performance Tuning, Computer Architecture, Control Systems, Computer Programming
Intermediate · Specialization · 3 - 6 Months