CS3 Fall 2005 Lecture week 15. Administrivia The final survey will be up tomorrow: –you NEED to do this to receive a grade on your project! Final: –Saturday,

Slides:



Advertisements
Similar presentations
Lecture 2 Calling and Defining Methods in Java. Introduction ●Calling and defining methods ●Declaring and defining a class ●Instances of a class ●The.
Advertisements

UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 531 Compiler Construction Final Lecture of the Semester Spring 2010 Marco.
Knowledge Retention from Introductory CS Courses Anthony Baxter Paul Piwowarski University of Kentucky.
CS3 Fall 2005 Lecture 11: Finish higher order functions Midterm Prep.
COMP171 Data Structure & Algorithm Tutorial 1 TA: M.Y.Chan.
CS3 Fall 2005 Lecture 10: More on higher order functions.
James Tam Introduction To CPSC 219 James Tam Administrative (James Tam) Contact Information -Office: ICT 707 -
Slide 1 CS3 Fall 2005 Lecture week 13: Introduction to the Big Project.
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
CS 101 Course Summary December 5, Big Ideas Abstraction Problem solving Fundamentals of programming.
Feb 28More complicated recursions March 7Tree recursion, etc. Number-spelling Miniproject (#2) March 14Higher order procedures March 21Spring Break March.
COMP 14 Introduction to Programming Miguel A. Otaduy Summer Session I, 2004 MTWRF 9:45-11:15 am Sitterson Hall 014.
CS3: Introduction to Symbolic Programming Spring 2006Nate Titterton Lecture 2: Introduction, and Conditionals.
IS 1181 IS 118 Introduction to Development Tools Chapter 5 Reusing Code.
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,
Slide 1. Slide 2 Administrivia Nate's office hours are Wed, 2-4, in 329 Soda! TA Clint will be handing out a paper survey in class sometime this week.
Geo 118/318 – Introduction to GIS Programming Dr. Jim Graham.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
ECS15: Introduction to Computers Fall 2013 Patrice Koehl
CS190/295 Programming in Python for Life Sciences: Lecture 1 Instructor: Xiaohui Xie University of California, Irvine.
Introduction to Programming G50PRO University of Nottingham Unit 1 : Introduction Paul Tennent
Introduction COMP104: Fundamentals and Methodology.
CGS3066: Web Programming and Design Summer 2014 Instructor Mir Anamul Hasan.
Computer Network Fundamentals CNT4007C
LIS651 lecture 7 PHP mySQL Thomas Krichel
Alexandria University Faculty of Science Computer Science Department Introduction to Programming (CS 102) C++ Programminhg.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
CS 106 Introduction to Computer Science I 01 / 25 / 2010 Instructor: Michael Eckmann.
CS 330 Programming Languages 09 / 04 / 2008 Instructor: Michael Eckmann.
February 25, ICE 1341 – Programming Languages (Lecture #1) In-Young Ko Programming Languages (ICE 1341) Lecture #1 Programming Languages (ICE 1341)
Understanding SSIS Control Flows Bret Stateham Training Manager Vortex Learning Solutions blogs.netconnex.com.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Marie desJardins University of Maryland, Baltimore County.
CS146 Database Systems &Team Projects Spring 2009.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Introduction to Databases Computer Science 557 September 2007 Instructor: Joe Bockhorst University of Wisconsin - Milwaukee.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
Course Introduction Andy Wang COP 4530 / CGS 5425 Fall 2003, Section 4.
Just a Little PHP Programming PHP on the Server. Common Programming Language Features Comments Data Types Variable Declarations Expressions Flow of Control.
CSC 221: Computer Programming I Fall 2001 course overview  what did we set out to learn?  what did you actually learn?  where do you go from here? 
June 19, Liang-Jun Zhang MTWRF 9:45-11:15 am Sitterson Hall 011 Comp 110 Introduction to Programming.
IST 210: Organization of Data
A-1 © 2000 UW CSE University of Washington Computer Programming I Lecture 21: Course Wrap-up and Look Ahead.
CS162 Week 1 Kyle Dewey. Overview Basic Introduction CS Accounts Scala survival guide.
University of Macau Faculty of Science and Technology Computer and Information Science SFTW 241 Programming Languages Architecture 1 Group B5.
Computer Networks CNT5106C
1 Course Summary Spring 2007 CS 101 Aaron Bloomfield.
CMSC 104, Section 301, Fall Lecture 18, 11/11/02 Functions, Part 1 of 3 Topics Using Predefined Functions Programmer-Defined Functions Using Input.
September 5, 2006Introduction 1 of 6 WELCOME TO CS15!
CS 440 Database Management Systems Stored procedures & OR mapping 1.
CS 100Lecture 231 Announcements Check your grades on the door of 5141 Upson More review tomorrow Review session Sunday night w/Alan FINAL EXAM: Tuesday.
1 Welcome Alireza Humber College Lecture 1 Game 540 Alireza
COP-3330: Object Oriented Programming Course Introduction May 14, 2012 Eng. Hector M Lugo-Cordero, MS.
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
CS3431-B111 CS3431 – Database Systems I Logistics Instructor: Mohamed Eltabakh
CS3: Introduction to Symbolic Programming Spring 2006Nate Titterton Lecture 2: Introduction, and Conditionals.
PHP and SQL Server: Connection IST 210: Organization of Data IST2101.
Introduction to CSCI 1311 Dr. Mark C. Lewis
CMSC201 Computer Science I for Majors Lecture 19 – Recursion
CSc 020: Programming Concepts and Methodology II
Computer Networks CNT5106C
AP Computer Science Principals Course Importance and Overview
Application Development Theory
Programming COMP104: Fundamentals and Methodology Introduction.
CS190/295 Programming in Python for Life Sciences: Lecture 1
Tonga Institute of Higher Education IT 141: Information Systems
AP Computer Science Principals Course Importance and Overview
Tonga Institute of Higher Education IT 141: Information Systems
Dr. David Matuszek Spring, 2003
CSCE156: Introduction to Computer Science II
CGS 3066: Web Programming and Design Fall 2019
Presentation transcript:

CS3 Fall 2005 Lecture week 15

Administrivia The final survey will be up tomorrow: –you NEED to do this to receive a grade on your project! Final: –Saturday, Dec 17 th, 8-11 a.m. –155 Dwinelle –Practice final in reader Study help: –Final review session: Thursday, Dec. 15 th, 8 pm – 11 pm. Wozniak Room, 430 Soda Hall –Check the course portal announcements for additional office hours the week before the final. –Send questions to Bobak, James, or Nate.

Nov 28Lecture: What is CS at Berkeley? (guests) Lab: Big Project CHECKOFF #1 – Tue/Wed (beginning of lab) CHECKOFF #2 – Thur/Fri Dec 5Lecture: Summary, other languages Lab: Finish up the Project CHECKOFF #3 – Tue/Wed Project Due on Thur/Fri Dec 15Final Review Session, 8pm-11pm Dec 17Final: 8am-11am, 155 Dwinelle

The project Checkoff #3 is the next lab. The TA will run your code. Project is due at midnight on the day of your lab, this Thursday/Friday. Any questions about anything?

So, what have we done in CS3? Consider the handout of topics –Common topics –Pre-recursion –Recursion –Higher order procedures –Lists –Case studies –Working with large programs

Another list… 1.Functional programming 2.Functions as data 3.Recursion 4.Abstraction 5.Managing large programs

Another list continued 1)Functional Programming –All that can matter to a procedure is what it returns. –Small functions can be easily tested (isolated) –In other languages, you typically: Perform several actions in a sequence Set the value of a global or local variable. Print, write files, draw pictures, connect to the internet, etc. –Other "paradigms": sequential, object-oriented, declarative

Another list continued 2) Functions as data –Higher order procedures will take functions as parameters. –It is useful to return functions –Lambda is quite useful

