0% found this document useful (0 votes)
12 views4 pages

Cs 310

The document discusses the key topics in computer science including algorithms, their properties, hardware and linguistic realizations, and applications. It covers the history and evolution of computing from ancient times to modern computers. Chapters discuss algorithm design, computer architecture including memory and CPU, programming languages, operating systems, and the software development life cycle.

Uploaded by

imagoodboy0703
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views4 pages

Cs 310

The document discusses the key topics in computer science including algorithms, their properties, hardware and linguistic realizations, and applications. It covers the history and evolution of computing from ancient times to modern computers. Chapters discuss algorithm design, computer architecture including memory and CPU, programming languages, operating systems, and the software development life cycle.

Uploaded by

imagoodboy0703
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Computer science is the study of algorithms including • Their formal and mathematical properties

(Chapter 1-3) • their hardware realization (Chapter 4-5) • Their linguistic realizations. • Their
applications.
Ch1:
- Operations involved in designing algorithms:
+ Formal and mathematical properties: Studying the behavior of algorithms to determine whether they
are correct and efficient
+ Hardware realizations: Designing and building computer systems that are able to execute algorithms
+ Linguistic realizations : Designing programming languages and translating algorithms into these
languages
+ Applications: Identifying important problems and designing correct and efficient software packages to
solve these problems
- Algorithm: + Dictionary definition: Procedure for solving a mathematical problem in a finite number of
steps that frequently involves repetition of an operation n A step-by-step method for
accomplishing a task
+ Informal description n An ordered sequence of instructions that is guaranteed to solve a
specific problem
+ Formal Definition: A well-ordered collection of unambiguous and effectively computable
operations that, when executed, produces a result and halts in a finite amount of time
- 3,000 years ago: Mathematics, logic, and numerical computation -> n 1614: Logarithms -> n Around
1622: First slide rule created -> 1672: The Pascaline -> 1674: Leibnitz’s Wheel -> 1801: The Jacquard
loom -> 1823: The Difference Engine -> 1830s: The Analytic Engine -> 1890: U.S. census carried out with
programmable card processing machines -> The Birth of Computers: 1940-1950 -> First generation of
computing (1950-1959) -> Second generation of computing (1959-1965) -> third 65-76 -> fourth 75-85

Ch4:
- two electronic states: Current flowing or not n Direction of flow
- Binary values 0 and 1 are represented using the direction of the magnetic field
- Transistors: + Solid-state switches: either permits or blocks current flow
+ A control input causes state change
- Gates: Hardware devices built from transistors to mimic Boolean logical operations on digital electrical
signals
- A circuit is a collection of logic gates: + Transforms a set of binary inputs into a set of binary outputs
+ Values of the outputs depend only on the current values of the inputs
Ch3:
- Desirable characteristics in an algorithm: Correctness q Ease of understanding q Elegance q Efficiency

