icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 96 / 100

icon
Course Description

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?This is an intermediate Java course. We recommend this course to learners who have previous experience in software development or a background in computer science, and in particular, we recommend that you have taken the first course in this specialization (which also requires some previous experience with Java). In this course, you will use and analyze data structures that are used in industry-level applications, such as linked lists, trees, and hashtables. You will explain how these data structures make programs more efficient and flexible. You will apply asymptotic Big-O analysis to describe the performance of algorithms and evaluate which strategy to use for efficient data retrieval, addition of new data, deletion of elements, and/or memory usage.The program you will build throughout this course allows its user to manage, manipulate and reason about large sets of textual data. This is an intermediate Java course, and we will build on your prior knowledge. This course is designed around the same video series as in our first course in this specialization, including explanations of core content, learner videos, student and engineer testimonials, and support videos -- to better allow you to choose your own path through the course!

icon
Instructor Details

placeholder

Christine Alvarado is an Associate Teaching Professor in the Computer Science and Engineering Department at the University of California, San Diego. Prior to coming to UCSD in 2012, she was an Associate Professor of Computer Science with tenure at Harvey Mudd College. Her current efforts are focused on designing curriculum and programs to make computing and computing education more accessible and appealing, with the specific goal of increasing the number of women and underrepresented minorities who study computing. Her work is funded by several grants from the National Science Foundation including a Faculty Early Career Development (CAREER) award and a CISE Pathways to Revitalized Undergraduate Computing Education (CPATH) award and a Computing Education for the 21st Century (CE21) award. In 2013 she received the A. Richard Newton Educator ABIE Award from the Anita Borg Institute for her contributions diversity in computer science education. Dr. Alvarado received her undergraduate degree in computer science from Dartmouth in 1998, and S.M. and Ph.D. in computer science from MIT in 2000 and 2004, respectively. She served on the College Board's commission to design the new Advanced Placement Computer Science Principles, and recently served as a co-chair of the NCWIT Academic Alliance. She is currently general co-chair for the 2015 Grace Hopper Celebration of Women in Computing.

icon
Reviews

4.8

323 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Krishna on 27-Dec-15

Are you good at data structures ? If not, this will be the best course to start with. You learn the data structure and implement right away in your project assigment. Very practical.

By Youssef M A E F M N on 13-Apr-18

Fantastic topics. Good explanations by Mia (instructor).Keep doing a great work, guy! I have restored my confidence in programming now!

By Pedro V S d P on 7-Feb-16

I learned useful thinks about the Data structures like lists, and trees.

By Haider H on 29-Jun-16

Thanks

By Dmitri B on 30-May-17

Outstanding course...

By Pankaj K on 11-Jan-16

I really liked this course and the way it was taught. Although I am a CS major, I really learnt a lot of other stuff from this course apart from learning the core content of Data Structures.

By David A H on 7-Jan-16

Great course! I have learned so much from testing design using JUnit on Eclipse to Algorithm big O evaluation. This course is really a delight especially due to the very cool project we built during the course.Thank you!

By Sam R on 1-Feb-16

The work load in this course is more intense than the preceding course in the specialization, especially on week 3. Other than that, I think this was an excellent course. I'm definitely glad I took it, it taught me a lot of the things that I was looking to learn as an intermediately experienced programmer.

By Bennie K on 7-Jun-16

Super easy and practical way of leraning the basic data structures, and some other important CS topics.

By Boris R on 13-Feb-16

Very interesting and really well taught!

By Zhu L on 10-Feb-16

Great class. I hope to take more advanced classes with you guys, if possible. Will you a series on complexity theory, dynamic programming etc?

Awesome! Excellent methodology and contents! It goes to the point. Assignments are cool and help to understand the concepts. Perhaps, I found it a little bit easy, but this is also good because I can adapt my tight schedule to follow the deadlines while also remain motivated. ;-)