Successfully reported this slideshow.

Being Professional

530 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Being Professional

  1. 1. Being Professional الباشمهندس / عبد الله محمود حمدي خريج علوم الحاسب – دفعة 2009 رقم الخريج : 10074142
  2. 2. <ul><ul><li>Electronics </li></ul></ul><ul><ul><li>Introduction to Computing </li></ul></ul><ul><ul><li>Computer Programming </li></ul></ul><ul><ul><li>Statistics Methods </li></ul></ul><ul><ul><li>Math-1 </li></ul></ul><ul><ul><li>Math-2 </li></ul></ul><ul><ul><li>Logic Design </li></ul></ul><ul><ul><li>Electrical Communications </li></ul></ul><ul><ul><li>Operations Research </li></ul></ul><ul><ul><li>Data Structures and Algorithms </li></ul></ul><ul><ul><li>Information Systems </li></ul></ul><ul><ul><li>Technical English </li></ul></ul><ul><ul><li>Business Administration </li></ul></ul><ul><ul><li>Probabilities and Statistical Distributions. </li></ul></ul><ul><ul><li>Math-3 </li></ul></ul><ul><ul><li>Operating Systems-1 </li></ul></ul><ul><ul><li>File Organization and Processing </li></ul></ul><ul><ul><li>Computer Architecture </li></ul></ul><ul><ul><li>Computer Graphics </li></ul></ul><ul><ul><li>Networking </li></ul></ul><ul><ul><li>Software Engineering-1 </li></ul></ul><ul><ul><li>Software Engineering-2 </li></ul></ul><ul><ul><li>Artificial Intelligence </li></ul></ul><ul><ul><li>Database Systems </li></ul></ul><ul><ul><li>Compilers Construction </li></ul></ul><ul><ul><li>Multimedia </li></ul></ul><ul><ul><li>Advanced Multimedia. </li></ul></ul><ul><ul><li>Operating Systems-2 </li></ul></ul><ul><ul><li>Natural Language Processing </li></ul></ul><ul><ul><li>Computer Arabization </li></ul></ul><ul><ul><li>Distributed </li></ul></ul><ul><li>Systems. </li></ul><ul><ul><li>Image Processing. </li></ul></ul><ul><ul><li>Assembly </li></ul></ul><ul><ul><li>Neural Networks </li></ul></ul><ul><ul><li>Knowledge-Based Systems </li></ul></ul>
  3. 3. Java EE <ul><ul><li>Electronics </li></ul></ul><ul><ul><li>Introduction to Computing </li></ul></ul><ul><ul><li>Computer Programming </li></ul></ul><ul><ul><li>Statistics Methods </li></ul></ul><ul><ul><li>Math-1 </li></ul></ul><ul><ul><li>Math-2 </li></ul></ul><ul><ul><li>Logic Design </li></ul></ul><ul><ul><li>Electrical Communications </li></ul></ul><ul><ul><li>Operations Research </li></ul></ul><ul><ul><li>Data Structures and Algorithms </li></ul></ul><ul><ul><li>Information Systems </li></ul></ul><ul><ul><li>Technical English </li></ul></ul><ul><ul><li>Business Administration </li></ul></ul><ul><ul><li>Probabilities and Statistical Distributions. </li></ul></ul><ul><ul><li>Math-3 </li></ul></ul><ul><ul><li>Operating Systems-1 </li></ul></ul><ul><ul><li>File Organization and Processing </li></ul></ul><ul><ul><li>Computer Architecture </li></ul></ul><ul><ul><li>Computer Graphics </li></ul></ul><ul><ul><li>Networking </li></ul></ul><ul><ul><li>Software Engineering-1 </li></ul></ul><ul><ul><li>Software Engineering-2 </li></ul></ul><ul><ul><li>Artificial Intelligence </li></ul></ul><ul><ul><li>Database Systems </li></ul></ul><ul><ul><li>Compilers Construction </li></ul></ul><ul><ul><li>Multimedia </li></ul></ul><ul><ul><li>Advanced Multimedia. </li></ul></ul><ul><ul><li>Operating Systems-2 </li></ul></ul><ul><ul><li>Natural Language Processing </li></ul></ul><ul><ul><li>Computer Arabization </li></ul></ul><ul><ul><li>Distributed </li></ul></ul><ul><li>Systems. </li></ul><ul><ul><li>Image Processing. </li></ul></ul><ul><ul><li>Assembly </li></ul></ul><ul><ul><li>Neural Networks </li></ul></ul><ul><ul><li>Knowledge-Based Systems </li></ul></ul>
  4. 4. Java EE <ul><ul><li>Electronics </li></ul></ul><ul><ul><li>Introduction to Computing </li></ul></ul><ul><ul><li>Computer Programming </li></ul></ul><ul><ul><li>Statistics Methods </li></ul></ul><ul><ul><li>Math-1 </li></ul></ul><ul><ul><li>Math-2 </li></ul></ul><ul><ul><li>Logic Design </li></ul></ul><ul><ul><li>Electrical Communications </li></ul></ul><ul><ul><li>Operations Research </li></ul></ul><ul><ul><li>Data Structures and Algorithms </li></ul></ul><ul><ul><li>Information Systems </li></ul></ul><ul><ul><li>Technical English </li></ul></ul><ul><ul><li>Business Administration </li></ul></ul><ul><ul><li>Probabilities and Statistical Distributions. </li></ul></ul><ul><ul><li>Math-3 </li></ul></ul><ul><ul><li>Operating Systems-1 </li></ul></ul><ul><ul><li>File Organization and Processing </li></ul></ul><ul><ul><li>Computer Architecture </li></ul></ul><ul><ul><li>Computer Graphics </li></ul></ul><ul><ul><li>Networking </li></ul></ul><ul><ul><li>Software Engineering-1 </li></ul></ul><ul><ul><li>Software Engineering-2 </li></ul></ul><ul><ul><li>Artificial Intelligence </li></ul></ul><ul><ul><li>Database Systems </li></ul></ul><ul><ul><li>Compilers Construction </li></ul></ul><ul><ul><li>Multimedia </li></ul></ul><ul><ul><li>Advanced Multimedia. </li></ul></ul><ul><ul><li>Operating Systems-2 </li></ul></ul><ul><ul><li>Natural Language Processing </li></ul></ul><ul><ul><li>Computer Arabization </li></ul></ul><ul><ul><li>Distributed </li></ul></ul><ul><li>Systems. </li></ul><ul><ul><li>Image Processing. </li></ul></ul><ul><ul><li>Assembly </li></ul></ul><ul><ul><li>Neural Networks </li></ul></ul><ul><ul><li>Knowledge-Based Systems </li></ul></ul>
  5. 7. Being Professional
  6. 8. Professional? <ul><ul><li>Highly educated. </li></ul></ul><ul><ul><li>Mostly salaried. </li></ul></ul><ul><ul><li>Enjoy considerable work autonomy </li></ul></ul><ul><ul><li>Engaged in creative and intellectually challenging work. </li></ul></ul>
  7. 9. Are you Professional? So… <ul><ul><li>Define every term you know. </li></ul></ul><ul><ul><li>Read books. </li></ul></ul><ul><ul><li>Refer to references. </li></ul></ul><ul><ul><li>Think before Working. </li></ul></ul><ul><ul><li>Think before Complaining. </li></ul></ul><ul><ul><li>Do Not be Pedantic! </li></ul></ul>
  8. 10. Define Every Term <ul><ul><li>Why? </li></ul></ul><ul><ul><ul><li>Express yourself. </li></ul></ul></ul><ul><ul><ul><li>Talk with other professionals. </li></ul></ul></ul><ul><ul><ul><li>Pass interviews. </li></ul></ul></ul><ul><ul><ul><li>Be able to read books. </li></ul></ul></ul>
  9. 11. Define Every Term <ul><ul><li>Try Define… </li></ul></ul>
  10. 12. Define Every Term <ul><ul><li>Try Define… </li></ul></ul><ul><ul><ul><li>Computer . </li></ul></ul></ul>
  11. 13. Define Every Term <ul><ul><li>Try Define… </li></ul></ul><ul><ul><ul><li>Computer. </li></ul></ul></ul><ul><ul><ul><li>Performance . </li></ul></ul></ul>
  12. 14. Define Every Term <ul><ul><li>Try Define… </li></ul></ul><ul><ul><ul><li>Computer. </li></ul></ul></ul><ul><ul><ul><li>Performance. </li></ul></ul></ul><ul><ul><ul><li>Resource . </li></ul></ul></ul>
  13. 15. Define Every Term <ul><ul><li>Try Define… </li></ul></ul><ul><ul><ul><li>Computer. </li></ul></ul></ul><ul><ul><ul><li>Performance. </li></ul></ul></ul><ul><ul><ul><li>Resource. </li></ul></ul></ul><ul><ul><ul><li>Process . </li></ul></ul></ul>
  14. 16. Define Every Term <ul><ul><li>Try Define… </li></ul></ul><ul><ul><ul><li>Computer. </li></ul></ul></ul><ul><ul><ul><li>Performance. </li></ul></ul></ul><ul><ul><ul><li>Resource. </li></ul></ul></ul><ul><ul><ul><li>Process. </li></ul></ul></ul><ul><ul><ul><li>Application . </li></ul></ul></ul>
  15. 17. Define Every Term <ul><ul><li>Try Define… </li></ul></ul><ul><ul><ul><li>Computer. </li></ul></ul></ul><ul><ul><ul><li>Performance. </li></ul></ul></ul><ul><ul><ul><li>Resource. </li></ul></ul></ul><ul><ul><ul><li>Process. </li></ul></ul></ul><ul><ul><ul><li>Application. </li></ul></ul></ul><ul><ul><ul><li>Object-Oriented . </li></ul></ul></ul>
  16. 18. Read Books <ul><ul><li>How to Read a Book? (1940 by Mortimer Adler) </li></ul></ul><ul><ul><ul><li>3 distinct approaches , or readings, must all be made in order to get the most possible out of a book. </li></ul></ul></ul><ul><ul><ul><ul><li>(1) Structural Reading . </li></ul></ul></ul></ul><ul><ul><ul><ul><li>(2) Interpretative Reading . </li></ul></ul></ul></ul><ul><ul><ul><ul><li>(3) Critical Reading . </li></ul></ul></ul></ul>
  17. 19. Results to My Results
  18. 20. Structural Reading <ul><ul><li>Understanding the structure and purpose of the book. </li></ul></ul><ul><ul><li>Begin with determining the basic topic and type of the book being read, so: </li></ul></ul><ul><ul><ul><li>as to better anticipate the contents </li></ul></ul></ul><ul><ul><ul><li>comprehend the book from the very beginning. </li></ul></ul></ul><ul><li>If you will not read the book in your hands, at least read the index. </li></ul>
  19. 21. Interpretative Reading <ul><ul><li>Constructing the author's arguments. </li></ul></ul><ul><ul><li>This first requires the reader to note and understand any special phrases and terms that the author uses. </li></ul></ul><ul><ul><li>More terms you can define, more understanding to books is gained. </li></ul></ul>
  20. 22. Critical Reading <ul><ul><li>Criticize the arguments. </li></ul></ul><ul><ul><li>Now you understand the content? Still not unless you can judge the arguments. </li></ul></ul><ul><ul><li>Think about the arguments, are they logical to you? Is there any disamiguities? </li></ul></ul>
  21. 23. Refer to References <ul><ul><li>In the exhibited code, does else refer to the red if or blue if ..?? </li></ul></ul>if (x == y) if (y == z) out.println(“y == z”) ; else out.println(“????”) ;
  22. 24. Java Language Specification <ul><ul><li>if rule: </li></ul></ul>
  23. 25. Java Language Specification <ul><ul><li>if rule: </li></ul></ul>
  24. 26. Java Language Specification <ul><ul><li>if rule: </li></ul></ul>
  25. 27. Java Language Specification <ul><ul><li>if rule: </li></ul></ul>BNF
  26. 28. Think before Working <ul><ul><li>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? </li></ul></ul>1 2 A file
  27. 29. Virtual Address Space <ul><ul><li>Virtual address space (abbreviated VAS) is a memory mapping mechanism available in modern operating systems such as OpenVMS, UNIX, Linux, and Windows NT. </li></ul></ul><ul><ul><li>This is beneficial for different purposes, one is protection through process isolation. </li></ul></ul>
  28. 30. Virtual Address Space
  29. 31. Virtual Memory Program 1 Program 2
  30. 32. Think before Complaining <ul><ul><li>Is not 0.1 2 = exactly 0.01 ??! </li></ul></ul><ul><li>Java is Buggy ! </li></ul>double x = 0.1 ; out.println(x*x) ; //prints 0.010000000000000002 (!!!)
  31. 33. Floating-Point Representation <ul><ul><li>IEEE754 . </li></ul></ul><ul><ul><li>Float: 32-bits (single-precision) </li></ul></ul><ul><ul><li>Double: 64-bits (double-precision) </li></ul></ul><ul><ul><li>Can you: </li></ul></ul><ul><ul><ul><li>convert 0.1 into binary? (work it out) </li></ul></ul></ul>
  32. 34. Floating-Point Representation <ul><ul><li>IEEE754 . </li></ul></ul><ul><ul><li>Float: 32-bits (single-precision) </li></ul></ul><ul><ul><li>Double: 64-bits (double-precision) </li></ul></ul><ul><ul><li>Can you: </li></ul></ul><ul><ul><ul><li>convert 0.1 into binary? (work it out) </li></ul></ul></ul><ul><ul><li>Fact… There’s no exact representation for 0.1 in computer floats! </li></ul></ul>
  33. 35. Do Not be Pedantic! <ul><ul><li>A program to sort an array. </li></ul></ul><ul><li>for (int i = 0 ; i < arr.length-1; i++) { </li></ul><ul><li>for (int j = i + 1; j < arr.length; j++) { </li></ul><ul><li>if (arr[j] < arr[i]) { </li></ul><ul><ul><ul><ul><li>int tmp = arr[i] ; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>arr[i] = arr[j] ; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>arr[j] = tmp ; </li></ul></ul></ul></ul><ul><ul><ul><li>} </li></ul></ul></ul><ul><ul><li>} </li></ul></ul><ul><li>} </li></ul>
  34. 36. Do Not be Pedantic! <ul><ul><li>Ooh!... I’m professional…!! </li></ul></ul>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];
  35. 37. Compiler Phases
  36. 38. Compiler Optimization <ul><ul><li>Compiler optimization is the process of tuning the output of a compiler to minimize or maximize some attribute of an executable computer program. </li></ul></ul><ul><ul><li>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. </li></ul></ul><ul><ul><li>The growth of portable computers has created a market for minimizing the power consumed by a program. </li></ul></ul>
  37. 39. <ul><li>The Message </li></ul><ul><li>“ FCI makes me Professional in my work… What if I studied harder?” </li></ul><ul><ul><li>An FCI graduate. </li></ul></ul>

×