Program Overview
This program will teach you core computer science competencies in programming and data structures. Understanding how programming works is essential in many technical disciplines such Information Technology, Software Engineering, Cybersecurity, and Computer Science. The courses utilize the C++ programming languages to establish a solid foundation in programming and data structures for the students. Students gain valuable hands-on experience programming solutions to problems in the labs. I the labs, students will practice their core programming skills and will also develop many advanced data structures including, hashtables, sorting and search algorithms, binary trees, AVL trees, graph algorithms and many more advanced computing topics. In addition to the applied programming labs, students will also gain an understanding of computational complexity through the analysis of the data structures and programs that are developed.
What you will learn
  • Identify and explain a programming development lifecycle, including planning, analysis, design, development, and maintenance.
  • Demonstrate a basic understanding of object-oriented programming by using structures and classes in software projects.
  • Use object-oriented programming techniques to develop executable programs that include elements such as inheritance and polymorphism.
  • Document and format code in a consistent manner.
  • Apply basic searching and sorting algorithms in software design.
  • Apply single-and multi-dimensional arrays in software.
  • Use a symbolic debugger to find and fix runtime and logical errors in software.
  • Demonstrate a basic understanding of programming methodologies, including object oriented, structured, and procedural programming.
  • Describe the phases of program translation from source code to executable code.
  • Design and develop programs that utilize linked lists to store data internally.
  • Design and develop programs that utilize stacks and queues to manage collections of data.
  • Design and develop programs that recursion to solve problems that can be expressed with recurrence.
  • Utilize binary search trees and balanced trees to implement fast retrieval of data from a collection of data stored in memory.

Course List

1
Introduction to Programming in C++

Course Details
Learn the fundamentals of programming in the C++ programming language, including iteration, decision branching, data types and expression.

2
Advanced Programming in C++

Course Details
Learn the advanced programming topics in the C++ programming language, including functions, computation complexity, arrays and strings.

3
Introduction to Data Structures

Course Details
Learn the advanced programming topics in the C++ programming language, including pointers, dynamic storage, recursion, searching, and sorting.

4
Advanced Data Structures

Course Details
Learn the advanced programming topics in the C++ programming language, including file processing, linked lists, stacks, queues, trees, binary search trees and tree balancing algorithms.

Meet Your Instructors

Aspen Olmsted

Adjunct Professor at New York University Tandon School of Engineering Aspen Olmsted is an adjunct faculty member in the New York University Tandon School of Engineering in the Computer Science and Engineering department. Aspen's fulltime job is as an assistant professor and Graduate program director at the College of Charleston. He obtained a Ph.D. in Computer Science and Engineering from The University of South Carolina. Before his academic career, he was CEO of Alliance Software Corporation. Alliance Software developed N-Tier enterprise applications for the performing arts and humanities market. Dr Olmsted’s research focus is on the development of algorithms and architectures for distributed enterprise solutions that can guarantee security and correctness while maintaining high-availability. In his Secure Data Engineering Lab, Aspen mentors over a dozen graduate and undergraduate students each year

Itay Tal

Industry Assistant Professor at New York University Tandon School of Engineering Tel-Aviv University 2005 M.Sc., Computer Science Tel-Aviv University 1998 B.Sc., Computer Science and Mathematics

About this course

According to world-renowned management consultant, Peter Drucker, “Marketing is the only distinguishing and unique function of business…There is only one valid definition of business purpose and that is to create a customer.”

While the significance of marketing in today’s business world can never be overstated, it is the precise understanding and appreciation of marketing management that needs to be accentuated. Marketing management allows an organization to track, review and analyze their marketing resources and activities.

In this marketing course, you will learn the fundamentals of marketing management, as you gradually learn advanced theories and applications through real world business examples, illustrations, cases and exercises. You will learn how marketing management tools can be used to increase your customer base, improve customer satisfaction and increase your company’s overall perceived value.

You will learn how marketing serves as a key element within an organization’s strategy.

What you’ll learn

  • Basic concepts of marketing
  • Segmentation, targeting, differentiation and positioning
  • Marketing strategy
  • 4Ps of marketing: product, price, place and promotion

Meet your instructor

Ashis Mishra

Dr. Ashis Mishra is a faculty member in the Marketing Area at the Indian Institute of Management Bangalore (IIMB). Dr. Mishra teaches marketing management and retail management. His area of research involves Retail Productivity Analysis, Retail Atmospherics and Retail Consumer Behaviour. He has successfully developed and applied many quantitative models and business model frameworks in solving marketing/retailing-related problems. He has published over 10 papers in various national and international journals of repute. His current projects include ‘A Dynamic Model for Forecasting in Indian Retail Sector’, ‘Store Atmospherics as a Tool for Retail Productivity’ and ‘Technographic Segmentation of Indian Retail Consumers.’

