Об этом курсе
Недавно просмотрено: 135,809

100% онлайн

Начните сейчас и учитесь по собственному графику.

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.

Промежуточный уровень

Прибл. 24 часа на выполнение

Предполагаемая нагрузка: 6 weeks of study, 4-6 hours/week...

Английский

Субтитры: Английский, Корейский, Немецкий, Китайский (упрощенное письмо)

Приобретаемые навыки

Logic ProgrammingJava ProgrammingObject-Oriented Programming (OOP)Sorting Algorithm

100% онлайн

Начните сейчас и учитесь по собственному графику.

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.

Промежуточный уровень

Прибл. 24 часа на выполнение

Предполагаемая нагрузка: 6 weeks of study, 4-6 hours/week...

Английский

Субтитры: Английский, Корейский, Немецкий, Китайский (упрощенное письмо)

Программа курса: что вы изучите

Неделя
1
3 ч. на завершение

Welcome and Project Overview: Visualizing Data

Welcome to the first week of our course. In this week, we'll get started by introducing ourselves and the Google engineers who will be making appearances throughout the course. We'll also give you of the unique video series we provide and help you understand how to navigate the course to get the most out of it given your background and learning speed. Finally, we'll jump right into objects and designing classes. This might be a bit of review for some of you who might have learned this in your first programming course. If that's the case, feel free to jump ahead to the Practice Quiz at the end of the week. Let's get started!

...
13 видео ((всего 47 мин.)), 8 материалов для самостоятельного изучения, 3 тестов
13 видео
Welcome (Object Oriented Java Programming: Data Structures and Beyond Specialization)3мин
Welcome (Object Oriented Programming in Java Specialization)1мин
Project prototype4мин
Your Path through the Course5мин
Concept Challenges: what and why?3мин
In the Real World: Welcome from Google Engineers50
Introduction: Classes and Objects25
Core: Defining Classes and Creating Objects11мин
When I Struggled: Objects1мин
Core: Overloading Methods6мин
Core: Public vs. Private7мин
In the Real World: Public vs. Private access27
8 материала для самостоятельного изучения
A Customized Welcome to this Course10мин
After completing this course, you will be able to...5мин
Is this course right for me?10мин
Up Next: A short survey10мин
Project overview10мин
Additional Resources and Support10мин
By the end of this week you will be able to...5мин
A note about the main method2мин
3 практического упражнения
Pre-Course Quiz26мин
Survey: Your goals for the course8мин
Basics of Objects10мин
Неделя
2
9 ч. на завершение

Memory Models, Scope, and Starting the Project

We hope you’re excited about the project that we're starting to build -- we sure are! In this second part of this week, we'll walk you through setting up your system and working through your first assignment so you'll be having fun with it in no time. Before that though, we'll finish going over some of the fundamentals fundamentals of object oriented programming. Specifically, being able to trace code is a key skill in becoming a stronger programmer. Like the end of last week, the first part of this week might be a bit of a review of material you already learned in your first Java programming course. If that’s the case, you are always welcome to skip to the first graded assignment on Objects, Memory Models, and Scope.

...
16 видео ((всего 77 мин.)), 11 материалов для самостоятельного изучения, 4 тестов
16 видео
Project: Module 1 Assignment Overview1мин
Project: Setting up the starter code in Eclipse4мин
Core: Drawing Memory Models with Primitive Data5мин
Support: Memory Models for Primitive Types3мин
Support: Setting Up and Running Examples in Eclipse2мин
When I Struggled: Compiling and Running Code55
Core: Drawing Memory Models with Objects8мин
Concept Challenge: Memory Models 15мин
Concept Challenge: Memory Models 25мин
Support: Memory Model Drawing Example5мин
Core: Introduction to Scope9мин
Concept Challenge: Scope6мин
Support: Putting it all Together Part 13мин
Support: Putting it all Together Part 210мин
Project: Module 1 Assignment Walkthrough4мин
11 материала для самостоятельного изучения
Remember to Choose Your Own Path10мин
By the end of this week, you will be able to...10мин
Getting ready to write code10мин
Important note for learners working offline10мин
Setting Up Java and Eclipse on Windows (and Linux)30мин
Setting Up Java and Eclipse on Mac30мин
Setting Up Unfolding Maps10мин
Support: Troubleshooting Common Issues10мин
Congratulations and quiz answers10мин
Programming Assignment Instructions
Congratulations and quiz answers10мин
4 практического упражнения
Where to next?2мин
Working with Code2мин
Objects, memory models, and scope10мин
Programming Assignment Quiz (Do programming assignment FIRST)14мин
Неделя
3
8 ч. на завершение

