CSC 160 Computer Programming for Non-Majors Introduction Prof. Adam M. Wittenstein

Slides:



Advertisements
Similar presentations
Introducing Extensive Reading
Advertisements

The Writing Process Communication Arts.
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Event driven software.
Writing the report.
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
CSC 160 Computer Programming for Non-Majors Lecture #9: Booleans Prof. Adam M. Wittenstein
James Tam Introduction To CPSC 231 James Tam Administrative (James Tam) Contact Information -Office: ICT 707 -
James Tam Introduction To CPSC 219 James Tam Administrative (James Tam) Contact Information -Office: ICT 707 -
CSC 160 Computer Programming for Non-Majors Lecture #1: What is Programming? Prof. Adam M. Wittenstein
CSC 160 Computer Programming for Non-Majors Introduction Prof. Adam M. Wittenstein
CSC 160 Computer Programming for Non-Majors Lecture #3: Calling Functions Prof. Adam M. Wittenstein
CS /29/2004 (Recitation Objectives) and Computer Science and Objects and Algorithms.
CSC 160 Computer Programming for Non-Majors Chapter 4: Conditional Expressions and Functions Prof. Adam M. Wittenstein
CSC 160 Computer Programming for Non-Majors Lecture #5b: Designing Programs Prof. Adam M. Wittenstein
James Tam Introduction To CPSC 203 James Tam Administrative (James Tam) Contact Information -Office: ICT 707 -
James Tam Introduction To CPSC 203 James Tam Administrative (James Tam) Contact Information -Office: ICT 707 -
On-Demand Writing in 5 th grade What is it? On-Demand Writing is… Writing to a prompt in a limited amount of time –you will be given a choice of two.
Educator’s Guide Using Instructables With Your Students.
Research Strategies Step-by-Step An Introduction to Library Research Questions about this activity? Contact Kimberley Stephenson at
CSCI 200 Introduction To Programming with Visual Basic Bob Bradley.
The Writing Process My Favorite Things.
End of Unit 2 Assessment, Part 1a: Writing Body Paragraphs
Introduction CSE 1310 – Introduction to Computers and Programming
TAKS Test-Taking Tips!. What is Passing? Based on the 2007 panel recommendations, passing scores are: Passing Commended 9 th Reading67%86% 9 th Math60%87%
Achieve3000’s KidBiz Third Grade Council Rock School District.
CSC1401: Introductory Programming Steve Cooper
PSSA Writing Test.
O VERVIEW OF THE W RITING P ROCESS Language Network – Chapter 12.
1 The Rights and Wrongs of Assessing Writing Nermin S. Eltorie American University School of Continuing Education English Studies.
Day 5- Test Taking Skills PPT Developed by Debra A. Wilson.
Test Taking Skills. Study in a comfortable place where you won’t be distracted. Schedule review time. Don’t leave it to the last minute. Write a study.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
How to do Quality Research for Your Research Paper
Welcome to IIT and cs115!.
Year 9 English exam What to expect and what to do….
Achieve3000’s KidBiz Third Grade Council Rock School District.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
An Overview of Programming in Python CSC 161: The Art of Programming Prof. Henry Kautz 9/9/2009 Slides stolen shamelessly from Dr. Mark Goadrich, Centenary.
Keys to success on the Gateway: A checklist  Demonstrate that you understand the writing task  Address and develop all parts of the writing task  Organize.
Tentative Unit 1 Schedule Week 2 1/19- MLK Day-No Class 1/21-Using library databases (bring computer to class) 1/23- Intro to Exploratory Narrative & Source.
Objectives This section will show you how to: write effective paragraphs and essays, describe the relationships between writing and reading provide some.
Determining the Author’s Purpose, Tone, Point of View, and Intended Audience Chapter 10.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
CSC 160 Computer Programming for Non-Majors Chapter 8: Scheme Language Review Prof. Adam M. Wittenstein
Math 105: Problem Solving in Mathematics
PRACTICAL ENGLISH CONTENT AREA READING. Matthew R. Anderson Education 2008 Teacher Licensure, University of Dayton, Dayton, Ohio USA 1996 MFA, Miami University,
English Composition Jonathan Watts. Welcome back to class! I hope you had a wonderful weekend! Today we will talk about Essay Development –Pg
Gateway. All students required to pass Gateway Science = April 20 –Graded on: Science Language Arts Social Studies = April 22 –Graded on: Social Studies.
McGraw-Hill © 2007 The McGraw-Hill Companies, Inc. All rights reserved. Objectives This section will show you how to: write effective paragraphs and essays,
CS 232: Computer Architecture II Prof. Laxmikant (Sanjay) Kale.
CS 345 – Software Engineering Nancy Harris ISAT/CS 217
A Puzzle for You. Puzzle Someone is working for you for 7 days You have a gold bar, which is segmented into 7 pieces, but they are all CONNECTED You have.
Welcome to Astronomy 113 “ It would seem that you have no useful skill or talent whatsoever, he said.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Event driven software.
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Graphical-user interfaces.
Online Learning Modules Melisha McCoskey Walden University Dr. Jacqueline Derby New and Emerging Technologies EDUC 6715 November 11, 2011.
Idiom of the Day IN THE LOOP To keep someone informed and up-to-date about what’s happening – usually in the workplace.
Mrs. Miller’s Parent Teacher Night Welcome to Grade 4-13 Language Arts Reading Social Studies.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Basic Guide to Writing an Essay. What is an Essay? An essay can have many purposes, but the basic structure is the same no matter what. You may be writing.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Introduction CSE 1310 – Introduction to Computers and Programming
The Five Stages of Writing
The Five Stages of Writing
Study Skills for School Success! Session 3
Of Mice and Men Unit Plan Grade 10
Education and its Importance
Introduction To CPSC 233 James Tam Event driven software
Introduction To CPSC 233 James Tam Event driven software
Presentation transcript:

