Andrew Childs

This professor has taught: CMSC451, CMSC457, CMSC657, CMSC798, CMSC858K, CMSC858Q, PHYS457
Information Review
Andrew Childs
CMSC451

Expecting an A
Anonymous
05/20/2024
Childs is great at lecturing and I really got a lot out of this class. It definitely helped me get more comfortable with algorithm design and proofs. Lectures were fairly fast-paced since we had a lot of material to cover, but he was always happy to clarify any questions people had. Lectures stuck fairly close to the textbook, which was also a good reference if something wasn't clear. Typically lectures would introduce some problem, then we would discuss an algorithm for solving it, prove correctness and analyze time complexity. There were five problem sets throughout the semester, with the lowest one dropped. Each one was fairly difficult, consisting of a five or so problems. We had one midterm and one final. The midterm was was fairly straightforward I thought, but with one tricky question. The main challenge was the time crunch. Everyone was writing frantically until the end. The average on the midterm was a 60% or so. The final was similar in difficulty, but had a little more time to work with. The average was a 72%, so a bit better than the midterm. Both exams we were given a number of practice problems. The class is typically curved, though I don't know what the cutoffs were. Overall if you are comfortable with proofs and putting a lot of time into this class, it is definitely worth taking. If you aren't really interested in the subject or you have a busy courseload already, probably best to avoid.
Andrew Childs
CMSC451

Expecting an A
Charl1e1029
05/20/2024
I'm not gonna lie, I only showed up to a single lecture (the first one), the midterm, and the final so I can't give great insight into how great a lecturer Childs is. I will admit that his notes are very detailed and helped me through every assignment and concept taught in the course. I thought all of the 5 assignments (though time-consuming) were fair and TA's were readily available to help out to give good hints/insight on how to solve each question. As the rest of the recent reviews detail, the midterm was time-crunchy and difficult with a class average of 61%, while the final was much fairer with a class average of 72%. The class is curved at the very end so it is stressful not knowing what grade you have until basically the very end of the course. Overall, I am happy to have taken this course (with Childs specifically) and feel more prepared for technical interview-style questions I may face in the future.
Andrew Childs
CMSC451

Expecting a B+
Anonymous
05/19/2024
Even though I didn't get the grade I wanted at the end of the semester, I'm still going to give Andrew five stars simply because, despite the super difficult nature of the content (and the notoriety surrounding the class itself), he is a great and arguably one of the most organized professors at UMD. He's super knowledgable about the content and he makes sure to spend a lot of time clarifying confusing parts and often takes time to see if there's any questions he can answer. He's also approachable and can be pretty accommodating for any circumstances that come up, though the class itself is pretty rigid in terms of due dates. He also records and posts lectures and makes his handwritten class notes available in case you can't come to class. Just to be clear, this class is DIFFICULT. If you struggled with proofs in 250 and 351 then this class will be hell, but it can be really useful if you want to think logically about designing mathematical solutions to problems and can help with tech interviews. Homeworks: - There are 5 homeworks (with the lowest dropped) each worth 10% for a total of 40%, - Each assignment comes with 5 questions, which usually follows the format of: here's this problem, given this input design an algorithm that gives some output, prove the algorithm is correct, and give its running time complexity. - He gives you two weeks between assignments, which you should take advantage of because on average each homework can take 8-12 hours. I personally take longer for assignments so I can say that I've spent up to 20 hours on some of the assignments. - The averages for the homeworks ranged from low 70s to high 80s. - Homework solutions are released right after 11:59, so there are no late submissions. You get about 3 days for regrade requests though. Exams: - 1 midterm worth 20%, and 1 final worth 40%. - Essentially they're shorter homeworks with slightly easier problems, but you're given so much less time to do them you really need optimize your time for figuring out a solution, writing the algorithm, and proving its correctness and running time. - They're open note (no electronics though) but you really don't have enough time to spend looking at how to write certain proofs, you gotta know your stuff going in. - The average for the midterm was a 60% and the final a 72%, and he gives a pretty generous curve at the end of the course. He didn't tell us the specific grade cutoffs for the end of the course, likely because students on Piazza were using the last semesters cutoffs to predict the cutoffs for this semester. Tips for success: - Even though the book is optional, definitely read the chapters he gives each week because not only do they give you an in depth explanation about the topics of the week, but it gives you general formulas for solving problems of a specific type which is SUPER useful for homeworks and the exams. Trust me, I hate doing class readings but these are pretty short and can really help you out. - Go to office hours, this definitely saved my grade because without it I would have dropped a few letter grades. Especially Aditya's office hours, he's TA'd the course multiple times and when he gets a crowd of people he goes through each of the problems and explains the context and starts a few approaches. - Start the homework early. I've had friends in this class who wait until the day its due and get to a point where they're starting some problems at 11:30. Some people can get away with this, but I wouldn't take any chances.
Andrew Childs
CMSC451

