Write a Review: CS For All: Introduction to Computer Science and Python Programming
See what other students say
3 years, 3 months ago
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 compl...
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 ...
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.