saad »

Software Architecture and Design

CS 6310 Frequently Asked Questions


Course Logistics

  1. Can I enter the course from the Udacity website?
    • No, you must come in from the College of Computing site
  2. What is AOE?
    • AOE stands for Anywhere on Earth. The course uses it to remove ambiguity concerning due dates. For example, if you are in Atlanta during the summer, then your clock is eight hours ahead of the AOE time. More information is available in this Wikipedia article.
  3. Should I take this course if I haven’t taken CS6300?
    • CS6300 is not a formal prerequisite for CS6310. The actual prerequisite is that you have taken some software engineering course (not a programming course or an introduction to computer science course, but an actual software engineering course). Alternatively, if you have substantial (one year or more) profession software development experience, then you should be okay.
  4. Where can I download the videos if I can’t stream them?
    • According to Udacity Orientation video: On the Udacity course video page (Classroom tab) you will find a section called 'Downloadables'. You can download the video and transcript from that section. You can find links to download the video and transcripts in the "Materials" tab on the Udacity course page as well.
  5. How do I request an overload for the course?
    • Send your request to the Manager of Academic Programs, Becky Wilson (
  6. How is Closed Captioning of lesson content handled?
    • Udacity uses a third-party vendor to provide Closed Captioning rather than that provided by YouTube. If you are using YouTube and you have the Flash Player installed, you can drag the captions for better readability of background information.
  7. How are teams constructed for the projects?
    • The first two projects are individual.  For the final project, an effort is made to balance teams as far as the amount of experience with Java programming, so that every team has at least one person that has significant experience with Java. Where possible, time zones and preferred working hours will be taken into account. Requests for specific partners are not guaranteed.
  8. How can I arrange an extension of the due-date for a project or assignment when I have a pre-existing scheduling conflict?
    • In a class of this size there can be no extensions on due dates for deliverables and no accommodations for personal scheduling conflicts (business trips, personal holidays, etc.). Instead, due dates are planned far enough in advance, that you should have sufficient time to work around your scheduling conflicts. For team-based delivery, it is essential that you let your teammates know as early as possible about any availability problems. For unanticipated problems, such as illness, you should consult the Georgia Tech policy on Incompletes.
  9. What is the policy for late submissions?
    • We don’t accept late submissions. Most of the deadlines for assignments and deliverables are on Friday at 11:59PM AOE. (We recommend that you go to T-Square => Preferences (left menu) => Time Zone (on top) and select your local time zone, so that you can see all deadlines in your own time zone.) Please avoid asking us to have deadlines on Saturday or Sunday. The motivation for this request is typically that the weekend is the best time to work on assignments and meet about projects. However, since assignments are released on Friday, when not earlier, and are due the following Friday, you will always have at least a weekend to complete an assignment. The only difference between having a deadline on Friday and having it on Sunday is that the weekend will be at the beginning of the assignment period, rather than at the end. This has, in my opinion and in my experience, several advantages: (a) It helps preventing procrastination, as students tend to start working on the assignment as soon as it is released, rather than waiting until the end; (b) It fosters discussions on Piazza (for the same reason), which results in students having more chances to get feedback, answers, and additional information on the assignments; and, (c) With the due date being during a working day, last-minute questions are answered more quickly than when asked during a weekend, as both the TAs and I typically have more online presence during the week.
  10. Why are there strict limits on the number of pages for documents?
    • There are two primary reasons: one practical and one educational. Practically speaking, one important requirement on the course staff is to give timely feedback on student deliverables. Combined with a limited staff, this means that deliverables must be restricted in length. Educationally, an important skill for students to learn is to be able to express themselves concisely at an appropriate level of abstraction; that is, to be able to "write a shorter letter".
  11. What is the instructor's grading philosophy?
    • Grades for Masters students are different from grades for undergraduates at Georgia Tech. For graduate students, a grade of less than B indicates unsatisfactory performance.
    • I: Be aware that Georgia Tech also allows for a grade of "I", standing for "Incomplete". In extraordinary, documented circumstances, such as illness, a death in the family, etc., a student is given an "I" and extra time to complete the work. Normally, job responsibilities do not count as extraordinary circumstances.
    • The above is intended as a reflection on the graduate-level software engineering courses that I have taught in the past and not a promise.
  12. Why is so much of the work in the class team based?
    • There are two reasons. First, one goal of the class is to prepare you to work in commercial software development. Teamwork is an essential part of such projects. Also, the large number of students in the class prevents individual assessments. Ideally, high quality automated assessment might address this issue; but such automation is currently well beyond the state of the art for many of the deliverables this course uses.


  1. What development environment should I use for this course? Is it necessary that I use the Ubuntu VM?
    • You may use whatever environment you like. However, your Java programs should run in the VM, because that is where they will be tested.
  2. Would it be possible to get a virtual machine image that works with VMware?
    • Right now, the only supported VM is VirtualBox.
  3. What is the password for the Virtual Machine?
    • ubuntu

Course Content

  1. What is a percept? Is it a thing being perceived or some attribute of it, like its color or weight?
    • Both—the Cognitive Science literature is philosophically divided on this question. For our modeling purposes, we are interested in the information provided by the percept, that is, the allowable values for its properties/attributes