There are all the details here about why and how to prepare and do this presentation. This is a graded assignment.
Purpose
Skills you will practice by doing this assignment
Researching, reading about and investigating a technology that you have not seen before
Learning how to experiment and write a ‘hello world’ example that illustrates the key concepts
Designing and delivering a presentation that will teach what you have learned
Knowledge that you will gain
Deeper knowledge about a key technology that is of interest to you and others
How to approach a technical presentation and a sense of your strengths and areas to improve
How will this be useful to you in the future
Software engineers have to constantly evaluate and learn new technologies
Being comfortable and proficient at giving presentations is a crucial skill no matter what you do with your Computer Sceince Degree.
Steps
The topic will be decided upon between the teacher and the student(s). It should be something that interests you (“I always wanted to learn …”) and is relevant to the class. You have a lot of freedom here.
Once your topic is selected, you want to google to find relevant papers, articles, videos about it
Depending on the topic, you will want to know the theoretical foundation; the real world problem or need that it is addressing; where it is being used currently, and how well respected or adopted it is; why it is relevant.
Look into what the simplest, smallest program that you could write that illustrates the use cases, the APIs or libraries and how they are used to achieve the desired result.
Think about how to explain it in a technical way to the rest of us and prepare a presentation. Think about answering questions such as:
What is the problem that this is solving or addressing? Why is it hard? Why is it important?
What other approaches exist (if any) to solve the problem? Why is this approach better or at least interesting?
What are the key concepts or abstractions that someone using it needs to know about
What are the libraries, apis, tools that are needed?
Show a simple (or the simplest) code example that illustrates all this?
What are the reasons to use this technology (advantages) and what are reasons you would avoid this technoly (disadvantages)
It may but doesn’t have to include
Slides
Sample code written by you or that you found somewhere
Anything else you think is useful
You will have 30 minutes, including questions, so plan accordingly
Make sure you actually understand what you are presenting.
The audience will ask questions and it will quickly be apparent if you don’t. Take time to prepare!
Feedback and assessment
Learning how to assess a new technology quickly and effectively is a very important skill to work on. This is the life of a software engineer nowadays. Should I or should I not adopt Kubernetes?
Being able to give an interesting and clear technical presentation is also a very important ability to practice. For example many companies will ask you to do a quick technical presentation as part of the interview process!
And of course Senior Honors Projects and PhDs all require an excellent presentation design and delivery.
What a great Tech Pres looks like
New Tech or Concept: We really learn about a new technical or computer science concept, technique, package or library. While some of it may have been heard about before, we feel that we have gained fresh insights.
Specific Package or Paper: The presentation is focused, and goes beyond high level concepts, and introduce at least one technology or package, or go in depth about at least one scholarly paper that is relevant
Applicable: At the end the we feel ready to incorporate what we learned into their assignments or project. It was specific enough to be actionable. It is important to explain how it will relate or fit into nanoTwitter
Real: The presentation includes real code examples that run and illlustrate the specifics. Code examples, or live coding are part of the presentation, as well as links to relevant resources: libraries, papers, blog posts, etc.
Examples
It’s sometimes useful to see an examole
View the first 30 minutes or so to see how others did it