CS 150: Computing from Ada to the Web The Philosophy of Programming.

Slides:



Advertisements
Similar presentations
CSE594 Fall 2009 Jennifer Wong Oct. 14, 2009
Advertisements

The Writing Process Communication Arts.
Public Speaking Dramatic Reading. Aim: How can we understand the importance of understanding what we read?  Do Now: “First learn the meaning of what.
Working with Groups Working with Groups Much of your work as a mentor will be working with a group. This is a particular and valuable.
Writing for Publication
The Writing Process.
CSC 160 Computer Programming for Non-Majors Introduction Prof. Adam M. Wittenstein
By: Ms. Stanley.  The main goal of a research paper is to develop a technical writing style.  The propose of a research paper is to analyze specific.
DOCUMENTATION.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
Chapter 14 Introduction to HTML
Concept of Computer Programming November 2, 2011.
Ryann Kramer EDU Prof. R. Moroney Summer 2010.
CH1 – A 1 st Program Using C#. Program Set of instructions which tell a computer what to do. Machine Language Basic language computers use to control.
What can a good teacher do with a computer? (or 2 or 3)
 Blizzard Activity Page - Review. 2.1 Reading for All Purposes: Literary elements, characteristics, and ideas are interrelated and guide the comprehension.
The Writing Process My Favorite Things.
Research Writing and Scientific Literature
What are text features? Definitions:
It holds the book together. It also tells you the book’s title, author, publisher and call number.
1 COMS 161 Introduction to Computing Title: Course Introduction Date: August 25, 2004 Lecture Number: 1.
1 COMS 261 Computer Science I Title: Course Introduction Date: August 25, 2004 Lecture Number: 01.
David Evans Turing Machines, Busy Beavers, and Big Questions about Computing.
Recap (önemli noktaları yinelemek) from last week Paradigm Kay’s Description Intro to Objects Messages / Interconnections Information Hiding Classes Inheritance.
© Copyright © A Quick Guide. What does the law actually say? Introduced to protect people who have created original pieces of work. Books, Music, Films,
MLA Format MLA (Modern Language Association) Most commonly used to write papers and cite sources for liberal arts and humanities.
ROP Web Design Mr. Briggs’ Class Room B4 Tuesday, August 10, 2010.
 Give as much information on the divisions you have chosen as possible.  You may have something about the general topic that doesn’t apply.  You need.
