Computer Programming: Intro To Java Lesson 1

Part 1 of 20 slideshow presentations introducing the reader to the principles of java and computer coding (CSC 120 course)
View more...
   EMBED

Share

Preview only show first 6 pages with water mark for full document please download

Transcript

Lecture  1:  Playing  with  Java   This  lecture  covers  part  of  Chapter  1   of  the  textbook   1.  A  BRIEF  SPIEL  ABOUT   COMPUTING   Mitsu  Ogihara,  CSC120   Why  Study  CompuGng?   •  Steady  job  market  for  those  who  can  compute   •  Prevalence  and  growing  need  of  compuGng   technologies   –  Business  and  educaGon  computer  systems   –  Mobile  phone  applicaGons   Mitsu  Ogihara,  CSC120   What  Is  Computer  Science?   •  “CS  is  the  scienGfic  and  pracGcal  approach  to   computaGon  and  its  applicaGons.  It  is  the   systemaGc  study  of  the  feasibility,  structure,   expression,  and  mechanizaGon  of  the  methodical           processes  (or  algorithms)  that  underlie  the   acquisiGon,  representaGon,  processing,  storage,   communicaGon  of,  and  access  to  informaGon,   whether  such  informaGon  is  encoded  as  bits  in  a   computer  memory  or  transcribed  in  genes  and   protein  structures  in  a  human  cell.”  –  Wikipedia   (as  of  May,  2014)   Mitsu  Ogihara,  CSC120   Examples  of  Areas  in  Computer   Science   •  Theory  of  compuGng  =  the  study  of  laws  that  govern   computaGon;  what  can  be  computed,  and  what  can  be   computed  efficiently   •  ArGficial  Intelligence  =  the  study  of  algorithmic  ways  to   mimic  human  intelligence   •  Computer  systems  =  the  study  of  efficient  computer   systems,  e.g.,  coordinaGon  of  computaGon  carried  out   by  mulGple  computers   •  ComputaGonal  biology  =  the  study  of  methods  for   understanding  biological  (and  medical  data)   •  Databases  =  the  study  of  methods  for  recording,   organizing,  and  analyzing  data     Mitsu  Ogihara,  CSC120   MoGvaGon  for  the  Course   •  Since  compuGng  is  so  prominent,  learning   how  to  write  a  computer  program  is  perhaps   as  important  as  learning  how  to  use  computer   tools  for  producGvity  (email,  word  processing,   etc.)   •  In  the  future  college  graduates  might  be   expected  to  know  how  to  program  .  .  .   Mitsu  Ogihara,  CSC120   Is  Learning  How  to  Program  Easy?   •  No.    Knowing  a  programming  language  is   totally  different  from  being  able  to  code  in   that  language.   Mitsu  Ogihara,  CSC120   The  Right  Mindset   •  Do  not  be  afraid  of  making  mistakes   –  Embrace  mistakes,  and  learn  from  them   •  Maintain  a  high  spirit   –  Do  not  get  too  frustrated  if  you  do  not  get  it  right   •  Try  to  think  logically   –  If  your  program  does  not  work,  it  is  due  to  logical   flaws  that  you  put  in  your  code   –  Oben  the  flaws  are  so  simple  that  you  fail  to  noGce   them   •  Try  to  spend  much  Gme  on  coding   Mitsu  Ogihara,  CSC120   2.  JAVA  AND  OUR  FIRST  PROGRAM   Mitsu  Ogihara,  CSC120   What  Is  a  Computer  Program?   •  A  computer  program,  or  just  a  program,  is  a   sequence  of  instrucGons,  wricen  to  perform  a   specified  task  with  a  computer   •  Three  representaGons  of  a  “program”   1.  Algorithm:  systemaGc  idea  for  performing  the  task;   can  be  verbally  described  and  wricen  as  diagrams   2.  Source  code:  a  program  wricen  using  a  computer   programming  language   3.  Executable:  a  program  that  the  machine  at  hand  can   read  and  execute  to  complete  the  task     Mitsu  Ogihara,  CSC120   Programming  Languages   •  There  are  hundreds  of   computer  programming   languages,  some  are   historical  (i.e.,  not  many   acGve  users)   •  Each  language  is   designed  with  specific   features  to  implement   •  •  •  •  •  •  •  •  C++,  Java   Lisp   Perl,  Python,  R,  Ruby   Pascal   Fortran   COBOL   C   BASIC   Mitsu  Ogihara,  CSC120   What  Is  Java?   •  Similar  to  C/C++   •  Designed  with  a  goal  of  being  able  to  simulate   a  machine  virtually   Mitsu  Ogihara,  CSC120   ManipulaGng  Java  Programs   (in  the  CSC120  Style)   •  Open  a  Terminal  console   1.  Use  an  editor  (vi/gedit/emacs)  to  write  a  code  –  Let’s   say  you  have  saved  it  as  HelloWorld.java   2.  Compile  the  program  –  Type  in  a  console:  javac   HelloWorld.java   3.  Fix  error,  if  any  –  Now  HelloWorld.class  is  generated   4.  Run  the  program  –  Type  in  a  console:  java  HelloWorld   5.  Repeat  the  above  if  necessary   •  See  the  demonstraGon!   Mitsu  Ogihara,  CSC120   The  First  Program,  HelloWorld.java   (the  line  numbers  not  part  of  code)   1  2  3  4  5  public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } Mitsu  Ogihara,  CSC120   The  Outcome  of  ExecuGon   %  is  called  a  “prompt”   It  nudges  the  user  to  type  a  “command”   % % java HelloWorld Hello, World! Mitsu  Ogihara,  CSC120   An  Anatomy   Each  program  starts  with  “public  class“  followed   by    the  name  of  the  program,  called  a  class  name   1  2  3  4  5  public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } The  lines  2-­‐4  define  a  “method”     Every  executable  Java  program  must  have  a  method  with  the  name  of  “main”   Mitsu  Ogihara,  CSC120   HelloWorld.java     1  2  3  4  5  public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); C   } } This  is  called  a  “statement”  and  a  major  building  block  of  the  Java  program.   Each  statement  has  a  ‘;’  at  the  end.   The  ‘;’  is  used  as  the  punctuaGon.   Mitsu  Ogihara,  CSC120   What  Does  “public  class  HelloWorld”   Mean?   1.  It  states  that  this  Java  program  is  called   HelloWorld   2.  Because  of  the  name  it  also  requires  that  the   program  file  name  should  be   HelloWorld.java   3.  Successful  compilaGon  produces   HelloWorld.class   Mitsu  Ogihara,  CSC120   The  Keywords  “public”  and  “class”   1.  “public”:  The  code  can  be  accessed  by  other   code  and  by  the  Java  execuGon  command   2.  “class”:  The  methods  in  the  code  can  be  run   –  AlternaGves  are:  “interface”  and  “abstract  class”   –  We  will  study  “interface”  later   Mitsu  Ogihara,  CSC120   What  Does  “public  staGc  void   main(String[]  args)”  Mean?   1.  “public”:  The  code  can  be  accessed  by  other   code  and  by  the  Java  execuGon  command   2.  “staGc”:  The  method  can  be  specified  by  telling   Java  “HelloWorld’s  main  method”   3.  “void”:  The  method  returns  nothing   4.  “Strings[]  args”:  SomeGmes  a  programmer   allows  the  user  to  provide  addiGonal   informaGon  for  execuGon,  aber  “java   programName”  and  the  “args”  contains  this   informaGon   Mitsu  Ogihara,  CSC120   System.out.println   •  System.out.println(“.  .  .”)  prints  on  the  screen   the  symbols  appearing  within  the  double   quotes  verbaGm  and  then  a  carriage  return   Mitsu  Ogihara,  CSC120   Matching  Braces   1  2  3  4  5  public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } Parts  of  code  are  surrounded  by  a   matching  pair  of  “{“  and  “}”.   Each  Gme  a  new  level  of  {}  is  addiGonal  indentaGon  is  given.   The  increment  of  indentaGon  is  usually  two  or  four  white   spaces.   The  indentaGon  makes  easier  to  read  the  code.   Mitsu  Ogihara,  CSC120   3.  CODE  EDITING   Mitsu  Ogihara,  CSC120   Code  EdiGng   •  The  CSC120  labs  will  take  place  in  Ungar426   •  There  are  18  machines,  each  running  a  Unix-­‐ like  operaGng  system   •  Three  recommended  code  ediGng  programs   –  vi,  emacs,  gedit   –  gedit  is  a  wysiwyg  editor   Mitsu  Ogihara,  CSC120   funcXon   vi  versus  emacs   (examples)     vi   emacs   Moving  cursor   Arrow  keys   Arrow  keys   AlternaGve    (Leb,   Down,  Up,  Right)   ‘h’,  ‘j’,  ‘k’,  ‘l’   C-­‐b,  C-­‐n,  C-­‐p,  C-­‐f   InserGng  text  at  the   current  posiGon   ‘i’  to  start  inserGon;  “esc”  to   Just  start  typing   conclude   Replacing  a  line  with   some  text   ‘0’,  ‘D’,  ‘a’,  type  the  text,  and   C-­‐k  and  then  type  the  text   then  “esc”   Beginning  of  line   ‘0’   C-­‐a   End  of  line   ‘$’   C-­‐e   Saving  the  file  and   close   “esc”  (if  not  pressed  already)   C-­‐x  C-­‐c   ‘:’  ‘w’  ‘q’   Mitsu  Ogihara,  CSC120   4.  CODE  WRITING  PRINCIPLES  AND   COMMENTING   Mitsu  Ogihara,  CSC120   The  Naming  Rules   •  The  name  of  the  class   –  The  class  name  starts  with  a  lecer,  a  ‘$’,    or  a  ‘_’   –  The  name  can  contain  only  alphabets,  numbers,   ‘$’,  and  ‘_’   Mitsu  Ogihara,  CSC120   The  Art  of  CommenGng   •  Three  ways  to  comment   –  //  …   •  Usually  for  comments  that  require  only  one   –  /*  …  */   •  Usually  for  comments  that  require  mulGple  lines   –  /**  …  */   •  The  comments  appearing  this  way  can  be  shared  with   others,  called  javadoc   •  We  will  visit  javadoc  later  in  the  course   Mitsu  Ogihara,  CSC120   Comments  Example   Comments.java   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  /* * Class for showing comment examples * Written by Mitsunori Ogihara */ public class Comments { /** * main method * @param args the arguments */ public static void main(String[] args) { // There is only one line in the program System.out.println(”A code needs comments!"); System.out.println(“A code needs indentation!”); } } Mitsu  Ogihara,  CSC120   Code  WriGng  Principles   1.  Indent  further  whenever  a  new  level  of  {}  is   generated   2.  Provide  comments  so  as  to  remember  what   the  code  is  supposed  to  be  doing   3.  Insert  space  between  lines  for  readability,  if   necessary   4.  No  more  than  one  statement  per  line   Mitsu  Ogihara,  CSC120   A  Program  with  No  IndentaGon   CommentsNoIndent.java   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  /* * Class for showing comment examples * Written by Mitsunori Ogihara */ public class Comments { /** * main method * @param args the arguments */ public static void main(String[] args) { // There is only one line in the program System.out.println(”A code needs comments!"); System.out.println(”A code needs indentation!"); } } Mitsu  Ogihara,  CSC120