Introduction to CS 106B - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Introduction to CS 106B

Description:

For most of the quarter, we'll be learning about a variety of abstract data ... Everyone in CS 106B starts the quarter with two 'late days' that you can use at ... – PowerPoint PPT presentation

Number of Views:99
Avg rating:3.0/5.0
Slides: 25
Provided by: EricRo
Category:

less

Transcript and Presenter's Notes

Title: Introduction to CS 106B


1
Introduction to CS 106B
Eric Roberts CS 106B September 21, 2009
2
CS 106B Staff
Professor Eric Roberts eroberts_at_cs.stanford.edu O
ffice Hours (Gates 202) Tuesdays
930-1130 Wednesdays 430-530
Head TA Ilya Sherman isherman_at_stanford.edu Office
Hours (Gates 160) TBA
3
Meeting Place
4
Is CS 106B the Right Course?
5
Learning More about C
CS 106B is a course about programming
abstractions, not about C itself. If you want
to learn the details, take CS 106L
6
SyllabusWeek 1
7
SyllabusWeek 2
8
SyllabusWeek 3
9
SyllabusWeek 4
10
SyllabusWeek 5
Midterm Exam Tuesday, October 20 315 or 700 P.M.
11
SyllabusWeek 6
12
SyllabusWeek 7
13
SyllabusWeek 8
14
SyllabusWeek 9
15
Thanksgiving Week
Thanksgiving week (no class)
16
Dead Week and Beyond
Final Exam times Tuesday, December 8 Thursday,
December 10 1215-315 P.M.
17
The Big Ideas in CS 106B
  • Recursion. Recursion is an enormously powerful
    technique that enables you to solve complex
    problems that you would never be able to solve
    without it.
  • Data abstraction. For most of the quarter, well
    be learning about a variety of abstract data
    types that will prove to be enormously valuable
    as you write programs.
  • Algorithmic efficiency. As you will learn over
    the course of the quarter, different algorithms
    can vary enormously in terms of the amount of
    time required to solve a particular problem. In
    CS 106B, you will learn how to measure
    algorithmic efficiency along with some general
    techniques for developing efficient algorithms.

18
Assignments in CS 106B
  • Assignments in CS 106B are due at 500P.M.
    Assignments that come in after 500 will be
    considered late.
  • Everyone in CS 106B starts the quarter with two
    late days that you can use at any time you need
    some extra time. In my courses, late days
    correspond to class meetings, so that, if an
    assignment is due on Wednesday and you turn it in
    on Friday, that counts as one late day.
  • Extensions can be approved only by Ilya Sherman.
  • Assignments are graded by your section leader,
    who discusses your work in an interactive,
    one-on-one grading session.
  • Each assignment is given two grades one on
    functionality and one on programming style.
    Style matters. Companies in Silicon Valley
    expect Stanford graduates to understand how to
    write code that other programmers can maintain.

19
The CS 106B Grading Scale
  • Functionality and style grades for the
    assignments use the following scale

20
Contests
  • CS 106B will have three contests as follows
  • The Random Writer Contest associated with
    Assignment 2
  • The Recursion Contest associated with Assignment
    3
  • The BASIC Contest associated with Assignment 5
  • First prize in the contest is a score of 100 on
    one of the graded components of the course,
    typically the final exam.
  • As an additional incentive, entering any of the
    contests gives you chances to win an additional
    grand prize in a random drawing at the end of the
    quarter.
  • Securing a runner-up prize or an honorable
    mention on any contest gives you additional
    chances in the random drawing, as does having an
    assignment submitted as a candidate. You can
    also gain chances by reporting errors in the text
    and by making useful suggestions for updating the
    examples.

21
Why Study Computer Science
  • The computing industry offers some of the best
    employment opportunities for college graduates in
    the United States today
  • The number of jobs in the domestic software
    industry are at an all-time high and are
    projected to grow dramatically over the next
    decade.
  • Salaries for newly minted B.S. graduates in
    Computer Science are high, sometimes exceeding
    the 100,000 mark.
  • In 2005, Money magazine rated software engineer
    as the number one job in America.
  • Employment in this area is vital for national
    competitiveness.
  • At the same time, student interest in these
    disciplines has plummeted. In the United States,
    computing enrollments fell by almost 50 percent
    from 2000 to 2006.

22
Degree Production vs. Job Openings
160,000
Ph.D.
140,000
Masters
120,000
Bachelors
100,000
Projected job openings
80,000
60,000
40,000
20,000
Engineering
Physical Sciences
Biological Sciences
Adapted from a presentation by John Sargent,
Senior Policy Analyst, Department of Commerce, at
the CRA Computing Research Summit, February 23,
2004. Original sources listed as National
Science Foundation/Division of Science Resources
Statistics degree data from Department of
Education/National Center for Education
Statistics Integrated Postsecondary Education
Data System Completions Survey and NSF/SRS
Survey of Earned Doctorates and Projected Annual
Average Job Openings derived from Department of
Commerce (Office of Technology Policy) analysis
of Bureau of Labor Statistics 2002-2012
projections. See http//www.cra.org/govaffairs/co
ntent.php?cid22.
Sources
23
The End
24
A Thought Experiment about Offshoring
  • Suppose that you are Microsoft and that you can
    hire a software developer from Stanford whose
    loaded costs will be 200,000 per year. Over in
    Bangalore, however, you can hire a software
    developer for 75,000 per year. Both are equally
    talented and will create 1,000,000 annually in
    value. What do you do?
  • Although the developer in Bangalore has a higher
    return, the optimal strategy is to hire them
    both. After all, why throw away 800,000 a year?
Write a Comment
User Comments (0)
About PowerShow.com