Expecting a C-
Anonymous
05/18/2024
Warning to anyone taking this class, if you didn't like or do well in 351 you probably shouldn't take this class. In my opinion this is the hardest class I've taken at UMD, every assignment is long and graded for accuracy. Honestly I thought the grading was harsh for the assignments as if you didn't use the preferred method to solve a problem I'd always get at least 25% of the credit off for the question. Luckily you can afford to mess up one assignment as he drops your lowest one. You also will be spending a lot of time on these assignments and writing notes for the exams. The good things about him are that he curves very generously and his exams are open note and open book. He's also clearly really smart but his handwriting on the notes he posts is quite awful lol. Overall most of the problems I had with the course were the course itself and not the professor.
Andrew Childs
CMSC451

Expecting an A
juiceman
08/26/2023
1. Did you think the exams or other major assignments were fair? · HW is fair but time-consuming, 10-15 hours each. The dynamic programming (HW3) was the hardest, 20 hours. · The midterm exam was challenging due to time constraints, but the final exam was very fair. · The bulk of assignments and exams require writing an algorithm, proving its correctness, and stating its run time. — 2. Did you think the professor had reasonable expectations of the students in the course overall? · Reasonable workload, with five homework assignments (one dropped) · Reasonable exam difficulty of one midterm and one final exam. He provided practical and clear exam preparation advice and plenty of practice. · I strongly recommend not to leave the homework until the last two days. Start a week early and go to OH! — 3. Were you a fan of the professor's teaching style? · Most organized professor I've had at UMD. · Assignments punctually released and graded. · Homework and lectures are very closely aligned with weekly suggested textbook readings. I highly recommend doing the readings before class if you're struggling. · His ability to present the content clearly and logically with drawings and clarifications impressed me. · I admired Childs’ willingness to answer questions during lecture even if it meant going slower. He frequently paused and encouraged asking for clarifications and questions. · He recognizes the difficulty of the course and pointed out historically confusing parts. · His handwritten iPad notes are well structured, a great resource, and updated promptly after lecture. I suggest writing your own notes by hand because of the open-note exams. · Recorded lectures. However, I recommend attending class because of the opportunity to ask questions, stay up to date, and there was unrecorded Q&A at the start. · When I asked questions during office hours, he demonstrated a thoughtful listening approach and genuine interest in helping me understand the course material better. Childs offered valuable feedback and diligently addressed questions. I valued the inclusive environment he fostered by allowing everyone to participate in the room/zoom, rather than seeing people one by one. · To establish a personal relationship with Prof Childs, it is necessary to take the initiative and bring forth topics for discussion. — 4. Was the workload appropriate for the number of credits? · Pretty heavy/demanding if you want an A. · Homework required considerable time and effort, 10-15 hours on each due biweekly. · The readings took around 2 hours per week. · Exam prep required approximately 20 hours each exam. — 5. Was this course a waste of time or was it beneficial in some way? · Challenging but highly rewarding course. · Deepen my understanding of computer science, algorithmic frameworks, and especially honed my critical and logical thinking. · Useful practice on presenting your ideas and algorithm. Topics like graphs, BFS, DFS, paths, cycles, topological sort, connected components, greedy (internal) scheduling, 1D 2D dynamic programming, etc are relevant for more advanced FAANG, leetcode interviews. · Reductions (network flow, NP completeness) helped me practice transforming a new problem into an instance of known problems. · A toolkit for writing algorithms! — 6. How much support were you given throughout the semester (office hours, extra resources, etc.)? · Representative practice problems for exams, but no solutions. You have to get feedback on your attempt through office hours or Piazza. · Childs displayed high responsiveness on Piazza, checking multiple times a day, including weekends, and personally responding to most questions. · Childs and TAs had 2 office hours per week each. · I highly, highly recommend Aditya Acharya's office hours! · Attending office hours and seeking early feedback significantly contributed to my success. — TLDR: Highly organized professor, reasonable exam expectations, challenging time-consuming homework, great teaching assistants, follows the textbook closely, records lectures and posts notes, useful for interviews, rewarding course, tangible improvements in algorithmic thinking, but heavy workload for an A. Highly recommend 451 with Childs!
Andrew Childs
CMSC451

