Pages

Thursday, June 06, 2013

Introducing MIT OpenCourseWare [for learning Python] - Mechanical MOOC

To: tlfong01
Date: Wed, 05 Jun 2013 
Sender: the-machine@mechanicalmooc.org

Good people of the Mechanical MOOC,

Introducing MIT OpenCourseWare.

For ten years, MIT OpenCourseWare has published MIT’s core academic materials-syllabi, lecture notes, assignments and exams-freely and openly on the web for anyone to learn from. Learn they have: with more than 150 million people viewing OCW materials since the site’s launch, it’s clear there’s a whole lot of learning going on. And since it’s what the MIT students get, you know it’s got to be good.

What Will We Be Using?

OCW has more than 2,100 courses, so have a good look around, but for purposes of this class we’ll only be using two:
  • 6.189 A Gentle Introduction to Python – A four week course offered at MIT each January. This course will provide the basic structure of the Mechanical MOOC course, though we’ll take eight weeks to do it. After all, why hurry? We’ll use the text, handouts and homework assignments.
Keep in mind: These materials are published just the way MIT students got them, so they may contain class instructions that don’t apply to the Mechanical MOOC course; if you get confused, follow the information in the e-mails or ask for help.

Next up: Codecademy

– The Mechanical MOOC

Tweet #mmooc | Follow @MOOC_E | MMOOC Blog

The Mechanical MOOC’s A Gentle Introduction to Python is a collaboration between Peer 2 Peer UniversityMIT OpenCourseWareOpenStudy, and Codecademy. For this course, Peer 2 Peer University has developed an email scheduler that coordinates student activity across the participating sites to facilitate collaborative learning. This email was generated by the scheduler. A full archive of emails for this course sequence is available here. For more information, please visit http://mechanicalmooc.org. For questions regarding the logistics of the course, please e-mail mooc-e@p2pu.org.

.END


6.00SC Introduction to Computer Science and Programming

Prerequisites and Preparation


This course is aimed at students with little or no prior programming experience but a desire to understand computational approaches to problem solving. Now, by definition, none of you are under-qualified for this course. In terms of being over-qualified — if you have a lot of prior programming experience, we really don't want you wasting your time, and in this case we would suggest that you talk to me about how well this class suits your needs, and to discuss other options. In addition, we want to maintain a productive educational environment, and thus we don't want over-qualified students making other students feel inadequate, when in fact they are only inexperienced.
Since computer programming involves computational modes of thinking, it will help to have some mathematical and logical aptitude. You should be confident with your math skills up to pre-calculus.

...


Introduction To Computation And Programming Using Python, Spring 2013 Edition

Overview


Welcome MIT and MITx Students!

This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of “data science” for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT’s OpenCourseWare) and was developed for use not only in a conventional classroom but in in a massive open online course (or MOOC) offered by the pioneering MIT–Harvard collaboration edX.
Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. The book does not require knowledge of mathematics beyond high school algebra, but does assume that readers are comfortable with rigorous thinking and not intimidated by mathematical concepts. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming.
Introduction to Computation and Programming Using Python can serve as a stepping-stone to more advanced computer science courses, or as a basic grounding in computational problem solving for students in other disciplines. 

About the Author

John V. Guttag is the Dugald C. Jackson Professor of Computer Science and Electrical Engineering at MIT.

Endorsements

“This is the ‘computational thinking’ book we have all been waiting for! With humor and historical anecdotes, John Guttag conveys the breadth and joy of computer science without compromise to technical detail. This book is perfect for any student who wants to explore the essence of computer science.”
Jeannette M. WingVP, Head of Microsoft Research International, Microsoft Research
“John Guttag is an extraordinary teacher and an extraordinary writer. (Perhaps having been an undergraduate English majoran uncommon stepping stone to the leadership of the world’s top EECS departmenthas something to do with this.) This is not ‘a Python book’although you will learn Python. Nor is it a ‘programming book’although you will learn to program. It is a rigorous but eminently readable introduction to computational problem solving.”
Ed Lazowska, Bill & Melinda Gates Chair in Computer Science & Engineering, University of Washington
“There’s no such thing as the only computer science book you’ll ever need. But if you had to pick only one, this would be a great choice. You’ll begin by getting a solid introduction to programming in Python. Armed with that, you’ll go hands-on with important computing ideas like random methods, statistics, and optimization, using tools of great theoretical beauty and great practical importance.”
Hal Abelson, coauthor (with Gerald Jay Sussman) of Structure and Interpretation of Computer Programs
.END



No comments:

Post a Comment