Orientation 2021

Programming Sessions

Welcome to CMU!


-

Meeting Times

 09:00-10:00am, Sections 1, 2, 3, 4
 10:10-11:10am, Sections 5, 6, 7, 8

Zoom Numbers are Posted on Canvas

 Essential Links

 Java Programming
 Online Java Documentation
 The Java Tutorials

-


Instructors and IT Help

Ella Karambizi
Instructor, Sections 2 & 6
  ekarambi@andrew.cmu.edu
Moise Busogi
Instructor, Sections 3 & 7
  mbusogi@andrew.cmu.edu
  CMU-Africa IT Help
Send an email to open a ticket
    africa_it_help@andrew.cmu.edu
Emmanuel Ndashimye
Instructor, Sections 1 & 5
  endashim@andrew.cmu.edu
Petero Niyodusenga
Instructor, Sections 4 & 8
  jniyodus@andrew.cmu.edu
Cathy Bishop
Course Designer
  mcbishop@andrew.cmu.edu


Course Schedule

We are using a slow-start for this year's Orientation; by this we mean that you will work roughy half-time for the first 2 weeks. During these first 2 weeks we will cover the first week of the standard in-person Orientation.

The last 3 weeks of Orientation will be full-time and will cover the last 3 weeks of the standard in-person Orientation. This will help you prepare for the standard work-load once the Fall semester starts.

For each session (called P1, P2, P3, ...), you are expected to spend about 2 hours watching the course videos, 2 hours preparing for the meeting and working on your assignments, and an hour of study time / office hours. For each session, you will generally meet on Zoom for 1 hour. This comes out to roughly 5 hours of prep and homework time per session and this will be the expected time you should spend in order to be ready for the next meeting.

During the slow-start (the first 2 weeks), it will be spread out over multiuple days; this means you will be expected to spend roughly 2.5 hours per day working on the programming parts of Orientientation in order to be prepared for each live session.

Note: you should plan to keep to this schedule!

In general, programming assignments will be due the in the morning before live sessions start, by 7:00 am. We do not accept any late work, so be sure to submit what you have ON TIME!

Note: We will make available more work than you can finish in your alloted time; this is your opportunity to practice your study and time-management skills.

The schedule will be adjusted as necessary as we progress through the material. We will post a tentative schedule, but it will be adjusted as we go, depending on how much of the programming we complete during the programming sessions.

Our overall goal is to cover problem solving and introduce coding techniques that you will use throughout your time here at CMU. We plan to cover Linux for about half the time then cover Java and OOP the other half of the time. The programming sessions during Orientation are designed to be fun and challenging and to prepare you for the programming start of the semester:


P0 (setup) Assignments Notes
Tasks:
  • Install and setup Linux.
  • Make sure you can to open a command-line prompt on your machine.
  • Get setup with Canvas.
  • Complete your first Piazza task (as soon as you can access Piazza).
Get laptops setup:

  1. Install and setup the Linux subsystem for Windows using Ubuntu from the Microsoft app store.
    Instructions

  2. Access the Orientation class on Canvas:
    https://canvas.cmu.edu/

  3. Checkout Piazza (through Canvas).

  4. Install and setup Zoom:
    https://www.cmu.edu/computing/services/comm-collab/web-conferencing/zoom/how-to/launch-zoom.html

  5. Setup EdPuzzle (done through Canvas).

  6. We HIGHLY recommend using Firefox as your browser; certain features are only supported by this browser: Download Firefox

  7. Install and setup KRISP noise-reducing software. You should receive an invitation, but if not, please contact IT support.

  8. Setup the CMU VPN:
    https://www.cmu.edu/computing/services/endpoint/network-access/vpn/how-to/index.html

  9. Setup Duo Mobile for 2-factor authorization:
    http://2fa.cmu.edu/
Readings:

Read:


P1 Assignments Topics
Tasks: Due Before Starting P1
  • Make sure you are setup with a Linux command-prompt and can access the website, Piazza, and Canvas.
Tasks: Watch P1 Videos before the Live-Session

Readings: Skim before watching the P2 Videos.
  • Read the Linux postings on Metacharacters (also called "file globbing"), Pipes and Redirection, Regular Expressions, and Regular Expression Examples.

Week 2


P2 Assignments Topics
Tasks: Due before P2 by 8:30am. Tasks: Watch P2 Videos before the Live-Session

Readings: Skim before watching the P3 Videos.

P3 Assignments Topics
Tasks: Due before P3 by 8:30am. Tasks: Watch P3 Videos before the Live-Session

Tasks: Due Monday by 8:30am at the latest.
Readings: Due Monday by 8:30am at the latest.

P4 Assignments Topics
Tasks: Due before P4 by 8:30am.
  • Nothing
Tasks: Watch P4 Videos before the Live-Session

Tasks: Due Monday by 8:30am at the latest.
Readings: Due Monday by 8:30am at the latest.

Week 3


P5 Assignments Topics

Tasks: Watch P5 Videos before the Live-Session

  • Review HW3

  • Keep practicing your vi!

  • Quotes

  • Note: In Data Analytics, there are 3 main steps in processing data:
    1. Clean the data
    2. Analyze the data
    3. Use the data to make decisions (or recommend decisions)

    When processing big data, i.e. data that can be too big to store (or too big store in multiple formats), Linux is ideal. Ask about it in class and we can discuss why.

  • Guess the Correlation
Readings: Due before P6

P6 Assignments Topics