Expecting an A-
Anonymous
06/08/2023
I think he's a bit overrated in my opinion. He's very hard to talk to but he is receptive to questions, especially during lectures. However, he doesn't provide much insight regarding anything else. His responses are very brief and terse. The TAs were helpful at the very least. The tip to doing well in Childs's class is honestly to just LC. Many of the questions that appear are LC related especially divide and conquer, dynamic programming, and general graph algorithms (BFS/DFS/topological sort). You also don't need to attend class because he basically just summarizes the textbook which he didn't do amazingly. This is a decent class to take but there are more useful classes as you can just LC and learn the patterns yourself).
Andrew Childs
CMSC451

Expecting a B+
Anonymous
05/28/2023
Great course and great professor. You learn a lot and the course content is really valuable knowledge. Childs is really smart, answers all questions, and does his best to help everyone succeed. The homeworks are very difficult so I would say start them very early. The midterm and final are really really really difficult and hard to finish on time with averages in the 60s. Don't panic though because the course has a huge curve at the end of the semester. Biggest piece of advice is to start the homeworks very early and go to TAs with any questions. The hws are graded harshly for correctness and take up a huge portion of your grade, so do them well. Overall its a hard class but if you think you can handle it its very worth taking, especially with a professor childs because you can tell he really knows his stuff.
Andrew Childs
CMSC451

