This two–part course builds upon the programming skills that you learned in our Introduction to Interactive Programming in Python course. We will augment those skills with both important programming practices and critical mathematical problem solving skills. These skills underlie larger scale computational problem solving and programming. The main focus of the class will be programming weekly mini–projects in Python that build upon the mathematical and programming principles that are taught in the class. To keep the class fun and engaging, many of the projects will involve working with strategy–based games. In part 1 of this course, the programming aspect of the class will focus on coding standards and testing. The mathematical portion of the class will focus on probability, combinatorics, and counting with an eye towards practical applications of these concepts in Computer Science. Recommended Background – Students should be comfortable writing small (100+ line) programs in Python using constructs such as lists, dictionaries and classes and also have a high–school math background that includes algebra and pre–calculus. Rice University is consistently ranked among the top 20 universities in the U.S. and the top 100 in the world. Rice has highly respected schools of Architecture, Business, Continuing Studies, Engineering, Humanities, Music, Natural …
Instructor Details
Courses : 6
Specification: Principles of Computing (Part 1)
|
49 reviews for Principles of Computing (Part 1)
Add a review Cancel reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Price | Free |
---|---|
Provider | |
Duration | 24 hours |
Year | 2016 |
Level | Intermediate |
Language | English |
Certificate | Yes |
Quizzes | Yes |
FREE
Tyler B –
Most of the course was awesome, just wasn’t crazy about the testing questions at the end of each quizz
Ashiti K –
This specialization is helping me improve a lot.
Ivana L –
Very well structured course. The concepts are explained in detail, the videos are of great quality. The assignmenets give good mix of challenge together with not being overly difficult and discouraging. One of the best courses I’ve ever had.
Michael M –
Another fun course!
Ugo N –
Very challenging and interesting so far. I’m only in the second week!
Ken M –
definitely gets you thinking the right way about programming (math, algorithms, efficiency, etc.
Jaehwi C –
Great course for beginner to enter computer science and programming with Python!
Ganapathi N K –
Really challenging
Hicham T b –
this course was rich … great instructor….
Siwei L –
Great course!!! This is the third course I took in this specialization. As always, the professors are nice and the course material is very useful! The mini projects may seem a little challenging in comparison to the previous courses, but with the help of the forum, the mentors and the professors, we’ll finally be able to finish them. All in all, I highly recommend this course to people who want to learn python.
Albert C G –
Great – how to in Python
Peyman P –
You may have felt pretty good about your coding skills after finishing IIPP, the pre–requisite to this course. Get ready for a big dose of humility in this course. You will do a whole lot more thinking to produce fewer lines of code. You will come out of this course a more thoughtful programmer and will be writing code that is better–structured and more efficient than what you were used to. The path to this end is not an easy one. Bring along plenty of patience and be ready to let your mind explore. The instructors make a distinction between computer scientists and coders. If you are planning to pursue a formal education or career in computer science , you will find this course indispensable. If you are a hobbyist–coder, there will be times when you will question why you are continuing with this course. Hang in there. The intellectual reward alone will make it worthwhile.
Kyle Y –
Fantastic course! Can’t wait to start Part 2!
Wynand –
Course was a good progression on the Intro to Python courses
Atreyee D –
Awesome assignments!
Aynur Z –
Excellent course. I tried several similar courses on Edx and Coursera platforms and found this as the most efficient. The lectures are clearly stated and always accompanied by reading material, which makes it easy to repeat the material. Practical tasks are very interesting and help to develop practical skills. It is a wonderful opportunity to learn Python and fundamentals of computing. I highly recommend this course to everyone interested in this subject.
Jeremy L –
I’ll start by saying that PoC Part 1 is a good course. I took it after completing IIPP Parts 1 and 2. If you are coming from IIPP, you’ll find the organization of PoC familiar: there are weekly lectures, a few practice problems, a quiz, and a mini–project. I found this course far more difficult than either of IIPP offerings. In part this is unavoidable since the concepts are more complex and the problems students are asked to solve are correspondingly more challenging. The course introduces various mathematical/statistical concepts that are useful in programming. I had to spend time elsewhere online reviewing these concepts. If you are not familiar with the concepts, I suspect you’ll have to do the same as the professors spend little time explaining them. As for the coding: if you took IIPP, you’ll know that the professors provided a step–by–step guide for the mini–projects. For the most part, these guides have been jettisoned in PoC. Unless you have programming experience beyond IIPP, you’ll likely have a hard time writing the required programs. The only programming experience I had was IIPP, and I found the programming problems in PoC difficult. But at the same time I am a much better programmer now because I was forced to learn lots of stuff on my own in order to get my mini–projects right (I spent lots of time on coding forums and reading through the official Python documentation). If you take PoC after IIPP, you’ll also find that the quizzes (now called homework) may well take a considerable amount of time to complete when compared to IIPP. One annoying thing on these quizzes is the “test case” question at the end: the professors ask students to find test cases to check for bugs in various programs. This is doubtless an important skill, but they spent almost no time discussing methods for developing test cases, and if you get the question wrong on the quiz, you’ll never know what the correct answer is and hence you don’t really learn much from your mistake. Overall, I learned a lot and enjoyed the projects. As I say, PoC is more challenging than IIPP. I enjoyed the class enough that I’ve just enrolled in PoC Part 2.
Ryan D –
Feels like my grasp of the subject matter is becoming a bit more complete. You may need to do quite a bit of further reading outside of the class material to complete the projects, but it is still very doable with effort for someone at the beginner level.
Julian O –
Another wonderful class in this series. Great, engaging instructors and interesting projects.
Yoon–guu –
little bit difficult compare to last courses.
Stephen J W –
Yet another brilliant course in a brilliant specialization. On to part 2!
xin j –
Learnt a lot
Lianna –
In general, I enjoyed this course. However, I found the homework and projects significantly more difficult versus the IIPP course, yet the lecture videos were of the same level. As a result, I spent a lot more time per week to complete this class. Maybe a few more lecture videos would or more guidance on creating test cases would help beginner programmers such as myself? Either way, I look forward to the next course!
Jayadev H –
very wellmade assignments! that goes a long way! plotting seemed a bit superflous and not much learned. Thank you professors!
ankush k –
Extremely well structured and highly recommended as a beginner course for computer science!
Samer N E –
What makes this course unique is that you write and execute Python code right in your browser – the greatest pedagogical value of this for me is that execution slowed down when my programs became too inefficient. It taught me the importance of efficiency on a small scale, and I became mindful of efficiency early on with further assignments. This is a great habit to pick up early on. My only trouble with the course is that if one’s code is too inefficient, Owltest will not grade the assignment. This becomes very frustrating when you cannot make your program more efficient, and I personally had to resort to intentionally writing malfunctioning code which Owltest would take, for the sole purpose of avoiding a 0.0 grade.
Guillermo C –
Great course
Ikseon K –
Excellent courses, but a little difficult to solve the problems completely. Lectures don’t cover the problems and homeworks fully. This requires self–driven efforts and research regardless of the lectures. Anyway, it is very useful and meaningful. Thanks!
Amit m –
Very good course, I enjoyed it and love the chemistry/humor among all three professors. . I learned a lot and was exposed to many aspects of programming that as a self–taught programmer didn’t know much about. The programming assignments were challenging. I only wish we had solutions to the assignments after the course was over (similar to the EDX platform, so we can see how to implement the solutions much more succinctly.
Milos P –
Overall, another great course in the sequence!
James B –
Challenging, rewarding, well–designed.
Mark K –
I feel as though the class lectures are very easy to follow however the homework/mini projects are very difficult to implement. After taking this course I feel discouraged and question my ability to learn and understand Python.
AN–HUNG ( T –
Amazing course. Spend lots of time thinking how to code in Python Lol
Alejo G O –
Very interesting to expand the ways to solve a problem.
Rita I G –
Funny, difficult and well structured, at the same time.
Abirvab D –
Definitely one of the best courses I have taken introducing Computer Science fundamentals while using Python as the language of choice. I highly recommend to anyone looking to learn CS concepts while picking up a very popular higher level language.
Rudy H –
Great course, gets very tough but worth it.
Maksim U –
I have never had any programing experience before taking this specialization from Rice. I love it! At times I have troubles doing things from the first time, but I never get stuck forever and still learn a lot. It is a bit on the difficult side for me(with zero knowledge before the previous courses), but I enjoy it.
Frank V –
Very good course, with challenging projects. These projects help you also to improve your Python skills.
Jesus A P T –
Excelente curso
Sambhav J –
Great Course
Subhrosil M –
Challenging, yet enjoyable course.
Saksham N –
This course is very good for beginners and intermediate coders. Gives important basics about computer science from 3 very good professors.
Bakhmai B –
Super!
Jeffrey C –
Increasing harder than the IIPP, but at the right level of toughness… great course!
Steven K –
Good course exploring the computer science side of programming. Once I got used to it, I appreciated the machine grader for instant feedback (and ability to resubmit if you did something wrong). Not sure where I will use combinatorics, but it was good to learn anyway. For the most part the quizzes were good, although the ‘find the test cases’ questions were very frustrating and hard to approach. I appreciate the intent of trying to get us to think about testing more, but it was very difficult to think of more than a few good test cases based on the logic of the program or the expected uses and it ended up being easier to randomly generate cases.
Paras S –
This course was a lot tougher than the first part of this specialization.
Melih B A –
It was a great course, I learned a lot about Computing throughout this course. It needs a little analytical mindset but if you work hard enough, I believe it wont be a problem.
Jingtian Z –
I think the lectures are good enough, but sometimes I do not find the connection between lectures and homework. Even so, I am still grateful to the teachers and other students because of their good ideas which make me learn a lot.