Graphical output: Creating GUIs and Displaying Data

Now that you have the tools to write and trace object oriented code, let’s get back to developing the project! In this first (real) part of the project, you will create an interactive graphical map that will display geospatial data. This is a highly interactive week, so make sure you’ve got Eclipse loaded up! We encourage you to play around as you watch the videos. Some of the code that we use in the videos is in the demos package in the starter code you set up for this course. Open it up and experiment with it while you're watching the videos. We also encourage you to dive right into the programming project, even before watching the videos, if you want. The programming assignment instructions are in the last lesson of this week - you can watch a video walkthrough of the instructions and also read the step-by-step directions in the accompanying reading. There’s lots of room for creativity, too, so have fun!

...
23 видео ((всего 136 мин.)), 4 материалов для самостоятельного изучения, 1 тест
23 видео
Project: Module 3 Programming Assignment Overview1мин
Core: Graphical User Interfaces4мин
Core: Using PApplet11мин
When I struggled: GUIs27
Core: Resizing Images5мин
Core: Colors8мин
When I Struggled: Documentation1мин
Support: Setting up a Canvas7мин
Support: Drawing Happy Face7мин
Support: Loading and Displaying Images6мин
Core: Why Processing?1мин
Support: Using Documentation7мин
In the Real World: Documentation3мин
Core: Setting up map visualization9мин
Core: Adding markers5мин
Core: Using live data11мин
Bonus: Visualizing life expectancy29
Bonus: Setting up the map4мин
Bonus: Representing data8мин
Bonus: Coloring markers11мин
Support: ArrayLists and Generics8мин
Project: Module 3 Programming Assignment Walkthrough8мин
4 материала для самостоятельного изучения
By the end of this week you will be able to...10мин
Support: Understanding Features and Markers30мин
Programming Assignment Instructions
Congratulations and quiz answers10мин
1 практическое упражнение
Programming Assignment Quiz (Do programming assignment FIRST)20мин
Неделя
4
5 ч. на завершение

Inheritance

Now that you’re in full swing with the project, let’s take a closer look at some concepts that you have already been using in your code. Specifically, the keyword “extends”. What exactly does it mean that your program “extends PApplet”? To answer this question we’ll need to dive into the details of how Java allows for Class Hierarchies through Inheritance and Polymorphism. These fundamental and powerful concepts will serve you well in the future! We’ll use these ideas to allow for displaying markers differently. If you feel you’re already comfortable with Inheritance and Polymorphism, feel free to dive straight into the project (programming assignment) for this week. As you work with the project, feel free to have some fun and introduce new levels of class hierarchies for improved functionality.

...
25 видео ((всего 97 мин.)), 3 материалов для самостоятельного изучения, 1 тест
25 видео
Project: Module 4 Programming Assignment Overview1мин
Core: Why use Inheritance?5мин
Core: Extends5мин
In the Real World: Inheritance 152
Core: Reference vs. Object Type3мин
When I struggled: the "Is a" relationship40
Concept Challenge: References and Objects9мин
Core: Visibility Modifiers4мин
When I Struggled: Inheritance45
Core: Object Creation in Java3мин
Core: Compiler Rules for Class Construction4мин
Core: Variable Initialization in a Class Hierarchy4мин
Concept Challenge: Inheritance Constructors 14мин
Concept Challenge: Inheritance Constructors 23мин
Core: Method Overriding5мин
Core: Introduction to Polymorphism2мин
When I struggled: Polymorphism56
Core: Rules to Follow for Polymorphism4мин
Core: Casting Objects3мин
Concept Challenge: Polymorphism Part 16мин
Concept Challenge: Polymorphism Part 26мин
Core: Abstract Classes and Interfaces5мин
In the Real World: Inheritance 21мин
Project: Module 4 Programming Assignment Walkthrough7мин
3 материала для самостоятельного изучения
By the end of this week, you will be able to...5мин
Programming Assignment Instructions
Congratulations and Quiz Answers10мин
1 практическое упражнение
Programming Assignment Quiz (Do programming assignment FIRST)15мин
Неделя
5
4 ч. на завершение

GUIs: Responding to User Events

You’ve reached an exciting point in the project - in this week you’ll add interactivity to your map! You’ll be learning how to design event-driven programs, using a new and powerful programming paradigm. Your map will now respond to mouse hovers and clicks. As always, make sure you're writing code along with us as you watch the videos and work through the week. Also, feel free to dive into the programming assignment (project) whenever you are ready

