background preloader

An Introduction to Interactive Programming in Python

An Introduction to Interactive Programming in Python

Intro to Unintrusive JavaScript with Django There are quite a number of tutorials looking at using Ajax with Django. Despite that, it is still a topic that leaves many confused. I think the fundamental issue is that there are three very different groups looking for tutorials on using Ajax with Django: Experienced web developers who have used a multitude of other frameworks (and used to administer networks composed of passenger pigeons in their younger days) who just need a couple of low-level details. Usually tutorials for group one get written first, because they usually only need to be a couple of paragraphs and a code snippet (and they make up the majority of early adopters). This tutorial's aim is to guide someone with a bit of Django knowledge--but no understanding of Ajax or JavaScript--through implementing a simple note taking application while touching on the high, low, and medium level concepts of creating Ajax web applications. Overview What does that even mean? The Application That's it. That is the first commit I made.

Understanding Einstein: The Special Theory of Relativity About the Course In this course we will seek to “understand Einstein,” especially focusing on the special theory of relativity that Albert Einstein, as a 26-year-old patent clerk, introduced in his so-called “miracle year” of 1905. Our goal will be to go behind the myth-making and beyond the popularized presentations of relativity in order to gain a deeper understanding of both Einstein the person and the concepts, predictions, and strange paradoxes of his theory. Some of the questions we will address include: How did Einstein come up with his ideas? Students may choose one of three approaches to the course: a more quantitative approach, a more qualitative approach, or an auditing approach. Course Syllabus Week One (Einstein in Context): Einstein quotes of the week; a thought experiment involving relativity; physics and Einstein circa 1900. Week Five (Spacetime Switching): Einstein quotes of the week; the Lorentz transformation; leading clocks lag; the ultimate speed limit. Course Format

Coding the Matrix: Linear Algebra through Computer Science Applications About the Course When you take a digital photo with your phone or transform the image in Photoshop, when you play a video game or watch a movie with digital effects, when you do a web search or make a phone call, you are using technologies that build upon linear algebra. Linear algebra provides concepts that are crucial to many areas of computer science, including graphics, image processing, cryptography, machine learning, computer vision, optimization, graph algorithms, quantum computation, computational biology, information retrieval and web search. Linear algebra in turn is built on two basic elements, the matrix and the vector. In this class, you will learn the concepts and methods of linear algebra, and how to use them to think about problems arising in computer science. Recommended Background You should be an experienced programmer. You are not expected to have any background in linear algebra. Suggested Readings Coding the Matrix is an optional companion textbook.

PEP 8 -- Style Guide for Python Code Code should be written in a way that does not disadvantage other implementations of Python (PyPy, Jython, IronPython, Cython, Psyco, and such).For example, do not rely on CPython's efficient implementation of in-place string concatenation for statements in the form a += b or a = a + b. This optimization is fragile even in CPython (it only works for some types) and isn't present at all in implementations that don't use refcounting. In performance sensitive parts of the library, the ''.join() form should be used instead.

Greek and Roman Mythology About the Course Myths are traditional stories that have endured over a long time. Some of them have to do with events of great importance, such as the founding of a nation. Course Syllabus Week 1: Homer, epic poetry, and Trojan legends Week 2: Heroes and suffering Week 3: This World and other ones Week 4: Identity and signs Week 5: Gods and humans Week 6: Religion and ritual Week 7: Justice Week 8: Unstable selves Week 9: Writing myth in history Week 10: From myths to mythology Recommended Background No special background is needed other than the willingness and ability to synthesize complex texts and theoretical material. In-course Textbooks As a student enrolled in this course, you will have free access to selected chapters and content for the duration of the course. Suggested Readings We will be covering the following in class: I strongly recommend purchasing or borrowing from a library the English translations mentioned in the welcome email and listed below. Greek Tragedies, Vol.

Coursera.org Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you'll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. This course provides a broad introduction to machine learning, datamining, and statistical pattern recognition.

