CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning...

13
CS 110 Lab Spring 2011

Transcript of CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning...

Page 1: CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning programming with Java How to succeed.

CS 110 Lab

Spring 2011

Page 2: CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning programming with Java How to succeed.

Outline

• >Computer Science Lab Overview (syllabus)<

• Why we're learning programming with Java

• How to succeed

Page 3: CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning programming with Java How to succeed.

Personal Introduction

• Your TA: Adam Brady– [email protected]– WVU Alum– Graduated May ’09 with honors– Master’s student in CS– Data Mining / Machine Learning Researcher– Geek interests: Empiricist Philosophy, Computer

Science Education, Homebrewing, EVE: Online

Page 4: CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning programming with Java How to succeed.

Course Overview

• Hands on programming exercises– Programmers learn by doing

• One-on-one Assistance– Immediate feedback when you get stuck

• Structured time to absorb concepts– It's very hard to "cram" for CS exams

Page 5: CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning programming with Java How to succeed.

Course Overview

• Computer Science isn't using computers

• Computer Science is PROBLEM SOLVING

• CS Lab helps you organize your thoughts:– break down big problems in to manageable parts– solve these sub-problems using a formal language

Page 6: CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning programming with Java How to succeed.

Assignments

• Best 10 of 12+ In Lab Assignments– To be completed during lab– Cannot be made up– Demonstrate concepts already learned in lecture

• 5 quizzes, announced in advance• 5 Out-of-lab projects– Larger, more complex assignments– Completed on your own (with help from me)

Page 7: CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning programming with Java How to succeed.

Grading

• Point system, total of 250 points

• 10 points per quiz (50 points total)

• 10 points per in-lab assignment (100 total)

• 20 points per out of lab project (100 total)

Page 8: CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning programming with Java How to succeed.

Outline

• Computer Science Lab Overview (syllabus)

• >Why we're learning programming with Java<

• How to succeed

Page 9: CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning programming with Java How to succeed.

Why Java?

• To those with some experience, a few notes about Java vs other languages:

• C is faster, but terrible for large projects“all the power of assembly language with all the ease of use of assembly language” -- unknown

• C++ is scales better, but you have to still manually manage memory.

“C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow your whole leg off.” -- Bjarne Stroustrup

Page 10: CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning programming with Java How to succeed.

Why Java?

• Python is simpler and supports garbage collection, but lacks type safety.“Python: executable pseudocode.” --comp.lang.python

• Lisp is simpler, faster, scales well, supports garbage collection, and is so powerful it can easily implement other languages in itself. (It’s also very, very hard to learn well.)“[Lisp] is the only computer language that is beautiful.” -- Neal Stephenson

Page 11: CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning programming with Java How to succeed.

So Why Java?

• Industry Acceptance– Java was designed for writing massive programs with

hundreds of authors. Businesses love it.• Type Safety– Java is strict about what variables can contain. You’re less

likely to make accidental mistakes.• Automatic Memory Management– Garbage Collection makes life easier

• The Java API– Thousands of pre-written “classes” you can use in your

programs to do almost anything.

Page 12: CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning programming with Java How to succeed.

Outline

• Computer Science Lab Overview (syllabus)

• Why we're learning programming with Java

• >How to succeed<

Page 13: CS 110 Lab Spring 2011. Outline >Computer Science Lab Overview (syllabus)< Why we're learning programming with Java How to succeed.

How to Succeed

• Always come to lab on time

• Don’t hesitate to ask for help

• Start out-of-lab projects early

• Practice, practice, practice