Lecture01.pdf

(55 KB) Pobierz
Goals for today
CS106B
Programming Abstractions
What is CS106B all about?
Overview of course admin & logistics
My (unbiased) opinion of why this class rocks
Check out a little C++
Lecture #1
The CS106 courses
Intro programming sequence is CS106A & B
•
•
•
•
•
•
•
CS106X is “honors” version of B
Logic, control flow, problem-solving, decomposition, debugging
We use Java, but language choice not critical
Recursion, algorithms (sort/search/hash), dynamic data structures (lists,
trees, heaps), data abstraction (stacks, queues, maps)
We use C++, but this not a C++ course
New to programming or not confidant about background? CS106A
Solid first course experience and ready to go on? CS106B
•
Super-enthused and want to go hard-core? CS106X
The CS106 philosophy
We welcome all students
•
•
•
•
•
•
•
•
All majors and backgrounds, try it out and see if it’s right for you!
Use modern high-level language(s)
Learn by doing (challenging, full-fledged programs assigned)
Working is not all; well-designed and well-engineering code matters!
30+ hours per week of staff available in Lair
Interactive grading conferences with your SL
Curiosity, determination, hard-work
Knowing when to ask for help
A covers Programming Methodology
B covers Programming Abstractions
Provide solid, practical foundation in programming
Truth AND beauty
Undergraduate section leaders as mentors
Student skills for success
Placement
What makes 106B great
Programming is just generally awesome
•
•
•
•
•
•
•
Learn relatively small set of fundamentals, but infinitely combinable to
solve all sorts of problems
Build impressive things that you can be proud of
Nothing more satisfying than finding and fixing that last bug
Learn cool techniques that vastly extend the range of problems you
are able to solve
Focus on elegance and efficiency
Fascinating theoretical and algorithmic underpinnings
Make the learning fun and personal
Logistics
(Read handout #2 for more details)
Lectures MWF 2:15pm
•
•
Available online, but attending in person is better :-)
Signup for section online
Section once a week
Optional lab on C++ language/libraries
Workload
•
•
Programming assignments ~weekly (15-20 hours)
Midterm and final exam (in-class, open-book/note)
Second course material is amazing
Section leaders are fabulous
Course reader available in bookstore
Compilers
•
XCode for Mac OS,VS for Windows, available on cluster computers
and can download to your computer
Introducing C++
Advantages of early multi-lingualism
How much C++ do you need to know to start?
How much C++ will you learn?
Tell me the word on the street about C+...
Zgłoś jeśli naruszono regulamin