Introduction CSE 1310 – Introduction to Computers and Programming

Slides:



Advertisements
Similar presentations
CS 102 Computers In Context (Multimedia) 01 / 21 / 2009 Instructor: Michael Eckmann.
Advertisements

©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Course: Introduction to Computers
Introduction to Programming (in C++) Introduction Jordi Cortadella, Ricard Gavaldà, Fernando Orejas Dept. of Computer Science, UPC.
Introduction to computer: storing instructions and information.
CS102 Introduction to Computer Programming
Computer Programming-1 CSC 111 Chapter 1 : Introduction.
1 Chapter-01 Introduction to Computers and C++ Programming.
Introduction CSE 1310 – Introduction to Computers and Programming
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Topics Introduction Hardware and Software How Computers Store Data
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
Overview of Computing. Computer Science What is computer science? The systematic study of computing systems and computation. Contains theories for understanding.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CS 102 Computers In Context (Multimedia)‏ 01 / 23 / 2009 Instructor: Michael Eckmann.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 1 Introduction to Computers and Programming.
Introduction to Programming ICS2O Findlay. Learning Goals  We will learn  The definitions of a computer, program and programming language.  The different.
CSC-115 Introduction to Computer Programming
Chapter 1 What is Programming? Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
Introduction to Programming Using C Introduction to Computer Programming.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Introduction to programmable computing devices. What is a computer Computer: How was the computer developed/invented: A computer is a "reckoning" or computing.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Beginning Snapshots Chapter 0. C++ An Introduction to Computing, 3rd ed. 2 Objectives Give an overview of computer science Show its breadth Provide context.
The Hashemite University Computer Engineering Department
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Introduction to Computer Programming using Fortran 77.
How does a computer works Hyoungshick Kim Department of Computer Science and Engineering College of Information and Communication Engineering Sungkyunkwan.
Chapter 1: Introduction to Computer Science and Media Computation.
Computers and Programming
Lecture 1b- Introduction
Development Environment
Component 1.6.
Algorithms and Problem Solving
High or Low Level Programming Language? Justify your decision.
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.
Computer Programming (BCT 1113)
Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science.
Topics Introduction Hardware and Software How Computers Store Data
CSCI-235 Micro-Computer Applications
Lecture 1: Introduction to JAVA
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
GC101 Introduction to computers and programs
Welcome to CSE1002.
Introduction to Computers and Java
A451 Theory – 7 Programming 7A, B - Algorithms.
Course: Introduction to Computers
Chapter 1: An Overview of Computers and Programming Languages
CS 21a: Intro to Computing I
Learning to Program in Python
Objective of This Course
Topics Introduction Hardware and Software How Computers Store Data
Introduction CSC 111.
Chapter 1 Introduction(1.1)
Programming.
Programming Languages
Algorithms and Problem Solving
CompSci 1: Principles of Computer Science Lecture 1 Course Overview
Java Programming Introduction
ICT Programming Lesson 1:
Welcome to AP Computer Science A!
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
What is Programming Language
Presentation transcript:

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

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.

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

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.

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.

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.

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.

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.

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).

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.

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?

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?

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 ambiguous instructions. Everything has a well defined meaning. No equivalents for the “kind of”, “sort of”, “like” of human languages.

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.

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. …

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”.

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.

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.

Algorithm vs. Program An algorithm is a description of how to solve a problem. A program is an implementation of the algorithm (or set of algorithms) 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.

Computer-Related Careers IT Specialist. 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, non-trivial, new software and/or hardware systems, or to analyze the properties and relative pros and cons of existing systems.