About this Course
127,553

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 videos (Total 47 min), 8 readings, 3 quizzes
13개의 동영상
Welcome (Object Oriented Java Programming: Data Structures and Beyond Specialization)3m
Welcome (Object Oriented Programming in Java Specialization)1m
Project prototype4m
Your Path through the Course5m
Concept Challenges: what and why?3m
In the Real World: Welcome from Google Engineers50
Introduction: Classes and Objects25
Core: Defining Classes and Creating Objects11m
When I Struggled: Objects1m
Core: Overloading Methods6m
Core: Public vs. Private7m
In the Real World: Public vs. Private access27
8개의 읽기 자료
A Customized Welcome to this Course10m
After completing this course, you will be able to...5m
Is this course right for me?10m
Up Next: A short survey10m
Project overview10m
Additional Resources and Support10m
By the end of this week you will be able to...5m
A note about the main method2m
3개 연습문제
Pre-Course Quiz26m
Survey: Your goals for the course8m
Basics of Objects10m
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 videos (Total 77 min), 11 readings, 4 quizzes
16개의 동영상
Project: Module 1 Assignment Overview1m
Project: Setting up the starter code in Eclipse4m
Core: Drawing Memory Models with Primitive Data5m
Support: Memory Models for Primitive Types3m
Support: Setting Up and Running Examples in Eclipse2m
When I Struggled: Compiling and Running Code55
Core: Drawing Memory Models with Objects8m
Concept Challenge: Memory Models 15m
Concept Challenge: Memory Models 25m
Support: Memory Model Drawing Example5m
Core: Introduction to Scope9m
Concept Challenge: Scope6m
Support: Putting it all Together Part 13m
Support: Putting it all Together Part 210m
Project: Module 1 Assignment Walkthrough4m
11개의 읽기 자료
Remember to Choose Your Own Path10m
By the end of this week, you will be able to...10m
Getting ready to write code10m
Important note for learners working offline10m
Setting Up Java and Eclipse on Windows (and Linux)30m
Setting Up Java and Eclipse on Mac30m
Setting Up Unfolding Maps10m
Support: Troubleshooting Common Issues10m
Congratulations and quiz answers10m
Programming Assignment Instructions
Congratulations and quiz answers10m
4개 연습문제
Where to next?2m
Working with Code2m
Objects, memory models, and scope10m
Programming Assignment Quiz (Do programming assignment FIRST)14m
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 videos (Total 136 min), 4 readings, 1 quiz
23개의 동영상
Project: Module 3 Programming Assignment Overview1m
Core: Graphical User Interfaces4m
Core: Using PApplet11m
When I struggled: GUIs27
Core: Resizing Images5m
Core: Colors8m
When I Struggled: Documentation1m
Support: Setting up a Canvas7m
Support: Drawing Happy Face7m
Support: Loading and Displaying Images6m
Core: Why Processing?1m
Support: Using Documentation7m
In the Real World: Documentation3m
Core: Setting up map visualization9m
Core: Adding markers5m
Core: Using live data11m
Bonus: Visualizing life expectancy29
Bonus: Setting up the map4m
Bonus: Representing data8m
Bonus: Coloring markers11m
Support: ArrayLists and Generics8m
Project: Module 3 Programming Assignment Walkthrough8m
4개의 읽기 자료
By the end of this week you will be able to...10m
Support: Understanding Features and Markers30m
Programming Assignment Instructions
Congratulations and quiz answers10m
1개 연습문제
Programming Assignment Quiz (Do programming assignment FIRST)20m
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 videos (Total 97 min), 3 readings, 1 quiz
25개의 동영상
Project: Module 4 Programming Assignment Overview1m
Core: Why use Inheritance?5m
Core: Extends5m
In the Real World: Inheritance 152
Core: Reference vs. Object Type3m
When I struggled: the "Is a" relationship40
Concept Challenge: References and Objects9m
Core: Visibility Modifiers4m
When I Struggled: Inheritance45
Core: Object Creation in Java3m
Core: Compiler Rules for Class Construction4m
Core: Variable Initialization in a Class Hierarchy4m
Concept Challenge: Inheritance Constructors 14m
Concept Challenge: Inheritance Constructors 23m
Core: Method Overriding5m
Core: Introduction to Polymorphism2m
When I struggled: Polymorphism56
Core: Rules to Follow for Polymorphism4m
Core: Casting Objects3m
Concept Challenge: Polymorphism Part 16m
Concept Challenge: Polymorphism Part 26m
Core: Abstract Classes and Interfaces5m
In the Real World: Inheritance 21m
Project: Module 4 Programming Assignment Walkthrough7m
3개의 읽기 자료
By the end of this week, you will be able to...5m
Programming Assignment Instructions
Congratulations and Quiz Answers10m
1개 연습문제
Programming Assignment Quiz (Do programming assignment FIRST)15m
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 videos (Total 28 min), 3 readings, 2 quizzes
9개의 동영상
Project: Module 5 Programming Assignment Overview2m
Core: Introduction to Event-Driven Programming2m
In the Real World: Events1m
Core: Implementing Events in UnfoldingMaps4m
Core: Implementing Buttons in UnfoldingMaps5m
When I Struggled: Buttons and GUIs59
Core: Listener Hierarchy3m
Project: Module 5 Programming Assignment Walkthrough6m
3개의 읽기 자료
By the end of this week, you will be able to...5m
Programming Assignment Instructions
Congratulations and Quiz Answers10m
2개 연습문제
Events10m
Programming Assignment Quiz (Do programming assignment FIRST)18m
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 videos (Total 101 min), 3 readings, 4 quizzes
19개의 동영상
Project Overview1m
In the Real World: Searching and Sorting1m
Core: Linear Search, Part 18m
Core: Linear Search, Part 24m
Core: Binary Search10m
Core: Binary Search Example8m
When I Struggled: Search47
Core: Introduction to Sorting7m
Core: Selection Sort Algorithm3m
Core: Selection Sort Implementation7m
Core: Selection Sort Analysis5m
Concept Challenge: Selection Sort4m
Core: Mystery Sort13m
Core: Java's Built-In Sort4m
Core: Comparable Interface, Revisited7m
Concept Challenge: Which Sort?3m
Project: Module 6 Programming Assignment Walkthrough6m
End of Course Message45
3개의 읽기 자료
By the end of this week, you will be able to...5m
Programming Assignment Instructions
Congratulations and quiz answers10m
2개 연습문제
Searching Quiz5m
Programming Assignment Quiz (Do programming assignment FIRST)20m
4.7
855개의 리뷰Chevron Right

39%

이 강좌를 수료한 후 새로운 경력 시작하기

36%

이 강좌를 통해 확실한 경력상 이점 얻기

14%

급여 인상 또는 승진하기

최상위 리뷰

대학: 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.

궁금한 점이 더 있으신가요? 학습자 도움말 센터를 방문해 보세요.