Computers are used every day for an enormous variety of tasks, from playing games and chatting with friends to transferring billions of dollars, delivering radiation treatments, and controlling the electrical grid. Computer programs are an essential ingredient in allowing for this great diversity of applications. In this course, you will learn to create your own programs, based on core programming concepts and analytical problem solving approaches. You will develop programs involving graphics, animation and games using Java, a very popular modern programming language. We assume no prior study of computer science. Programming intensive.