CSE 143 Goodbye, world!.

Slides:



Advertisements
Similar presentations
CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &
Advertisements

© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
CS 101 Course Summary December 5, Big Ideas Abstraction Problem solving Fundamentals of programming.
Week 1 INFM 718N Web-Enabled Databases The Big Picture.
TEACHING PROGRAMMING BY ITERATIVE DEEPENING Dr. Mark Lee | School of Computer Science, University of Birmingham
Goodbye, world! CSE Major themes Abstraction –Leverage existing components without understanding details –Create components that can be used as.
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
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.
JAMES HERBERT BLAKE HIGH SCHOOL COURSE OFFERINGS Career, Business, Internships Multimedia,Technology Education and Engineering.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
C H A P T E R T E N Event-Driven Programming Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
Socorro Independent School District Eastlake High School.
INF 212 ANALYSIS OF PROG. LANGS LECTURE 1 Instructors: Crista Lopes Copyright © Instructors.
Lab 12: Other Languages User Interface Lab: GUI Lab Nov. 12 th, 2013.
A BUNCH OF PROGRAMMING STUFF THAT YOU MAY NEED AT SOME POINT IN YOUR LIFE A LIST OF STUFF BY SOME PROGRAMMER SOMEWHERE.
1 Why? Who? What? Jon Oberlander Director of SICSA.
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!
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
Goodbye, world!. 2 Major themes Abstraction Leverage existing components without understanding details Create components that can be used as black boxes.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
Munster Programming Training
Computer Science skill sets
Using AppInventor2 for teaching
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
INF 212 Analysis of Prog. Langs Final Lecture
CSC 321: Data Structures Fall 2017
Types for Programs and Proofs
Computing and Informatics Courses
PRE-AP computer science 1
Computing and Informatics Courses
CSC 221: Computer Programming I Spring 2010
Avraham Leff James T. Rayfield IBM T.J. Watson Research Center
Computer Science Courses
Should we have specialisations at all?
7 Big Ideas of Computing:
CSC 221: Computer Programming I Fall 2005
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.
CMPE419 Mobile Application Development
Jeliot 3 Spring 2004 Andrés Moreno García Niko Myller
Overview of System Engineering
Automated MS Word and PowerPoint Translator
Ada – 1983 History’s largest design effort
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!
CS 8532: Advanced Software Engineering
Programming Languages
Computational Thinking
CMPE419 Mobile Application Development
Computing and Informatics Courses
CSCE156: Introduction to Computer Science II
Computer Science Courses in the Major
Martin Rinard, Jiasi Shen, Varun Mangalick
Object Oriented Design
Presentation transcript:

CSE 143 Goodbye, world!

Major themes Abstraction Algorithm analysis Recursion Beauty Leverage existing components without understanding details Create components that can be used as black boxes Algorithm analysis Scalability and growth Tradeoffs between implementations Recursion Reason about problems in terms of self-similarity Write very short code to achieve complex behaviors Beauty

Beyond programming Mind-controlled robots Muscle-controlled interfaces http://www.youtube.com/watch?v=TQ7EOpPNQyw Muscle-controlled interfaces http://www.youtube.com/watch?v=pktVSTwC8qo 3D models from pictures http://www.youtube.com/watch?v=25Yifq70elY Face aging http://www.youtube.com/watch?v=fLQtssJDMMc Animation http://www.youtube.com/watch?v=b4kkPlLdMvI Security http://www.pbs.org/wgbh/nova/tech/tadayoshi-kohno.html

Computing for good Foldit Open Data Kit Mobile Midwives’ Ultrasound MobileASL Tactile Graphics

Courses? CSE non-majors CSE 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

Explore Big Ideas Historical context Key algorithms Privacy Automate all the things

Do a 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?

Other languages? Expanding your Java knowledge with a project is valuable Pick a project, see what language is most appropriate iOS: Objective-C or Swift Android: Java Client-side web: Javascript Beautiful visuals: Processing Quick data processing: Python Embedded systems: C/C++ Learn a new paradigm Functional languages: Racket, Haskell

Leveraging existing code Accessing Facebook data http://restfb.com/ Processing language http://nlp.stanford.edu/software/ Building games with physics http://jbox2d.org/ Processing biological data http://biojava.org/wiki/Main_Page

Weekly meetings Change – technologies for low-income regions http://change.washington.edu/ Dub – human-computer interaction and design http://dub.washington.edu/