Be careful with exec and eval in Python written on Tuesday, February 1, 2011 One of the perceived features of a dynamic programming language like Python is the ability to execute code from a string. In fact many people are under the impression that this is the main difference between something like Python and C#. That might have been true when the people compared Python to things like C. It's certainly not a necessarily a feature of the language itself. For instance Mono implements the compiler as a service and you can compile C# code at runtime, just like Python compiles code at runtime. Wait what. This post was inspired by a discussion on reddit about the use of the execfile function in the web2py web framework but also applies to other projects. Disclaimer beforehand: the numbers for this post are taken from Python 2.7 on OS X. Behind the Scenes of Imports Let's start with everybody's favourite topic: Performance. it locates the module (surprise). >>> code = compile('a = 1 + 2', '<string>', 'exec')>>> exec code>>> print a3

Gamification About the Course Gamification is the application of digital game design techniques to non-game contexts, such as business, education, and social impact challenges. Video games are the dominant entertainment form of modern times because they powerfully motivate behavior. Game mechanics can be applied outside the immersive environments of games themselves, to create engaging experiences as well as assign rewards and recognition. Over the past few years, gamification adoption has skyrocketed. Companies use game thinking for employee motivation in human resources, team building, productivity enhancement, training, health and wellness, sustainability, and innovation. Game thinking means more than dropping in badges and leaderboards to make an activity fun or addicting. Subtitles forall video lectures available in: English, Russian (provided by Digital October), Turkish (Koc University), and Ukrainian (provided by Bionic University) Course Syllabus The course is divided into 12 units. 1. 2. 3.

Probabilistic Graphical Models About the Course What are Probabilistic Graphical Models? Uncertainty is unavoidable in real-world applications: we can almost never predict with certainty what will happen in the future, and even in the present and the past, many important aspects of the world are not observed with certainty. Probability theory gives us the basic foundation to model our beliefs about the different possible states of the world, and to update these beliefs as new evidence is obtained. These beliefs can be combined with individual preferences to help guide our actions, and even in selecting which observations to make. While probability theory has existed since the 17th century, our ability to use it effectively on large problems involving many inter-related variables is fairly recent, and is due largely to the development of a framework known as Probabilistic Graphical Models (PGMs). Course Syllabus Topics covered include: Introduction and Overview. The slides for the whole class can be found here.

Big A Little i (Practical Artificial Intelligence in Python) by Tendayi Mawushe for EuroPython 2012 These days it is difficult for software to meet users’ expectations to behave intelligently. When a program displays a lack of even the most basic awareness of context it is jarring. At the same time organisations are seeking to gain a competitive advantage through software that behaves adaptively based on the information at hand. There is general agreement among seasoned developers that having a good understanding of basic computer science data structures and algorithms is essential.

Learn to Program: The Fundamentals About the Course A computer program is a set of instructions for a computer to follow, just as a recipe is a set of instructions for a chef. Laptops, kitchen appliances, MP3 players, and many other electronic devices all run computer programs. Programs have been written to manipulate sound and video, write poetry, run banking systems, predict the weather, and analyze athletic performance. This course is intended for people who have never seen a computer program. It will give you a better understanding of how computer applications work and teach you how to write your own applications. Recommended Background This course is intended for people who have never programmed before. Suggested Readings This online course is intended to be self-contained, but if you want additional reading material you will find that Practical Programming (2nd edition): An Introduction to Computer Science Using Python 3 matches the course material closely. Course Format

Creative Programming for Digital Media & Mobile Apps About the Course This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Course Syllabus Week 1: Introduction: sonic painter Week 2: Interactive D/VJ app Week 3: Music player and sensor controlled visualiser Week 4: Game with physical modelling and synthesis Week 5: APIs accessing and processing social media data Week 6: Music machine Recommended Background Most students are expected to have some background in programming and/or computer science, and some experience of (possibly extra curricular) creative work. Suggested Readings There is no required reading. Course Format

Related: