The following is the course syllabus. Any significant updates to the below information will be announced on Ed. The syllabus is organized into three sections:
- Course Lectures
- Course Assessments
- Course Policies
I. Course Lectures
The following is the breakdown of all the course lectures that will be covered this semester. We highly advise that you complete the lectures as suggested in the Course Schedule since most of the assignments are closely aligned with the lectures. Several of the lecture videos have quizzes, which will not be graded, but you should complete the quizzes in order to test your understanding of the material. Both required and optional readings related to the lectures are listed in the Course Schedule. Look for specific posts on Ed to discuss each lesson.
Once you have access to the course Canvas, you can access ‘Ed Lessons’ in our Canvas sidebar, or you can log directly into Ed and under our course, select the open book icon in the top right corner. You also have the option to download a PDF copy of the slides on Canvas → Files → Slides. Having a local copy of the slides may be useful for studying later on. You can also find some sample lecture demo code on Canvas → Files → Lecture Code.
|Module #||# of Videos||Total Duration (h:m:s)|
|Lesson 1: Introduction to Computational Photography|
|01-02||What is Computational Photography?||11||00:18:54|
|01-03||Teaser Example 1: Dual Photography||9||00:13:36|
|01-04||Teaser Example 2: Panorama||13||00:15:01|
|01-05||Why Study Computational Photography?||19||00:28:13|
|Lesson 2: Digital Imaging|
|02-01||Digital Image Representation||19||00:36:32|
|02-05||Convolution and Cross Correlation||18||00:30:13|
|02-06||Computing Image Gradients||20||00:32:40|
|Lesson 3: Cameras, Optics, Sensors|
|Lesson 4: Image Analysis|
|04-06||Feature Detection and Matching (SIFT/Harris)||24||00:36:04|
|Lesson 5: Applications|
|05-04||High Dynamic Range||17||00:37:51|
|05-07||Extrinsic Camera Parameters (Optional)||16|
|05-08||Intrinsic Camera Parameters (Optional)||10|
|05-09||Camera Calibration (Optional)||16|
|Lesson 6: Video|
|06-04||Panoramic Video Textures||11||00:20:00|
|Lesson 7: Computational Cameras|
|Lesson 8: Additional Required Readings|
|08-01||Interactive Digital Photomontage|
|08-02||Accidental Pinhole and Pinspeck Cameras|
|08-03||Eulerian Video Magnification|
|08-04||Poisson Image Editing and Drag-and Drop Pasting|
|08-05||Patch Match and Content Aware Fill|
II. Course Assessments
Your grade in this class will be made up of 5 assignments, 2 projects, 3 quizzes, 1 exam, 1 portfolio, and participation. This course does have deliverables almost weekly, so make sure that you pay close attention to the Course Schedule and manage your time accordingly so that you meet the deadlines.
This course is not graded on a curve. The grading scale will be as follows:
- A = 90% and above
- B = 80% – 89.99%
- C = 70% – 79.99%
- D = 60% – 69.99%
- F = Below 60%
There will be 5 assignments throughout the semester, each worth 10% of the overall grade. We suggest that you follow the Course Schedule for when lessons and required readings should be covered because it will help you for the upcoming assignment. The majority of the assignments will have a coding portion and a report. Students will be required to complete the provided LaTeX report template that comes with the assignment. Reports usually require students to present input images, final results, camera settings, and answers to discussion questions.
All assignments will be made available on our course GitHub repository. An announcement will be made on Ed when an assignment is officially released. Students will have approximately 1 week to complete each assignment.
Detailed submission instructions are given in the assignment’s README on GitHub, so please make sure you follow the instructions carefully. We will only grade reports, code, and/or other resources that are submitted on Gradescope. Submissions on Canvas/Ed/email are NOT intended as backup in case something went wrong with your Gradescope submission. No exceptions.
There are two projects in this course – one mid semester and one at the end of the semester. Each project is worth 15% of the overall grade. Students will be required to replicate published results from research papers.
Students will have approximately 2 – 3 weeks to complete each project. All projects will include a coding portion and a report. Information about the projects will be officially announced later on in the semester.
Final Exam (10%)
There will be one final exam given towards the end of the semester that is worth 10% of the overall grade. You will have 1 attempt at the Final Exam, which will be open book/notes, cumulative, and online. Details on the exam will be released during the final month of class. The planned dates for the Final Exam window is given in the Course Schedule. If we need to make any changes to these dates, we will make an official announcement on Ed as early as possible.
There is no study guide given in this course. We highly recommend that as you make your way through the course, keep good notes and organize them so you can study them later on.
Notebook Quizzes (6%)
There will be three Notebooks (i.e. Lab Exercises) in this course. Each notebook will have a corresponding quiz that is worth 2% of the overall grade. It is important that you complete the notebook before attempting the quiz. For each quiz, you will have 90 minutes to complete 5 questions. You may discuss the notebook topics on Ed, but you may NOT discuss quiz questions (this is an honor code violation). The quizzes are open notes/lectures/notebook/resources, etc. The questions are multiple choice, and the wording of the questions can be a bit tricky (so pay attention).
There are no questions on the quiz from the Challenge section of the notebook. Instead, we would like you to try those on your own and discuss with peers on Ed. Do not ignore the Challenge sections – they are good practice and will help you learn the course material. We will open up a separate thread where you can collaborate on the challenge problems. We advise that you participate in these discussions. You may learn something that can help you in your future assignments/projects!
The participation part of the course includes completing the Plagiarism Quiz at the start of the semester, and Peer Feedback for each assignment and project. Participation is worth 3% of the overall grade. Although we encourage all students to participate on Ed and take part in discussions with their fellow classmates, Ed participation does not count towards your participation grade.
Final Portfolio (1%)
The goal of the Final Portfolio is to showcase all the work you have done in this class in one final course portfolio. The Final Portfolio is worth 1% of the overall grade. You will create a PDF slide presentation of your class assignments and projects. We will share the portfolio template at the start of the semester so all you will need to do is just fill in each assignment/project as you go, or you can wait until the end of the semester to do it. The portfolio will be due at the end of the semester. You may share the portfolio with your friends and family so that they can see what kept you busy this term!
III. Course Policies
A. Assignments & Projects – Submission Policies
Submission deadlines for assignments and projects will be at 12am AoE (Anywhere on Earth) on the specified day given in the Course Schedule. All assignments/projects (code/resources and report) must be submitted on Gradescope.
Assignments and projects in this course have two main components – resources and report. Resources include code, images, additional files, etc. Resources are submitted separately from your report. Your code will be scored by the Gradescope autograder upon submission. Assignments/projects may have coding requirements that need to be graded manually by the TAs, which we will confirm at the time of an assignment/project’s release. All reports will be graded manually. It is important to keep in mind that the Gradescope autograder is NOT intended to be used as your test suite. You should be testing your own code, and using Gradescope for submission & verification — NOT as a replacement for your own testing. Please refer to the Collaboration Policies below on what you can/cannot discuss with other students.
Keep in mind that for assignments/projects that require submission of images, txt files, etc., the autograder will only check that you submitted files with the correct name and an acceptable extension. The Instructors will still manually check all resources for correctness during grading and will deduct points if necessary.
Only your final submission to the autograder will be counted (even if you scored higher on an earlier submission). You will receive immediate feedback on the score of your submission, some error tracebacks originating in your code, and (potentially) suggestions for test cases to consider writing on your own. Penalties will be enforced for excessive submissions, and these penalties may change with each assignment/project. We will cover excessive submission penalties in the assignment/project’s README, so make sure you read the instructions before submitting to the autograder.
We cannot selectively change the submission policy for individual students and we will NOT accept submissions outside of Gradescope, so you should carefully test your code before submitting it. If a mistake is uncovered in the autograder, we will rectify it by whatever means is appropriate under the circumstances (e.g., allow all students to resubmit, or manually fix the scores for affected students, etc.). The exact corrective action will depend on the nature of the error and the number of students who were affected.
You can re-submit your report for an assignment/project to Gradescope as often as you like up to the deadline, but your submission will be penalized if you submit or resubmit your report at any time past the deadline.
B. Late Submissions
Assignments & Projects
Late submissions will be accepted until 48 hours after the on-time deadline with a flat 10% penalty per 24 hours or fraction thereof that the submission is late. For example, if the assignment/project is due on Tuesday, 12am AoE, any work submitted on Tuesday, 12:01am AoE – Wednesday, 12am AoE is considered 1 day late and you will lose 10 points. Any work submitted on Wednesday, 12:01am AoE – Thursday, 12am AoE is considered 2 days late and you will lose 20 points. The penalty applies to the entirety of each assignment/project, even if a portion of the assignment/project was completed on time. Submissions after the end of the late period will not be graded and will receive an automatic score of ZERO.
We will only grade your LAST submission that is submitted on GRADESCOPE. Do NOT activate previous submissions to try and “backdate” your submission if you end up submitting late – we are able to catch when students do this and we will deduct points from your assignment/project grade. We will NOT accept submissions via email, Ed, or Canvas. Make sure that you read the submission instructions for each assignment/project very carefully. It is YOUR responsibility to ensure that your work meets all requirements, and to avoid accidental re-submissions. If you realized a mistake(s) you made in your .py or .pdf files after the due date, please do not message us with an updated file or any images/resources because we will not accept it.
There are several submission problems that occur due to file errors which may result in low assignment grades. All of these must be caught and resolved before the end of the late submission period, and will be subject to the late penalties. In Gradescope, it is very easy to review your submission and see exactly what the grading instructors will see. Verify that your submissions are complete and correct before moving on.
If you miss the on-time deadline, you will still have a chance to earn some points for submitting late feedback. There will be a 5 day late window after the due date to submit your assigned feedback, with a deduction of 10 pts per late day per required feedback task. Submissions after this window closes will earn a 0. Each of the 2 required Peer Feedback tasks is worth 50 points. Here are a few examples of how grading will work:
- Example 1: Submit feedback1 1 day late, and feedback2 3 days late, student will score a 60%. Earned 40pts for feedback1 and 20pts for feedback2.
- Example 2: Submit feedback1 on-time, and feedback2 4 days late, student will score a 60%. Earned 50pts for feedback1 and 10pts for feedback2.
- Example 3: Submit feedback1 4 days late, and feedback2 4 days late, student will score a 20%. Earned 10pts for feedback1 and 10pts for feedback2.
See here for more information on Peer Feedback in this course.
Notebook Quizzes, Final Portfolio & Final Exam
We will NOT accept late submissions for the notebook quizzes, final portfolio, and final exam. If you miss the deadlines given in the Course Schedule, you will automatically receive a zero, unless you were granted an extension (see Section D: Emergency Extensions).
C. Regrade Requests
Expected turnaround time for all regrade requests is approximately two weeks. Regrades are addressed in the middle of assignment/project grading, which take priority, so please be patient with us.
Assignments & Projects
After assignment/project grades have been returned, and you have had a chance to review the grading on Gradescope, there will be a period where we will accept regrade requests for that assignment/project. If you can document how the graders have graded your assignment incorrectly, you can submit a regrade request through Gradescope only. DO NOT use Ed or email to submit regrade requests because such requests will be automatically closed.
Regrades will open at 12am AoE the day after graded assignments/projects are returned. We found that the waiting period encourages better research and clearer explanations into why you believe your work deserves a higher score. The regrade period is usually three days; the exact period will be announced when graded assignments/projects are released.
For each question that you want to submit a regrade request for, select the question, and at the bottom of the page click “Request Regrade”. You must provide a thorough explanation and specific reasons you disagree with the deduction you received for that question. “I worked very hard” or “this will hurt my grade” and other general statements are not actionable reasons, and such requests will be closed.
We understand that you may be frustrated/confused after receiving a grade and want immediate feedback, and sometimes the tone in the request can come across as rude. Please be respectful to the TAs when requesting a regrade. Innocent mistakes can happen during grading, and we are happy to review and make corrections to your grade if necessary.
After you submit a regrade request for each question, Gradescope sends a confirmation email to the email address that you listed in your account.
If you do not want a regrade on your assignment/project, but you want further feedback, you may send a private message to the Instructors on Ed.
IMPORTANT NOTES – READ EVERYTHING BELOW BEFORE SUBMITTING A REGRADE REQUEST:
1) There is no guarantee that your grade will remain the same or change for the better if you submit a regrade request for an assignment or project. It is very possible that your grade may be reduced, depending what is found during the regrade process. For regrades, a TA will review your assignment/project and it is very possible that things are caught that were not initially caught during the original grading process, which may result in a lower score. This may include catching mistakes in other questions that were not asked by the student to be regraded. For example, for the Pyramid Blending assignment, if a student wants one of the Discussion questions (Question 3) to be regraded, but during regrading, the TA realizes that the student did not use original input images (Question 1), points will be deducted from Question 1 that were not originally deducted.
Important Note: We will NOT keep the higher of the two grades – the grade you receive from the regrade will be your final grade for that assignment/project. Please keep all of this in mind before you submit a regrade request.
2) We do NOT accept regrade requests with the reason being that you re-submitted an old assignment/project and you did not receive the same grade as you did in a previous semester. Submitting old assignments/projects does not guarantee you the same grade as the one you initially received in a previous semester. All assignments/projects are reviewed each semester, and changes are made in questions asked, and grading rubrics are updated. If old assignments/projects are submitted, they will be graded as new assignments/projects using the rubric currently in effect. Repeating students should examine the assignments/projects closely to make sure they have fulfilled current requirements.
3) We will not accept regrade requests for the following issues:
- Images in PDFs not loading properly or getting cut off the slide/page
- Blank Python files or report templates being submitted instead of the completed one
- Submitting the wrong assignment
- Broken links
- Missing files
- Accidental re-submission during the late period
Once Peer Feedback grades are returned for an assignment/project, we will allow a 3 day regrade window to submit a regrade request on Ed, NOT Gradescope. To submit a regrade request for Peer Feedback on Ed, create a private post to Instructors only and title it “A#/P# PF Regrade Request”. When creating the post, use the ‘Peer Feedback’ category, and pick the ‘Regrade Request’ subcategory for whichever assignment/project you want to request a regrade for.
If you lose points for Peer Feedback, it is either because you submitted one or both of the two required Peer Feedback tasks late, or you submitted poor quality feedback. Students usually wonder why they lose points for peer feedback even though they submitted the required 2 tasks on-time. Keep in mind that QUALITY of the feedback matters. See here for more information on quality of Peer Feedback.
D. Emergency Extensions
We do not grant deadline extensions in this course, except in rare cases. In general, WE ONLY GRANT EXTENSIONS FOR VERIFIABLE MEDICAL AND EMERGENCY CIRCUMSTANCES; WE DO NOT GRANT EXTENSIONS FOR WORK OR NON-EMERGENCIES.
You must notify us as early as possible in order to be considered for an extension. Do NOT message us weeks after the assignment/project is due or after your grade is returned to give an excuse. In order to request an extension, send a private note to the teaching staff on Ed (use the ‘Other’ category, and ‘Emergency Extension Request’ as the subcategory ). Depending on your situation, you will either be asked to provide your substantiating documentation (e.g. verifiable doctor’s note), or we might direct you to the Office of the Dean of Students, who help assist students with medical and personal emergencies.
If you have received accommodation from the Office of Disability Services, please contact your Head TA immediately (see Section E below).
If, for whatever reason, you are unable to be active in the course for a long period of time, please message the Instructors on Ed so they are aware of your situation. For cases like these, we will ask you to contact the Office of the Dean of Students.
E. DISABILITY SERVICES
If you have a disability that requires accommodations, please contact the Office of Disability Services immediately since the process could take some time. To receive accommodations, ask Disability Services to forward Dr. Essa and the Head TA a letter specifying the accommodations you should receive. To make sure that accommodations are implemented right away, please email or send a private message to the Instructors on Ed. We will be happy to work with you.
F. Official Course Communication
ED will serve as the PRIMARY source of communication in this course. All official announcements from the Instructors will be made on Ed ONLY. Communication with the Professor and/or TA team should be exclusively through Ed.
We understand Slack/Microsoft Teams are popular forums that students like to use to communicate with each other. Slack/Teams are NOT official forums for this course. If you need any TA guidance on any of the assignments or projects in this course, ask your questions on Ed. The Professor and the TA team will NOT respond on Slack or any other forums.
Please DO NOT email (GT email or Canvas email) the Professor or TAs any course questions that can be answered on Ed (e.g. questions about assignment/project, logistics questions). Only use GT email if there is an emergency issue that needs immediate, private attention. DO NOT use Canvas email because it is rare that the teaching staff checks their Canvas inbox. The TAs will do their best to monitor Ed daily and respond to questions in a timely manner. Do not expect TAs to respond instantly. Our TAs are also students, have jobs, families, etc., so we cannot check Ed 24/7. Our goal is to read and respond to student questions within 24 hours. Other students may answer your question as well, so feel free to help each other out (just make sure you do not give away answers or code solutions – we monitor for that as well).
Please make your question(s) public so all students can benefit from the discussions. Sometimes, TAs will ask you to make a question public because we know others will ask the same thing. In classes with hundreds of students, we need to be efficient in our time and answers. You can help everyone by asking assignment/project questions in public. You have the option to post anonymously to the class, but your identities will be known by the Instructors. Remember to use the appropriate category/subcategory for the assignment/project so it’s easier to filter out questions. If you need to share your code or feel like you will give away an answer to an assignment/project question, please make your post PRIVATE to the Instructors only. Do NOT share your code, test cases, or solutions to graded questions in the public forum. Our team will be monitoring Ed and will remove posts that should not be shared publicly.
Please remember that Ed is our official classroom. Both the teaching staff and students are all required to maintain high standards of interaction. TAs will be monitoring Ed and will make a post private and/or remove comments that are not seen as appropriate for the public forum. Ed is for course related discussion and is NOT a forum to publicly raise issues about the class. If you have any issues that you want to share, please raise them PRIVATELY on Ed with the Instructors. All Instructors are required to maintain the privacy of all students.
G. Office Hours
This course does not have any scheduled time for office hours. Please ask all of your questions on Ed. If the professor or TAs decide to hold an office hour, an announcement will be made on Ed.
While we encourage healthy discussions and shared learning among students, we require the following at all times throughout the term:
You may NOT copy code from any sources (students, online sources, AI agents, books, etc). All code must be your own. Even if you cited the source(s), you will still be reported to OSI for copying code.
- If anyone helps you on an assignment/project (student or non-student), you are required to acknowledge any help you may have received in completing the work, even for a small task (e.g. holding a light, taking a picture), or suggesting a possible high-level path to a solution. Be explicit and provide details in your report.
- Your reports for all assignments/projects in this course must be written by YOU. Do NOT copy report answers from the works of previous students or re-submit another student’s report. Any source(s) that you use to help write your report MUST be cited.
- Do NOT share test cases for assignments/projects. It is up to you to figure out the assignment/project coding requirements and how you should go about testing them.
- Public repositories must NEVER be used for class assignment and testing materials. Ensure that your repositories are marked as Private at all times, including after graduation. Academic integrity issues have arisen from students saving their work to repositories that were set to public and in these cases, both the author and the users of the work may be held responsible. We will consider the use of or posting to any source code repository to be an academic integrity violation. You should expect to receive no credit for any of your assignments and/or projects found on the internet and you will be reported to OSI.
- Posting your work to the internet or behind a paywall program is considered to be an academic integrity violation (e.g. blogs, Reddit, StackOverflow, Chegg, Slack, Teams, and many others). Both the author and the users of the work may be held responsible. You should expect to receive no credit for any of your class assignments and/or projects found in these locations and you will be reported to OSI.
- If the teaching staff creates specific threads where you are explicitly allowed to share snippets of your code on Ed, then you may post certain types of code. These threads would be created by the teaching staff AFTER the assignment/project is closed and only when the Instructors announce that it is okay to start discussing. We will create these threads after we make sure that everyone has submitted their work.
- You may not generate images using third-party software (e.g., Photoshop) and pass these results off as your own. Doing so is considered an honor code violation of false claim of performance or work. You must explicitly credit all third-party software you use to generate or modify your images in the report for each assignment/project.
- You may NOT collaborate at all on the Final Exam. Students are not to discuss any questions or answers from the actual exam with classmates or anyone else until after the testing period is complete.
We use automated plagiarism detection software that analyzes and cross-verifies every submission with others from present and previous offerings of this course as well as other external sources. We will be using this and seeking clarification from those identified by this system. Students who are suspected of plagiarism will be reported to Georgia Tech’s Office of Student Integrity.
Assignments where academic misconduct occurs will be receive a score of zero, and the incident is required to be reported to OSI. If there is an alleged academic integrity violation pending, the student may not drop the course. (https://registrar.gatech.edu/registration/withdrawal-and-dropping-courses)
I. Academic Honesty
This is a reminder about academic integrity and your duty as students to uphold the honor code. (See: http://osi.gatech.edu/content/honor-code) Plagiarism is unethical, violates the Georgia Tech code of academic conduct, and hurts students who do their work fairly and professionally.
The definition of “plagiarism” is given in the official OSI policy on academic integrity. In this course, the definition includes copying code or text from anyone else or from a previously existing source. This includes, but not limited to: Wikipedia, published research papers, current and previous classmates’ assignments and projects, code found through a public source such as GitHub, blogs, and other public or paid sites. Your own previous work in this course may be reused, but you must clearly indicate the source and which parts are being reused. If you want to reuse your work from another course, you must contact the TAs on Ed to get permission.
Please note that Academic Integrity is taken very seriously here at Georgia Tech. Failure to uphold the honor code has severe consequences, including but not limited to receiving a “fail” grade on the assignment/project and severe disciplinary action from the Office of Student Integrity. We will continue to watch for instances unworthy of any student and hope that students follow both class and institute policy.
J. Recordings of class sessions and required permissions
Classes may not be recorded by students without the express consent of the instructor unless it is pursuant to an accommodation granted by the Office of Disability services. Class recordings, lectures, presentations, and other materials posted on Canvas and Ed are for the sole purpose of educating the students currently enrolled in the course.
Students may not record or share the materials or recordings, including screen capturing or automated bots, unless the Professor gives permission.
- For classes where participation is voluntary, students who participate with their camera engaged or utilize a profile image are agreeing to have their video or image recorded.
- For classes requiring class participation, if students are identifiable by their names, facial images, voices, and/ or comments, written consent must be obtained before sharing the recording with persons outside of currently enrolled students in the class.
K. Concerns with the Class
Throughout the semester, some of you may have concerns or issues with this class. They may be minor issues such as feeling that some requirements were unclear, or that you have an objection to using a program or library that we require (or you prefer a specific version of some software you like), or even that you do not like the fonts we use. Or they may be more serious, such as a disagreement with the Instructors (Professor and the Teaching staff) on some issue or grade. In any case, we ask that you follow the guidelines here for reporting & addressing your concerns – If you disagree with a specific grade, please submit a regrade request (see Section C above). We will look at your work again from scratch and review it on its own merit (be warned, sometimes a complete re-grade has resulted in a lower score, as graders may find issues that were previously missed). The bottom-line goal of our grading system is to be fair and consistent. This is a large class, and we will treat everyone fairly.
We do request (well, more like require) that you NOT use Ed to lodge major complaints in a public post. Instead, please send criticisms and suggestions via a private post to the Instructors. We prefer if Ed is left to discussing course content and for learning.
If after contacting the teaching staff and you do not feel your issue has been resolved, you may escalate the issue by emailing firstname.lastname@example.org and asking that your ticket be assigned to Jay Summet.