Skip to content
douglascraigschmidt edited this page Jan 9, 2017 · 7 revisions
  1. What are the course objectives?
      <P>Upon completing this course, students should be able to:
        <ul>
          <li><p>Recognize the inherent and accidental
           complexities involved with developing concurrent software that
            communicates securely between processes and
            threads.</p></li>
          <li><p>Understand how pattern-oriented software
            architecture and framework techniques can and cannot help to
            alleviate these complexities.</p></li>
          <li><p>Be fluent in the use of Java 8 object-oriented and functional programming mechanisms, particularly as they pertain to concurrent programs.</p></li>
          <li><p>Apply patterns and
            frameworks to develop reusable and resilient concurrent
            applications and services using the Java object-oriented
            programming language and Android middleware.</p></li>
          <li><p>Know
            where to find additional sources of information on how to
            program mobile applications and services on Android handheld
            systems.</p></li>
        </ul></P>
    </li>
    
    <li><b>What are your assumptions about--and expectations
        for--students taking CS 282?</b>
    
      <p> This
        material is intended for self-motivated students who
        <ul>
        <li> Know Java, Android Studio, and Git (or can learn them quickly on
        their own) 
        <li> Want to understand both the concepts and
        practice of developing mobile software applications and services
        <li> Are curious about how the Java and Android software stacks are designed and implemented
        <li> Are willing/able to carefully read/follow the instructions in the course assignments and 
        announcements. 
        </ul><p>
           </li>
    
  2. Can students take this course if they have little/no prior experience programming Java in Eclipse?
      <p>Our course assumes that students are comfortable programming
        in Java and Android. If you don't have any Java or Android programming experience you
        should watch the "Background Material" available at the course website. 
      </p>
    </li>
    
  3. What happens if we don't submit our code for instructor review by the deadline?
      <p>Not having your code available for instructor review adds extra work for the course staff. Therefore, if you don't submit your code by the deadline you will receive 0 for the assignment.
      </p>
    </li>
    
  4. How does the graduate material differ from the undergraduate material?
      <p>Students taking this course for graduate credit have additional work on each assignment, quiz, and final exam.  This additional work will be clearly indicated.
      </p>
    </li>
    
  5. Who is eligible to enroll in this class and access the material?
      <p>Anyone is welcome to view the <A HREF="https://github.com/douglascraigschmidt/CS282/tree/master/assignments">programming assignments</a>.  However, only Vanderbilt students can enroll in this class and access the other material at the course website.  Much of this material is available in my <A HREF="http://www.dre.vanderbilt.edu/~schmidt/LiveLessons">LiveLessons</a> tutorial videos.
      </p>
    </li>
    
  6. When will the screencasts of the class lectures be available?
      <p>The screencasts will typically be posted by the morning after the class lecture is given.  There are typically two lectures a week (Monday and Wednesday), but the lectures aren't always published as screencasts, depending on what is covered that day.  In particular, the answers to quizzes and programming assignments aren't posted as screencasts.
      </p>
    </li>
    
  7. What information (if any) is needed at the top of the programming assignment submissions?
      <p> It is not necessary to include comments at the top of your source code files with your name, email, honor code statement, assignment name, date, etc. since
    
    • We're using GitLab, so the course staff know whose code we're reviewing
    • We want to enable "anonymous" peer reviewing, so don't put information indicating authorship in your programs
    • The Vanderbilt Honor Code applies to everything we do in CS 282, as per discussions in the first class.
  8. How should student GitLab accounts be created and structured?
      <p>Each student should create a single GitLab account and submit the ID to the Google Survey sent via email.  The GitLab repository should be structured like the assignment folder <A HREF="https://github.com/douglascraigschmidt/CS282/tree/master/assignments/">here</a>, i.e., there should be a separate directory for each assignment.  Failure to follow this structure will prevent the course staff from grading programming assignment submissions.
      </p>
    </li>
    
  9. What is the process for initial submissions and resubmissions of programming assignments?
      <p>Please see the instructions <A HREF="http://www.dre.vanderbilt.edu/~schmidt/cs282/assignments.html">here</a>.
      </p>
    </li>
    
  10. Where is the source code described in this course?
     <P>We've created a GitHub repository for the CS 282 assignments and examples, which you can access <A HREF="https://github.com/douglascraigschmidt/CS282">here</a>. You can either install/use GitHub to access each folder in the repository (recommended) or you can download it in a single zip file (not recommended). You can browse all the Java 8 source code <A HREF="http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8-b132/java">here</a> and you
    

    can browse all the Android source code online here.

  11. How can we enroll for free sessions of the Android App Development MOOC Specialization?
     <P>If you go to
    

    https://www.coursera.org/learn/java-for-android
    https://www.coursera.org/learn/androidapps
    https://www.coursera.org/learn/androidapps-2

    individually you can enroll in them without being asked to pay and simply "audit" the courses. In contrast, if you go to

    https://www.coursera.org/specializations/android-app-development

    it will ask you to pay and receive a verified certificate for the courses.

Clone this wiki locally