Being Professional

40
Being Professional / دس ن ه م ش ا ن ل ا مدي ح ود م ح م ه ل ل دا ن ع ه ع ف د ب س حا ل وم ا ل ع% ج ي ر خ2009 : % ج ير خ ل ما ق ر10074142

Transcript of Being Professional

Page 1: Being Professional

Being Professional

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

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

Page 2: Being Professional

• 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

Page 3: Being Professional

• 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

Page 4: Being Professional

• 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

Page 5: Being Professional
Page 6: Being Professional
Page 7: Being Professional

Being Professional

Page 8: Being Professional

Professional?

• Highly educated.• Mostly salaried.• Enjoy considerable

work autonomy• Engaged in creative

and intellectually challenging work.

Page 9: Being Professional

Are you Professional? So…

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

Page 10: Being Professional

Define Every Term

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

Page 11: Being Professional

Define Every Term

• Try Define…

Page 12: Being Professional

Define Every Term

• Try Define…o Computer.

Page 13: Being Professional

Define Every Term

• Try Define…o Computer.o Performance.

Page 14: Being Professional

Define Every Term

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

Page 15: Being Professional

Define Every Term

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

Page 16: Being Professional

Define Every Term

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

Page 17: Being Professional

Define Every Term

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

Page 18: Being Professional

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.

Page 19: Being Professional

Results to My Results

Page 20: Being Professional

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.

Page 21: Being Professional

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.

Page 22: Being Professional

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?

Page 23: Being Professional

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(“????”) ;

Page 24: Being Professional

Java Language Specification

• if rule:

Page 25: Being Professional

Java Language Specification

• if rule:

Page 26: Being Professional

Java Language Specification

• if rule:

Page 27: Being Professional

Java Language Specification

• if rule:

BNF

Page 28: Being Professional

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

Page 29: Being Professional

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.

Page 30: Being Professional

Virtual Address Space

Page 31: Being Professional

Virtual Memory

Program 1 Program 2

Page 32: Being Professional

Think before Complaining

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

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

Page 33: Being Professional

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)

Page 34: Being Professional

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!

Page 35: Being Professional

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 ;

} }

}

Page 36: Being Professional

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];

Page 37: Being Professional

Compiler Phases

Page 38: Being Professional

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.

Page 39: Being Professional

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

Page 40: Being Professional