Who can take this course?

Unfortunately, learners from one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. edX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.

Program overview

Accountants with deep financial expertise, business acumen, real-world experience, decision-making ability, and effective communication skills are vital to businesses of all sizes and have tremendous career opportunities. This MicroMasters® program in Accounting is designed for smart, hardworking students with integrity and passion who want to substantially enhance their understanding of accounting. The program curriculum includes courses in the three most fundamental areas of accounting: financial accounting, managerial accounting, and income taxes. Learn from world-renowned, award-winning accounting faculty at the top-ranked Kelley School of Business at Indiana University. The MicroMasters program will introduce you to the following key areas in the accounting profession:

Financial Reporting I – How do firms measure and report financial position and financial performance in a set of financial statements?
Managerial Accounting and Corporate Control – How do firms make critical strategic decisions using accounting information?
Taxes and Decision Making – How do income taxes impact firms, their strategies, capital structure, and after-tax profits?
The three graduate-level courses in the MicroMasters program represent 30% of the coursework in the online Master of Science in Accounting from the Kelley School of Business at Indiana University offered on the edX platform.

The online Master of Science in Accounting program is designed for individuals who want to transition to an accounting career and for individuals who want to deepen their understanding of accounting’s role in investing, banking, and corporate management. The Kelley School of Business is currently ranked #7 for graduate accounting programs by Public Accounting Report.

Completing this MicroMasters program in accounting can strengthen your application to the online Master of Science in Accounting program, as well as advance your career.

What you will learn

  • What information do firms measure and report in a wide array of transactions, events, and arrangements in balance sheets, income statements, and statements of cash flows?
  • What are key elements of financial reporting, such as revenues, expenses, gains and losses, net income, assets, liabilities, and owners’ equity?
  • How do firms develop and use key internal information such as product costs, cost allocations, customer profitability, budgets, and planning to execute and control firm strategy?
  • How do income taxes impact firms? How do firms measure and report taxable income and taxes payable? And how do firms strategically plan for and manage the impact of taxes on profitability?
  • Accounting standards, including U.S. Generally Accepted Accounting Principles (U.S. GAAP) and International Financial Reporting Standards (IFRS).

Program Class List

1
Financial Reporting I

Course Details
Earn a strong foundation in financial reporting concepts and methods, and use your skills to prepare and analyze financial statements.

2
Managerial Accounting and Corporate Control

Course Details
How do managers use internal accounting data to make decisions? In this course, you’ll discover how to prepare and analyze accounting information to make complex business decisions.

3
Taxes and Decision Making

Course Details
How do you reduce a company or individual's taxes while complying with tax laws? Designed for accounting students, this course focuses on understanding the legal, conceptual, and integrative aspects of U.S. federal income taxation.

Meet Your Instructors

Ken Merkley

Associate Professor of Accounting at Indiana University
Ken Merkley is an Associate Professor (with tenure) in the Accounting Department at the Kelley School of Business at Indiana University. His research focuses on the role of information in capital markets. He specializes in examining corporate financial communication decisions and the influence of external capital market participants, such as investors, financial analysts, auditors, and lawyers. He serves on the editorial board of The Accounting Review and referees for top journals in accounting and finance. Prior to joining Kelley, he served on the faculty of Cornell University, where he was a distinguished teacher and researcher at the Johnson Graduate School of Business. He received the Barry and Ann Riding Fellowship and the Half Century Faculty Research award. In 2014, he was named by Poets & Quants as one of the Top 40 Business School Professors Under 40. He received his PhD from the University of Michigan and received his Master of Accountancy (MAcc) from Brigham Young University.

Brian P. Miller

Associate Professor of Accounting at Indiana University
Brian P. Miller is the PwC Faculty Fellow and Associate Professor at the Kelley School of Business at Indiana University. He received his Ph.D. from the Pennsylvania State University and has taught for more than 15 years at a number of universities. Professor Miller’s teaching interests focus on financial and managerial accounting an emphasis on decision making, where he is able to combine his practical experience with his research interests.He has taught a variety of MBA, Executive MBA, and PhD programs. In addition to more traditional classroom learning environments, he has had the opportunity to lead groups of MBA students to Guatemala, where students can apply the skills they learn in the classroom to consulting projects. He has received numerous teaching awards during his career. Prior to becoming an academic, he worked at public accounting and as a finance manager at Procter & Gamble. In particular, he served as a financial analyst in fabric care, a cost analyst in the company’s new business development group, and as a cost forecaster for a several billion dollar segment of the company. During his time at Procter & Gamble he was awarded the Outstanding Achievements in Fabric Care in Finance and Accounting. His research is focused on measuring managerial talent, management disclosure decisions, and the penalties managers pay for misreporting. His work has been published in several prestigious journals including The Accounting Review, The Journal of Accounting and Economics, Management Science, and The Review of Accounting Studies. He serves as an Associate Editor at Management Science and on the editorial boards at several other prestigious journals. He is also the recipient of the awarded American Accounting Association’s Notable Contribution to the Accounting Literature Award. In his free time, Brian loves spending time with his wife and kids, traveling, and competing in triathlons.

