1 / 13

Please switch off your mobile phones

Please switch off your mobile phones. WELCOME To ESC101N: Fundamentals of Computing. Instructor: Mainak Chaudhuri mainakc@cse.iitk.ac.in. Agenda. Administrivia What this course is not about Anatomy of a computer This week’s lab. Administrivia. Lecture hours

zacharyn
Download Presentation

Please switch off your mobile phones

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Please switch off your mobile phones

  2. WELCOME To ESC101N:Fundamentals of Computing Instructor: Mainak Chaudhuri mainakc@cse.iitk.ac.in

  3. Agenda • Administrivia • What this course is not about • Anatomy of a computer • This week’s lab

  4. Administrivia • Lecture hours • Monday, Wednesday, Thursday: 8-9am, L7 • Come to class in time: we will start with announcements • Labs • 10am-1pm, 12 lab sessions • Monday: B5-B6, Tuesday: B7-B8, Wednesday: B9-B10, Thursday: B1-B2, Friday: B3-B4 • There will be lab this week • Tutorial • Tuesday 8-9am, Tutorial Block 101-110 • No tutorial this week

  5. Administrivia • Grading [this is the sad part] • Exam: 15+15+30 • One compulsory lab test: 10 • Project or another lab test (your choice): 20 • Weekly lab sessions: 10 • Surprise quizzes: 10 (this is extra) • Held in tutorial sessions • [You should be able to prove that these do not remain a matter of surprise any more once I have made this announcement]

  6. Administrivia • There will be a course web page with all info • Temporarily: www.cse.iitk.ac.in/~mainakc/esc101/notes.html • 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: www.iitk.ac.in/esc101

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

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

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

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

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

  12. 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 16th 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)

  13. This week’s lab • Learn to use the UNIX environment • How to create a file (this where you store your programs) • How to create and navigate through directory (this where you store your files) • How to copy files from one directory to another • And more: www.iitk.ac.in/esc101/linux.pdf • Lab is upstairs in CC: I will be present at the front door to lead you

More Related