Another list continued 3) Recursion –Linear (simple) to quite advanced –In contrast to iteration and looping (where counters or state define looping constraints) Knowledge of recursion will help these simpler cases.

Another list continued 4) Abstraction –The big idea that is related to everything! –A design practice that makes it possible to carve up a problem, and therefore focus on only part of it. Makes working collaboratively more efficient

Another list continued 5) Managing large programs –Style: commenting, naming conventions, etc. –Abstraction: for maintenance and collaboration –Iterative testing –Reading the specifications, and communicating often with colleagues

How are you going to study for the Final?

The language Scheme Scheme allows you to ignore tedium and focus on core concepts –The core concepts are what we are teaching! Other languages: –Generally imperative, sequential –Lots and lots of syntactic structure (built in commands) –Object-oriented is very "popular" now

CS3 concepts out in the world Scheme/lisp does show up: scripting languages inside applications (emacs, autocad, Flash, etc.) Scheme/Lisp is used as a "prototyping" language –to quickly create working solutions for brainstorming, testing, to fine tune in other languages, etc. Recursion isn't used directly (often), but recursive ideas show up everywhere

Java and PHP Java is a very popular programming language –Designed for LARGE programs –Very nice tools for development –Gobs of libraries (previous solutions) to help solve problems that you might want solved PHP –Popular course for web development (combined with a web-server and database) –Lots of features, but little overall "sense" –Because programs in PHP execute behind a web- server and create, on the fly, programs in other languages, debugging can be onerous.

SQL (structured query language for databases) resembles HOFs query: “Tell me the names of all the lecturers who have been at UCB longer than I have.” select name from lecturers where date_of_hire < (select date_of_hire from lecturers where name = 'titteton'); query: “Tell me the names of all the faculty who are older than the faculty member who has been here the longest.” select L1.name from lecturers as L1 where L1.age > (select L2.age from lecturers as L2 where L2.date_of_hire = (select min(date_of_hire) from lecturers) );