4.4
Quality4.1
Difficulty85%
Would Retake93
Reviews85%
Would Retake
93
Reviews
Rating DistributionOfficial
5
74
4
3
3
1
2
7
1
8
What Students Say
“If you are truly driven to achieve great things, take his classes”
CS441 - 5.0 rating“CS441 is a very tough class and Dr”
CS441 - 5.0 ratingClass Info
Online Classes
100%
Attendance Mandatory
5%
Textbook Required
12%
Grade Predictor
Your expected effort level
Predicted Grade
B+
Grade Distribution
Common Tags
Rating Trend
Stable
+0.20 avg changeRatings by Course
CS594
5.0
(1)CS540
5.0
(4)CS476
5.0
(4)cs401
5.0
(1)CS441
4.5
(37)Difficulty by Course
CS540
4.5
CS474
4.2
CS441
4.2
CS594
4.0
CS476
4.0
Reviews (93)
Prof.Grechanik is knowledgable and thorough. His explanations are crystal clear, I am learning a lot from this class.
Extremely boring. Does not connect presented material in a natural flow - info is presented in a scattershot pattern. No book.
One of the best prof at UIC to work for projects, he gives very good guidance and teaches very well. Very easily reachable for any clarification and doubts.
Unreasonable, inflexible, demanding, Unhelpful!!! Don't even try to take this class, don't even bother, there's absolutely nothing to learn from this class, It's really a boring class.
Lectures were very boring and not helpful at all. He wasted too much time on defining concept and didn't give clear examples to explain.
Prof. Mark is a learned man but take his class only if you have sound knowledge of what he is teaching. the classes are not lectures but discussions & to discuss something you need to have knowledge about that. One mid-term and one final. Surprise quiz & 1 project that needs to be done in a team of 2 or 3. gives extra credit for participation.
This class is an excellent introduction to cloud computing. It takes a lot of work to complete this class, but I was able to get a software engineering job at a company that builds cloud computing applications using what I learned in this class. Classes are interactive, you need to come prepared and DrMark awards bonuses for engagements.
I have learned an incredible amount of information about programming languages. I can read PL specifications now, understand how to reason about languages, how to use lambda calculus for Java 8 lambdas, how to write reactive functional applications. It is like a whole new world opened for me. Piazza is heavily used. Bonus points are a bit not fair.
This is a research class where we read conference papers, present them in class, and discuss various algorithms. It is probably the most useful class that I have taken, even though it did not seem so initially. I learned an incredible amount of detail, how different companies like fb, google, amazon solve technical issues, how to present papers.
The course was difficult and I was overwhelmed and glad that I passed it. Now, I started working for a company as an intern and all this stuff that DrMark taught comes back to me and helps me do my job. Yesterday, I spoke about the CAP theorem and the limitations of the existing solution and my boss was very impressed. Highly recommend DrMark!
I am taking this course now and I love it! It is very difficult, but even for the first half of the semester I have learned an incredible amount of stuff. I wish I took fewer classes this semester to concentrate on this one.
If you take his class get ready to spend the rest of your semester working cause with this prof there is no free time. Homework are crazy difficult and tons of reading about research articles. If you take his class make sure your other classes are so easy and effortless cause your going to need it to pass this prof class.
I did not understand the value of this class until I got my first internship this summer. Man, I was able to hit the ground running and my boss is very happy with me. I am ashamed that I cursed the prof when he pointed out to my mistakes and omissions. So far the most valuable part of the course for me is in understanding the object lifecycle.
Not a very good teacher, he has experience (but anyone can get experience). A Teacher should be inspiring, motivating etc. (we don't mind the tough grades, hard HWs, we will get these things anyways in a College).
A lot of people will complain about the difficulty of the course, and they're correct. CS441 is a very tough class and Dr. Mark will expect a lot out of you. The workload might seem overwhelming but it has been the most useful class i've taken at UIC. Every topic covered in this class is currently being used in the industry. Don't give up.
He pushes you hard, harder than any other class you will ever take at UIC. You will learn more than you have in any other class. If you are truly driven to achieve great things, take his classes. I was able to secure a job right after graduation at a BIG 4 company because of his classes. My only complaint was the extra credit from attendance
Very inspiring, captivating lectures. Learnt loads and was motivated to go beyond average in terms of learning and understanding. Very funny and understanding. Gave good feedback and was open to class discussions/disagreements and any kind of constructive dialogue.
Prof opened a new world to me - it is a new complicated topic that requires the good OS knowledge, theory of distributed computing, performance engineering, and ability to program using different frameworks. All that material was packed in a continuous real-time stream of knowledge that we processed using our brain monadic operators.
Dr. Mark is very intelligent, thorough communicator, and above all, he's genuinely interested in his students. He knows how subtle and complex CS can be, so he takes his time reinforcing fundamental concepts and answering questions. He's got a fun dry sense of humor that develops throughout the semester. He opens his schedule to help. He's the best
Only after taking this course I understood what software engineering is. The course sublimates what we learned in programming languages, operating systems, theory to solve very complex real-world problems. We learned design patterns, using open-source repos programmatically, building devops pipelines and many more. Most useful course I took!
He is a gem! Got to know what real software engineering is all about.
love this class, learned so much already. very difficult material, but prof mark goes back to materials from other prior classes if more explanations are needed. not for slackers though.
I hated the class initially 'cause I was unprepared and I thought it was profs fault. Thanks to a friend of a friend I decided to stick in. Went through hell but I learned so much and I am a better engineer for it. The mix of theory and practical exercise is very intense but also very rewarding. I can argue with professionals now about cloud issues
NOT FOR THE WEAK HEARTED! I would not recommend him to anyone who wants an easy breezy class at all. Not going to lie he will work your way through hell and back. I could still definitely say take this class though because you'll legitimately learn something useful! Other notes: extends projects a lot, pop quizzes, goodbye free time.
I have taken 2 other classes and done a MS Project under Prof. Mark Grechanik. His were the best classes I have ever taken. Classroom discussions are in-depth and make you think at a new level. Homework & projects are the best part, you learn a lot of technologies that are highly valued in the industry.
Professor Mark does an amazing job of keeping the course structure up to date with industry standards. You will learn a lot. Homeworks are super heavy and tough, so if other courses are heavy then do not take this course in that semester. I suggest take this course with one more light course. For me he is the best professor I have ever had.
This class is only for grad students or super dedicated undergrad students. Im an undergrad and I can easily say I worked the hardest I ever have in this class and barely got away with a C. After finishing this course I feel like I just returned from a warzone. He is nice, but very blunt which could come off as rude. He's no nonsense. Learned a lot
Lectures and the textbook are nicely combined, I learned more in this course than in all my previous courses. This course requires constant concentration and it is difficult to achieve if you take three other courses. The course is over and i am still working on the course project to simulate cloud datacenters-this is how i got hooked on it!
Taking this course was an eye-opener for me - I learned how much I did not know. All things that I learned in other CS courses I was able to put to use in this class. The prof uses the critical thinking concept - question everything and learn to find solutions using top-down and bottom up approaches. Went from being a dabbler to a real pro!
It was a great course, but unfortunately drmark did not provide enough instructions how to work with monads and variances and other cool OO and functional programming concepts. I hope to sign up to his cs474 in fall where he teaches it, but without these language details it was very difficult to program spark and hadoop.
I want to thank prof mark for how taking his class eased my internship! My team lead and my supervising engineers are amazed at how much I knew and I was able to hit the ground running. Today they extended an offer to me for a perm position and they will wait until I graduate in Dec! The course was difficult, but I learned how to think critically.
After finishing this class in spring I am working at a financial company on a hadoop and spark project and I am using drmark's book chapters and code examples. I am looking forward to buying his book, I hope he publishes it soon. Taking this course was a life changers for me, I finally understood how to create real complex distributed system.
Great course taught by a great professor and he wrote a textbook! Homeworks and the course project are very cool but they require a lot of time. Every lecture was like a adrenaline shot of totally new material. This class is awesome,!
My best class so far at UIC, I had thought I knew how to program before I took this class. I learned how to understand language specification, write generic code, it is like a new cult for me. I have never been so excited to read someone else's code until now. Just got a decent grade on my midterm, so I will stay to the end. Amazing class!
The course was intense and sweat-breaking. Besides tons of theoretical material from the drmarks textbook, we wrote homeworks using Hadoop, Spark, and Akka framework. I learned how to write financial simulators using Akka. We used cloudsim for creating cloud datacenters. It is the best course i've taken so far!
Super funny and top notch lecturing combining his humor with actual code that he writes live in front of us while explaining the language specification and how to use it to explain the code! It is like a live theatre, I am totally enthralled by it. Learned so much already. I wish I become like prof mark when I will grow up.
He will make you realize what and why behind Object-Oriented Programming. He explains the significance of every line of code you write with hands-on. Assignments are very well crafted which will make you learn the latest technology that the industry is using. And on top good piazza questions for more learning and earning of bonus. Best Professor
Took his CS474 and CS441. Both were really relevant and up-to date. Learned a lot. The homework assignments need some work but you feel really good after completing them. They look good on your resume! He kept the class entertained with his humor and sarcastic comments (even in an online setting, COVID). Very knowledgeable and a must take course.
It was so hard to pass the class. oOver 50% people dropped. Better to read all material and study by yourself. Do not expect to ask any question because finally you need to solve by your self. Hard project, hard exams
He's homework and project are really confusing, I took days just to figure out what am I suppose to do. He answers a question by asking another question which I get it he wants us to figure it out by ourselves. I'm sure most of us will try to figure out the question before asking it, this is just annoying. He's not a great professor for undergrad
His class is very intensive and it made me learn a lot. I prepared for lectures and I could participate in class discussions, earn bonuses and follow the material. His lectures are personalized, drmark writes the code in front of us and he discusses it. Those who miss classes fall behind and drop out. Homeworks and class assignments really help.
this class was not easy for me. I thought I knew how to program but I had no idea about the meaning of OOP and what functional programming was. prof goes in depth to explain concepts and support everything with programming examples. missing a couple of lectures makes it difficult to catch up with the material. he is patient and thorough, a real gem
The professor pushes you and prepares an individual student to be ready to tackle the IT world. The professor coursework is hard but you will learn a lot of valuable content that would benefit an individual.
I graduated and I work for a company for a month now. My colleagues admitted to me during a lunch that they had someone else in mind who they had interviewed before me. After my interview they decided to hire me right away because they were impressed with my knowledge of OO and functional programming, and the interview was easier than drmark tests.
Assignments provide the real feel of industry-level work, Teaches the latest technology that is very much needed to survive in the Job, support after lecture-discussion using piazza.
Professor gives amazing lectures in which he explains complicated mathematical concepts while writing code in front of us to allow us to learn more effectively. Unlike other programming language courses when other professors make us learn syntax as rote memorization Prof Mark teaches us underlying principles of language design.
ProfMark combines the best of both worlds: he knows the software industry very well in both the tools and methodologies and professional organization of companies, and he is in the midst of cutting edge academic research. This course combines the review of the latest research techniques and algorithms in SE and how they can be used in the commerce.
I graduated in Summer 2021 and this is the most impactful class for me. ProfMark led me step by step to figuring out how programming languages work, how to use the type systems and how to reason about the code like the compilers do. It is an amazing course and I was able to pass complicated interview tests. He is a gem!
Drmark can explain clearly the most complicated theorem in the automata, languages and all that theory of computation course. He is an awesome dude making these difficult theorems and their proofs so accessible that I see real inner beauty in them. Wow! He makes himself available beyond office hours which is really nice.
Midterm average was 50%. Homework is 60% of your grade and graded harshly, with no feedback on what you did wrong. Each assignment takes 3-4 hours to complete. No problem solving in lecture. Wanted to get through all 11 chapters of the book despite the last few only being taught in graduate level courses. Do not take 301 with this professor.
It was a difficult two-month summer class with a lot of material to study in this timeframe. Prof lectured and did exercises in class when applicable and we had in-depth lab exercises right after classes. Prof was accessible and willing to meet beyond office hours whenever I asked him. He helped me and other students with solutions to exercises.
I learned a bunch thanks to profs lectures, since reading the book alone would be very difficult. Prof explained all theoretical concepts in depth and gave nice explanations why they are needed. My only problem was with the exams, since the class was online and all questions included problem solving instead of testing what we learned.
If I could give negative stars, I would. Get ready to spend hours on homework assignments and studying for quizzes just to get a very low grade in them. The TA/Prof don't help whatsoever and they answer your questions by asking questions. I have never failed a CS class in my life, but if I ever did, it'd be this one. This class is just way too hard
Hw descriptions are vague, tough grader, there were a lot of red flags in the syllabus I shouldn't have ignored. Lots of ec if you participate in lecture, but know what you're talking about. Made "jokes" about how many students would drop the class after the midterm so that gives you a clue as to the type of professor he is. hw50% exams 40% quiz10%
He assigned over 300 pages of reading during the last 3 weeks of school. Worst of all, he did not teach the concepts he tested us on. He gave random quizzes about static variables and nested inner classes but he literally did not have a single slide on either of them. The tests were even more convoluted than the quizzes. Take 474 with someone else.
Professor didn't teach this subject. I took one of his subjects last semester even though it was tough at least he taught that. He gave random quizzes for attendance and they aren't easy. The tests were a test of rote learning. Refused to give a sample for the final exam. I wouldn't even recommend it even though he gave me an A.
I wish I took this course earlier- drmark's lectures are awesome, he explains the core of programming language concepts amazingly well. While explaining and answering questions he writes code live in intellij switching among c++, java, scala, Python and other languages to illustrate OO rules. Taking his class is overwhelming but it's worth effort
I have worked my ass off and i failed to get a B. Even though I am pissed I have to admit that I finally learned to write decent OO and pure functional code including monads and comprehensions. Profs lectures blew my mind, he is really knowledgeable and he writes code in front of us while lecturing. All his lectures are recorded. Quizzes helped.
The course content is super relevant for someone aspiring to make it in the Software industry. All the homework are well-crafted, updated every year, and covers the important concepts we learnt in the class. The coursework is hectic and the Prof has high expectations from his students. Helped me tremendously during my interviews; got me into FAANG!
This is the third class i took with prof mark. He records his lectures and he gives many pop quizzes and it helped me a lot. All code he writes in front of us he pushes into the class github repo and i can pull it in real time and run it on my laptop. Prof knows tons about prog languages, he taught me to read and apply language specifications.
Lots of problem solving with different programming languages that really helped me pass coding interviews and get internship! Prof uses ms teams to answer questions and to pose and solve problems in addition to quizzes and lectures. Simply memorizing lectures will not get you far, you have to practice a lot. Prof has many problems up his sleeve
IMHO drmark is the best prof when i needed to understand twisted functional programming rules and object oriented programming. He explains the underlying machinery to the finest points and everything becomes magically connected in my mind. His course is very difficult and it requires commitment, i spent on average 20 hr week studying and doing hw
Random in-person quizzes and solutions posted on msteams were extremely helpful as well as coding exercises during lectures. This class is not for novices, i had to catch up on data structures and algorithms to follow the material. I missed some quizzes and did ok, however it would be nice if prof announced them beforehand.
Positive aspects of this course for me were the concentration on the theory and showing its applicability with practical exercises in different languages. Prof mark practises polyglot programming and i was able to get over the syntactic details of a language to understand how it works. Also he connects language features with softengin concepts.
It's a bad idea to include upper level undergraduates with graduate phd level students in this class. Prof is forced to go slower to accommodate struggling undergraduate students. The material is awesome and i wish we covered advanced topics on variance for parametric polymorphism. Homeworks are great for learning all 5 of them.
I screwed up concentrating on my other courses and skipping a few lectures the first few weeks. I had a very hard time to catch up and i nearly dropped the class. I managed to get my sht together and i passes the class. Its assignments helped me a great deal to pass programming interviews and get a job at a great sw company.
Took the 4-week 474 session against my peer's request, and I don't regret it one bit. Great lectures, and ample opportunities for extra credit if you participate in class. Due to the shortened structure, grading was based entirely on exams, but I recommend you do the readings anyway. If you've gone out of your way to take 474, you should be fine.
This course is taught like an abstract algebra course morphed into an object oriented languages course morphed into a functional programming course. ProfMark lectures while writing code live in the intellij ide in five different languages. It's difficult to keep up but it's worth every second of participation.
Difficult course led by knowledgeable professor, you WILL become a better computer scientist by taking this course tl;dr: The class is Dark Souls, challenging but incredibly rewarding
It's a difficult course especially for an ME major like me,. Prof structured the course well: hws 50%, exams 40% and quizzes 10%. Awesome live recorded lectures and great ta support.
It's an entry level cs course using matlab. Drmark is easy to communicate with and he's always available to answer questions. Classes are interactive and he gives bonuses for participation. He codes in matlab in front of the class and creates problems on the fly to solve, just awesome!
Dr. Mark was great. It had been years since he last taught the course but he did his best. Attendance wasn't mandatory and you had the option to join class through zoom or in person. The bulk of the grade was on the Zybooks homework and the exams were pretty straightforward. He did go on rants a few times but other than that he was great!
Prof Mark is a very knowledgeable professor. In order to to do well, please please please focus on his lectures and exercises he gives to solve. This will give a straight C + . Make sure to be focused on how he switches languages from Java to Scala to C and to C++. Make sure you know how to use IntelliJ. Plus textbook and plenty of extra credit!
Professor Mark's Distributed Objects for Cloud Computing is an extremely high-value course. The syllabus and course material are relevant in the industry from day 1. Be prepared to learn a lot of useful stuff! I liked his teaching style and participating in the class is fun. The homeworks are interesting and don't feel like homework at all!
Great professor, would definitely take him again.
One of the best courses offered at the University and credit to the Professor for making it challenging and rewarding at the same time. The best part of the course is the homework assignments which are well prepared and suited for the course.
We used the CLRS book and drmark followed it to the point. His lectures are amazing he goes into details that are missing in the textbook makes it easy to understand the material. He interrupts lectures to solve algorithmic problems and everything is recorded on zoom so that we can review it later. He is an awesome prof!
Difficult curriculum. The tests were way more difficult than needed.
It's so rare to take a prog Lang course froma prof who designs and codes live in different languages in front of students while explaining theory and citing language specs on the fly! I learned more in one month than from all of my previous pl courses!
Pick up your ears and stay engaged, it's an amazing course. It's not your usual boring pinky dink course to memorize some obscure language syntax, drmark explains the semantics in depth while solving programming language problems live! Lectures are recorded, he pushes the code into the github repo and we can run it right along with his lecturing.
I developed a huge crush on drmark, he is very intelligent, witty, funny, goodlooking, confident and, my god, how he takes an idea and translates it into the code! He answers questions honestly, not afraid to show his conservative views and he is open to all ideas. Highly recommend taking all his courses.
It is a great course on distributed computing and programming models for dc. Mark is knowledgeable and funny, he explains topics well and makes it easy for us to participate in discussions. Topics are difficult but the workload is manageable.
profmark uses harper's textbook on foundations of programming languages and it requires some heavy lifting. Prof writes handouts to explain difficult concepts and publishes them on medium and he follows the textbook with code in Scala, java and python that he publishes in the GitHub class repository. it's an amazing class.
One of the best courses offered in the fall semester! Big Brother Mark makes the class both challenging and rewarding, with clear grading rubrics and opportunities for class participation bonuses. The homework is tough but highly educational, making it manageable and worthwhile.
prof mark used harper's textbook on practical foundations for programming languages and he created three homework in Scala for building a new programming language for digital circuits. it was an amazing course and I learned a great deal - the textbook was hard and prof mark created multiple handouts on medium. he is one of the best profs I had!
The professor teaching cloud computing stood out for their academic expertise and provocative teaching style. Combining technical instruction with sharp humor he often included critiques of progressives, creating an engaging classroom dynamic. The professor's blend of expertise, charisma, and humor created a memorable educational experience.
Fantastic course, easily one of the best I have taken. Clear explanations, sharp real world examples, and a fun pace that kept me engaged. Amazing homework! Loved that it focused on solid skills and critical thinking making occasional fun of woke fluff. I would happily take it again.
CS441 will sit in the front row of your brain and demand attention every single week. The projects are real systems work, not toy scripts. You will be forced to think about performance, reliability, costs, and how they fit into distributed cloud apps. DrMark is extremely available and if you ask focused questions, you get detailed answers.
Taking cloud computing course from prof mark is like signing up for a chill hike and realizing you are on Everest with a laptop. The prof launches real distributed cloud systems at you while you quietly reconsider your life choices. Start early, hoard coffee, panic a bit (or a lot), then brag forever that you survived. Best course I took!
If you are a broke college student, don't take this class. There is a pay wall for everything. The prof is insensitive.Often made weird, semi-political jokes that had nothing to do with class. If you are the intersection of CS student and incel then you will love the prof.If you are a woman or what the prof likes to call "woke", you won't be a fan.
In this course I cursed latency and started seeing load balancers in my breakfast tacos. I learned more debugging one nasty bug in my GraphRAG here than in three "normal" classes. Side effect: you start load balancing your social life. Horrible experience, 10 out of 10, would take again.
He doesn't care to be politically correct. His class projects reflect real world projects; they are hard but fair. Genuinely a fair professor and is understanding when things pop. A lot of extra credit if you participate max 20%. My only issue with the class is that 10% of time if feels pay to win, posting practice exam questions on his Substack.
CS441 is antiwoke comedy and cloud computing in one package. DrMark combines deep technical knowledge with teaching razor sharp critical thinking, pushing you to understand not just how systems work but why they fail and what truly intelligent solutions look like. I came for the credits and stayed because the prof is unbelievably amazing.
Class Info
Online Classes
100%
Attendance Mandatory
5%
Textbook Required
12%
Grade Predictor
Your expected effort level
Predicted Grade
B+
Grade Distribution
Common Tags
Rating Trend
Stable
+0.20 avg changeRatings by Course
CS594
5.0
(1)CS540
5.0
(4)CS476
5.0
(4)cs401
5.0
(1)CS441
4.5
(37)Difficulty by Course
CS540
4.5
CS474
4.2
CS441
4.2
CS594
4.0
CS476
4.0