15
Expanding Programming Skills Jussi Pohjolainen Tampere University of Applied Sciences

Expanding Programming Skills (C++): Intro to Course

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Expanding Programming Skills (C++): Intro to Course

Expanding  Programming  Skills  

Jussi  Pohjolainen  Tampere  University  of  Applied  Sciences  

Page 2: Expanding Programming Skills (C++): Intro to Course

Instructor  

•  Jussi  Pohjolainen,  [email protected]

•  Room:  C4-­‐09,  Kuntokatu  3,  Tampere  University  of  Applied  Sciences  

•  Contact  via  e-­‐mail  or  Facebook    

Page 3: Expanding Programming Skills (C++): Intro to Course

Course  Environment  •  Course  Page  

–  Screencasts,  exercises,  deadlines,  instrucJons  –  http://bit.ly/4-aot17-hp

•  Facebook  Group  /  E-­‐mail  –  News,  discussions  –  http://bit.ly/4-aot17-fb

•  Google  Sheets  – Marking  Exercises  

•  Dropbox  –  Returning  exercises  –  http://www.dropbox.com

Page 4: Expanding Programming Skills (C++): Intro to Course

How  to  Pass?  

1.  Pass  the  exam  (standard  C++)  2.  Do  Exercises  (min  50%)  3.  Implement  project  work  4.  Give  course  feedback  

Page 5: Expanding Programming Skills (C++): Intro to Course

1  Exam  

•  Only  quesJons  about  standard  C++  •  With  pen  and  paper  and  it's  open  book  exam  – You  can  bring  any  paper  material  with  you!  

•  QuesJons  like  – "What  is  the  output  of  the  following  code"  

•  Study  to  exam!  It's  hard...  •  Grading:  Pass  /  Fail  – To  pass,  you  must  get  50%  correct  answers  

 

Page 6: Expanding Programming Skills (C++): Intro to Course

2  Exercises  

•  Implement  the  exercises  in  your  own  •  Upload  to  Dropbox  ( www.dropbox.com )  – Create  a  folder  and  share  the  content  of  the  folder  to  teacher.  See  detailed  instrucIons  from  the  course  page    ( bit.ly/4-aot17-hp#return )  

•  Mark  to  Google  Sheets  •  Min.  50%,  if  more,  you  get  grading  between  1  –  5.  See  Google  Sheets  for  exact  grading.  

Page 7: Expanding Programming Skills (C++): Intro to Course

3  Project  Work  

•  Implement  app  that  is  either  – Standard  C++  command  line  applicaJon  OR  – Qt  app,  target  either  desktop  or  mobile  

•  You  can  choose  the  subject  of  your  app  but  you  must  get  approval  from  the  instructor!  

•  Example  topics:  Text  Editor,  Project  ;me  tracking  app,  RSS  reader,  Game,  Calendar  app..  

Page 8: Expanding Programming Skills (C++): Intro to Course

4  Course  Feedback  

•  Every  student  must  give  course  feedback  •  Fill  the  simple  web  form  in  the  end  of  the  course  

Page 9: Expanding Programming Skills (C++): Intro to Course

Grading  

•  Grading  is  an  average  of  returned  exercises  and  project  work  

•  Exercises  and  project  work  is  done  individually!    

Page 10: Expanding Programming Skills (C++): Intro to Course

Schedule  

•  Exercises  are  returned  on  Mondays  at  8:30    •  See  Course  Site  for  details  

Page 11: Expanding Programming Skills (C++): Intro to Course

Topics  

•  First  the  C++  stuff  – Compiling,  GCC,  about  makefiles,  formagng  code  – Pointers,  References,  memory  handling,  classes,  constructors,  polymorphism,  “interfaces”,  templates..  

•  And  then  some  Qt  stuff  – What  is  Qt?  Compiling  Qt  apps,  Qt  Memory  Handling,  Qt  Designer  and  TranslaJons,  using  the  class  library  

Page 12: Expanding Programming Skills (C++): Intro to Course

MOTIVATION  

Page 13: Expanding Programming Skills (C++): Intro to Course

Why?  

•  C++,  the  mother  of  all  languages.  :D  •  C  and  C++  are  one  of  the  most  used  languages  (see  Jobe)  

•  Most  Java  developers  are  preUy  clueless  about  some  basic  programming  related  issues  (memory  handling,  pointers)..  

Page 14: Expanding Programming Skills (C++): Intro to Course

C++  vs.  Qt?  

•  C++  is  language,  and  Qt  is  C++  framework.  •  Nokia  and  Qt?  –  2010:  Nokia:  Qt  is  the  main  framework  for  building  apps  for  Symbian  and  upcoming  MeeGo  Devices  

–  2011:  Nokia  and  MS  sign  strategic  Je-­‐up;  focus  on  Windows  Phone  7..  Symbian  will  die  and  MeeGo  put  aside  

–  2012:  Digia  acquires  Qt  •  Today:  Cross-­‐plalorm  framework  for  mulJple  plalorms,  also  mobile!  

Page 15: Expanding Programming Skills (C++): Intro to Course

About  Qt  Framework  •  C++  framework  for  building  apps  for  desktop  and  mobile  

•  NaIve  apps!  •  Target  mulJple  plalorms:  Windows,  Linux,  Mac  (symbian  +  meeGo)    

•  Qt  5.2:  Mobile  EdiIon!  – Android,  iOS  …  

•  Very  clean  and  easy  framework  •  Good  tools  and  IDEs  •  Excellent  documentaJon