1 / 13

CS 110 Lab

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 abrady1@mix.wvu.edu WVU Alum Graduated May ’09 with honors Master’s student in CS

Download Presentation

CS 110 Lab

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 110 Lab Spring 2011

  2. Outline • >Computer Science Lab Overview (syllabus)< • Why we're learning programming with Java • How to succeed

  3. Personal Introduction • Your TA: Adam Brady • abrady1@mix.wvu.edu • 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

  4. 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

  5. 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

  6. 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)

  7. 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)

  8. Outline • Computer Science Lab Overview (syllabus) • >Why we're learning programming with Java< • How to succeed

  9. 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

  10. 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

  11. 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.

  12. Outline • Computer Science Lab Overview (syllabus) • Why we're learning programming with Java • >How to succeed<

  13. 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

More Related