In this class, you will learn basic skills and concepts of computer programming in an object-oriented approach using Java.
You will learn concepts like classes, methods and argument passing, loops, and general problem solving ability that will become building blocks to your programming skills.
How to analyze and explain the behavior of programs involving the fundamental program constructs.
How to write short programs that use the fundamental program constructs including standard conditional and iterative control structures.
How to design and implement your own classes of Objects given desired attributes and behaviors.
How to reason about class hierarchies.
How to write good documentation so your code can be re-used.
How to use a real-world programming environment and a debugger.
No prior programming experience and knowledge is assumed or needed.
Cay grew up in Northern Germany and attended the Christian-Albrechts-Universität in Kiel, a harbor town on the Baltic sea. He received a M.S. in computer science from Syracuse University, and a Ph.D. in mathematics from the University of Michigan in Ann Arbor. For four years, he was VP and CTO of an Internet startup that went from 3 people in a tiny office to a public company. He now teaches computer science at San Jose State University. In his copious spare time, he writes books and articles on programming languages and computer science education.
Cheng-Han worked as a program manager at Microsoft prior to Udacity, and he studied at the University of Texas at Austin and University of California at San Diego for his degrees in computer science.
Outside of work, Cheng-Han is a world traveler. He has lived in Taiwan, Shanghai, Charleston (SC), Dallas, Austin, San Diego, Seattle, and now the Bay Area. In addition to traveling, he likes to find new parks to explore, new venues to visit, and new restaurants to try.