Goodbye, world!. 2 Major themes Abstraction Leverage existing components without understanding details Create components that can be used as black boxes.

Slides:



Advertisements
Similar presentations
Lecture 0: Course Overview
Advertisements

CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &
TAILS: COBWEB 1 [1] Online Digital Learning Environment for Conceptual Clustering This material is based upon work supported by the National Science Foundation.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Department of Mathematics and Computer Science
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
CS 101 Course Summary December 5, Big Ideas Abstraction Problem solving Fundamentals of programming.
CSE 143 Lecture 26 Computer Science slides created by Marty Stepp and Benson Limketkai
Week 1 INFM 718N Web-Enabled Databases The Big Picture.
Sm-ART Presented by: Mark Picazo. CONTENTS  Sm-ART  Sm-ART Builder  Sm-ART Interface  Sm-ART Language  Sm-ART Android  Sm-ART In Use  Sm-ART Demo.
Goodbye, world! CSE Major themes Abstraction –Leverage existing components without understanding details –Create components that can be used as.
Foundations of Programming Languages – Course Overview Xinyu Feng Acknowledgments: some slides taken or adapted from lecture notes of Stanford CS242
Software Development Concepts ITEC Software Development Software Development refers to all that is involved between the conception of the desired.
Applications Of Your Growing Potential. What We’ve Been Doing We’ve been writing Java programs In an IDE called Eclipse For desktop and laptop computers.
WEEK 1 CS 361: ADVANCED DATA STRUCTURES AND ALGORITHMS Dong Si Dept. of Computer Science 1.
Platforms for Learning in Computer Science July 28, 2005.
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
CS324e - Elements of Graphics and Visualization Class Intro
School of Management & Information Systems
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
Socorro Independent School District Eastlake High School.
INF 212 ANALYSIS OF PROG. LANGS LECTURE 1 Instructors: Crista Lopes Copyright © Instructors.
1 Why? Who? What? Jon Oberlander Director of SICSA.
1 CSC 321: Data Structures Fall 2013 See online syllabus (also available through BlueLine2): Course goals:  To understand.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
I'll give you time to fill out evals at the end – please wait until I'm out of the room! Goodbye, world!
CSE 143 Lecture 24 Computer Science Goodbye, world! slides adapted from Marty Stepp, Hélène Martin, and Benson Limketkai
I'll give you time to fill out evals at the end. Please wait until I'm out of the room! Goodbye, world!
I'll give you time to fill out evals at the end. Please wait until I'm out of the room! Goodbye, world!
The course. Description Computer systems programming using the C language – And possibly a little C++ Translation of C into assembly language Introduction.
CSE 331 Software Design & Implementation Hal Perkins Autumn 2012 Wrapup 1.
Digital Learning India 2008 July , 2008 Mrs. C. Vijayalakshmi Department of Computer science and Engineering Indian Institute of Technology – IIT.
CSE 143 Lecture 25 Computer Science slides created by Marty Stepp, Hélène Martin, and Benson Limketkai
More Computer Science in your Future? CSE 142 Autumn
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
COMPUTER III. Fundamental Concepts of Programming Control Structures Sequence Selection Iteration Flowchart Construction Introduction to Visual Basic.
Efficient Map Path Finding with Realistic Conditions Third Quarter Version Olex Ponomarenko.
Announcements No lectures or labs next week No final! Due dates (see Calendar) Wednesday—Lab 12 and Project 3B Thursday—1-1-1 rule for Project 3B Friday—Vote.
Background & Related Work Approaches to teaching media computation have so far primarily been reliant on textual programming languages [1]. For students.
Department of Mathematics and Computer Science
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
Tel : About iCodeinc: iCode Inc is a state-of-the-art educational institution located in the Dallas area. iCode’s mission.
SWE minor 2007 Minor in Software Engineering Offered by the Departments of Computer Science and Information & Software Engineering New for Fall 2007.
Introduction of Scratch (1/4) You can find Scratch on the Web:
Sub-fields of computer science. Sub-fields of computer science.
Introduction to Scratch
Computer Science skill sets
CS240: Advanced Programming Concepts
Emerging Applications and Platforms in Embedded and Realtime Systems
CSC391/691 Intro to OpenCV Dr. Rongzhong Li Fall 2016
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
CSC 321: Data Structures Fall 2016
CSC 321: Data Structures Fall 2017
Types for Programs and Proofs
PRE-AP computer science 1
Computer Science Courses
Lecture 39: Goodbye, world!
Introduction CSE 1310 – Introduction to Computers and Programming
Major themes Abstraction Design tradeoffs Recursion Leverage existing components without understanding details Create components that can be.
CSE 143 Goodbye, world!.
Programming Languages
CSE 142 vs CSE 143 CSE 142 CSE 143 You learned how to write programs and decompose large problems with: Print statements Methods Control Structures.
Lecture 41: Goodbye, world!
Programming Languages
CSCE156: Introduction to Computer Science II
Computer Science Courses in the Major
Presentation transcript:

Goodbye, world!

2 Major themes Abstraction Leverage existing components without understanding details Create components that can be used as black boxes Design tradeoffs Algorithm analysis - scalability and growth Keeping code easy to read for maintainability Recursion Reason about problems in terms of self-similarity Write very short code to achieve complex behaviors Art – "A programmer who subconsciously views himself as an artist will enjoy what he does and will do it better." (Knuth)

3 Automate all the things Foreign policy: outcome prediction Law: evidence summary Medicine: smart diagnostics Music: hit identification Sports: superstar discovery Wall Street: high frequency trading

4 Explore Big Ideas Historical contextKey algorithmsPrivacy

5 Beyond programming Mind-controlled robots Muscle-controlled interfaces 3D models from pictures Face aging Animation Security

6 What project? Little text-processing applications identify lines above 100 remove line-breaks Add a GUI to the random sentence generator Automate chemistry, physics, calculus problems, etc Find quotes by keyword in books What are you currently doing that a computer could do?

7 What language? Expanding your Java knowledge with a project is valuable Pick a project, see what language is most appropriate iOS: Objective-CObjective-C Android: Java Client-side web: Javascript Beautiful visuals: ProcessingProcessing Quick data processing: PythonPython Embedded systems: C/C++ Learn a new paradigm Functional languages: Racket, Haskell (now, Java 8, too!)RacketHaskell

8 Leveraging existing code Processing language Building games Building games with physics Processing biological data Accessing Facebook data

9 Using the restFB API Add the restfb jar to your build pathrestfb jar In Eclipse, right click on your project > properties In Java Build Path, Add JARs... Get an access token from the Facebook Graph API ExplorerFacebook Graph API Explorer

11 Courses? CSE non-majors CSE 154: Web Programming CSE 373: Data Structures and Algorithms CSE 374: Programming Concepts and Tools (C/C++, Linux,...) CSE 131: Digital Photography CSE 460: Animation Capstone (open to all majors) INFO, AMATH, DXARTS,... CSE majors CSE 311: (Mathematical) Foundations of Computing CSE 332: Data Abstractions (Data Structures and Algorithms) CSE 331: Software Design and Implementation CSE 341: Programming Languages CSE 344: Intro to Data Management (and databases) CSE 351: Hardware/Software Interface

12 Weekly meetings Change – technologies for low-income regions Dub – human-computer interaction and design

13