Tasks: Watch P6 Videos before the Live-Session

  • No homework due.
  • Start Shell Scripts
  • Update your Profile (we will do this together)
  • Start HW5 scripts 1-4 in Shell Scripts 1, Due Monday.
    Note: only Version 1 of dirinfo is due for HW5.
  • Look for Linux Quiz 1 to be posted - due Monday before 8:30!
By the end of the day.
  • Update your profile


Week 4


Topics: Finish Linux, Java

P7 Assignments Topics
Tasks: Due the day before P7 by 8:30am.

Tasks: Watch P7 Videos before the Live-Session

  • Finish Shell Scripts
  • Q&A from Quiz1 (may be via Piazza)

  • Start on HW6 Shell Scripts 2. Due next Monday.

  • Learn about our online library to find your Java text book: "Java How to Program, 11/e (Early Objects)" by Deitel and Deitel

    Make sure each of you investigates, and you can help each other out and share instructions on Piazza. You need to be ready to start your reading assignments by the end of this week.

    Click on the O'Reilly for Higher Education link. When it asks you for institution, select Other, then give it your CMU email address.

    Once you have the viewer up, click on the grey next at the top until you getto the Table of Contents to access the reading you need.

P8 Assignments (due before class) Topics

Tasks: Watch P8 Videos before the Live-Session

  • No homeworks due.
  • Algorithms
  • Work on HW6 Shell Scripts 2. Due Monday before 8:30.

  • Look for Linux Quiz 2 to be posted - due Tuesday before 8:30.

On your own: Prepare to start Java programming in Week 5

  • Follow the "Before you Begin" session from your Java textbook to download, install, and setup the JDK (Version 8) and the Eclipse Java IDE in both your Windows and Linux environment.

  • Instructions are in your book, and you can find the latest online here: Before you Begin

    You can try the a later version of the SE/JDK (looks like 11 or 14), but Java SE 8u261 is good for basic Java and will match your text book. You may have to manage differences in the versions if you use the newer version, but if you are comfortable with that, go ahead and try it.

Tasks: Due next week.
  • Remember that HW6 Shell Scripts 2 is due Monday and Quiz 2 is due Tuesday of next week. due Tuesday.

  • Based on the Algorithms exercise ("Blowing Up a Balloon"), prepare the following documents (done individually):

    1. In a Word document called Algorithm1.doc, write up your algorithm from the in-class exercise. Remember to use the proper format for an algorithm.
    2. In a text file called story1 (using vi/vim), write a short story, of 150-200 words in length, on the additional topic used for the in-class Algorithm exercise.

  • Make sure you are ready to start full-time Java programming on Monday!
Readings: Due before P9 on Monday.

  • Read Ch 1-3 of your Java book "Java How to Program, 11/e (Early Objects)" by Deitel and Deitel


Week 5 - Full Time!


Topics: Java

P9 Mon Assignments Topics

Tasks: Watch P9 Videos before the Live-Session

Tasks: Due Today by 8:30am

  • Quiz 2, HW6 Shell Scripts 2, Algorithm 1, Story 1 (On Canvas)
  • Installed JDK in Linux and JDK and Eclipse in Windows.
  • Read Ch 1-3 of your Java book.

  • Final Linux Questions
  • Assign Java Terms 1 - listen during the next 2 lectures.

  • Start Java
    - Setup in command-line
    - Start HW7 Java Assignment 1.

  • Update your vi settings

  • Java Intro (Ch 1&2) - any questions?
  • By the end of today, make sure you can:

    1. use vi to write your code
    2. compile and run from a command-line prompt using javac, java, and appletviewer.

  • Testing Basics

Tasks: Due Tomorrow by 8:30am

  • Complete HW7 Java Assignment 1.
  • Write a test-plan for Program 3 in in Java Programs. It should include at least 6 test cases; identify what kind of test case each one is (Bounds, Branch, or Error).
Tasks: Due Tomorrow by 6pm

P10 Tue Assignments Topics

Tasks: Watch P10 Videos before the Live-Session

Tasks: Due Today by 8:30am

Tasks: Due Today by 6pm
Tasks: Due tomorrow by 8:30am.
Readings: Due

P11 Wed Assignments Topics
Tasks: Due Today by 8:30am
Tasks: Due tomorrow
Readings: Due tomorrow


P12 Thu Assignments Topics
Tasks: Due Today by 8:30am
Tasks: Due Tomorrow by 8:30am
Readings: Due Tuesday by 8:30am at the latest.

P13 Fri Assignments Topics
Tasks: Due Today by 8:30am

  • Control Statements (loops)
  • In class, work on Loops Practice (on paper - do NOT code it yet!) Finish by the end of the day.

  • Intro to Writing Methods (more in Ch 19, if you are interested now)
  • Advising for starting SE coursework - any questions?
Tasks: Due Tuesday (P14) before 8:30


Note: We will not meet Monday, August 17 as it is a holiday.

P14 Tuesday Assignments Topics
Tasks: Due Today by 8:30am
Tasks: Due Tomorrow by 8:30am
  • HW12 Programs 11-12 (MyTestScores and PlayArgs) in Java Programs

P15 Wednesday Assignments Topics
Tasks: Due Today by 8:30am
  • HW12 Programs 11-12 (MyTestScores and PlayArgs) in Java Programs
Tasks: Due Today by 6pm
Tasks: Due Tomorrow by 6pm

  • HW13 Bullseye in Java Programs
  • Quiz 3: Java

    P16 Thursday Assignments Topics
    Tasks: Due Today by 6pm

    • During today's Webinar, you will meet individually with your Instructors/TAs

    • Be ready to show them your Linux and Java skills!

    • Work on HW13 and Quiz3 while you wait for your turn - they are due tonight!