Download presentation
Presentation is loading. Please wait.
2
Administrivia Interviews this week: ex-TA Paul Hale Nate's office hours, as usual: Wed 2-4 The final survey will be up by Thursday: –you NEED to do this, to receive a grade on your project! Final: –Thursday, May 19, 5-8pm –Bechtel Auditorium Final Review Session: –What time is preferable? –Location TBA (probably the same, tho): check the course portal. –Practice final in reader; check course portal for additional resources
3
April 18Finish advanced list processing (recursion) Start on the big project CHECKOFF #1 – Thur/Fri April 25Lecture: CS major; Scheme, Lab: Big Project - Tue/Wed – work with your TA - Thur/Fri – CHECKOFF #2 TAs will read your code May 2Lecture: Course summary; solve problems Lab: Finish up the Project - Tue/Wed – CHECKOFF #3 TAs will run your code - Thur/Fri – Project Due (and end of lab) May 9Review session/office hours 105 Northgate 5-6 (during normal lecture)
4
Any questions about your projects?
5
How do you test for "bad inputs"? Never assume anything that comes from the user –this is a security principle Check your assumptions surrounding –Data types –Lengths and formats Listen to your TA (checkoff 3), and get help
6
Any questions about Lists
7
Lists (after the midterm) Lists are containers, like sentences where each element can be anything –Including, another list ((beatles 4) (beck 1) ((everly brothers) 2) … ) ((california 55) (florida 23) ((new york) 45) ) (#f #t #t #f #f …)
8
List constructors cons –Takes an element and a list –Returns a list with the element at the front, and the list contents trailing Append –Takes two lists –Returns a list with the element of each lists put together List –Takes any number of elements –Returns the list with those elements
9
List selectors car –Like first cdr –Like butfirst
10
Common list procedures Map = every Filter = keep Reduce = accumulate Null? = empty? Recursion is just the same!
11
Why would you want to be a computer science major!?
12
Lower division CS courses There are three lower division courses required for CS majors –61a: fundamentals of computer science –61b: data structures –61c: machine structures CS3 is not required, but is very useful
13
CS61a: Fundamentals Requires recursion (you've got it!) Exposure to several programming paradigms, and high level ways to organize programs Exploration of related areas of computer science Like and unlike CS3: –Scheme is used; UCWISE is not. –CS3 topics are covered in the first 3-4 weeks
14
CS61b: Data structures –Requires 61A (with a B- or higher) –Wide coverage of dynamic data structures: queues, trees, arrays, strings, hash tables, etc. –Beginning software engineering: design, codinng, testing, debugging, and analysis. There is a lot of programming in this course –Java, and object-oriented programming –A pilot UCWISE version was created last semester
15
CS61C: Machine structures –Requires: 61B –Low level software (i.e., what happens when you read data from a disk drive, or hit a key on the keyboard) –Operating system principles –C (the programming language) is used, as well as others.
16
More CS courses CS70: lower-division course on proofs and algorithms Upper Division courses –Operating systems –Theory –Architecture and hardware –Applications: Artificial Intelligence (Scheme again!) Databases Graphics User Interfaces
17
More Courses CS self-paced: 1 unit, P/NP. Learn another programming language. SIMS: School of information management. EE: analog versus digital, building computers. There are many! –Mike Clancy (7 th floor Soda) knows all.
18
The language Scheme Scheme allows you to ignore tedium and focus on core concepts The core concepts are what we are teaching you Other languages: –Generally imperative, sequential –Lots and lots of syntactic structure (built in commands) –Object-oriented is very "popular" now Note that Scheme/Lisp does show up: scripting languages inside applications (emacs, autocad).
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.