notes - Department of Computer Science
Download
Report
Transcript notes - Department of Computer Science
COM S 207
Basic Concepts: computer, program,
programming …
Instructor: Ying Cai
Department of Computer Science
Iowa State University
[email protected]
In the beginning
Everything in computer is coded as 0 and 1
lowercase "a" 1100001
integer 20 10100
What is computer about
8-bit, 16-bit, 32-bit, 64-bit CPU?
Computer Anatomy
Program
A sequence of instructions for a computer to
execute
All instructions are encoded into a string of 0/1
Program = stored instruction
Program = CODE + data
Programming
The act of writing programs
Programming language
Machine language
Computers use the alphabet 0
and 1 ONLY.
Instructions are built from
combinations of 0 and 1!
Example
00101000 00000001 00000010
might mean ADD 1 and 2
Programming language
Assembly language
Still machine language alike, but more readable
Example: ADD 1 and 2 00101000 00000001 00000010
Programming language
High-level language: English-like languages
FORTRAN, COBOL, Pascal, Basic, C, Icon
C++, Java, ML
Scheme, Lisp,
Prolog
Perl, Python, Ruby
Language Elements
Data types
Primitive (integer, character, double, boolean, etc.)
Constructed (string, list, array, object, etc.)
Decision (if, switch, etc.)
Loop (for, while, until, etc.)
To write a program, it is
critical that you understand
the syntax and semantics of
each instruction (also called
statement).
Compiler
Convert a program into machine language instructions
that can be executed by a computer
Compiler
Platform dependency
In general, different languages and platforms need
different compilers
Portability and convenience are issues
Compiler for Unix
Compiler for Linux
:::
Compiler for Mac
Java Virtual Machine
A virtual machine that can execute Java binary code
Java Compiler
Convert a program into machine language
instructions that can be executed by a
computer
Tools
Editor: allows you to enter and edit instructions
Programmer converts pseudo-code (which he understands) to
java code (something java compiler can understand)
Compiler
Converts java code (something java compiler can understand)
to class files (something that a Java Virtual Machine can
understand)
JVM (Java Virtual Machine): executes/runs class files
Debugger
Allows you to have the JVM execute one instruction at a time
and lets you see what is going on during the execution.
This will help you to find runtime errors.
Tools
Integrated Development Environment (IDE):
(e.g., Eclipse)
has all above tools integrated into one tool.