Harvard University, the Massachusetts Institute of Technology, and the
University of California, Berkeley, are just some of the schools that you have
at your fingertips with edX. Through massive open online courses (MOOCs) from
the world's best universities, you can develop your knowledge in literature,
math, history, food and nutrition, and more. These online classes are taught
by highly-regarded experts in the field. If you take a class on computer
science through Harvard, you may be tau...
Harvard University, the Massachusetts Institute of Technology, and the
University of California, Berkeley, are just some of the schools that you have
at your fingertips with edX. Through massive open online courses (MOOCs) from
the world's best universities, you can develop your knowledge in literature,
math, history, food and nutrition, and more. These online classes are taught
by highly-regarded experts in the field. If you take a class on computer
science through Harvard, you may be taught by David J. Malan, a senior
lecturer on computer science at Harvard University for the School of
Engineering and Applied Sciences. But there's not just one professor - you
have access to the entire teaching staff, allowing you to receive feedback on
assignments straight from the experts. Pursue a Verified Certificate to
document your achievements and use your coursework for job and school
applications, promotions, and more. EdX also works with top universities to
conduct research, allowing them to learn more about learning. Using their
findings, edX is able to provide students with the best and most effective
courses, constantly enhancing the student experience.
Looking to get started with computer science while learning to program in Python?
This computer science course provides an introduction to computer science that’s both challenging and fun. It takes a broad look at the field of computer science through a variety of demonstrations and projects. We’ll cover both low- and high-level concepts, from how the circuits inside a computer represent data to how to design algorithms, as well as how all of this information affects the technology we use today. Additionally, we’ll teach the basics of Python programming, giving us a a way to put our new CS knowledge into practice.
No need to know any programming before starting the course; we’ll teach everything you need to know along the way. All you need to start is a good grasp of algebra, and you can fall in love with both the concepts and the practice of computer science.
Instructors
Instructors:
Zachary Dodds
University
University:
Harvey Mudd College
Instructors
Instructors:
Zachary Dodds
University
University:
Harvey Mudd College
Reviews8/10 stars
5 Reviews for CS For All: Introduction to Computer Science and Python Programming
Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.
Overall I thought this was a very good course. The one previous poor review had 2 main complaints 1)insufficient background material for certain topics and 2) teaches approaches that make the code more complicated/difficult. This course is extremely broad, so I can see how one could make the first complaint. The course has numerous recorded lectures, most of which do a very good job explaining the material one needs to complete the homework assignments. In some cases, code is provided for the student to use as a starting point for homework assignments. One could argue that insufficient explanation is provided for these "starting point" codes, but Python users routinely use SciPy/NumPy/MatPlotLib/etc without detailed explanations of their inner workings. There were, however, 3 topics where more explanation or background material would have been helpful to me personally: 1) the discussion of Assembly Language using the Harvey Mudd Mini...
Overall I thought this was a very good course. The one previous poor review had 2 main complaints 1)insufficient background material for certain topics and 2) teaches approaches that make the code more complicated/difficult. This course is extremely broad, so I can see how one could make the first complaint. The course has numerous recorded lectures, most of which do a very good job explaining the material one needs to complete the homework assignments. In some cases, code is provided for the student to use as a starting point for homework assignments. One could argue that insufficient explanation is provided for these "starting point" codes, but Python users routinely use SciPy/NumPy/MatPlotLib/etc without detailed explanations of their inner workings. There were, however, 3 topics where more explanation or background material would have been helpful to me personally: 1) the discussion of Assembly Language using the Harvey Mudd Miniature Machine, 2) the discussion of Circuits using the Logism software, and 3) the discussion of State Machines using the JFLAP software. The only one that I had some difficulty with was Logism, where I needed to spend a fair amount of time reading through the help section to figure out how to complete the homework assignments (e.g., building up a circuit from sub-circuits). However, I thought these topics were worthwhile. As for the second complaint, I think this might be along the line of the discussions one finds online regarding what is the most "Pythonic" solution to a problem. TA's in this course tended to focus on solutions that were more readable and easier to understand than those considered more "Pythonic" (e.g., using for/while loops and if/elif statements on multiple lines of code rather than a single line of code that achieves the same thing but is harder for an inexperienced programmer to understand). The main complaints that I have regarding this course are: 1) they do not really cover I/O in much depth, 2) more material should be provided up-front for Logism, and 3) each homework came with a reading assignment which appeared to be more philosophical in nature than anything coding related. I also think it would have been nice for the course to provide links to "approved" websites for the users/students to learn more information on specific topics. I just went off on my own and found my own website references. My main complaint for EdX is that they should add a means of communication between the course staff and students for issues that cannot be discussed on the public discussion boards currently provided. Overall, I thought this was a worthwhile course, which was quite broad, had very good video lectures explaining the topics, and had responsive TA's answering your questions. I really enjoyed the course, but could see how one could argue that the course should be less broad (e.g., drop Logism, Assembly language, & State Machines) and go more depth into Python (e.g., discussion on input/output could be far more extensive).
This course is called CS for All and is billed as an introductory course, but it is way too difficult to be introductory. My husband is a senior level programmer, and in working through this course with our daughter (a high school student), he has found multiple concepts that are introduced without pre-requisite knowledge being taught, concepts that are not explained well, and assignments that ask the student to program in a way that complicates rather than simplifies the code. We are very disappointed with this class.
One of the most challenging,comprehensive and fulfilling courses on Computer science and programming ;online.This course taught me about about coding,algorithms and problem solving.Definitely the most complete introductory course you could expect to find,when comparing across MOOCs offered by other colleges.
Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.