CSC 160 Computer Programming for Non-Majors Introduction Prof. Adam M. Wittenstein

What's this course about? ● Fundamentals of computer programming ● Going from a word problem to a working program ● Designing programs to be modified and reused ● How computer scientists think

What's this course not about? ● A particular programming language – (e.g. C++, Java, Scheme, perl,...) ● A particular programming environment – (e.g. VisualStudio, DrScheme,...) ● Designing and writing Web pages

However, we have to use... ● A programming language – (we'll use Scheme) ● A programming environment – (we'll use DrScheme) ● The Web – (for textbook, assignments, announcements,...)

Who should take this course? ● Non-CS majors for Math/CS distribution credit ● Math majors for programming credit ● Undecided majors to “test the waters” of programming ● CS majors as a “warm-up” to CSC 171

Who should not take this course? ● CS majors for major credit ● End-users and Web page authors ● Students looking for a “cake” course

This course as a Liberal Arts Requirement ● This course trains you to think logically by focusing on Design Recipes: beginning from a problem statement and ending with a well- organized solution, a skill that is useful throughout college and life, regardless of your choice of profession. ● Many professions require some form of computer programming. Some examples include: accounting, photography, music, and of course, computer science.

Getting Started: A Course Overview Computers do many of the same things people do. The differences are that computers are: ● faster and more accurate ● they do not get bored To program a computer: Figure out how you would solve a problem. Present that explanation to the computer.

Course Overview (continued) Unfortunately, computers are literal-minded and have no intuition. So your explanation has to be more precise than if you were explaining something to a human being. Therefore, this course is about: Figuring out precisely how you would solve a problem. Presenting that explanation to the computer.

Imagine this assignment... ● 20-page paper ● Due at end of semester ● On Napoleon's invasion of Russia

What kinds of knowledge are needed? 1. How to write a 20-page paper 2. How to finish a long-term project on time 3. Napoleon & Russia

Imagine this assignment... ● 20-page paper ● Due at end of semester ● On Napoleon's invasion of Russia ● In Swedish ● With a quill pen

What kinds of knowledge are needed? 1. How to write a 20-page paper 2. How to finish a long-term project on time 3. Napoleon & Russia 4. Swedish language (spelling, vocabulary, grammar, idioms…) 5. How to use a quill pen