Expecting an A
Anonymous
05/22/2023
Very organized. Set up Piazza and office hours times weeks before the semester began. He knows the textbook forwards and backwards. He follows the assigned textbook readings very closely. So if you're struggling to keep up during lecture, do the assigned readings beforehand. The homework are long. HW3 (dynamic programming) was especially difficult. Make sure to start early (you're given 2 weeks to complete). The consist of 5 questions, typically all questions (except the NP HW) ask you to write an algorithm, prove its correctness, and state its running time. Use the textbook to complete homework early. Do not start any later than a week before the deadline. Each assignment took 10-20 hours to complete. Make sure to go to office hours to verify your thought process or you may get half credit on questions you incorrectly approach. The homework is however very fair and directly relevant to what we covered in class. HW average between 80-90%. I think what made me respect Prof Childs the most was that he was willing to answer questions during lectures fully. Even if this meant we did not get through supplementary topics at the end of the semester (had to cut out quantum lecture but posted for viewing on ELMS), he made sure to take any question serious and answer it without making anyone feel stupid. That's a classroom culture I appreciate. Sometimes however he does rush at the end to finish a proof if we got derailed with too many questions, but usually he saves it for the next class. During office hours, he was helpful. He gave hints on how to approach the homework. It was honestly helpful to explain my thought process and get that feedback from him. He allows multiple students in Zoom room at once or in person, so you get to listen to other students questions and perspectives as well, which is enriching. In regards to what 2 reviews down said about rapport, I will say that my interactions during office hours were mostly focused on course material and homework or practice problems. I think it is possible to build rapport, but you'll have to come with questions and willingness to share your interests. Most importantly, I felt like he did care about me and my understanding of the material. Sometimes he cracks jokes. Regarding exams, he made an especially difficult/ time crunch midterm (60% average), but he adjusted for it with a more lenient final exam (75% average). Overall cutoffs for the course: A-: 84, B-: 71, C-: 58. The biggest advice for exams I can give is to understand the homework well (what are the key concepts, thought processes), but then make sure to do as many practice problems as possible. Get your thought process verified by Childs or a TA. Big shout out to Aditya Acharya. He is the best TA for the course, go to his office hours if you can!! He makes his office hours basically into a discussion section for the course, white boarding concepts and helping get started on homework. Advice: Start HW early (1+ week) so that you can spend 10-20 hours. Stay up to date with the lecture. Attend in person if you can even though its recorded. Take advantage of Piazza since Childs responds very actively. Take advantage of office hours, especially TA OH for homework. Prepare early for the exams. Good luck! Take him if you have the privilege and get a seat. I feel like I learned a lot and it greatly helped me with my logical/algorithmic thinking.
Andrew Childs
CMSC451

Expecting a B
Anonymous
05/20/2023
Childs is one of the smartest Professors I've ever met and for a course like 451, him being able to answer as many questions as he did in class or piazza on the spot was very impressive. He really knows the algorithms and would be able to point out flaws in some of the suggested "what if ... " questions and I am super glad I took this class with him. I came into this class with not any more hope than to learn about some better ways to solve algorithm problems but am now considering getting a masters because I was very passionate about this class. If you want to be great in this class, I suggest doing the textbook readings before class, because the information definitely can be a lot and gets covered quickly sometimes. This way you can come to class with the knowledge and Childs can break it down further for you.
Andrew Childs
CMSC451

Expecting an A-
Anonymous
05/16/2023
I have some issues with this class that I'll discuss later but overall I think it's worth taking. It builds a lot of really useful skills and really helps you practice thinking critically. Pros: The class is organized very well. There's 5 homework assignments, each worth 10% of your grade with one dropped (so 40% total). They can take a long time to do and be pretty difficult, but you're allowed to work together on them. The TAs and prof are helpful during OH and responsive on Piazza. The hws help you to practice and build your understanding of the course content. The questions on the homework are about 1 or 2 levels more difficult than what'd you see on an exam, so they're good prep for that as well. There's one midterm and one final, which is nice because the exam load is less. The midterm is 20% of your grade and the final is 40%, which imo is too much but ig that's the tradeoff for only having 1 midterm. The midterm was pretty difficult (avg 60%) but the professor says he intends to curve at the end of the semester based on where grades fall with the final. The content is useful. I think I learned a lot about how to actually build and design new algorithms using existing algorithms or ideas (versus where in 351 you focus just on analyzing existing algorithms, not actually building anything new). That's the main difference between the 2 classes. He structures the class by first showing you 3-4 examples of algorithms using a specific technique (i.e. greedy) and then having you apply those algorithm's ideas to hw or exam questions. I think generally this class helped me to think critically about complex problems you'll encounter regularly in CS. Cons: I felt the lectures were rushed and sometimes unclear. The professor would often handwave proofs especially towards the end of the semester to save time which resulted in them being difficult to read and understand. The book does have each proof in it written in depth, and is generally very good. I'm not usually a big fan of learning from textbooks and would rather get content from lectures, videos, or online, but I found this one very well written and helpful. I'd consider reading the textbook required to be successful in this class, even though the professor considers it "recommended". This was a con for me but may be a pro for you. I personally kinda suck at proofs, and this class is *entirely* writing proofs (mainly proving your algorithm is correct). I think it was good experience to get but it was pretty difficult for me, especially at first. If you like proofs you'll do fine, but be prepared to be writing or studying proofs basically every day. A final being 40% of your grade imo is too much. I'd much prefer to have 2 midterms in this class and a lower weighted final. This is more so personal preference though.
Andrew Childs
CMSC451