Greg Geisler

Clinical Professor of Accounting at Indiana University
Greg Geisler, PhD, CPA is a Clinical Professor of Accounting at Indiana University (Bloomington), where he teaches income tax courses. At his former institution, the University of Missouri-St. Louis (UMSL), Greg won the Chancellor’s Teaching Excellence Award in 2017 and the Governor’s Excellence in Teaching Award in 2006. Both are awarded to only one UMSL professor per year. He holds a PhD from the University of North Carolina at Chapel Hill, an MBA from the University of Pittsburgh, and a Bachelor’s degree from the University of Notre Dame. Before entering academia full-time, he was a practicing CPA working in public accounting for 5 years.

Testimonials

“Brilliant course! It’s definitely the best introduction to electronics in Universe! Interesting material, clean explanations, well prepared quizzes, challenging homeworks and fun labs.”

Ilya

“6.002x will be a classic in the field of online learning. It combines Prof. Agarwal’s enthusiasm for electronics and education. The online circuit design program works very well. The material is difficult. I took the knowledge from the class and built an electronic cat feeder.”

Stan

“Brilliant course! It’s definitely the best introduction to electronics in Universe! Interesting material, clean explanations, well prepared quizzes, challenging homeworks and fun labs.”

Ilya

“6.002x will be a classic in the field of online learning. It combines Prof. Agarwal’s enthusiasm for electronics and education. The online circuit design program works very well. The material is difficult. I took the knowledge from the class and built an electronic cat feeder.”

Stan

Program Overview

This MicroMasters program is a mix of theory and practice: you will learn algorithmic techniques for solving various computational problems through implementing over one hundred algorithmic coding problems in a programming language of your choice.

No other online course in Algorithms even comes close to offering you a wealth of programming challenges that you may face at your next job interview. To prepare you, we have invested thousands of hours designing challenges as an alternative to multiple choice questions that you usually find in MOOCs. We believe in learning through application, especially when it comes to learning algorithms.

For each algorithm you develop and implement, we have designed multiple tests to check its correctness and running time — you will have to debug your programs without even knowing what these tests are! It may sound difficult, but we believe it is the only way to truly understand how the algorithms work and to master the art of programming.

What you will learn

  • Understand essential algorithmic techniques and apply them to solve algorithmic problems
  • Implement programs that work in less than one second even on massive datasets
  • Test and debug your code even without knowing the input on which it fails
  • Formulate real life computational problems as rigorous algorithmic problems
  • Prove correctness of an algorithm and analyze its running time

Program Class List

1
Algorithmic Design and Techniques

Course Details
Learn how to design algorithms, solve computational problems and implement solutions efficiently.

2
Data Structures Fundamentals

Course Details
Learn how to design algorithms, solve comLearn about data structures that are used in computational thinking – both basic and advanced.putational problems and implement solutions efficiently.

3
Graph Algorithms

Course Details
Learn how dynamic programming and Hidden Markov Models can be used to compare genetic strings and uncover evolution.

4
NP-Complete Problems

Course Details
Learn about NP-complete problems, known as hard problems that can’t be solved efficiently, and practice solving them using algorithmic techniques.

5
String Processing and Pattern Matching Algorithms

Course Details
Learn about pattern matching and string processing algorithms and how they apply to interesting applications.

6
Dynamic Programming: Applications In Machine Learning and Genomics

Course Details
Learn about data structures that are used in computational thinking – both basic and advanced.

7
Graph Algorithms in Genome Sequencing

Course Details
Learn how to use algorithms to explore graphs, compute shortest distance, min spanning tree, and connected components.

8
Algorithms and Data Structures Capstone

Course Details
Synthesize your knowledge of algorithms and biology to build your own software for solving a biological challenge.

Meet your instructors

Pavel Pevzner

Ronald R. Taylor Professor of Computer Science
The University of California, San Diego

Daniel Kane

Assistant Professor,
Computer Science and Engineering & Dept. of Mathematics
UC San Diego

Alexander S. Kulikov

Visiting Professor
UC San Diego

Michael Levin

Chief Data Scientist
Yandex.Market

Neil Rhodes

Lecturer
UC San Diego

Phillip Compeau

Assistant Teaching Professor
Carnegie Mellon University