Being Professional

Post on 11-May-2015

275 views 0 download

Tags:

Transcript of Being Professional

Being Professional

محمود الباشمهندس/ الله عبدحمدي

دفعة – الحاسب علوم 2009خريج : الخريج 10074142رقم

• Electronics• Introduction to

Computing• Computer

Programming• Statistics Methods• Math-1• Math-2• Logic Design• Electrical

Communications• Operations Research• Data Structures and

Algorithms• Information Systems• Technical English• Business

Administration

• Probabilities and Statistical Distributions.

• Math-3• Operating Systems-1• File Organization and

Processing• Computer Architecture• Computer Graphics• Networking• Software Engineering-

1• Software Engineering-

2• Artificial Intelligence• Database Systems

• Compilers Construction

• Multimedia• Advanced Multimedia.• Operating Systems-2• Natural Language

Processing• Computer Arabization• Distributed

Systems.• Image Processing.• Assembly• Neural Networks• Knowledge-Based

Systems

• Electronics• Introduction to

Computing• Computer

Programming• Statistics Methods• Math-1• Math-2• Logic Design• Electrical

Communications• Operations Research• Data Structures and

Algorithms• Information Systems• Technical English• Business

Administration

• Probabilities and Statistical Distributions.

• Math-3• Operating Systems-1• File Organization and

Processing• Computer Architecture• Computer Graphics• Networking• Software Engineering-

1• Software Engineering-

2• Artificial Intelligence• Database Systems

• Compilers Construction

• Multimedia• Advanced Multimedia.• Operating Systems-2• Natural Language

Processing• Computer Arabization• Distributed

Systems.• Image Processing.• Assembly• Neural Networks• Knowledge-Based

Systems

Java EE

• Electronics• Introduction to

Computing• Computer

Programming• Statistics Methods• Math-1• Math-2• Logic Design• Electrical

Communications• Operations Research• Data Structures and

Algorithms• Information Systems• Technical English• Business

Administration

• Probabilities and Statistical Distributions.

• Math-3• Operating Systems-1• File Organization and

Processing• Computer Architecture• Computer Graphics• Networking• Software Engineering-

1• Software Engineering-

2• Artificial Intelligence• Database Systems

• Compilers Construction

• Multimedia• Advanced Multimedia.• Operating Systems-2• Natural Language

Processing• Computer Arabization• Distributed

Systems.• Image Processing.• Assembly• Neural Networks• Knowledge-Based

Systems

Java EE

Being Professional

Professional?

• Highly educated.• Mostly salaried.• Enjoy considerable

work autonomy• Engaged in creative

and intellectually challenging work.

Are you Professional? So…

• Define every term you know.• Read books.• Refer to references.• Think before Working.• Think before Complaining.• Do Not be Pedantic!

Define Every Term

• Why?o Express yourself.o Talk with other professionals.o Pass interviews.o Be able to read books.

Define Every Term

• Try Define…

Define Every Term

• Try Define…o Computer.

Define Every Term

• Try Define…o Computer.o Performance.

Define Every Term

• Try Define…o Computer.o Performance.o Resource.

Define Every Term

• Try Define…o Computer.o Performance.o Resource.o Process.

Define Every Term

• Try Define…o Computer.o Performance.o Resource.o Process.o Application.

Define Every Term

• Try Define…o Computer.o Performance.o Resource.o Process.o Application.o Object-Oriented.

Read Books

• How to Read a Book? (1940 by Mortimer Adler)

o 3 distinct approaches, or readings, must all be made in order to get the most possible out of a book. (1) Structural Reading. (2) Interpretative Reading. (3) Critical Reading.

Results to My Results

Structural Reading

• Understanding the structure and purpose of the book.

• Begin with determining the basic topic and type of the book being read, so:o as to better anticipate the contentso comprehend the book from the very beginning.

If you will not read the book in your hands, at least read the index.

Interpretative Reading

• Constructing the author's arguments.• This first requires the reader to note and

understand any special phrases and terms that the author uses.

• More terms you can define, more understanding to books is gained.

Critical Reading

• Criticize the arguments.• Now you understand the content? Still not

unless you can judge the arguments.• Think about the arguments, are they

logical to you? Is there any disamiguities?

Refer to References

• In the exhibited code, does else refer to the red if or blue if..??

if (x == y) if (y == z)out.println(“y == z”) ;elseout.println(“????”) ;

Java Language Specification

• if rule:

Java Language Specification

• if rule:

Java Language Specification

• if rule:

Java Language Specification

• if rule:

BNF

Think before Working

• Program 1 shared variable A with program 2 by saving A’s address in a file. Program 2 reads the address of the variable A from the file, then access it. Why it reads invalid data?

1 2

Afile

Virtual Address Space

• Virtual address space (abbreviated VAS) is a memory mapping mechanism available in modern operating systems such as OpenVMS, UNIX, Linux, and Windows NT.

• This is beneficial for different purposes, one is protection through process isolation.

Virtual Address Space

Virtual Memory

Program 1 Program 2

Think before Complaining

• Is not 0.12 = exactly 0.01??!Java is Buggy!

double x = 0.1;out.println(x*x) ;//prints 0.010000000000000002 (!!!)

Floating-Point Representation

• IEEE754.• Float: 32-bits (single-precision)• Double: 64-bits (double-precision)• Can you:

o convert 0.1 into binary? (work it out)

Floating-Point Representation

• IEEE754.• Float: 32-bits (single-precision)• Double: 64-bits (double-precision)• Can you:

o convert 0.1 into binary? (work it out)

• Fact… There’s no exact representation for 0.1 in computer floats!

Do Not be Pedantic!

• A program to sort an array.

for(int i = 0 ; i < arr.length-1; i++) {for(int j = i + 1; j < arr.length; j++) {if(arr[j] < arr[i]) {

int tmp = arr[i] ; arr[i] = arr[j] ; arr[j] = tmp ;

} }

}

Do Not be Pedantic!

• Ooh!... I’m professional…!!

for(int i = 0 ; i < arr.length-1; i++)for(int j = i + 1; j < arr.length; j++)if(arr[j] < arr[i])for(int tmp=arr[i], h=0;h < 1;arr[j]=tmp, h++)arr[i] = arr[j];

Compiler Phases

Compiler Optimization

• Compiler optimization is the process of tuning the output of a compiler to minimize or maximize some attribute of an executable computer program.

• The most common requirement is to minimize the time taken to execute a program; a less common one is to minimize the amount of memory occupied.

• The growth of portable computers has created a market for minimizing the power consumed by a program.

The Message“FCI makes me Professional in my work… What if I studied harder?”• An FCI graduate.