At most universities, computer science is the typical path for web programming (it can be broken down a little further). Here are some introductory classes to get a feel for the major.
<span>CS169.1x teaches the fundamentals for engineering long-lasting software using highly-productive Agile techniques to develop Software as a Service (SaaS) using Ruby on Rails. Students will understand the new challenges and opportunities of SaaS versus shrink-wrapped software. They will understand and apply fundamental programming techniques to the design, development, testing, and public cloud deployment of a simple SaaS application. Students will use best-of-breed tools that support modern development techniques including behavior-driven design, user stories, test-driven development, velocity, and pair programming. Students will learn how modern programming language features like metaprogramming and reflection can improve productivity and code maintainability.Students will work individually on weekly coding projects. Those who successfully complete each assignment and earn a passing grade will get an honor code certificate from BerkeleyX.<div><br></div></span>Edit Remove Move
This is a self-study in computer science. <br><br>Nick Parlante has been teaching Computer Science at Stanford for over 20 years, and teaches programming best practices at Google. Nick has also produced the Google Python Class and codingbat.com code practice site, and the infamous Binky Pointer Fun video.Edit Remove Move
<div>Commerce and research is being transformed by data-driven discovery and prediction. Skills required for data analytics at massive levels – scalable data management on and off the cloud, parallel algorithms, statistical modeling, and proficiency with a complex ecosystem of tools and platforms – span a variety of disciplines and are not easy to obtain through conventional curricula. Tour the basic techniques of data science, including both SQL and NoSQL solutions for massive data management (e.g., MapReduce and contemporaries), algorithms for data mining (e.g., clustering and association rule mining), and basic statistical modeling (e.g., logistic and non-linear regression).</div><div><br></div>Edit Remove Move
<div><div>This course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple. These applications will involve windows whose contents are graphical and respond to buttons, the keyboard and the mouse. <br><br>The primary method for learning the course material will be to work through multiple "mini-projects" in Python. To make this class enjoyable, these projects will include building fun games such as Pong, Blackjack, and Asteroids. When you’ve finished our course, we can’t promise that you will be a professional programmer, but we think that you will learn a lot about programming in Python and have fun while you’re doing it.</div><div><br></div></div>Edit Remove Move
6.00x is an introduction to using computation to solve real problems. The course is aimed at students with little or no prior programming experience who have a desire (or at least a need) to understand computational approaches to problem solving. Some of the people taking the course will use it as a stepping stone to more advanced computer science courses, but for many, it will be their first and last computer science course.Since the course will be the only formal computer science course many of the students take, we have chosen to focus on breadth rather than depth. The goal is to provide students with a brief introduction to many topics so they will have an idea of what is possible when they need to think about how to use computation to accomplish some goal later in their career. That said, it is not a "computation appreciation" course. It is a challenging and rigorous course in which the students spend a lot of time and effort learning to bend the computer to their will.Edit Remove Move
CS184.1x teaches the Foundations of Computer Graphics. Students will make images of 3D scenes in real-time, and with offline raytracing. This course runs for 6 weeks and consists of four segments.<br>Edit Remove Move