Module 0: Course Goals and Logistics
Objectives
By the end of this module you will be able to:
- Identify the various people associated with
teaching the course: instructors, TAs, tutors,
lab-help etc.
- Identify the places associated with the course: classroom,
lab room, what work you can do at home.
- Add your name to the sign up sheet that indicates
understanding of course policies.
- Identify the various logins needed for this course.
- Demonstrate login into lab PCs, Blackboard, TurningPoint
clickers.
- Demonstrate attendance with both Blackboard and clickers.
- Fill out the get-acquainted survey.
- Demonstrate awareness of materials to be used: book, notebook,
blackboard, website, clickers.
- Experience writing a really simple program.
People, places, policies
People:
- Instructor: classes, office hours
- TA: classes, lab, office hours, grades
- Tutors: if needed.
- Other:
- SEAS account: 4th floor helpdesk
- Registration: talk to you advisor
- Transferring into Computer Science (CS)? Talk to me
about getting appointment with a CS advisor.
Places:
- Classes and lab: T411
- Office hours:
- Instructor: 717 Phillips
- TA: TBA
- Tutoring: T411
- Can you work on assignments at home?
=> Yes, but you may need to set up your PC/laptop correctly.
Policies:
Review the course info and policies
page.
In-Class Exercise 1:
- What are the books (textbooks, notebooks) needed for this course?
- Which part of the course involves teamwork?
- Did you add your name to the sign up sheet? By doing so, you
indicate that you understand the course policies.
Websites, logins and classroom tech
You will need usernames and passwords (logins) for:
- Blackboard. Same
as your GWMail username/password.
- The machines in Tompkins-411. This is your SEAS username/password.
- Hobbes. This is a Unix server that you will access
from either your PC in T411 or your own computer.
For hobbes, use your SEAS username/password.
In-Class Exercise 2:
Login to Blackboard and try out the first quiz.
In-Class Exercise 3:
Login to Blackboard and complete the Get-Acquainted survey.
Books
The textbook for the course:
Building Java Programs: A Back to Basics Approach
by S.Reges and M.Stepp (2nd edition).
- Must purchase new
=> Comes with password to a website.
- Our order of topics is roughly aligned with the book
=> We will point out differences.
- Very useful: self-check exercises at the
end of each chapter.
The notebook:
- Marbled-cover notebook, about 75-100 pages.
- Set aside pages 1-5 for keeping a record of work. This
will be in the form of a ledger:
# |
Date |
Work completed/submitted |
|
|
|
|
- Set aside the next 28 pages for your weekly reflection.
- Use the remainder for notes, jotting down important points etc.
- Important: bring your notebook to all classes and labs.
Our first program
We will write our first program in the Java language
with these steps:
- Use a text-editor to write the program.
- Compile the program.
- Execute the program.
This is the program we need to write:
In-Class Exercise 4:
Follow these instructions for writing our
first program in T-411.
Thus, we have just solved this exercise:
In-Class Exercise 5:
Write a program to print "Hello World!" to the screen.
A peek at a more complex program
We will examine a program that counts the number of primes
in the range 2 to N, where N is some upper
limit like 100.
In-Class Exercise 6:
What is a prime number? Look up the Wikipedia entry
on the Sieve of Eratosthenes and explain how it works.
We'll now peek at two programs that implement the idea,
just for the sake of seeing what such programs look like.
Program 1:
Program 2:
What to keep in mind at this time:
We'll make a rough analogy with learning a foreign language:
This course is for the novice
=> Absolutely no background needed.
How to succeed in this course
In-Class Exercise 8:
What's the most alien world you've seen in movies?
The challenge in learning programming:
- #1: it's an alien world.
=> Takes getting used to.
- #2: it's a mental skill
=> Skills are acquired slowly, and in fits and starts.
- #3: there are confounding issues
=> some knowledge of (regrettably) computerese needed.
- #4: it's easy to feel overwhelmed or intimidated
=> your neighbor may appear to be "getting it" while you feel you don't.
What you should expect:
- You can't learn instantly
=> You may have to see a concept multiple times to "get it".
- You may occasionally feel bewildered.
- There are some things that can't be understood
at this stage.
=> Not enough background.
- It's deceptively easy to understand an idea in class
but devilishly harder to do it yourself.
How to succeed:
- Stay on top of all material in every class and lab.
=> Each class builds on previous classes
=> Can't afford to let anything slide.
- Be willing to put the effort
=> Do all exercises, assignments etc.
- If lost, get help early.
- Practice being bullish.
The coursework in this course:
- Reading and "Pre" exercises before each class.
- "Post" exercises after each class.
- Lab work (in teams).
- Keep notebook current.
- Exams: you will write code in class for exams
=> Can't afford to lean on your friends.
© 2011, Rahul Simha