Introduction. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington

Similar documents
PROG0101 Fundamentals of Programming PROG0101 FUNDAMENTALS OF PROGRAMMING. Chapter 3 Algorithms

CS 40 Computing for the Web

Chapter 13: Program Development and Programming Languages

3 SOFTWARE AND PROGRAMMING LANGUAGES

Developing And Marketing Mobile Applications. Presented by: Leesha Roberts, Senior Instructor, Center for Education Programmes, UTT

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

KS3 Computing Group 1 Programme of Study hours per week

Chapter 1 Chemistry: The Study of Change

1. The RSA algorithm In this chapter, we ll learn how the RSA algorithm works.

Chapter 1 Basic Introduction to Computers. Discovering Computers Your Interactive Guide to the Digital World

Current California Math Standards Balanced Equations

CHAPTER 1 ENGINEERING PROBLEM SOLVING. Copyright 2013 Pearson Education, Inc.

Guidance paper - The use of calculators in the teaching and learning of mathematics

Computer Programming I & II*

ATSBA: Advanced Technologies Supporting Business Areas. Programming with Java. 1 Overview and Introduction

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

Sample Project List. Software Reverse Engineering

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Fundamentals of Computer Science (FCPS) CTY Course Syllabus

Math Journal HMH Mega Math. itools Number

Wait-Time Analysis Method: New Best Practice for Performance Management

ZIMBABWE SCHOOL EXAMINATIONS COUNCIL. COMPUTER STUDIES 7014/01 PAPER 1 Multiple Choice SPECIMEN PAPER

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

C# and Other Languages

CTI Higher Certificate in Information Systems (Engineering)

Decomposing Numbers (Operations and Algebraic Thinking)

Basic Concepts of Information Technology (IT)

Accentuate the Negative: Homework Examples from ACE

#820 Computer Programming 1A

Fundamentals of Programming and Software Development Lesson Objectives

Course/Program Credential(s): Credential Certificate Postsecondary Degree University Degree Other:

Software. Programming Language. Software. Instructor Özgür ZEYDAN. Bülent Ecevit University Department of Environmental Engineering

Florida 4-H Consumer Choices Study Topics. Student Guide. Video Game Systems. Introduction and Background

Introduction to Fractions, Equivalent and Simplifying (1-2 days)

Software Development. Topic 1 The Software Development Process

The computer's internal components

Chapter 3.2 C++, Java, and Scripting Languages. The major programming languages used in game development.

EKT150 Introduction to Computer Programming. Wk1-Introduction to Computer and Computer Program

Frost Lake s ipad Purchase Proposal

Levels of Programming Languages. Gerald Penn CSC 324

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

Time needed. Before the lesson Assessment task:

Lesson 4. Factors and Multiples. Objectives

bel canto The Computer as High Quality Audio Source A Primer

El Dorado Union High School District Educational Services

Practical Programming, 2nd Edition

Five daily lessons. Page 23. Page 25. Page 29. Pages 31

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008

BIG MATHS A GUIDE FOR PARENTS AND CARERS

Welcome to Introduction to Computers and Programming Course using Python

Introduction to Computers and Programming

Issues in Android on Mobile Platform and Their Resolution

River Dell Regional School District. Computer Programming with Python Curriculum

2014 New Jersey Core Curriculum Content Standards - Technology

Figure 1: Graphical example of a mergesort 1.

Computer Programming. Course Details An Introduction to Computational Tools. Prof. Mauro Gaspari:

DAC Digital To Analog Converter

Numerical Analysis. Professor Donna Calhoun. Fall 2013 Math 465/565. Office : MG241A Office Hours : Wednesday 10:00-12:00 and 1:00-3:00

Python Programming: An Introduction to Computer Science

Seriously Simple Sums! Vedic Maths Free Tutorial. Maths Tips and Tricks to Improve Your Math Abilities

CS 51 Intro to CS. Art Lee. September 2, 2014

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

Graphical Environment Tool for Development versus Non Graphical Development Tool

Temperature Scales. The metric system that we are now using includes a unit that is specific for the representation of measured temperatures.

Exponential Notation and the Order of Operations

Arkansas State PIRC/ Center for Effective Parenting

Commutative Property Grade One

High level code and machine code

Using Windows Movie Maker a simple guide

Example of Standard API

TARGET COSTING AND THE PRODUCT DEVELOPMENT CYCLE ESTABLISH TARGET

Running head: LESSONS LEARNED FROM A BEGINNING MATH COACH 1. Lessons Learned from a Beginning Math Coach. Susan Muir.

Computer Science 1301 Computer Literacy. Student Learning Outcomes

Algorithms, Flowcharts & Program Design. ComPro

Assessment Management

Masters in Human Computer Interaction

How To Understand Programming Languages And Programming Languages

Computer Science 281 Binary and Hexadecimal Review

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

McGraw-Hill The McGraw-Hill Companies, Inc.,

Suggested Grade 1 2 Lesson Plan Students Rights and Responsibilities

Unit 2 Module 3: Generating Examples and Nonexamples

Sponsored by: Speaker: Brian Madden, Independent Industry Analyst and Blogger

Parentheses in Number Sentences

Mathematical goals. Starting points. Materials required. Time needed

Chapter 13: Program Development and Programming Languages

Welcome to Harcourt Mega Math: The Number Games

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

Lesson 1: Review of Decimals: Addition, Subtraction, Multiplication

Language, Learning, and Content Instruction

What Is Singapore Math?

To download the script for the listening go to:

=

Instructional Design Framework CSE: Unit 1 Lesson 1

Grade 4 - Module 5: Fraction Equivalence, Ordering, and Operations

