1 Please switch off your mobile phones. 2 Prolog: The Initiation ET: Hey Alice! What is this on your desk? Alice: That’s a digital computer. ET: Digital.

Slides:



Advertisements
Similar presentations
1 Administrivia Lecture hours –Monday, Wednesday, Thursday: 11-11:55am, in L7 –Come to the class in time Labs –2pm-5pm, –Monday: A5-A6, Tuesday: A7-A8,
Advertisements

ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
1 Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
CS 201 Overview of Computers & Programming Debzani Deb.
Lecture 1: Intro to Computers Yoni Fridman 6/28/01 6/28/01.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Computing Components 01/26/11. Announcements & Reminders Programs 1 due Friday, 9/2/11 What is my late policy? Proxy Codes for Labs  You should be able.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
CIS 260 Computer Programming I in C Prof. Timothy Arndt.
CS 0008 Day 2 1. Today Hardware and Software How computers store data How a program works Operators, types, input Print function Running the debugger.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
CS190/295 Programming in Python for Life Sciences: Lecture 1 Instructor: Xiaohui Xie University of California, Irvine.
1 I.Introduction to Algorithm and Programming Algoritma dan Pemrograman – Teknik Informatika UK Petra 2009.
CS1430: Programming in C++ Section 2 Instructor: Qi Yang 213 Ullrich
The Study of Computer Science Chapter 0 Intro to Computer Science CS1510, Section 2.
Welcome to CS 115! Introduction to Programming. Class URL Please write this down!
Introduction COMP104: Fundamentals and Methodology.
CS 1 •This is Computer Science 1. •Who is Professor Adams?
CS 0004 –Lecture 1 Wednesday, Jan 5 th, 2011 Roxana Gheorghiu.
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to.
The Study of Computer Science Chapter 0 Intro to Computer Science CS1510.
1 Please switch off your mobile phones. 2 Data Representation Instructor: Mainak Chaudhuri
What is a Computer? An, electrical machine, that can be programmed to accept data (input), process it into useful information (output) and store it away.
Session 3 Process and organize data 1. Terminology 2 For a list of computer and internet terminology, please see the.
Session 3 Process and organize data 1. Terminology 2 For a list of computer and internet terminology, please see the.
Week 1 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.
Introduction to Computer Systems and the Java Programming Language.
1 Please switch off your mobile phones. 2 WELCOME To ESC101N: Fundamentals of Computing Instructor: Mainak Chaudhuri
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
COP3502: Introduction to Computer Science Yashas Shankar.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Robert Crawford, MBA West Middle School.  Explain how the binary system is used by computers.  Describe how software is written and translated  Summarize.
CPSC 121: Models of Computation Unit 0 Introduction George Tsiknis Based on slides by Patrice Belleville and Steve Wolfman.
Basic of Programming Language Skill Area Computer System Computer Program Programming Language Programmer Translators.
CHAPTER 1 INTRODUCTION 1 st Semester H King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1.
Computer Science Binary. Binary Code Remember the power supply that is inside your computer and how it sends electricity to all of the components? That.
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
CHAPTER 1 INTRODUCTION 2 nd Semester H King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1.
1 CS1430: Programming in C++ Section 2 Instructor: Qi Yang 213 Ullrich
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
1 Introduction to C Programming 計算機程式設計 2/22/2012 朱浩華.
Textbook C for Scientists and Engineers © Prentice Hall 1997 Available at NUS CO-OP at S$35.10.
UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming1 Introduction to C – Part 1.
Winter 2016CISC101 - Prof. McLeod1 CISC101 Elements of Computing Science I Course Web Site: The lecture outlines.
Data Structures and Algorithms in Java AlaaEddin 2012.
Computer Programming for Engineers CMPSC 201C Fall 2000.
WELCOME To ESC101N: Fundamentals of Computing Instructor: Ajai Jain
Hello Everyone! Welcome to Collier Computer Lab Today is Tuesday. Again, we will learn how to type today. I hope that you enjoy practicing your typing.
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
Introduction to Programming By: Prof. Muhammad Abu Baker Siddique 2 nd Lecture 1.
The Study of Computer Science Chapter 0
Engineering Problem Solving With C An Object Based Approach
Week 1 – Session 1 Pn. Yasmin Yacob 04 – KUKUM Sem2-06/07
Computer Programming (CS-161)
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
The Study of Computer Science Chapter 0
Java programming lecture one
Programming COMP104: Fundamentals and Methodology Introduction.
CS190/295 Programming in Python for Life Sciences: Lecture 1
The Study of Computer Science
Computer Science I CSC 135.
Computers: Hardware and Software
Accelerated Introduction to Computer Science
The Study of Computer Science Chapter 0
ICS103 Programming in C 1: Overview of Computers And Programming
Presentation transcript:

