Introduction and overview
Download
1 / 22

Introduction and Overview - PowerPoint PPT Presentation


  • 109 Views
  • Uploaded on

Introduction and Overview. Summer 2014 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University. Instructor: Mridula Sharma @ HL 407 Office hour: 1:30-2:30 @ Mon, Wed, Thurs, Fri and by appointment E-mail: msharma@tru.ca

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Introduction and Overview' - hisa


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Introduction and overview

Introduction and Overview

Summer 2014

COMP 2130 Introduction to Computer Systems

Computing Science

Thompson Rivers University


Introduction and overview

  • Instructor: Mridula Sharma @ HL 407

  • Office hour: 1:30-2:30 @ Mon, Wed, Thurs, Fri and by appointment

  • E-mail: msharma@tru.ca

  • Prerequisites for this course:

    • COMP 1230 with minimum ‘C’, and

    • COMP 1380 with minimum ‘C’

  • This course is a prerequisite for

    • COMP 3270 Computer Networks

    • COMP 3410 Operating Systems

Introduction


Course schedule
Course Schedule

  • Span across 5th May 2-014 – 11th June 2014

  • Number of Lectures : 12

    • Each lecture has two sessions:

      • Session I : 9:00 to 10:15 AM.

      • Session II : 10:30 to 11:45 AM.

  • Number of Assignments : 4

  • Number of Marked Quizzes : 3

  • Number of Seminars : 6

    • Seminar 2, 4 & 6 : Marked Lab

    • Seminar 6 – presentations

  • Overview


    Marking scheme
    Marking Scheme

    • Assignments

      • I – 3%

      • II – 3%

      • III – 3%

      • IV – 4%

  • Quizes

    • I – 3%

    • II – 3%

    • III – 3%

  • Seminars

    • I : Paper – 2%

    • 2 , 4 & 6: Marked Lab – 8%

  • Mid term Exam - 26th May 1:00 PM – 25%

  • Final Exam – 45%

  • Overview


    Rise of questions
    Rise of Questions

    • What is a computer system?

    • What is an operating system?

    • Which [programming] language is most powerful?

    • What are the benefits to take this course “Introduction to Computer Systems”?

      • Most universities teach assembly languages, computer architecture and hardware components.

      • You are in a computing science program, and computing science is not much about the development of hardware components.

      • Then what?

    Introduction


    Objectives
    Objectives

    • Understand the fundamentals of computer architecture

    • Experience programming through the powerful C programming language (using GCC - GNU compiler), probably a new programming language to you

    • Experience programming through IA32 assembly language, another new programming language to you

    • Experience reliable programming through the understanding of critical relationship between programming and computer architecture

    • Experience efficient programming through code optimization

    • Why is one programming language, e.g., Java, not enough in computing science?

    Introduction


    Course contents
    Course Contents

    • C programming language

      • Bit and Boolean operations

      • Use of pointers

      • Use of struct data structure

      • Dynamic memory management

      • ...

    • Assembly language

    • Introduction to computer systems

      • The fundamentals of computer architecture

      • How does a computer system work?

      • How is computer architecture related to programming?

      • Code optimization

      • ...

    • Use of Linux

    Introduction


    Lecture
    Lecture

    • Introduction to computer systems

    • Introduction to C programming language

    • Data representations

    • C: advanced topics

    • Introduction to assembly language – IA32 (Intel Architecture 32)

    • Compiling, linking, loading, and executing

    • Dynamic memory management

    • Code optimization

    • Memory hierarchy, locality, caching

    • Virtual memory (if time permits)

    Introduction



    Seminar
    Seminar programing.

    • Use of Linux

    • C programming exercises

    • Exercise questions about computer architecture and programming

    • Explanation of assignments

    Introduction


    Textbooks
    Textbooks programing.

    • Bryant and O’Hallaron, Computer Systems: A Programmer’s Perspective, 2/E, Prentice Hall, 2011 ISBN 10: 0-13-610804-0

    • Kernighan and Ritchie, The C Programming Language, Prentice Hall, 1988, ISBN 10: 0-13-110362-8 or Schaum Series

    Introduction


    Evaluation
    Evaluation programing.

    • Quizzes 19%

    • Programming Assignments 16%

    • Programming Exam 25%

    • Final test 40%

    • In order to pass the course, students must achieve

      • minimum of 50% on overall quizzes & Assignments, and

      • minimum of 50% on the mid term and final exam

    Introduction


    Questions
    Questions? programing.

    • Anything that you want to know more?

    • Any comment?

    • Any question?

    Introduction


    Overview why c
    Overview – Why C? programing.

    • Why C?

      • Most system programs are written in C, not even C++, for fast execution.

      • The kernels of most operating systems are written in C.

      • A lot of projects use C.

    • Pros and cons

      • Fast execution -\

      • Easy memory management - > Good for system programming

      • Bit operation -/

      • But a bit complex concepts of pointer, type conversion and memory allocation

    • How is C different from Java?

    Overview


    Introduction and overview

    Overview


    Introduction and overview

    Overview


    Introduction and overview

    Overview


    Overview how a computer works
    Overview – How a Computer Works programing.

    • How does a computer system look like?

      • Model from the view of functions: von Neumann architecture

    • What happens when you turn on a computer system?

    • Can a computer system understand a program written in C or Java?

    • How does a program run in a computer system?

    Similar to

    Overview


    Overview how a computer works1
    Overview – How a Computer Works programing.

    • What happens when you turn on a computer?

      • Power on, then?

      • -> Electric signal

      • -> CPU will start executing instructions from a particularly fixed address.

        • BIOS

        • MBR

        • OS

    • CPU reads one instruction from memory at a time and executes the instruction. This cycle, called instruction cycle, repeats forever.

      • Fetch and

      • Execution

    Overview


    Overview how a computer works2
    Overview – How a Computer Works programing.

    • Can a computer understand a program written in C or Java?

    • How does a program run in a computer?

      • A program is a collection of data and codes.

      • Compile and link

      • Load and execute

      • Multi-programming?

    Overview


    Overview how a computer works3
    Overview – How a Computer Works programing.

    • What hardware components do we need to run programs in a computer system?

      • Four major components:

        • CPU

        • Main memory

        • I/O devices

          • Keyboard

          • Mouse

          • Monitor

          • Hard disk

        • System buses

    Overview


    Overview how a computer works4
    Overview – How a Computer Works programing.

    • User programs write data into the main memory and read data from the main memory. It is very important to protect OS codes and data stored in the main memory from user programs.

    • What does this mean?

    • Why is this very important for Operating Systems?

    • How to protect?

      • By using hardware supports and interrupts

    • The architectures of computer systems have very close relations with OSes and programs.

    • We will study

      • CPU, main memory, interrupts, instructions, and ...

    Overview