Expecting a C+
Anonymous
05/04/2023
He's a good teacher who's very organized. This class is tough. There are 5 HW assignments and he drops your lowest. Final is worth 40% so that's stressful. Class is curved. He is not the harshest grader. Stressful since you won't know your grade until its published.
Andrew Childs
CMSC451

Expecting an A
Anonymous
03/11/2023
I came into this class with high expectations due to his ratings and reviews, but honestly think he is a bit overhyped. He speaks so fast during lectures that I physically wasn't able to keep up with notes, and had to stop coming to class and watch the videos instead so I could actually understand what was happening. Additionally, this may be subjective to each individual, but for me personally I felt that his lectures lacked structure which made it especially difficult for me to take organized and digestible notes. These are minor issues though-- my biggest disappointment was that he is not the kind of teacher that recognizes and reciprocates effort. I had hoped to TA this class in the future, and made a substantial effort to build a rapport with him, but he is simply just not the kind of professor that you can build a rapport with. He is not approachable in a way that makes you feel comfortable asking him questions, and I've seen/experienced several instances of him responding a bit curt/rudely to questions on Piazza. Overall, I feel that the way he communicates with students is not conducive to learning. TLDR: Very smart professor that really knows his stuff, but his expertise in algorithms does not exactly translate to an expertise in teaching.
Andrew Childs
CMSC451

Expecting a B
Anonymous
05/23/2022
Definitely one of the best professors in the department. Explains everything well, and the class definitely felt more manageable than 351, although that's not saying much. Homework is long though, so definitely start early on those. If you're not algorithmically challenged like I am, this class might be fairly easy for you.
Andrew Childs
CMSC451

