Skip to content

Frequently Asked Questions

juleswhite edited this page Sep 12, 2014 · 4 revisions
    <LI> <B> What are the course objectives?</b>
    
      <P>Upon completing this course, students should be able to:
        <ul>
          <li><p>Understand the HTTP protocols and understand how to build applications that leverage it.</p></li>
          <li><p>Build cloud applications that allow mobile clients to interact with them via HTTP.</p></li>
          <li><p>Demonstrate basic knowledge of the security issues surrounding cloud applications and key considerations to build more secure cloud applications.</p></li>
          <li><p>Create mobile applications that interact with cloud applications through HTTP.</p></li>
        </ul></P>
    </li>
    
    <li><b>How does this MOOC compare/contrast with courses at
        Vanderbilt?</b>
    
         <p>The material in this MOOC is based on senior-level
        undergraduate courses we teach at Vanderbilt, such as the
        CS
        278</a> course, which focuses on teaching software engineering
        through mobile cloud computing. Students in
        this course are expected to be (1) familiar with Java, Eclipse, and source code control systems, 
        and (2) capable of learning new material without significant
        hand-holding by the teachers and course staff.  The quizzes, programming assignments, and degree
        of feedback for the Vanderbilt courses are different, however,
        since the courses at Vanderbilt only have several dozen students (instead of ~50,000 students), so
        the assignments are much more challenging and there's significantly more personalized guidance and in-depth assessments from the
        teachers and course staff that can't be replicated in a MOOC (yet).</p>
    </li>
    
    <li><b>What are your assumptions about--and expectations
        for--students taking this MOOC?</b>
    
      <p>As mentioned in FAQ item #2 above, this MOOC is based on material we teach to
        senior-level undergraduate students at Vanderbilt. This
        material is intended for self-motivated students who
        <ul>
        <li> Know Java, Eclipse, and Git (or can learn them quickly on
        their own) 
        <li> Want to understand both the concepts and
        practice of developing cloud applications with Java
        <li> Are willing/able to carefully read/follow the instructions in the course assignments and 
        announcements. 
        </ul><p>
       Students who are just interested in vocational training (e.g., having an instructor walk through application code projects step-by-step and line-by-line in the development environment) may not find this MOOC suitable for their needs since our goal is to help students learn techniques and methods for finding solutions, not simply spoon-feeding the solutions . Moreover, this MOOC covers certain topics associated with engineering quality software development that may not be of interest to students who just want training on the Java APIs.
        Likewise, students who don't have time/interest in following the instructions/announcements carefully are welcome to take this MOOC, but they will need to adjust their expectations since the course is not designed for them.<p>
    </li>
    
    <li> <b>What is the most effective way to learn material covered
      in the course and to successfully complete the programming
      assignments?</b>
    
      <p>We recommend watching the videos multiple times, looking for
        different levels of meaning in the diagrams and the
        examples. It's particularly important to carefully watch all the
        videos referenced in the programming assignment descriptions
        since they provide many relevant tips and insights. Likewise, we
        recommend reading the material pointed to by links in the
        slides, as well as material from the (optional) recommended
        reading. Naturally, participating in the online discussion forum
        (and ideally, a meetup group if one is available in your area)
        will help make the course material more engaging and
        personalized. Additional discussions of the programming
        assignment goals, requirements, and (ultimately) their solutions
        will be covered in "Virtual Office Hours" (see the FAQ entry on
        this topic below).</p>
    </li>
    
    <li> <b>Can students take this course if they have little/no prior
      experience programming Android and/or Java in Eclipse?</b>
    
      <p>Our course assumes that students are comfortable programming
        in Java and have some experience using 
        Eclipse. If you don't have any Java programming background you
        might consider taking the course <a
        href="https://www.udemy.com/java-tutorial/">Java for Complete
        Beginners</a>. Likewise, you might also benefit from the <a
        href="https://www.coursera.org/course/androidapps101">Creative,
        Serious and Playful Science of Android Apps</a> MOOC, which is
        a novice-friendly introduction to computer science and
        programming Android-apps for smart-phones and tablets. No
        prior programming knowledge is necessary for that MOOC. We
        also recommend that you take Professor Adam Porter's MOOC <a
        href="https://www.coursera.org/course/android">Programming
        Mobile Applications for Android Handheld Systems</a> since his
        course provides important coverage of Android app programming
        that will be useful in our course. We encourage you to apply
        the <a
        href="http://kircher-schwanninger.de/michael/publications/LazyAcquisition.pdf">Lazy
        Acquisition</a> pattern in these MOOCs, i.e., watch the
        videos, keep track of what you know understand, and then use
        the resources available to you (e.g., via the web and the
        discussion forums) to fill in the gaps in your knowledge. One
        of the best things about MOOCs is that you can go through this
        material at your own pace, and there's really no penalty for
        retaking a MOOC if you struggle with it the first time
        through!
      </p>
    </li>
    
    <li> <b>What is the course staff policy for monitoring and
      answering discussion forum threads and questions?</b>
    
      <p>The course staff will endeavor to reply to thoughtful
        technical questions or constructive suggestions for improving
        the course. Often, the responses will point to other resources
        (such as this FAQ or to video lectures) so that students can
        learn the details of the solutions on their own, which is more
        effective pedagogically. Questions posted anonymously will 
        receive less attention since we want to get to know the
        students in the MOOC so the learning environment will be more
        like a face-to-face course. Due to extremely limited course
        staffing resources, questions about installing or using
        Eclipse, GitHub, the Android emulator, debugger, etc. will need to be
        addressed by the community of other students taking this
        MOOC. Step-by-step instructions on how to setup a
        development environment using Eclipse, Java, Gradle, and GitHub are
        available <a
        href="https://class.coursera.org/mobilecloud-001/wiki/Installing_Eclipse%2C_Git%2C_and_Gradle">here</a>.
      </p>
    </li>
    
    <li> <b>How many and what types of programming assignments will
      there be in this MOOC?</b>
    
      <P>We'll have 2
        programming assignments in this MOOC. The 
        assignments will give students experience building web applications using Java
        that can communicate with mobile devices. The assignments will emphasize the
        use of data formats, such as JSON, server-side frameworks, such as Spring Boot,
        and mobile HTTP client frameworks, such as Square's Retrofit. Later assignments
        will require building secure software that supports multiple user accounts.
      </p>
    </li>
    
    <li> <b>How can students understand and learn the material in the
        videos most effectively?</b>
    
      <P>There is no one rate of speaking that's appropriate for all
        students. For students whose native language is not
        English--or for any students who find the rate at which the
        material is presented in the videos too fast to comprehend--we
        recommend that you decrease the rate at which you play the
        videos to 0.8x or slower (naturally, for material that you're
        already familiar with, you might want to increase the rate at
        which the video plays!). If you need instructions on how to
        change the rate of playback speed for YouTube videos please do
        a google search for information about the browser that you're
        using. Once the MobileCloud MOOC starts you'll also be
        able to download the videos and use the media player on your
        computer to obtain fine-grained control over the playback
        speed. The Coursera platform also provides English subtitles
        for all the videos based on the scripts we used to record them
        originally. In addition, downloading the code samples that are designed to accompany the lectures and reviewing them prior to watching the videos may aid
        with comprehension. Finally, students might also consider
        watching the videos multiple times, focusing on different
        aspects of the material each time (e.g., listening to the
        voice track, looking at the code and diagrams,
        etc.). 
      </p>
    </li>
    
    <li><b>Will there be a Statement of Accomplishment for students
        who complete this class?</b>
    
      <p>Yes. Students who successfully complete the quizzes and
        assignments in this class <u>prior to the completion of the
        MOOC</u> will receive a Statement of Accomplishment signed by
        the instructor.  There will be two levels of Statements of
        Accomplishment: Normal Track and Distinction Track. The
        difference between the work performed in each of these tracks
        is covered at the Coursera website <a
        href="https://class.coursera.org/mobilecloud-001/wiki/Statements_of_Accomplishment">here</a>. You
        needn't be in the Signature Track to get a Statement of
        Accomplishment with Distinction, though you do need to be in
        the Signature Track if you want to be eligible to take the
        Capstone project course, as described in the next FAQ entry
        below.
      </p>
    </li> 
    
    <li> <b>Who is eligible to take the Capstone project course?</b>
    
      <p>Like all Coursera Specializations, the Capstone project
        course is only available to students who take the Signature
        Track for the preceding three MOOCs in the
        Specialization. Moreover, for this first offering of the
        Mobile Cloud Computing with Android (MoCCA) Specialization
        only students in the Signature Track who receive a "Verified
        Certificate with Distinction" in all preceding MOOCs are
        eligible to enroll in the Capstone project course. We may
        remove this restriction in future offerings of the MoCCA
        Specialization, after we have a better understanding of what's
        required to successfully complete the Capstone project
        course. Even if you didn't attain a Verified Certificate with
        Distinction in Professor Porter's 1st MOOC in the
        Specialization, you are still welcome to attempt a Verified
        Certificate with Distinction in the 2nd and 3rd MOOCs in the
        Specialization. If you succeed in attaining the Verified
        Certificates with Distinction in these two MOOC all you'll need
        to do is take Professor Porter's 1st MOOC when it's offered
        next, at which point you'll be eligible to take the next
        offering of the Capstone project course (i.e., not the one
        that's starts in October 2014, but the next one after that)
        once you'll successfully attain a Verified Certificate with
        Distinction in all three MOOCs.
      </p>
    </li> 
    
    <li> <b>What is a "trans-institutional MOOC Specialization"?</b>
    
      <p>This MOOC and two other MOOCs (<a
        href="https://www.coursera.org/course/android" title="Link:
        https://www.coursera.org/course/android">Programming Mobile
        Applications for Android Handheld Systems</a> taught by <a
        href="http://www.cs.umd.edu/~aporter">Professor Adam
        Porter</a> from the University of Maryland and <a
        href="http://www.coursera.org/course/posa" title="Link:
        http://www.coursera.org/course/posa">Programming Mobile
        Services for Android Handheld Systems</a> taught by Douglas C.
        Schmdit from Vanderbilt University) have been designed to
        complement each other as part of the Coursera Specialization
        on <a
        href="https://www.coursera.org/specialization/mobilecloudcomputing/2"
        title="Link:
        https://www.coursera.org/specialization/mobilecloudcomputing/2">Mobile
        Cloud Computing with Android</a>. In particular, the
        programming assignments and the course project for all the
        courses will be coordinated. Additional information on our
        trans-institutional MOOC Specialization is available <a
        href="http://www.youtube.com/watch?v=JSkvChTSanM" title="Link:
        http://www.youtube.com/watch?v=JSkvChTSanM">here</a>.
      </p>
    </li>
    
    <li> <b>Is it necessary to take Prof. Adam Porter's or Doug Schmidt's MOOCs prior to
        the MobileCloud MOOC or can students take the MobileCloud MOOC without
        taking his course?</b>
    
      <p> It's not required to have taken the other MOOCs. If you
        just want to take some of the courses in this sequence--or
        take them all in different order--you're certainly welcome to
        do so, and you'll still learn a lot. You do need to be
        familiar with core Java topics or you'll be lost (see FAQ item #5 about for
        suggestions on what you'll need to know and how to learn
        it). Naturally, if you take all
        the courses in this sequence in the order presented you'll
        gain a deeper, end-to-end understanding of handheld systems,
        their applications and services, as well as their integration
        into the cloud.
      </p>
    </li>
    
    <li> <b>When will the course material be made available each
        week?</b>
    
      <p>All the course material (e.g., video lectures, quizzes,
        programming assignments, etc.), for each week will be made
        available at least three days early (i.e., by Fridays) by 9am eastern
        time (2pm UTC/GMT) so that students can watch and read the
        material over the weekend prior to the beginning of the next
        week. 
      </P>
    </li> 
    
    <li>
      <b>Is there a required textbook?</b>
    
      <p>There is no required textbook, per se. There's lots of
        information available in the videos and the URLs
        in the course wiki pages that will help you learn the material
        we cover in this class. 
      </p>
    </li> 
    
    <li><b>Where can students learn about how to configure their
        Android and Java environment to run the examples and complete
        the programming assignments?</b>
    
      <P>The MobileCloud MOOC will use an Eclipse-based
        development environment with Gradle. Detailed step-by-step
        setup instructions and screencasts are available <a href="https://class.coursera.org/mobilecloud-001/wiki/Installing_Eclipse%2C_Git%2C_and_Gradle">here</a>.
        If you're using a non-Eclipse development environment (such as
        <a
        href="http://www.jetbrains.com/idea/features/android.html">Intellij
        IDEA</a>, a different version of one of the tools other than the official one,
        or want to use a different build tool (such as <a
        href="https://code.google.com/p/maven-android-plugin/">Maven</a>)
        you'll need to enlist the help of other students on the online
        discussion forum and/or the MobileCloud MOOC <a
        href="https://share.coursera.org/wiki/index.php/Posa-002:Main">Wiki</a>. We expect
        all of the code examples and assignments to work with other tools, but we have
        not tested them with them and thus they are not officially supported in the course.
    </p>
    </li>
    
    <li><b>Which web browsers are recommended</b>
    
      <p>Coursera recommends using the Chrome and Firefox
        browsers. There's also a <a
        href="http://help.coursera.org/customer/portal/articles/1364448-mobile-faq">mobile
        app</a> for Coursera MOOC, as well.
      </p>
    </li> 
    
    <li><b>Can students use programming language [X] or framework [y] for the
        course?</b>
    
      <p>The programming assignments and autograding infrastructure are 
        designed for the Java programming language.   
        If you stray from Java you'll have more work to
        do to map what we're covering in the videos and projects to
        the languages you want to use. 
      </p>
    </li> 
    
    <li> <b>Where can students download the slides and source code
        that are presented in the videos and the skeletons that are
        provided for the programming assignments?</b>
    
      <p>Since I use a lightboard, there are no slides for the course. All the
        source code examples and skeletons for the programming
        assignments will be available in this <a
        href="https://github.com/juleswhite/mobilecloud-14">GitHub
        repository</a> once the Coursera MobileCloud MOOC 
        starts. A "cheat sheet" for using Git is available <A HREF="https://training.github.com/kit/downloads/github-git-cheat-sheet.pdf
    

    ">here and step-by-step instructions for using GitHub are available here and a video explaining the basics of Git and GitHub is available here.

    <li><b>What is the schedule for the course?</b>
    
      <p>This MOOC, like all Coursera MOOCs, uses pre-recorded videos
        for all the lecture material. As a result, there's no set time
        when the class occurs, e.g., you can watch the videos at a
        time and a pace that is most convenient for you. There will be
        periodic programming assignments that will have a deadline,
        which will be clearly marked on the <a
        href="https://class.coursera.org/mobilecloud-001">MobileCloud MOOC
        website</a> in the <a
        href="https://class.coursera.org/mobilecloud-001/api/course/calendar"
        title="Link:
        https://class.coursera.org/mobilecloud-001/api/course/calendar">course
        calendar</a> by clicking on the calendar icon next to the
        "Upcoming Deadlines" label. This calendar is automatically
        updated as the material is released. For the required material, there will be
        weekly quizzes, released by the beginning of each week, though
        their due dates will all be the last day of class so you can
        take them as time permits (naturally, there won't be any "late
        dates" for quizzes since they are due the last day of
        class). Finally, we'll have periodic "virtual office hours,"
        where I'll answer questions from students and lead impromptu
        discussions with students live via Google Hangout and
        YouTube. All these virtual office hours will also be recorded
        and uploaded to the Coursera website so you can watch them at
        your convenience. 
      </p>
    </li> 
    
    <li> <b>What are the plans for
        offering the MoCCA Specialization again in the future?</b>
    
      <P>We are planning to re-offer the MoCCA Specialization starting
        with Prof. Porter's MOOC on <a
        href="https://www.coursera.org/course/android">Programming
        Mobile Applications for Android Handheld Systems</a> towards the end of September
        of 2014.  For those
        students who haven't yet achieved a Verified Certificate with
        Distinction in Prof. Porter's MOOC, this will be your next
        chance to become eligible for the next Capstone project course. The other MOOCs in the Specialization will most likely be offered again in the Spring of 2015, though we may split them up into smaller MOOCs focusing on targeted topics related to (1) Java Concurrency, (2) Android Concurrency and Communication, (3) Android and Cloud Security, and (4) Cloud Computing.  As soon as these plans are finalized we'll post
        an announcement with the start dates and detailed schedule.
      </p>
    </li> 
    
    <li> <b>How long will the course material be available online
        after the MOOC ends?</b> 
    
      <P>We plan to keep the videos, presentations, discussion forum
        postings and responses, etc. available indefinitely.  Future offerings of the MOOC will use different locations for the videos and source code, so the existing material should still be available at the existing locations.
    </p>
    </li> 
    
    <li><b>Will there be much flexibility in the schedule of deadlines
        for programming assignments in the MobileCloud MOOC?</b>
    
      <p>All assignments are autograded and can be turned in any time before the end of the course.
      </p>
    </li> 
    
    <li><b>How closely aligned will the
        programming assignments be between MOOCs in the MoCCA
        Specialization?</b>
    
      <p>A project in each MOOC in the
        MoCCA Specialization will involve adding capabilities to the
        iRemember app. The instructors for all the MOOCs are working
        together to ensure the iRemember project is properly aligned,
        though it won't be necessary to have completed the previous
        iRemember project(s) in a given MOOC. Moreover, the other
        programming assignments in their MOOCs will reflect the focus
        of their respective MOOCs since (1) the topics are largely
        different in each MOOC and (2) there's no requirement that
        students must take the MOOCs in a particular sequence, so
        inter-MOOC dependencies will be minimized.
      </p>
    </li> 
    
    <li><b>How will the programming assignments be submitted and
        assessed?</b>
    
      <p>All of the assignments will be autograded. Each assignment will include a Java application that can be run to locally autograde your solution and estimate your score on the assignment. The application will also create a submission package with your code that can be uploaded to Coursera. The submission package (a zip file with the correct source files) must be uploaded to Coursera -- running the local application only estimates your score and does not submit it. Each assignment will include detailed submission instructions that must be followed in order to receive credit for assignments.
      </p>
    
    </li>
    
    <li><b>How can students help improve the
        form and content of the video lectures?</b>
    
      <p>Please leave your constructive comments and suggestions for
        improving the content of the video lectures in the discussion
        forum entitled <a 
        href="https://class.coursera.org/mobilecloud-001/forum/list?forum_id=8">Lectures</a>. The most useful
        suggestions are ones that help us improve the technical
        accuracy and quality of the material, rather than just
        commenting on the presentation format and style. Although
        there may not be time to address these comments for this
        offering of the MobileCloud MOOC, we'll consider them for future
        offerings. Also, if you spot any typos or
        problems with subtitles for the videos please note them <a
        href="https://class.coursera.org/mobilecloud-001/forum/list?forum_id=10005">here</a>
        so we can fix them.
      </p>
    </li> 
    
    <li><b>How can students keep
        informed about important due dates for assignments?</b>
    
      <p>Once the 2014 MobileCloud MOOC has officially begun (in late-July),
        there will be a calendar of events listing the due dates,
        etc. Likewise, reminders will be posted periodically to the
        Announcements page (and thus disseminated via email to all
        enrolled students). Ultimately, however, students are
        responsible for keeping track of the deadlines and procedures
        related to properly submitting the MOOC assignments.  Given
        the large number of students enrolled in the MOOC, there will
        be little/no support for individual extensions or special
        handling of late or improperly submitted solutions to the
        assignments.
      </p>
    </li> 
    
    <li><b>How many hours per week will be required for the MobileCloud
        MOOC?</b>
    
      <p>There's no 100% accurate way to estimate how long any given
        student will require to watch the videos and complete the
        quizzes and assignments each week since each person has
        different background, aptitude, motivation, learning style,
        etc. Moreover, some students are doing the "normal track" and
        others are doing the "distinction track". With that caveat in
        mind, please see <a
        href="https://class.coursera.org/mobilecloud-001/wiki/Statements_of_Accomplishment">this
        link</a> for rough estimates of how much time <i>may</i> be
        required, depending on which track a student is
        doing. Cloud services are not an easy topic to master, however, so
        if doing the material assigned for the "distinction track"
        consumes an excessive amount of time please consider switching
        to the "normal track", which requires much less work since
        there are no programming assignments.
      </p>
    </li> 
    
    <li><b>What are some consequences of the "massiveness" of a MOOC?</b>
    
      <p>The massive number of students in the POSA MOOC (50,000+)
        impacts some aspects of the course that differentiate it from
        a traditional face-to-face courses, such as the courses the
        instructors teach at Vanderbilt and the University of
        Maryland.  In particular:
      </p>
    
      <ul>
        <li><p>The POSA MOOC course staff will not be able to provide
        individual feedback on student assignments, though we will
        present our solutions to the assignments in the weekly
        "virtual office hours". If
        you run into problems feel free to post your buggy code to the
        appropriate <a
        href="https://class.coursera.org/mobilecloud-001/forum/list?forum_id=3">assignment
        discussion forum</a> so that other students can provide you
        tips on fixing your bugs.  Please don't post working solutions
        to the discussion forum, however, since that violates the
        Coursera Code of Conduct.  </p></li>
    
        <li><p>Some things will inevitably go awry, e.g., unit tests
        will need to change, students will forget to add their source
        code when they submit their solutions, important deadlines
        will be missed due to unforeseen circumstances, assignments
        will be modified after they are released, etc.</li></ul><p>Due
        to the massive number of students--coupled with the very
        limited course staff--it's unfortunately sometimes the case
        that the instructors won't be able to "make it right" in a
        manner that makes everyone happy. In these situations, our
        goal is to maximize the opportunity for as many students as
        possible to gain access to a world-class education. Other
        considerations (such as consistency, fairness, and
        accountability) are also relevant, but our first priority is
        to help empower students with an education that will improve
        their lives.  
      </p>
    </li>
    
    
    <li><b>What are "Virtual Office Hours"?</b>
    
      <p>"Virtual Office Hours" provide an opportunity for instructors
        to interact in real-time with students once a week on
        questions about material covered in the video lectures,
        quizzes, and programming assignments. Google Hangout on the
        Air and YouTube are used as
        the means to engage with students. Google Hangout
        automatically records the office hour discussions, which are
        then uploaded to the MobileCloud MOOC website so students can view
        them offline if they can't make it to the live
        events. Likewise, any questions post to the discussion forum
        on <a
        href="https://class.coursera.org/mobilecloud-001/forum/list?forum_id=10006"
        title="Link:
        https://class.coursera.org/mobilecloud-001/forum/list?forum_id=10006">Virtual
        Office Hours</a> will be answered during the session.
      </p>
    </li>
    
    <li><b>Can students use public source code repositories to store
        their solutions to the programming assignments?</b>
    
      <p>Please do not use public source code repositories (e.g., the
        freely available GitHub accounts) to store your solutions to
        the programming assignments. Publicly available repositories
        encourage students to copy each others work, which is a
        violation of the Coursera code of conduct that does not allow
        students to share work unless explicitly instructed by course
        policies.
      </p>
    </li> 
    
    
    <li><b>Why are there lecture
        videos on YouTube and on the MobileCloud Coursera website?</b>
    
      <p>The videos on YouTube and the videos on the Coursera site
        should be nearly identical, but all videos must be approved by
        Vanderbilt before they can be uploaded and published on the
        MobileCloud Coursera website. We therefore release them first on
        YouTube as we complete them so that interested students can
        preview them and provide feedback so that any mistakes can be
        fixed before they are released to the MobileCloud Coursera website.
      </p>
    </li>
    
    <li><b>How can we fix the warning "There are no JREs installed in
        the workspace that are strictly compatible with this
        environment"?</b>
    
      <p>First, check what version of JRE you have installed or you
        have set as an environment variable JAVA_HOME or JAVA_JRE. If
        you find out that you have installed java version 7 then you
        right click on the project folder in Eclipse. Then
        Properties-&gt;Java Build Path -&gt; Libraries. You click on
        JRE System Library and then the button Edit where you select
        Execution Environment similar to the one you have installed on
        your PC. Although you are welcome to use whatever version of
        Java you'd like for your programming assignments, you need to
        make sure that whatever you submit to be graded works with
        Java version 7 since otherwise your solution may not work and
        the autograder will deduct points.
        </p>
    </li> 
    
    
    
    <li><b>Since many of the assignments have been posted to GitHub
        can we work on them prior to their official release?</b>
    
      <p>You're welcome to work ahead on these assignments, which is
        one of the reasons why we've put many of them out early.
        However, some things are likely to change based on a number of
        factors, such as feedback from students, improved JUnit tests,
        bug fixes, etc.  Although it's unlikely you'll need to do a
        wholesale rewrite of your solution (mostly the JUnit tests
        should get more thorough) until the assignment is officially
        posted via the "Programming Assignments and Assessments" tab
        you'll need to be prepare for some changes.
      </p>
    </li> 
    
    <li><b>How can I prepare in advance for the 
        Programming Cloud Services for Android Handheld Systems
        course?</b> 
    
      <p>The course will cover a number of topics on HTTP
        communication in Android and HTTP-based cloud services with
        the Java Spring Framework. Before you start preparing for the
        cloud course, ensure that you understand the concurrency
        material from the POSA course, particularly AsyncTasks and
        Handlers. Some helpful resources to get a jumpstart on the
        cloud course are:
    
        <ul>
          <li><p>Spring's Building a RESTful Web Service guide (<a
              href="http://spring.io/guides/gs/rest-service"
              title="Link:
              http://spring.io/guides/gs/rest-service">http://spring.io/guides/gs/rest-service</a>)
            </p>
          </li>
    
          <li><p>Android's Connecting to the Network guide (<a
        href="http://developer.android.com/training/basics/network-ops/connecting.html"
        title="Link:
        http://developer.android.com/training/basics/network-ops/connecting.html">http://developer.android.com/training/basics/network-ops/connecting.html</a>)</p></li>
    
          <li><p>The basic components of HTTP (<a
        href="http://www.jmarshall.com/easy/http/" title="Link:
        http://www.jmarshall.com/easy/http/">http://www.jmarshall.com/easy/http/</a>)
            </p>
          </li>
    
          <li><p>For other more advanced topics that are both within and
        beyond the scope of the cloud course, Spring has a
        comprehensive set of guides (<a href="http://spring.io/guides"
        title="Link:
        http://spring.io/guides">http://spring.io/guides</a>)
            </p>
          </li>
        </ul>
    </li>
    
    <li><b>What resources can be used for the weekly quizzes?</b>
    
      <p>You are welcome to use videos or presentation material when
        answering the weekly quiz questions. 
        </p>
    </li>
    
    <li><b>What can we do if the audio is out of sync with the video
          stream when viewed from the course website on Coursera?</b>
    
          <p>You might try playing the videos at a lower resolution if
      your browser supports this or downloading the to your computer
      and watching them locally. Apparently, the videos on my <a
      href="https://www.youtube.com/watch?v=ov4jGPYWp5U&list=PLyUlngzGzkztgTizxM6_zqiw8sRj7vBm0"
      title="Link:
      https://www.youtube.com/watch?v=ov4jGPYWp5U&list=PLyUlngzGzkztgTizxM6_zqiw8sRj7vBm0">YouTube
      playlist</a> are synchronized better, so you might try watching
      them (they are identical to what's on the Coursera website). 
      </P>
    </li>
    
    <li><b>What is an "Optional Lecture"?</b>
    
      <p>Certain lectures are not counted towards your grade in the course
        but may be useful to readers who want
        to know more about cloud services.  These lectures are marked optional,
        which means that they may not be "quizzified" and questions
        pertaining to them won't appear on the required weekly quizzes.  Feel free
        to watch them if you're interested and skip them if you're
        not.
      </p>
    </li>
    
  1. Why aren't the MOOC in the MoCCA Specialization identical wrt programming testing procedures?

    The MobileCloud course covers very different material from the two Android courses and thus has a completely different set of test infrastructure.

  2. Why are the videos arranged in descending order by week on the POSA MOOC Coursera site?

    The videos on the POSA MOOC Coursera site are arranged in descending order (i.e. latest week first) so that students who are following along week-by-week can quickly find the latest videos to watch. If you want to watch the videos in ascending order (i.e., from first to last) please go to my YouTube MobileCloud MOOC 2014 playlist, which has the same content in a different order.

  3. What is the naming scheme for the videos?

    The videos are named in order according to the Section, Module, and Part they appear, which corresponds to the Course Syllabus rather than to the week in which they appear (since each new offering of the MobileCloud MOOC will likely have a different mapping onto weeks, so that information shouldn't be encoded into the names). The optional lectures may not correspond to this naming scheme since they aren't officially part of the MobileCloud MOOC. If you want to store the videos locally on your computer in a different order (e.g., by week) feel free to rename them when you download them.

  4. Who will define the projects implemented in the Capstone Projects Course?

    These projects will be defined by the instructors. There will be 2-4 projects that students can choose from. The reasons for this approach are to (1) enhance the consistency of the projects with respect to their difficulty, (2) ensure a critical mass of students for each project who can serve as peer assessors, and (3) avoid complex legal issues associated with intellectual property. Please note that students will own the copyright on their solutions, but their solutions must be available in open-source format to enable peer assessment.

  5. What are the expectations and policies for postings on the online discussion forums?

    It's important to read, understand, and follow the Coursera Forum Code of Conduct. Rants and flames (such as "Android sucks," "Language X is better than Java," "Patterns are bad," or "I hate these lectures") will be ignored and/or removed since they generate much more heat than light and disrupt the learning process. Moreover, insulting, condescending, disrespectful, or abusive postings will not be tolerated and may result in students being removed from the course.

  6. Can students do extra assignments to improve their grade?

    No, there will be no extra assignments.

Clone this wiki locally