Presentations
Presentations (individual): Tools and Articles
Instructor Instructions:
- This assignment should be posted on the class platform to allow all students to see each other entries. This will help them learn from their teammates presentations.
- Suggested time: after midterm till end of semester
- Presentation Time: 20 min/ student
Posting for Students:
Tools and Articles - presentations guidelines
Each of you must either pick an article or one of the tools in any of the below topics during this semester.
You must do all of the following:
select your tool/article and post its name below as a followup, along with the date you prefer to present it
submit a presentation file before the presentation time as a followup below; if you present a tool and show a demo then you also must submit your code files in a zip
present for 10-15 minutes in class
Important: when you’re picking a tool/article, give me 2-3 dates when you can present it, so I can schedule the presentation. Last class you can schedule your presentation is Nov 5th, 2020.
Two types of TOOL presentations are allowed:
In-depth look at a tool with new information (has to be distinct from previous presentations on the same topic and must refer to them). Include your code demo of how it works on 2-3 tasks, show, and explain code.
Comparison of several tools using tool presentations from previous semesters to recommend one for a use case. Include your demo of how they work on 1-2 tasks, show, and explain code in all the tools you selected. Make your comparison point(s) via the code.
The in-depth look presentations will be graded based on the existence of the following information:
- Basic description of the tool. You can include live demos or online videos. Make sure everyone can get a grasp of the basic principles. Refer to and compare with info from previous presentations.
- Who uses it? Which companies are known to use this?
- How is it useful for us? Would you use it?
- How does it compare with other tools in the same category? What are its distinguishing features? What are its weaknesses?
- Submitting your presentation file here.
- Include your demo of how it works on 2-3 tasks, show, and explain code.
- Submitting your demo code files as a zip here.
The comparison presentations will be graded based on:
- The basic explanation of the concept
- List of tools available and their differences
- Which tool is best for which type of application?
- Summary of the best or a recommendation for the class or current project
- Submitting your presentation file here.
- Include your demo of how they work on 1-2 tasks, show, and explain code in all the tools you selected. Make your comparison point(s) via code.
- Submitting your demo code files as a zip here.
Semester topics you can pick from (all will be posted here):
What
- Programming languages: C++, C#, JavaScript, Python, Ruby, Elixir
- Process tools or coding frameworks: ReactJS, Angular, Vue, Flutter, MERN, MEAN, Ruby on Rails, jQuery, Flask, Bootstrap, ASP.NET, Ionic
- No SQL Databases: MongoDB and mLAB, CouchDB, PouchDB, Cassandra, Firebase
- Testing frameworks: jUnit, Karma, Travis CI
- Build tools
- Software technology news
Articles:
- TESTING SOFTWARE: 2 OPTIONS. There are two articles to choose from (choose only one).
- The first one, from the Testing Geek website, covers Software Testing of User Stories which is particularly useful for our agile project methods. Cached Version.
- The second option is an article/interview featuring Martin Fowler, who has contributed in many areas of Computer Science. Test Driven Development is a mantra for many of the best developers. Cached Version.
- SOFTWARE ESTIMATION: 2 OPTIONS. Two articles are also available for this topic (choose one).
- The first is by Steve McConnell, who is perhaps best known for his book “Code Complete”. Lessons in Software Estimation looks at the kinds of issues that arise in any kind of project planning, not just software planning. The second article is by Joel Spolsky and introduces the idea of Evidence-Based Scheduling, which builds on personal statistics gathered over time. Cached Version.
12 STEPS TO BETTER CODE Joel Spolsky has kept a lively, interesting blog. The 12 Steps Joel recommends are an interesting way to measure both your own performance as well as that of your organization.
REQUIREMENTS ENGINEERING: WHEN TELEPATHY WON’T DO Even though Karl Wieger’s article is old, it still offers valuable insight into the process of understanding what customers want. When Telepathy Won’t Do applies to web development as much as it does to traditional software development. (Cached Copy).
Agile:
- JavaScript:
- It’s time we talk about object-oriented Javascript
- Prototypal object-oriented programming using javascript
- The typescript tax
- Type study
- What is a higher order observable
- React animated tutorial
- How to escape async/await hell
- 11 JavaScript Utility Libraries you Should Know in 2019
- The Most In-Demand JavaScript Frameworks for Developers in 2019
- How to stop using console.log() and start using your browser’s debugger
- Service workers: the little heroes behind Progressive Web Apps
Article presentation requirements:
Submit your presentation materials (slides, a PDF, or other written overview) by the beginning of class by replying to your post here. The point is both to convey what the author says as well as to offer a thoughtful analysis. Your presentation must cover the following 4 items:
Summary
Supporting Points
Points Against
Reader’s Opinion (for or against)
Your own view of the subject
The reader’s opinion should be supported by observations, personal experience, or other rational explanations. Late submissions up to one week will receive a penalty. No later submissions will be accepted. An exceptional report may be awarded extra points.
NOTE: There will be extra points given to people responding to the followups with good arguments. The original presentation can also get extra points if they respond with a good answer.