- 7 reviews
- 7 completed
Since taking Latin in high school, I have always loved all things Roman. Dr. Kleiner's course was not an exception. This 15 week course covers Roman architecture from Romulus' hut to Constantine's Arch. It follows how Roman architecture evolved as the Roman era progressed and Rome's influence circled the Mediterranean. Dr. Kleiner's lectures are filled with photos and diagrams giving many examples of what the Romans built and explaining the context of the structures. My only criticism is that our essay assignments were restricted to too few words. I highly recommend Roman Architecture for anyhow who has been to Rome and fallen in love with it, or anyone who has plans to go to Italy and Rome. Viewing Dr. Kleiner's videos will definitely help one appreciate the experience of visiting Roman sites in person. One does not have to wait for the next Coursera session. Dr. Kleiner's videos are available directly from Yale at: http://oyc.yale.edu/history-art/hsar-252 CAVEAT - Once you finish this course, you will see the influences of Roman Architecture everywhere!
Prof. David explained the internet from its lowest layers involving signal-to- noise concerns up through bits, frames, packets, etc. and up into applications such as HTTP and BitTorrent. Topics included clock synchronization, error detection/correction, collision detection/correction, routing, network congestion, security and others. Students won't be network engineers when done, but they will have well rounded knowledge of the internet and an excellent foundation to learn more. Prof. David explains the concepts well. The quizzes reinforce these concepts. The exams are similar to the quizzes. This isn't an extremely difficult class, but it is challenging. In my session (fall 2013), appearances by "cupcake" girl, whom we feel is Prof. David's daughter always injected a bit of fun and humor into the lectures.
I have a BS and MS in CS. I've been a software professional for ~30 years. This course compliments Sedgewick's Algorithms courses from Princeton and also on Coursera. Pros: \+ Tim’s enthusiasm - “blazingly fast” algorithms. \+ Proofs had enough description to follow without getting bogged down in too much rigor. \+ Tim’s practical advice: \+ Constant, linear and loglinear operations are so fast that we also get them for free, so we should always consider running them on our data sets, even if it’s not obvious at first that doing so will help solve the problem. For example: \+ Loglinear sort your data. Maybe sorted data will help in the solution. \+ Heap your data. Maybe its constant operations may come in useful later. \+ BFS and DFS linear algorithms are the fast workhorses of graph problems. If you’re not sure how to approach a solution, just do Breadth and/or Depth First Searches to see if either or both approaches lead to the solution. \+ Think about your sub- algorithm needs. For example, Dijkstra’s shortest path algorithm requires processes nodes based upon a greedy algorithm that wants the next shortest total sub-path link. When a superlative is part of an algorithm, such as “shortest,” then think about using a heap or priority queue which returns superlative values efficiently. \+ You don’t need to “solve” complicated recurrence relations. If you have a hunch (or hope) of its form, try induction to confirm it. Cons: \+ Some of the quizzes and assignments had confusing wording. They should be reviewed and addressed. \+ The programming assignments involved data that was massively larger than it had to be. A program that finds strongly connected components in a 1,000 node graph properly will work just properly on an 800,000+ node graph, but without straining the development environment. \+ I don’t recall seeing Tim on the forums. A greater presence, even if only to address clarification in confusing assignment wording would have been appreciated.
Disclaimer - I audited this course. I watched every video, but I did not do the programming assignments. Algorithms Part II is a great follow up to Algorithms Part I. I just spent the past day review the slides and summarizing the topics of the course. I had forgotten how much material was covered. Rather than mastery, I'm focusing upon understanding. I'll consult the online materials when needed. I have two specific comments about the course: \+ I would like more examples on how to apply mincut/maxflow in graphs. I understand the theoretical concept and the algorithm, but I'm not sure how to apply it. I see how it was applied in the lecture examples, but there was no presentation on how one would recognize when a problem might be solved using mincut/maxflow and how one would go about converting a problem into a graph so as to solve it. \+ The optional Linear Programming section could have had a few more examples as well. I also have two policy comments: \+ Princeton does not offer Statements of Accomplishment. You won't even get a final grade. \+ The Algorithms' staff shuts down the site after a session is over, sometimes soon after a session is over. So if you want access to the materials you need to download the files, especially the videos. However, the staff does keep a lot of material available online outside of Coursera, including their online book and Java implementations of the algorithms.
I've taken about 10 Coursera courses. This is the first one I didn't complete. The advertisement sounded great. The introduction lecture was very promising. The first serious lectures, about games being state machines and representing those statement machines via rules was interesting too, but then it all fell apart for me after that. I watched the lectures, which amounted to about 30 minutes per week, but that was about it. The lectures were basically the instructor reading the slides, and we never saw his face either. The instructor should be a student in a few MOOCs to get a sense of how they should be presented. If he only had time for one, I'd recommend the Python class from Rice. It was a programming course, involving games, that got it right.
I had taken automata theory in college 30 years ago. I wanted a refresher, especially coming from one of the authors of my text book. Even though this was mostly review, the material was still challenging. Dr. Ullman moves very quickly through dense material. Previous experience with discrete mathematics is assumed, and being comfortable with proof by strong induction is an absolute must. Almost every proof involves induction. Sometimes Dr. Ullman lists all the steps, sometimes he just shows the inductive set up. In all cases, he runs through these proofs quickly. I would have appreciated more diagrams and other visuals as well as a few more concrete examples.
Most MOOCs focus upon learning. This MOOC focuses upon thinking. The learning MOOCs are great. I’ve learned a lot in them, but the mathematical thinking stretches one’s brain to the point of almost hurting. I was not a math major in college, but I had a lot a math related courses being a computer science major. I thought most of the course would be review for me. Most of the material was review; however, a large chunk of the course, especially the second half, is about proofs. I thought I knew what a proof was. Dr. Devlin shook my core beliefs. I’m still a bit shaky - and I was a student/TA for the course as well! This course will frustrate you. It will enlighten you. If you complete it, you will have a great feeling of accomplishment as well as a very solid foundation for additional mathematics … and thinking in general. This course offers behind-the-scene videos which I’ve not seen in other MOOCs. The first three-quarter of the videos consisted of a round table discussion with Dr. Devlin, a staff TA and a moderator. These short videos talked about MOOCs in general and how they are constructed. The final videos were presentations Dr. Devlin has made at Stanford, including lectures on the origins of numbers. We even get to see him shoot a cactus in the final video - it makes sense in the context of the video.