Ch5:
- Von Neumann architecture has four functional units:
+ Memory: The unit that stores and retrieves instructions and data.
+ Input/Output: Handles communication with the outside world. N
+ Arithmetic/Logic unit n Performs mathematical and logical operations.
+ Control unit n Repeats the following 3 tasks repeatedly
1. Fetches an instruction from memory 2. Decodes the instruction 3. Executes the instruction
- Information stored and fetched from memory subsystem
- Random Access Memory (RAM) maps addresses to memory locations
- Cache memory keeps values currently in use in faster memory to speed access times
- Memory size is in power of 2 q 210 =1K 1 kilobyte q 220 =1M 1 megabyte q 230 =1G 1 gigabyte q 240
=1T 1 terabyte
- Parts of the memory subsystem + Fetch/store controller n Fetch: retrieve a value from memory
n Store: store a value into memory
+ Memory address register (MAR)
+ Memory data register (MDR)
+ Memory cells, with decoder(s) to select individual cells
- Fetch operation 1. Load the address in to the MAR n The address of the desired memory cell is moved
into the MAR 2. Decode the address in the MAR n Fetch/store controller signals a “fetch,” accessing the
memory cell. n The memory unit must translate the N-bit address stored in the MAR into the set of
signals needed to access that one specific memory cell q A decoder circuit is used for such a purpose 3.
Copy the content of the memory location into the MDR n The value at the MAR’s location flows into the
MDR
- Store operation 1. Load the address into the MAR n The address of the cell where the value should go is
placed in the MAR 2. Load the value into the MDR n The new value is placed in the MDR 3. Decode the
address in the MAR and store the content of the MDR into that memory location n Fetch/store controller
signals a “store,” copying the MDR’s value into the desired cell
Ch6:
- Tasks of the interface: + Hide details of the underlying hardware from the user
+ Present information in a way that does not require in-depth knowledge of the internal
structure of the system
+ Allow easy user access to the available resources
+ Prevent accidental or intentional damage to hardware, programs, and data
- System software + Acts as an intermediary between users and hardware
+ Creates a virtual environment for the user that hides the actual computer architecture
- Virtual machine: Set of services and resources created by the system software and seen by the user
* type of system software
- Operating system
+ Controls the overall operation of the computer
+ Communicates with the user
+ Determines what the user wants
+ Activates system programs, applications packages, or user programs to carry out user requests
- User interface: Graphical user interface (GUI) provides graphical control of the capabilities and services
of the computer
- Language services: Assemblers, compilers, and interpreters q Allow you to write programs in a high-
level, useroriented language, and then execute them
- Memory managers: Allocate and retrieve memory space
- Information managers: Handle the organization, storage, and retrieval of information on mass storage
devices
- I/O systems: Allow the use of different types of input and output devices
- Scheduler: Keeps a list of programs ready to run and selects the one that will execute next
- Utilities: Collections of library routines that provide services either to user or other system routines
* Binary Options Meaning
0000 LOAD X con(x) ->R /0001 STORE X R -> con(x) /0010 CLEAR X 0 -> con(x) /0011 ADD X R+con(x)->R
0100 /INCREMENT X con(x)+1>con(x) /0101 SUBSTRACT X R-con(x)->R /0110 DECREMENT X con(x)-1-
>con(x) /0111 COMPARE X if con(x)>R then GT=1 else 0 if con(x)=R then EQ=1 else 0 if con(x)
1000 JUMP X Get the next instruction from memory location X
1001 JUMPGT X Get the next instruction from memory location X if GT=1
1010 JUMPEQ X Get the next instruction from memory location X if EQ=1
1011 JUMPLT X Get the next instruction from memory location X if LT=1
1100 JUMPNEQ X Get the next instruction from memory location X if EQ=0
1101 IN X Input an integer value from the standard input device and store into memory cell X
1110 OUT X Output, in decimal notation, the value stored in memory cell X
1111 HALT Stop program execution
- Assembler: Translates a symbolic assembly language program into machine language
- Loader: Reads instructions from the object file and stores them into memory for execution
- System commands: +Carry out services such as translate a program, load a program, run a program
+ Examined by the operating system
- Five most important responsibilities of the operating system: q User interface management q Program
scheduling and activation q Control of access to system and files q Efficient resource allocation q
Deadlock detection and error detection
Ch9:
- Some components of program: q Comments: Give information to human readers of code
q Include directive n The linker includes object code from a library
q Using directive n Tells compiler to look in a namespace for definitions not
mentioned in the program
-A declaration of a data item tells q Whether the item is a constant or a variable
q The identifier used to name the item
q The data type of the item
- An array: Groups together a collection of memory locations, all storing data of the same type
- Types of control mechanisms
+ Sequential: Instructions are executed in order
+ Conditional: Choice of which instructions to execute next depends on some condition
+ Looping: Group of instructions may be executed many times
- Expectations:
+ Programmer need not manage details of the movement of data items within memory, nor pay any
attention to where they are stored
+ Programmer can take a macroscopic view of tasks, thinking at a higher level of problem-solving
+ Programs written in high-level languages will be portable rather than machine-specific
+ Programming statements in a high-level language : Will be closer to standard English n Will use
standard mathematical notation
- Integrated Development Environment (IDE) speeds development by providing q A text editor q A file
manager q A compiler q A linker and loader q Tools for debugging
- The Software Life Cycle: The feasibility study n Problem specification n Program design n Algorithm
selection or development, and analysis n Coding n Debugging n Testing, verification, and benchmarking n
Documentation n Maintenance

You might also like