-
Object Oriented Java Programming: Data Structures and Beyond Specialization
Description This Specialization covers intermediate topics in software development. You’ll learn object-oriented programming principles that will allow you to use Java to its full potential, and you’ll implement data structures and algorithms for organizing large amounts of data in a way that is both efficient and easy to work with. You’ll also practice critically evaluating…
-
Computational Thinking & Block Programming in K-12 Education Specialization
Description In the 21st century, computational thinking is a skill critical for all the world’s citizens. Computing and technology is impacting all our lives and everyone needs to know how to formulate problems and express their solutions such that a computer can carry it out. In this Specialization you will both learn several block-based languages,…
-
Parallel, Concurrent, and Distributed Programming in Java Specialization
Description Parallel, concurrent, and distributed programming underlies software in multiple domains, ranging from biomedical research to financial services. This specialization is intended for anyone with a basic knowledge of sequential programming in Java, who is motivated to learn how to write parallel, concurrent and distributed programs. Through a collection of three courses (which may be…
-
Functional Programming in Scala Specialization
Description Discover how to write elegant code that works the first time it is run. This Specialization provides a hands-on introduction to functional programming using the widespread programming language, Scala. It begins from the basic building blocks of the functional paradigm, first showing how to use these blocks to solve small problems, before building up…
-
Object Oriented Programming in Java Specialization
Description This Specialization is for aspiring software developers with some programming experience in at least one other programming language (e.g., Python, C, JavaScript, etc.) who want to be able to solve more complex problems through objected-oriented design with Java. In addition to learning Java, you will gain experience with two Java development environments (BlueJ and…
-
Introduction to Programming in C Specialization
Description This specialization develops strong programming fundamentals for learners who want to solve complex problems by writing computer programs. Through four courses, you will learn to develop algorithms in a systematic way and read and write the C code to implement them. This will prepare you to pursue a career in software development or other…
-
Java Programming and Software Engineering Fundamentals Specialization
Description Take your first step towards a career in software development with this introduction to Java—one of the most in-demand programming languages and the foundation of the Android operating system. Designed for beginners, this Specialization will teach you core programming concepts and equip you to write programs to solve complex problems. In addition, you will…
-
Python Programming: A Concise Introduction
Description The goal of the course is to introduce students to Python Version 3.x programming using hands on instruction. It will show how to install Python and use the Spyder IDE (Integrated Development Environment) for writing and debugging programs. The approach will be to present an example followed by a small exercise where the learner…
-
Introduction to Programming with MATLAB
Description This course teaches computer programming to those with little to no previous experience. It uses the programming system and language called MATLAB to do so because it is easy to learn, versatile and very useful for engineers and other professionals. MATLAB is a special-purpose language that is an excellent choice for writing moderate-size programs…
-
Programming Languages, Part A
Description This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming…