Videos
The course offered by MIT is an introduction to Computer Science as a tool to solve real-world analytical problems using Python 3.5
Massachusetts Institute of Technology(MIT), one of the most premium technical educational institutes in the world, has recently announced a free online course in Computer Programming using Python. The course is available on the edX e-learning platform and the registrations are open until June 2. Here are the course details.
About course
The course is named " Introduction to Computer Science and Programming using Python". The objective of this course is to provide learners with a brief introduction to many computer programming concepts so as to give them 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, this is not a "computation appreciation" course but a challenging and rigorous learning path on which the students spend a lot of time and effort learning to bend the computer to their will.
Python is the most sought-after programming language skill by IT professionals and the demand for skilled Python developers is also very high in the job market. In this course, learners will be taught the nuances of programming using Python 3.5.
Course format
The class will consist of lecture videos, lecture exercises, and problem sets using Python 3.5. The lecture videos are broken into small pieces usually between eight and twelve minutes each. Some of these may contain integrated "check-yourself" questions. Even if you have knowledge of Python 2.7, you will be able to easily transition to Python 3.5 in this course. There will also be programming assignments and standalone exams/quizzes, which are not part of the video lectures.
What is in it for learners
-
A Notion of computation
-
The Python programming language
-
Some simple algorithms
-
Testing and debugging
-
An informal introduction to algorithmic complexity
-
Data structures
Course instructors
The course is instructed by 3 MIT professors:
-
John Guttag, Dugald C. Jackson Professor of Computer Science and Electrical Engineering at MIT
-
Eric Grimson, Bernard Gordon Professor of Medical Engineering, Professor of Computer Science at MIT
-
Ana Bell, Lecturer, Computer Science and Electrical Engineering at MIT
System requirements
You need to have a computer running one of the following operating systems: Microsoft Windows, version XP or greater (XP, Windows Vista, or Windows 7)Apple OSX, version 10.2 or greater.
Linux - most distributions that have been released within the past two years should work
In addition, you will need the ability to download, install, and run software on your computer.
Other important details
-
This is an instructor-paced course; however, students can watch the lectures at their leisure and do not need to watch the lectures live or at any set time.
-
The course starts on June 2 and will end on August 5. So, you are required to enrol before June 2.
-
The course is free.
How to enrol
To enrol in this program, you can visit the MITx course page on edX here.
Source
I signed up for the (free) MIT introduction to computer science in Python course, starting tomorrow. Edx courses can be audited for free, though you need to pay $50 if you want to gain a cert at the end.
Seemed like a good solution for me: very affordable, and I find that I study better knowing there'd be an exam in the end.
Just thought others here might have sat the course and tell a little about the experience as a whole, whether they passed the exam etc. I understand it's more academic than codecademy etc, and that the estimate there suggests that I'd have to spend 15 hours a week on it. I'm a Linux sysadmin with 1.5 year of experience, writing mostly bash scripts on a regular basis. Thoughts? The comments section says it might be more than 15 even.
Thanks.
I completed this course and the follow-up 6.00.2x. This is the best course on introductory python I have seen and got me going when I completed it last summer. It is a time-consuming course, but the problems they give are in depth, well-explained, and organized thoroughly. Some of the questions are HARD, but I think that is better than the opposite of everything being too simplified.
I'm not sure it took me 15 hours per week, but it is a lot of time. The videos alone are several hours each week if I recall correctly. In my view well worth the time, but be ready for some challenging problems.
Also, the course certificate probably isn't necessary. Its easier to put on a resume if you get the certificate, but it doesn't add to the course experience. But if you treat it like a charitable donation, the certificate is worthwhile.
The material is pretty intense, but I went through (most of it) it self-paced, so I really can't say much about the pacing of the course if you're taking it while it's active. I've read that a lot of people take it multiple times both because you take so much from it, but also because of the difficulty.
so..... as a molecular biology grad student I realize that knowledge in programming/computation/more sophisticated data analysis seems to be more relevant than ever and I also realized that I have no background/good training in any of these things though I accidentally took math intensive stats course in undergrad and somehow did decently. I've encountered multiple situation where not knowing programming made me feel like some kind of uneducated idiot so finally, after all these years, decided to learn programming once and for all.
my friend from high school told me about OpenCourseware years ago so I decided to watch lectures, read handout codes (what lecturers use to demonstrate the concept for whatever) and I mostly understand what those codes do, how they relate to this basic idea of computer science, etc.
but when it comes to the problem set, I found it really impossible to do, from the problem set 2 with implementing hangman and problem set 3 seemed even worse, at least to me.
I know undergrad courses are studying-intensive, I've experienced in my biology courses so im not going to bitch about that part but as a guy who is just interested in knowing programming as a tool in a toolkit, so to speak and doing programming on the side (unlikely undergrad days where I could just, study it in the downtime when I wasn't in the lab) make it really difficult to devote time, learn and all that.
if you guys know better. resources, I would like to know. also the specific courses im doing is linked on the post. again, I understand the basic concept, I know what handout codes do so technically I do have tools but im so new to this and only previous exposure to programming was me programming TI84 which was again, long time ago, so.......
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/
Hi,
I am new here and I just finished the Codecademy Python course. Is the MIT Python course a suitable next step for me? If you are unaware of Codecademy's Python course, I was taught the basics, loops, classes, if statements expressions etc.
I've seen many people recommend the MIT course, but I am not too sure whether it's good for me. I'm a guy who likes to follow instructions and put my knowledge to use from time to time.
Thanks!
I liked it. Beginning/intermediate Python dev and still learned something. Only watched the first class.
It was very difficult for me.
Are you talking about the CS With Python, and the instructor is Ana Bell?
I started there, then had to step back and do code academy, tried to return but it was still tough.
I finished eventually though. Try to get the textbook in pdf if you can to follow the readings and problem sets (homework)
One of the most popular courses in edX's history - with over 1 million people enrolled - is back. Learn computer science and programming using Python from the instructors at MIT. The course is free to try:
https://www.edx.org/course/introduction-to-computer-science-and-programming-using-python-0
MIT's popular Python course is open for enrollment. (learn Python 3.5). Over million people have taken this course, designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful problems. Join for free.
https://www.edx.org/course/introduction-to-computer-science-and-programming-using-python-2
MIT's popular Python course is open for enrollment. (learn Python 3.5). Over million people have taken this course, designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful problems. Join for free.
- Credit to a post a year ago who mentioned it when it occured last year, just copied and pasted his tl;dr (https://www.reddit.com/r/learnprogramming/comments/bk9zrc/mits_introduction_to_computer_science_and/)
https://www.edx.org/course/introduction-to-computer-science-and-programming-7
Hello, I know this course's main objective isn't teaching python, so I was wondering if it's still a great source
I am not really interested in the theories/more math parts of CS, I mainly want to learn Python and automation and how what I need to get things done asap
I like the MIT course because it's set up like an actual course which I think will be the best way for me to learn rather then take an udemy webinar or watch some videos
should I just do it anyways? scared I'll end up doing the more challenging things I don't even care to learn, or do I need to learn them?
if you are new to programming, then you do need a good understanding of CS basics too... so, I'd say that you should try this and open another discussion here later on if you get stuck..
Automate the boring stuff with Python (has videos too) and Think Python are awesome resources for beginners.. check them out as well..
No offense, but your attitude is a gateway to horrific code. Programming is logic - an intro course will give you a good foundation in how to solve problems with code. More advanced classes start getting into algorithms and more advanced stuff that may not have utility. A trivial example is looping vs recursion. There are some problems that can be solved with recursion more simply than looping, but if you don't have the foundation it may end up as a bunch of statements, which is a nightmare to maintain.
Having a good foundation in programming is very valuable, so invest the time to learn properly.
I can't find the full playlist anymore and I'm hoping some awesome person out there knows where I can find the whole thing. The current playlist I can find on YouTube only has 19 videos, and many of them are simply duplicated to masquerade as a playlist of 44 lessons =(.
https://www.youtube.com/watch?v=mUPN_k1nipI&list=PL3497Et_5ka2NjvdYWo4kVUc7feiD9_vs&index=1
I really enjoyed taking the Python course from MIT on edX (Introduction to Computer Science and Programming Using Python), but I missed a few deadlines and won't enough time to do the midterm due to a family emergency. Is there a similar course that teaches the foundations of Computer Science/Programming along with Python?
Learn Python 3.5 from the instructors at MIT. Designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful problems. This course is now available and free to try.
https://www.edx.org/course/introduction-to-computer-science-and-programming-using-python-2
I just finished up this course a few hours ago. Final was released earlier today and I got to it after work. Ended up with 99%
Summary
Good intro course that gets you learning and implementing a lot of basic Python functions, then starts to get computer science heavy at the end, which was meh for me as I don’t have plans to be a programmer, just want to automate/script in my new IT career. In either case, it’s a good foundation to build upon with other material. I tracked my time with an app and ended up usually 8-12 hours per week.
I’ll probably dabble a bit back into AtBS before thinking of a project to do. I have a decent enough foundation where I think Google and just experimenting will help take care of the rest.
Background
Econ major, went into manufacturing, then just started in IT.
I’ve failed to finish a Python course multiple times, I think I’m on my 4th attempt of Automate the Boring Stuff. Finally decided to commit to a class structure and paid for the cert mostly to support the class, but also for a little more motivation. Auditing the class gets you the finger exercises and problem sets, which are the meat of your learning. The midterm and final weren’t very vital, just additional reinforcement of material. If you can’t spare the money, you’re not missing much.
**Content Specifics ** The course starts off slow as any intro undergraduate course does. I already had some basic knowledge from AtBS, but I will say I think Unit/Pset1 is one of the more difficult problem sets, and the TAs said as well. I think there are some things we haven’t yet been taught that made the questions harder unless you already knew other concepts.
Unit/Pset2 was also fairly difficult. For both of those, I felt very stumped and not knowing how to move forward on finger exercises and problem sets. I posted in the discussions about the expectation of our time spent because I was spending way above the estimate, and they were estimating most people would be spending in 12-16 hour/week range, and I felt I was exceeding that (that didn’t end up being the case as time went on). Needless to say, I was very frustrated and banging my head against the problems but did eventually triumph and get the outputs that I wanted. It felt very rewarding to finally get there.
For Unit/Pset3, I really got into the flow and was proud of my work. They had us write the internals for a hangman game (which I eventually shared with programming friends.
The structure and docstrings of expected inputs and returns really helped solidify the lessons of abstraction and breaking down the work. That gave me a lot of confidence to move forward with the other problem sets. The later problem sets weren’t easy but I kept iterating and debugging and trying things(which is what Unit/Pset 4 is about), which made me feel less stumped and just gave me more practice and notice patterns on how to code.
That said, Unit/PSet 5 was a doozy again with introduction to classes and some other topics I had never previously touched. Honestly, I still need a lot of practice on inheritance and how to use attributes but I feel that it will come with time as I practice more.
Unit/Pset 6 was entirely multiple choice and more about computer science and efficiency, primarily going into Big O notation. The intro to it was frustrating and IMO not very good because you had to come up with expressions for your code. Eventually, you end up with Big O notation (which throws away the need for the specific expressions and has you only focus on the largest) which is easier to understand IMO, and with more finger exercises/problem sets to practice through, you learn the patterns and the topic better to give you an idea on how to write more efficient code. However, I feel the topic is still meh if I just want to automate some basic things. I just don’t feel I’d bottleneck a modern PC. But, I could be proven wrong. It is still useful.
Last Unit 7 is kind of glossing over plotting, more of a lead up to 600.2x which I don’t plan on taking for now.
Tests
The midterm and final were alright. I don’t think it’s entirely necessary for your learning but it’s good structure and feedback.
In both cases, there’s some initial multiple choice questions before you get to the programming, that’s the only place I lost points cause that’s one try only. The actual programming exercises had a max 10 attempts. Since you should be testing your code with test cases beforehand anyway, I usually only need 1 or 2 attempts. Really, they aren’t too complex compared to the problem sets (although I will say, I just got stumped and spent about 2 hours on one problem before I skipped it and came back to it and got it done in less than an hour).
Overall, the grader and its feedback had a lot going for it that helped me learn, but they still need some minor improvements to reduce vagueness in the answer they expect since the grader pretty much expects an exact output in most cases.
Anyway, hope that helps people out there!
Community
Eh, not a big factor for me as I thought it would be. Forums are okay though awful to navigate IMO. TAs are helpful, but for the most part, I just experimented to work through issues. They are also available on discord.
MIT is offering two courses, to my knowledge, to learn python as a beginner: Introduction to Computer Science and Programming in Python and A Gentle Introduction to Programming Using Python
Hi guys, so I am in the middle of learning python using the MIT course but I am finding it very difficult and I feel like I can't do it. Can you guys give me some advice on how I should progress and complete the course.
What are you having difficulty on? Is it an issue with Python or is it a programming issue? Like can you plan how the program should run?
How have you got on with the learning materials listed in the wiki (link in sidebar) of this subreddit? Might help fill in some gaps.
What have you been working on yourself in terms of your own projects in things that resonate for you (hobbies, interests, etc)? The only way to learn to programme is to do programming. Practice! Practice! Practice! And experiment: break what works, and understand why and how it broke.
We learn much more effectively when focusing on solving a problem that is of interest to us. You will develop problem-solving skills and learn how to develop and apply an algorithm (solution) using the tools available (the coding languages you need to use) - keep in mind that coding is the easiest bit of programming. This is then something to apply to the MIT challenges.
I'm going to be taking this to help me learn python.
If anyone else is interested the link is below and there is a slack support group running for all those who want to take it.
Course Link