The Internet Do you really know what is out there?
Enhanced Learning Through Web-Based Team and Individual Projects.
Week 1.  We RESPECT each other.  We LEARN from our mistakes.  We are a TEAM.  We TRY our best.  We CREATE.  WE CELEBRATE each other’s success.
McKinley’s Library Catalog What is a catalog? A library catalog lists all the books and other materials owned by a library.
December 5. Warm-up 1 st and 2 nd block  READ and research  Read your book  Write the title, author, and topic  Write 20 more facts (new ones) about.
Assignment 2 October 28. Assignment 2 Is due in one week, November 4 Your assignment is considered submitted when: –You have sent the zipped file to the.
Introduction to Philosophy Lecture 1-a What is philosophy? By David Kelsey.
Communication Arts The Writing Process. Communication Arts Five Stages of the Writing Process Prewriting Drafting Revising Editing Publishing.
Format of Formal Reports
Unit 2: Week 1 November 4 th – 8th Ms. Redeemer 6 th Grade Language Arts.
Some Computer Science Conceptual Background Material Doug Hogan This version for UIC Spring 2016 CS 107.
Copyright © 2013 Pearson Education, Inc. Publishing as Pearson Addison-Wesley What did we learn so far? 1.Computer hardware and software 2.Computer experience.
Title Page The title page is the first page in the book. It tells you the title of the book, the author and the illustrator. It also tells you who published.
Introduction to Humanities Chamberlain Academy. What is the study of Humanities? Humanities is the study of classical languages, literature, philosophy,
Writing an Essay. Reading a Primary Source: Step 1 Who wrote this document? In the first place, you need to know how this document came to be created.
Text INTERNAL February 11, 2011 Problem Solving. INTERNAL Tech Republic’s railway department wants a solution Tech Republic’s railway department.
Getting Ready to Study the Grammar Reading This book Please Click Here!
INTERNAL ASSESSMENT ADVICE Or…how to get a 7 on your Internal Assessment.
What is Blended Learning? Blended learning is a hybrid of face-to-face learning between students and teacher (a more traditional approach), with digital.
Researching Your Topic Technical Writing for Information Science In-Bon Kuh GNU OS Lab.
OCR A Level F453: High level languages Programming techniques a. identify a variety of programming paradigms (low-level, object- oriented,
Communication Arts The Writing Process. Communication Arts GUIDING CONCEPT As writers, we understand and demonstrate the ability and flexibility to use.
Introduction to PAD2 Dr. Mark C. Lewis
CMSC201 Computer Science I for Majors Lecture 19 – Recursion
What do we have at school?
INTERMEDIATE PROGRAMMING WITH JAVA
CSE594 Fall 2009 Jennifer Wong Oct. 14, 2009
Programming Language Design Concepts
APA & MLA STYLES.
Fundamentals/ICY: Databases 2010/11 WEEK 1
STUDY SKILLS STUDY STYLES STUDY STRATEGIES
Procedural Abstraction Object-Oriented Code
CSCD 506 Research Methods for Computer Science
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
The Five Stages of Writing
Calabasas Library Research Resources and Methods
The Writing Process.
Compare and Contrast Multiple Mediums
CSE594 Fall 2009 Jennifer Wong Oct. 14, 2009
STUDY SKILLS STUDY STYLES STUDY STRATEGIES
Copyright, Design and Patents Act (1988)
Presentation transcript:

CS 150: Computing from Ada to the Web The Philosophy of Programming

Liberal Arts Recap Language/Literature – Grammars and defining languages – Recursion in literature Visual Arts – Recursion in Escher’s drawings – Fractals Music – Bach’s Canons – Foo Fighters’ in recursion

Philosophy Definition: “Philosophy is the discipline concerned with questions of how one should live (ethics); what sorts of things exist and what are their essential natures (metaphysics); what counts as genuine knowledge (epistemology); and what are the correct principles of reasoning (logic).”

How does Philosophy relate to CS? A more general definition: “How we view the world.” How do we represent the world around us? How do we turn what we see into the world into something digital? Something a computer can understand and operate on?

Topics we’ll cover in Philosophy Modeling the world – Object-oriented programming – Abstract Data Types – Data modeling Inheritance – How objects relate to each other Requirements and Design – Understanding the needs of others Ethics in Computer Science

What have we been programming Functional Programming Paradigm – “treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast with the imperative programming style that emphasizes changes in state.”

How do we view the world? Some take the world and can turn it into mathematical functions… – Mathematicians – Physicists How do you view the world?

How I (Mark Sherriff) View the World Millions of interconnected and interrelated objects – Example: this classroom The room sits in a particular spot in a particular building at a particular place on grounds. Inside the room is a set number of seats is a prescribed formation In some of the seats are students

Object vs. Instance What is an object? – Is it a thing? Is it a place? Is it a person? An object has attributes – Where is the object? – What is the object like? An object has functions – What can the object do? – What is it used for?

Object vs. Instance An instance is a particular object – I (Mark) am an instance of a professor – My Civic is an instance of the general object car What instances are there in this room? What differentiates one instance from another?

Another way to say it Entity vs. Entity Set – An entity set is the general category that an object comes from (i.e. desks) – A particular entity is a specific object from the set (i.e. the desk at the very front on the right)

The Philosophy of OO Why does the way we view the world matter? How does a computer “view the world?” – What is machine language like? – Can we read/understand machine language? The programs we have written so far are nice, but are they things you’d use in your everyday life? What are programs you use every day?

List of programs Internet Browsing: Firefox, Safari, Opera Thunderbird, GMail, Webmail Calendar: iCal, GCal Music: iTunes, Rhapsody, Napster, … others Games: Solitare, Wii, XB360, DS IM: AIM, Adium Office: MS Office, iWork, OpenOffice

What are the purposes of these programs? Solve real-world problems Provide real-world solutions Improve quality of life So, how do you represent all that in 1’s and 0’s?

The world you are trying to model How do you tell a computer what any of this stuff is? Each programming paradigm has a different “language” it speaks to model the world Functional programming models the world in the terms of mathematics. OO programming models the world by saying that everything is an object unto itself, with attributes and functions that it can carry out, affecting other objects.

Finding Objects Define the object Book.

Finding Objects Define the object Book. A book has: – A title – An author – A publisher – Copyright – Pages of text – Pages with pictures

Finding Objects Well… what’s a page? – A page is a single sheet of paper that has text on it. Well… what’s paper? How far down do we need to go? Remember: What is the world you are trying to model?

Finding Objects Consider a library Now, what do you need to know about a book?

How do we represent objects in code Classes – Classes are made up of primitive types and functions. – Classes are entity sets / objects because they define an entire category of objects – Classes can be instantiated, creating instances – An instance is a particular entity from the class i.e. the front right desk is an instance of the Desk class

The building blocks of a class Attributes – Pieces of data that define the object Functions / Methods – Functionality that the object has – Functionality that can be performed on the object

Class in PHP <?php class Book { var $title; var $author; var $publisher; var $pages; var $callNumber; } ?>