Data Structures and Performance
date_range Débute le 13 mars 2017
event_note Se termine le 24 avril 2017
list 6 séquences
assignment Niveau : Introductif
label Informatique & Programmation
chat_bubble_outline Langue : Anglais
card_giftcard 21.6 points
- /5
Avis de la communauté
0 avis

Les infos clés

credit_card Formation gratuite
timer 36 heures de cours

En résumé

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!

more_horiz Lire plus
more_horiz Lire moins
dns

Le programme

  • Week 1 - Introduction to the Course
    Welcome to the first module in the second course of our Intermediate Java Programming Specialization. We'll start with introductions again: to ourselves, the Google engineers, and the structure of the course. After the introduction we'll have a short warm up...
  • Week 2 - Working with Strings
    This week we're going to dive into the course programming project. In the first lesson you'll learn about Strings and Regular Expressions, and in the programming assignment this week you'll apply that knowledge to adding functionality to your text editor so t...
  • Week 3 - Efficiency Analysis and Benchmarking
    Welcome to week 2! The text-editor application you worked with last week does something, but it doesn't do it particularly fast. This week we'll start talking about efficiency. We'll introduce the concept of "Big-O" notation, which sounds a little silly, bu...
  • Week 4 - Interfaces, Linked Lists vs. Arrays, and Correctness
    This week we'll start talking about some of the basic concepts that one expects to find in a data structures course: the idea of data abstraction, and a data structure called a Linked List. Even though Linked Lists are not very efficient structures (for the m...
  • Week 5 - Trees! (including Binary Search Trees and Tries)
    Welcome to week 4! We know you've been working hard. We hope you tried that optional Markov Text Generation programming assignment last week, but if not, no worries. You can always go back and do it later (spoiler alert: it's pretty amazing that such a simp...
  • Week 6 - Hash Maps and Edit Distance
    You made it to the last week! Congratulations on getting this far! In this last week we'll be looking at a fundamental data structure called a Hash Table. If you thought trees were fast, just wait until you see what Hash Tables can do! Your last programmi...
record_voice_over

Les intervenants

  • Christine Alvarado, Associate Teaching Professor
    Computer Science and Engineering
  • Mia Minnes, Assistant Teaching Professor
    Computer Science and Engineering
  • Leo Porter, Assistant Teaching Professor
    Computer Science and Engineering
store

Le concepteur

UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 10 public universities by U.S. News and World Report. Innovation is central to who we are and what we do. Here, students learn that knowledge isn't just acquired in the classroom—life is their laboratory.
assistant

La plateforme

Coursera est une entreprise numérique proposant des formation en ligne ouverte à tous fondée par les professeurs d'informatique Andrew Ng et Daphne Koller de l'université Stanford, située à Mountain View, Californie.

Ce qui la différencie le plus des autres plateformes MOOC, c'est qu'elle travaille qu'avec les meilleures universités et organisations mondiales et diffuse leurs contenus sur le web.

Quelle note donnez-vous à cette ressource ?
Contenu
0/5
Plateforme
0/5
Animation
0/5

Vous pourriez être intéressé par...