TEaching UniT. Grade Level: Grade 4 Recommended Curriculum Area: Mathematics Other Relevant Curriculum Area(s): Language Arts

(Refer Slide Time: 00:01:16 min)

GMAT SYLLABI. Types of Assignments - 1 -

Program Your Own Game

Transcription:

Introduction CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1

Goals of This Course The goal of this course is NOT to learn Java. Java is the programming language we will use in this class. However, the goal and focus will be on general concepts about computers and programming. Java is a good language (but not the only good language) for this task: Easier to learn than some (e.g., C, C++), harder than others (e.g., Python). VERY popular in industry. 2

Goals of This Course Understand programming: What programming means Basic programming techniques Writing code that achieves some simple tasks Writing code that is easy to read, understand, test Testing and debugging 3

Beyond this Course Why do you need to take more classes if you already "know Java"? Answer 1: You will not really "know Java" after this class, you will "know some Java". Even if you fully learn Java, there is a lot more to computer science. 4

Beyond this Course Computer science courses will teach you to: Learn better programming. There is a lot that this course will not cover. Learn how computers work. Computer architecture, operating systems, networks, compilers. Perform more sophisticated tasks (solve math and engineering problems, play games, process images, design a programming language). Learn the theory. Algorithms, computational complexity. 5

What Does a Computer Do High level: plays video and audio, displays e-mail and web pages. Middle level: executes specific software (movie player, audio player, web browser), accesses specific hardware (printer, network card, speakers, monitor): Lower level: executes specific code, namely specific instructions that humans can write and modify. Even lower level: executes assembly code, which is a sequence of simple arithmetic operations and memory transfers. Even lower level: sends back and forth electric signals within and among different components, such as the CPU, the network card, monitor, printer, camera, etc. 6

What Does a Computer Do High level: plays video and audio, displays e-mail and web pages. Middle level: executes specific software (movie player, audio player, web browser), accesses specific hardware (printer, network card, speakers, monitor): Lower level: executes specific code, namely specific instructions that humans can write and modify. Even lower level: executes assembly code, which is a sequence of simple arithmetic operations and memory transfers. Even lower level: sends back and forth electric signals within and among different components, such as the CPU, the network card, monitor, printer, camera, etc. 7

Computers and Numbers At some level, a computer can be seen as just processing numbers. At a higher level, these numbers acquire a more complex meaning: Pictures and video Music and audio Text The focus in this course is basic processing of numbers and text. Build background needed for more complex data. 8

Programming Programming is the process of providing specific instructions to the computer. In some ways, similar to providing instructions to a human. Key difference: humans are smart, can understand very ambiguous instructions, and even correct obvious mistakes. Programming must provide unambiguous and correct instructions (computers can do some simple error checking, but that is limited). 9

Example I showed my teacher a picture of Michael Jordan. Then he gave me back my homework. Humans have no trouble understanding such a sentence. 10

Example I showed my teacher a picture of Michael Jordan. Then he gave me back my homework. However, from a computer s point of view, this is an ambiguous sentence. Why? 11

Example I showed my teacher a picture of Michael Jordan. Then he gave me back my homework. However, from a computer s point of view, this is an ambiguous sentence: Who is he? The teacher or Michael Jordan? 12

Programming Languages Computer programs must leave no room for ambiguity. A programming language defines a way to provide specific, unambiguous instructions to the computer. A programming language does not allow unambiguous instructions. Everything has a well defined meaning. No equivalents for the kind of, sort of, like of human languages. 13

Specific Meaning In a program, every single line has a very specific meaning. Extremely common source of problems for students: Thinking you can understand or write code without being able to UNDERSTAND THE EXACT MEANING OF EVERY SINGLE LINE. This often works in reading in a foreign language, even for speaking and writing. It will not work for reading or writing code. 14

Programming Languages Many programming languages are around: Python, C, C++, Java, JavaScript, Perl, C#, Matlab. Why that many? Each language can be preferable in specific contexts, depending on: ease of use price availability to customers quantity of already existing code support of specific features (network, databases, graphics, sound, ) portability to different platforms. 15

Programming Languages Anecdotal saying: It should take a year to learn your first programming language, a day for the second one. Programmers may disagree about the exact quantities, but agree on the general idea. ANOTHER VERY IMPORTANT DIFFERENCE FROM HUMAN LANGUAGES. So, the goal in this class is not to learn Java, but to learn how to program. 16

Algorithms An algorithm is a specific process that computes the answer to a question. An algorithm is often described in English or pseudocode, which is half-way between English and real code. Any algorithm can be implemented in any programming language. 17

Example: Converting Fahrenheit to Celsius Input: temperature in Fahrenheit. Algorithm: Step 1: Subtract 32 from the input temperature. Step 2: Multiply by 5 the result of step 1. Step 3: Divide by 9 the result of Step 2. Output: the result of step 3. Note: although given in English, each step is specific and unambiguous. 18

Algorithm vs. Program An algorithm is a description of how to solve a problem. A program is an implementation of the algorithm in a specific programming language, that can run on a specific computer. Algorithms can be written and analyzed independent of a programming language. That is the science of Computer Science. 19

Computer-Related Careers IT Speciallist. Setting up, maintaining, and fixing computer and network systems. Installing and configuring software. Computer programmer. Designing, writing, maintaining, and fixing computer software. Software, programs, code, essentially mean the same thing. Computer scientist, computer engineer, software engineer. The words scientist and engineer imply: a certain level of mathematical background and sophistication. ability to apply quantitative reasoning to design interesting, nontrivial, new software and/or hardware systems, or to analyze the properties and relative pros and cons of existing systems. 20