Expecting a B
Anonymous
05/19/2022
pretty tough class but Childs is a very smart professor who explains content very well. homeworks take a long time (there are only 5 though so it's not terrible). wouldn't recommend taking this course with a heavy schedule but otherwise definitely recommend
Andrew Childs
CMSC451

Expecting an A-
Anonymous
12/23/2021
I took this class Fall 2020 (online semester), but I thought Childs was a great professor. He's probably one of the most organized professors in the CS department. His course is heavily dependent on the textbook (which is amazing), but he does a really good job of breaking things down in a digestible way. I would like to say that I'm algorithmically-challenged, but I was still able to follow all of the lectures. He is extremely responsive on Piazza, and very lenient with partial credit. The class is not easy, and you'll definitely need to work for your grade, but overall this is a great class and I would 100% recommend taking it.
Andrew Childs
CMSC451

Expecting a B
Anonymous
01/04/2021
Childs was really fair, and I felt like a learned a lot through the course. It was challenging, but I could tell that all of the material was important. Grading was fast, and lectures were recorded. Piazza questions were answered quickly.
Andrew Childs
CMSC451

Expecting an A
Anonymous
12/26/2020
(Disclaimer: had him during fall 2020 virtual semester) I found the course a lot easier than 351. The homeworks were a bit challenging but I found that the TAs, at least during this semester, graded very generously (the rubrics are not like 351 where it’s basically 0%, 50%, or 100% per question). The tests were kind of hard to do under a time crunch but they were generally easier than the homeworks and again had generous rubrics. Childs is a nice professor and responsive to the students - he extended the deadline on one of our homeworks. If you’re interested in 451 I recommend taking it with him.
Andrew Childs
CMSC451

Expecting an A-
Anonymous
12/24/2020
Definitely the best professor for CMSC451. The lecture videos are concise, well put together, and very informative. The course was also structured in a way that allowed for a lot of flexibility for students. Exams are fair and you will do well if you do the homework's. Professor Childs is very knowledgeable about algorithms and is also able to answer questions and explain concepts very well. Overall, really enjoyed his class.
Andrew Childs
CMSC451

Expecting a C
wshipper
12/21/2019
Andrew Childs is such an amazing professor. He is clear and calm in his lectures, always willing to re-explain material, and his homeworks and exams are very fair. Not easy, but fair. When I had him, he took notes on an iPad and displayed them on the board as he taught, to show many examples and explain theorems. However, he didn't post those notes - so make sure you take your own! Overall, I would want no one else to teach me 451. I feel like I actually learned a lot. I wish he would teach 351 as well!
Andrew Childs
CMSC451

Expecting a B+
Anonymous
12/21/2019
the course is pretty hard in general. there were a lot of smart people when i took the course and exam averages were in the high 60s. but as for andrew childs himself, if you can take this class with him, do it. he is a great lecturer. while he might be fast at times he does address student questions during class. i went to his office hours fairly often and i got a lot of my questions answered and i overall learned a lot in this class. it's a challenge and bit stressful since the final is worth 45% but i think if you did well in 351 (B or higher) and you're interested in learning more about algorithms then take this class with childs.
Andrew Childs
CMSC451

Expecting an A
Anonymous
12/20/2019
Probably one of the best professors to have for a difficult class. He almost instantly replies to all Piazza posts, has great lectures, and he is very kind. This class was hard but the material I learned from it was invaluable and absolutely essential for any CS student.
Andrew Childs
CMSC451

Expecting a C+
Anonymous
12/19/2019
Childs is insanely smart; he, for the most part, single-handedly managed the course Piazza. He writes his notes (on an iPad projected to the screen) in a way that students can copy word for word, which is nice when we need to review the concepts, but makes class a frantic effort to copy notes (missing a lot of what Childs has to say verbally). His final was pretty fair in my opinion. He sticks very close to the book "Algorithm Design" (available as a PDF online). 451 is a tough class. I guess it will improve some algorithmic thinking skills.
Andrew Childs
CMSC451

Expecting a C
Anonymous
12/14/2019
Childs is probably the best professor I have ever had out of all the other CMSC professors next to Max for 423. Hands down takes the best notes, is easy to follow in class, and he is really interesting (his field of study is quantum algorithms). The only sort-of complaint I have is he doesn't post his notes online, but that never really bothered me and you definitely learn a lot when you're at lecture. More importantly however is how hard this class is. Yes, the first half of the class is 351 material, but with 2 week long assignments and a final that is worth almost half your grade, the class has very little room to make up for lost points easily due to its structure. I will say the class was harder than 351 for me, as I had Golub for 351 and received a B at the end, and I wasn't the best at proofs coming in to this class. My advice is if you are VERY confident in your ability to solve proofs then you should definitely take Childs; he's absolutely the best professor for this class. It honestly all comes down to how confident you feel about taking 451. P.S: I'm giving 5 stars because Childs is AMAZING, not because of the course material or its difficulty.
Andrew Childs
CMSC451

Expecting an A
Anonymous
11/28/2019
Incredible professor. His lectures are very clear and the expectations for students are very reasonable. This is a challenging class, but it's worth taking because you'll learn a ton.
Andrew Childs
CMSC451

Anonymous
07/08/2019
Pros: He is very smart Cons: You'll never be as smart as he is The class is genuinely difficult He is a very boring lecturer
Andrew Childs
CMSC451

Expecting a B
Anonymous
05/19/2018
Great professor. No slides, but excellent lectures with clear notes on the board.
Andrew Childs
CMSC451

Expecting an A
Anonymous
05/18/2018
Great at lecturing. I learned a lot.
Andrew Childs
CMSC451

cnaka
03/30/2018
Good professor but has very high expectations for students.