...
9 видео ((всего 28 мин.)), 3 материалов для самостоятельного изучения, 2 тестов
9 видео
Project: Module 5 Programming Assignment Overview2мин
Core: Introduction to Event-Driven Programming2мин
In the Real World: Events1мин
Core: Implementing Events in UnfoldingMaps4мин
Core: Implementing Buttons in UnfoldingMaps5мин
When I Struggled: Buttons and GUIs59
Core: Listener Hierarchy3мин
Project: Module 5 Programming Assignment Walkthrough6мин
3 материала для самостоятельного изучения
By the end of this week, you will be able to...5мин
Programming Assignment Instructions
Congratulations and Quiz Answers10мин
2 практического упражнения
Events10мин
Programming Assignment Quiz (Do programming assignment FIRST)18мин
Неделя
6
9 ч. на завершение

Searching and Sorting: From Code to Algorithms

You've come a long way in this course, and you've got a great project to show for it. In this last module we'll shift gears a bit to talk about some very exciting and fundamental algorithms for finding and sorting data in an array. Searching and sorting algorithms are not only fundamental to computer science, but also ideal for beginning to explore issues of algorithm efficiency. We will only begin to touch on issues of algorithm efficiency here. We will say much more about it in the next course in this specialization, so we hope you will continue with us. We'll also apply sorting to your project, and you'll wrap things up by finishing your project with an extension of your own choosing.

...
19 видео ((всего 101 мин.)), 3 материалов для самостоятельного изучения, 4 тестов
19 видео
Project Overview1мин
In the Real World: Searching and Sorting1мин
Core: Linear Search, Part 18мин
Core: Linear Search, Part 24мин
Core: Binary Search10мин
Core: Binary Search Example8мин
When I Struggled: Search47
Core: Introduction to Sorting7мин
Core: Selection Sort Algorithm3мин
Core: Selection Sort Implementation7мин
Core: Selection Sort Analysis5мин
Concept Challenge: Selection Sort4мин
Core: Mystery Sort13мин
Core: Java's Built-In Sort4мин
Core: Comparable Interface, Revisited7мин
Concept Challenge: Which Sort?3мин
Project: Module 6 Programming Assignment Walkthrough6мин
End of Course Message45
3 материала для самостоятельного изучения
By the end of this week, you will be able to...5мин
Programming Assignment Instructions
Congratulations and quiz answers10мин
2 практического упражнения
Searching Quiz5мин
Programming Assignment Quiz (Do programming assignment FIRST)20мин
4.7
Рецензии: 856Chevron Right

38%

начал новую карьеру, пройдя эти курсы

35%

получил значимые преимущества в карьере благодаря этому курсу

14%

стал больше зарабатывать или получил повышение

Лучшие отзывы о курсе Object Oriented Programming in Java

автор: DBOct 13th 2017

Great into to Java, instructors have clearly put thought in to the format with the choose your own learning style videos, and additional coverage where it may be needed. These have been very helpful.

автор: LROct 14th 2015

I loved this course! The course videos and the projects sharpened my idea about some of the toughest concepts of Java and OOP. I recommend this course to anyone interested in learning OOP in Java. ☺

Преподаватели

Avatar

Mia Minnes

Assistant Teaching Professor
Computer Science and Engineering
Avatar

Leo Porter

Assistant Teaching Professor
Computer Science and Engineering
Avatar

Christine Alvarado

Associate Teaching Professor
Computer Science and Engineering

О Калифорнийский университет в Сан-Диего

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....

Часто задаваемые вопросы

  • Зарегистрировавшись на сертификацию, вы получите доступ ко всем видео, тестам и заданиям по программированию (если они предусмотрены). Задания по взаимной оценке сокурсниками можно сдавать и проверять только после начала сессии. Если вы проходите курс без оплаты, некоторые задания могут быть недоступны.

  • Записавшись на курс, вы получите доступ ко всем курсам в специализации, а также возможность получить сертификат о его прохождении. После успешного прохождения курса на странице ваших достижений появится электронный сертификат. Оттуда его можно распечатать или прикрепить к профилю LinkedIn. Просто ознакомиться с содержанием курса можно бесплатно.

  • This course is meant for learners with a bit of programming background, preferably in Java, who are looking to expand their Software Engineering abilities. Specifically, learners should be already comfortable with loops ("for", "while"), conditionals ("if", "else"), and both calling and authoring methods (functions).

    If you're not sure, that's okay! We have a practice quiz right at the start of the course which will help steer you in the right direction.

Остались вопросы? Посетите Центр поддержки учащихся.