How do Java programs deal with vast quantities of data? Many of the data structures and algorithms that work with introductory toy examples break when applications process real, large data sets. Efficiency is critical, but how do we achieve it, and how do we even measure it? In this course, you will use and analyze data structures that are used in industry-level applications, such as linked lists, trees, and hashtables.

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers basic iterable data types, sorting, and searching algorithms.

This project-based course explores the process of designing and developing educational games, including issues associated with assessment, implementation and marketing. The field of learning games is rapidly growing, with interest from academics, publishers, schools and startups. But what makes a good learning game? Where do ideas come from and how do you create them? These are the questions that this course tries to answer.

Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth. This course is an introduction to algorithms for learners with at least a little programming experience. The course is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. After completing this course, you will have a greater mastery of algorithms than almost anyone without a graduate degree in the subject.

Learn about the rich diversity of Hindu sacred texts – hymns, narratives, philosophical thought – and their interpretations. Ever wondered about the sacred scriptures that have sustained for millennia one of the oldest and most diverse religions of the world - Hinduism? Want to discover the lessons this history may offer mankind in the 21st century?

Learn about the Quran, the central sacred text of Islam, through an exploration of the rich diversity of roles and interpretations in Muslim societies. How can you improve your understanding of Islam and its most important holy text, the Quran? How can you make sense of a tradition and a text that have been interpreted in different ways across vast geographical spaces for nearly a millennium and a half?

Learn about the rich and diverse beliefs and practices of Buddhists across time and place. Experience Buddhism through its scriptures, both relationally as well as academically. Whether you are new to the study of Buddhism or have been studying it or practicing it for years, this course will provide you with the opportunity to become acquainted with a variety of Buddhist teachings while guiding you to think about them, and yourself, in new ways.

This course will cover algorithms for solving various biological problems along with a handful of programming challenges testing your ability to implement these algorithms. It offers a gentler-paced alternative to the instructors' two other courses, Bioinformatics Algorithms (Part 1 and Part 2).

This course teaches the fundamentals of Fog Networking, the network architecture that uses one or a collaborative multitude of end-user clients or near-user edge devices to carry out storage, communication, computation, and control in a network. It also teaches the key results in the design of the Internet of Things, including consumer and industrial applications.

Rhetorical Composing engages you in a series of interactive reading, research, and composing activities along with assignments designed to help you become more effective consumers and producers of alphabetic, visual and multimodal texts. Join us to become more effective writers... and better citizens.

This course explores markets with frictions. The goal is to sharpen our economic reasoning, add a few twists that you are unlikely to have seen in other courses, and apply the methods to interesting phenomena. This should improve the way you think analytically about the economy, and help address interesting issues that come up in the world of business.