INFORMATION CSC 547/647: Computational Geometry, Fall 2025 Victor J. Milenkovic INSTRUCTOR: Professor Victor J. Milenkovic Ungar 330N, 284-4194, vjm@cs.miami.edu What do I need to do? 1. Buy the textbook. There are also soft cover and online versions. Chapter 1 is available for download on the book web page Computational Geometry: Algorithms and Applications Third Edition (March 2008) Mark de Berg, TU Eindhoven (the Netherlands) Otfried Cheong, KAIST (Korea) Marc van Kreveld, Mark Overmars, Utrecht University (the Netherlands) http://www.cs.uu.nl/geobook/ published by Springer-Verlag 3rd rev. ed. 2008. 386 pages, 370 fig. Hardcover approx. EUR 35,- ISBN: 978-3-540-77973-5 2. Do assigned work: reading, problems, programming. 3. Do you reading before lecture. Attend lecture. Ask questions about what you don't understand. 4. Read email FREQUENTLY. Subscribe to the Blackboard discussion forum. What will I learn? We cannot cover all the chapters in ``CG''. I would like you to implement things as much as possible because you can't implement something unless you really understand it. I would rather you understand something well than cover more. For now, the chapters we will cover are: 1 Computational Geometry 2 Line Segment Intersection 4 Linear Programming 6 Point Location 7 Voronoi Diagrams 9 Delaunay Triangulations 10 More Geometric Data Structures 11 Convex Hulls 12 Binary Space Parititions 13 Robot Motion Planning 15 Visibility Graphs Mainly because these have beem most useful to me! What languages can we use? Java. I actually do most of my CG programming in C++, but this will make it easier for us work on different computers since all my C++ programming is on Linux. However, I am in conversations with a class member to create a Python port. What if I have questions? 1. Post your question as a NEW DISCUSSION topic on Canvas. Everyone should set Canvas to notify you of new discussion topics. If you know the answer, post it as a reply on that topic thread, and earn points (one quiz point per reply). If no one is answering or it's urgent, I will of course reply. 2. Ask at the BEGINNING of lecture. 3. Send me email to make an appointment. How will I be graded? 50% assignments (programs, problem sets, and project) 10% quizzes 10% midterm 30% final Students taking CSC 647 will have a project and will be given more assignments than students in CSC 547. What about late work and extensions? Nope. We will agree on a due date in class and stick to it. I need to be able to go over the solution on the day the assignment is due. Can we work together? Yes, and please post your insights on as a discussion. If you use another service, such as a Slack channel, please make sure everyone can see it. Don't share code. Don't email code. Don't post code. Can we use AI? Let me know what you are doing so I can make sure you understand. You should always explain the authorship of your code and other writing. Summary 1. Do the reading before the lecture. Yes, before. 2. If you have to miss or do miss a lecture or lab, send email with a reasonable explanation to vjm@cs.miami.edu as soon as you are able. 3. Read your email. Turn discussion notifications on. 4. Post all non-private questions as a new discussion topic. 5. Answer other students' questions if you can. 6. Never email code. I can read your source directory. 7. Help each other. Just no copying. 8. Let me know if you used AI. Your rights and reponsibilities: https://doso.studentaffairs.miami.edu/_assets/pdf/honor-council/the-undergraduate-honor-code.pdf