In a programming course How to structure a program (understand the problem and design a solution) 2. How to plan your time (going through the steps of the Design Recipes) 3. Content-area knowledge (graphics, economics, physics, etc.) 4. Scheme (or C++ or Java or whatever) language 5. How to use the software & hardware

Our Focus Although we need to do all five of these things, our goal is learning how to do the first two. However, all problems require: ● Knowledge (in some content area) ● Language (like English) ● Thinking Tools (like your brain)

Content-area Knowledge ● This is not a course on math or science or English, but we will solve problems from these disciplines. ● No need to worry, I will either give you the required information, or you will be allowed to look it up.

Writing and Thinking ● Outside this class, we write in a language called English. Inside this class, we will write in a language called Scheme. ● Outside this class, we use our brain to think about what is being said in English. Inside this class, we use Dr. Scheme to think about what is being said in Scheme.

Scheme is to English ● Scheme - The programming language that we will use. ● Dr. Scheme - the program that we will use to run programs written in Scheme. As Dr. Scheme is to the brain

Choosing a Language to Speak ● We can speak in any language. Why do we choose English?

Choosing a Language to Speak ● We can speak in any language. Why do we choose English? ● Because we already know enough of it to understand the basics of how it works.

Choosing a Language to Program In ● We can program in any programming language. Why do we choose Scheme?

Choosing a Language to Program In ● We can program in any programming language. Why do we choose Scheme? ● Because we can quickly learn enough of it to understand the basics of how it works.

Design Recipe (in Life) To solve any problem, in any area (not just programming), requires three steps:  Figure out what you need to do.  Do it.  Check that you did it right.

Design Recipe (in Programming) To make this recipe useful, we need to adapt it more specifically to computer programming:  Figure out precisely what you need to do.  Tell the computer how to do it.  Check that the computer does it right.

CSC 160 Computer Programming for Non-Majors Chapter 1: Students, Teachers, Computers Prof. Adam M. Wittenstein

A few preliminary definitions ● Program - A set of instructions that tell the computer how to perform a task ● Programming - Writing a program ● Programming language - a language of instruction for a computer program ● Data - Information that is used by a program ● Operations - The individual instructions performed by the computer ● Primitive operations - The basic operations performed on data of a specific data type. – e.g., +, -, *, / are primitive operations performed on integers.

Some typical problems in English ● The temperature is 35 0 C; convert this temperature into Fahrenheit. ● Are there 7 days in a week? ● How do we cover someone’s face in a picture?

What the computer would think? ● The computer would have no idea what we are asking it.

What the computer would think? ● The computer would have no idea what we are asking it. ● We must communicate with the computer in a language that it understands.

What the computer would think? ● The computer would have no idea what we are asking it. ● We must communicate with the computer in a language that it understands. ● We will communicate in the Scheme language.

Types of Data There are many types of data. They are split into two general categories: 1) atomic (simple) data – numbers, booleans, symbols, images, etc. 2) compound data – structures and lists composed of other pieces of data. For example, a series (list) of numbers. The next four chapters deal only with atomic data.

Course web page: I recommend you visit the web page frequently as I will post important information including: – the lecture slides (so you can find out what you missed, if you are absent) – reading and programming assignments – assignment corrections (and perhaps, extensions) – class cancellations (in the event of weather, or some other emergency)

Reading assignments for next time... ● Read the Syllabus.Syllabus ● Read the Joys (and Woes) of the Craft of Programming.Joys (and Woes) of the Craft of Programming ● Read the preface of the textbook (pages xvii to xxiv).preface ● Read Chapter 1 of the textbook (pages 1 to 5).Chapter 1

Homework #1 (due MONDAY) ● Write a short essay (at least 1-2 pages) on your reaction to these reading assignments, and them to ● Be sure to include your first and last name! ● The essay will be graded primarily on whether I'm convinced you've read the material and thought about it carefully, although really bad spelling, grammar, or style may cost you points too.

Next chapter… A First Data Type: Numbers ● The computer can do math for you – we will write short math problems as computer programs. ● For the non-math majors, don’t worry, this is not a math course. We will review any math before we use it. Also, most of the math we use will be from elementary school: adding, multiplying, and so on.