The goals of the presentation are 
  1. independent learning
  2. team work
  3. presentation experience with peer feedback
Select a topic your team have limited experience with. Presentation and research should be done in teams of 2-4 students.  Presentations should be between 20-40 minutes.  Presentation material and written document are required.  The written document will include an abstraction of your talk, all references and a paragraph specifying what each member of your team contributed.   It should also address questions raised in the feedback you recieved. The written document will be between 2-5 pages double spaced.
You can include demo code if appropriate.

Link to the ranking of programming languages with regard to popularity:



Topics for student's presentation:
  1. You can pick a language you don't know from Tribes Index
  2. Top 7 Modern programming languages to learn now 
  3. Six programming paradigms
  4. Programming languages you should try
  5. Comparison of programming languages (Wikipedia)
  6. Ada 
  7. aspect-oriented programming & Programming by Contract  
  8. What Every C Programmer Should Know About Undefined Behavior (1-3)
  9. LLVM ( CLANG, LLDB)
  10. C20 pick a number of important new features including the multi-threading features.
  11. C#  & Virtual Machines
  12. ceylon
  13. Chapel
  14. cilk (concurrent language)
  15. COQ
  16. crystal
  17. C.U.D.A
  18. D
  19. DART
  20. Design Patterns and Frameworks and Java Idioms
  21. Dependent_type
  22. ELM
  23. Erlang and Elixir
  24. Flex and Actionscript can be combined with XML
  25. Forth &/ factor
  26. Fortran
  27. frink
  28. F#
  29. Fantom
  30. Go
  31. Hadoop and big  data
  32. haXe
  33. hack (Php)
  34. Idris
  35. Java 12- 
  36. Julia
  37. Kodu and Spark 
  38. kotlin
  39. Larch
  40. Lua  
  41. Opa (for web developement)
  42. MapReduce -hadoop etc
  43. ML
  44. Newspeak
  45. Objective C & Smalltalk  & Swift
  46. OCaml 
  47. Open Source License/ Copywrite laws
  48. PHP -- JavaScript (ECMAScript) and TypeScript
  49. Processing 
  50. Program correctness proofs
  51. Programming by contract
  52. Programming Without Coding Technology
  53. Raku
  54. Red
  55. Report on "The Pragmatic Programmer"
  56. rust
  57. Scala 
  58. Scheme/Lisp/Clojure 
  59. Scratch  
  60. SETL
  61. Shen
  62. Snobol
  63. subtext
  64. Theory -- Monads
  65. Unity (C#/Xamarin/etc)
  66. Verilog etc
  67. X10
  68. Z notation
  69. π-calculus
  70. ??? propose a topic ??