1 Please switch off your mobile phones

2 Prolog: The Initiation ET: Hey Alice! What is this on your desk? Alice: That’s a digital computer. ET: Digital what? Looks pretty unsocial. Doesn’t even greet me! Alice: It helped us discover you and your solar system. ET: Wow! That sounds cool. How do you use it? Does it talk? Alice: It can solve hard problems. You have to program it to do that. ET: Will you teach me do that?

3 WELCOME To ESC101N: Fundamentals of Computing Instructor: Mainak Chaudhuri

4 Agenda Administrivia What this course is not about Anatomy of a computer

5 Administrivia Lecture hours –Monday, Wednesday, Thursday: 9-10am, L17 –Please come to class in time Labs –2pm-5pm, 11 lab sessions –Monday: B5-B6, Tuesday: B1-B2, Wednesday: B9-B10, Thursday: B7-B8, Friday: B3-B4 –No lab this week Tutorial –Tuesday 9-10am, Tutorial Block –No tutorial this week

6 Administrivia Grading [this is the sad part] –Exam: –One compulsory lab test: 10 –Project or another lab test (your choice): 20 –Weekly lab sessions: 10 –Two surprise quizzes: 10 (this is extra) Held in tutorial sessions No make up for surprise quizzes (so come to tutorial regularly) –Project proposal submission deadline: any time before 1 st October Can get started even today if you know Java

7 Administrivia There will be a course web page with all info –Temporarily: Text book –Nothing specific: your choice –Suggestion: “Java Elements: Principles of Programming in Java” by Bailey and Bailey –More references are on the webpage Visit past course sites:

8 For Visitors and Wanderers Also known as audit students In case you want to experience the “excitements” of the tutorials and labs –Send your section preference to me so that we can be prepared to accommodate you –But not allowed to sit in the lab tests –Can do a project, but will not be graded –Can write quizzes, but will not be graded –Not allowed to take the exams In case there are too many visitors, we will not allow anyone in the tutorials and labs

9 What this course is not about This is not a course on programming –You will learn how to solve problems with computers: especially the ones that you cannot solve with paper and pencil quickly –The greater part of the lectures will be devoted to the concepts involved in developing a computer algorithm Sequence of steps that solve a problem –Java will be used as a vehicle to demonstrate the concepts Do not expect to become an expert in Java after taking this course

10 Anatomy of a computer What you see –A monitor, a keyboard, a mouse, a printer … –Input/Output devices –Through these you ask the computer to do something and the computer tells you the results Need a way to convey your commands to the computer (it is really a stupid device which cannot do anything on its own) –Internally A central processing unit and a scratchpad (often called main memory) accomplish the job

11 Anatomy of a computer Central processing unit does not understand English, not even Java –It only understands two symbols: 0 and 1 –These are called bits (short for binary digits) –You encode your algorithm into a high-level language called Java This is called a program This is harder to understand than English, but easier to understand than a 0-1 encoding How do I encode a program in 0-1? This is used only for storing the program in main memory

12 Anatomy of a computer A friend of yours called compiler translates the program into a binary encoding called an object program –This is almost understandable to the central processing unit (often called a microprocessor) Another friend of yours called a linker adds something more to an object program to convert it to an executable –This is understandable to the CPU –But somehow it needs to get started executing

13 Anatomy of a computer A big boss called operating system loads the executable in main memory and hands over the control to the CPU –Now the CPU starts executing your program (essentially the binary executable) –Once in a while it prints something on the monitor and you appreciate that Notice that it is not doing anything on its own, only doing whatever you have asked it to do –At some point the CPU completes the execution and you have all the results

14 A simple program Let’s write a program in English (almost) –Want to add five numbers a, b, c, d, e and print the result on monitor print (monitor, a+b+c+d+e) –print is used as a function which takes two arguments: where to print and what to print –A binary translation of this could convert each character i.e. p, r, i, n, t, (, m, … into a binary string e.g., p is the 16 th alphabet, so represent it as 16 zeros; put a 1 to mark the end of a character –Now I can design a CPU which can understand this translation and execute my program (caution: this is just an example)

15 “The Computing Stack” Problem Algorithm Program (HLLs) HLL Compiler/Linker Executable binary Operating System Microarchitecture Circuits Transistors ESC101N HLL=Java Central in CS Hardware/ software interface Hardware

16 Next week’s lab Learn to use the UNIX environment –How to create a file (this is where you store your programs) –How to create and navigate through directory (this is where you store your files) –How to copy files from one directory to another –And more: –Lab is upstairs in CC: TAs will be present at the front door to lead you