A presentation for university students studying Computer Science about topics that are crucial at the workplace but not given as much attention at school
Presented by: Ellen Spertus, Mills College
Presented at All Things Open 2020
Abstract: Open source programming is professionally and personally rewarding, but many people are intimidated by the barriers to entry and the field's reputation for hostility to newcomers, especially members of marginalized groups. As a computer science professor at a minority-serving women's college, I have countered this by guiding students, as part of their required coursework, to learn and apply the necessary skills to make contributions to open source projects. I will share what I have learned over the years about breaking down the barriers to help other educators, mentors, and open source practitioners increase participation.
Testing a software product is an essential part of the development process. The tests have the goal to improve/optimize defined quality attributes of the product. Unfortunately, sometimes software is developed based on the needs of a single programmer or just because a recent technology enables new product developments, and later—once a prototype is available—the question arises for whom this product might be interesting. In such cases, it is difficult to develop the appropriate requirements that best fit the needs of the final user.
In this talk we describe a personas-driven testing approach, which derives personas based on an initial product idea. Based on the derived personas, we define requirements and tests to guide the further development of the product.
The talk will present a case study in which we applied the method: from the initial prototype, we derive four personas that use the prototype in various ways, we extract requirements and tests.
You woke up in the middle of the night and had this great dream/idea for an amazing app, You were working in MacDonald’s and find it while listening to your customer or You find it while drinking in a bar.…
ANYWAY
If you can picture it, you know it is useful, and you can imagine that many people would like it, too
Then you are on the right path. (Start Reading)
Presented by: Ellen Spertus, Mills College
Presented at All Things Open 2020
Abstract: Open source programming is professionally and personally rewarding, but many people are intimidated by the barriers to entry and the field's reputation for hostility to newcomers, especially members of marginalized groups. As a computer science professor at a minority-serving women's college, I have countered this by guiding students, as part of their required coursework, to learn and apply the necessary skills to make contributions to open source projects. I will share what I have learned over the years about breaking down the barriers to help other educators, mentors, and open source practitioners increase participation.
Testing a software product is an essential part of the development process. The tests have the goal to improve/optimize defined quality attributes of the product. Unfortunately, sometimes software is developed based on the needs of a single programmer or just because a recent technology enables new product developments, and later—once a prototype is available—the question arises for whom this product might be interesting. In such cases, it is difficult to develop the appropriate requirements that best fit the needs of the final user.
In this talk we describe a personas-driven testing approach, which derives personas based on an initial product idea. Based on the derived personas, we define requirements and tests to guide the further development of the product.
The talk will present a case study in which we applied the method: from the initial prototype, we derive four personas that use the prototype in various ways, we extract requirements and tests.
You woke up in the middle of the night and had this great dream/idea for an amazing app, You were working in MacDonald’s and find it while listening to your customer or You find it while drinking in a bar.…
ANYWAY
If you can picture it, you know it is useful, and you can imagine that many people would like it, too
Then you are on the right path. (Start Reading)
This course provides a detailed introduction to the Object Oriented techniques identified by Robert Martin as the SOLID principles of software design. Intended for both novice and intermediary developers, each of the five principles are fully defined and explored. Real-world coding examples are provided for each software tenant to help fully expound upon the design techniques. By the end of the session, developers will be able to identify common code smells while applying SOLID programming practices that ensure clean and maintainable code.
Designer is constantly confronted with challenge that how to make the application simple but also powerful. Powerful features will usually result in the complicated user interface. How to simplify it without sacrificing the powerfulness ?
This decks are for addressing the challenges from both product management and user experience design perspectives.
SOLID is a mnemonic device for 5 design principles of object-oriented
programs (OOP) that result in readable, adaptable, and scalable code.
S - Single Responsibility Principle.
O - Open Closed Principle.
L - Liskov Substitution Principle.
I - Interface Segregation Principle.
D - Dependency Inversion Principle.
Continuous Deployment and Testing Workshop from Better Software WestCory Foy
In this workshop from the 2015 SQE Better Software West conference, Cory Foy details the Continuous Paradigm companies are embracing - including Continuous Integration, Continuous Deployment, and Continuous Testing. This presentation was co-created by Jared Richardson.
An ultimate guide to SOLID Principles, developers must know.ONE BCG
SOLID Principles represent a set of guidelines that helps us to avoid having a bad design. It is a set of design principles in object-oriented software development.
This course provides a detailed introduction to the Object Oriented techniques identified by Robert Martin as the SOLID principles of software design. Intended for both novice and intermediary developers, each of the five principles are fully defined and explored. Real-world coding examples are provided for each software tenant to help fully expound upon the design techniques. By the end of the session, developers will be able to identify common code smells while applying SOLID programming practices that ensure clean and maintainable code.
Designer is constantly confronted with challenge that how to make the application simple but also powerful. Powerful features will usually result in the complicated user interface. How to simplify it without sacrificing the powerfulness ?
This decks are for addressing the challenges from both product management and user experience design perspectives.
SOLID is a mnemonic device for 5 design principles of object-oriented
programs (OOP) that result in readable, adaptable, and scalable code.
S - Single Responsibility Principle.
O - Open Closed Principle.
L - Liskov Substitution Principle.
I - Interface Segregation Principle.
D - Dependency Inversion Principle.
Continuous Deployment and Testing Workshop from Better Software WestCory Foy
In this workshop from the 2015 SQE Better Software West conference, Cory Foy details the Continuous Paradigm companies are embracing - including Continuous Integration, Continuous Deployment, and Continuous Testing. This presentation was co-created by Jared Richardson.
An ultimate guide to SOLID Principles, developers must know.ONE BCG
SOLID Principles represent a set of guidelines that helps us to avoid having a bad design. It is a set of design principles in object-oriented software development.
Maintainable UI Tests with Selenium and C#Jacinto Limjap
In this session I describe how to create UI Tests using Selenium, MSTest, and C# on Visual Studio 2017. I also describe PageObjects, which allow me to create more readable tests.
A presentation on clearly defining a microservice architecture, culture, and discovering how to determine whether it is a step in the right direction for your system. I discuss about the decisions that lead us to take on a microservice architecture approach at Sprout, and the challenges we are facing as a startup learning a new method for making apps.
C# and the Evolution of a Programming LanguageJacinto Limjap
This presentation discusses an overview of the .NET framework, a little history of C#, and the evolution of C# from its early days up to its current form including a preview of C# 7.0
N-tier and oop - moving across technologiesJacinto Limjap
A talk on N-tiered architecture, object-oriented programming, and its importance in industry best practices. Presented to graduating college students as part of the Microsoft Philippines Career Booster event.
Dynamics & Object Runtime Composition with C# 4.0Jacinto Limjap
A discussion of the new language features of C# 4.0, emphasizing on the dynamic programming capabilities of the language and its ability to define objects at runtime
5. Facts you only find out at work Writing new code is the first thing you do at school, but the LAST thing you do at work
6. Facts you only find out at work You WILL spend most of your time trying to understand the code some other person wrote
7. Facts you only find out at work “Maintenance typically consumes 40 to 80 percent of software costs” – Robert L. Glass
8. Testability The degree to which a system or component facilitates the establishment of test criteria and the performance of tests to find whether those criteria have been met
9. Ask yourself When there’s a bug, how easy is it to find out which part of your code to fix?
21. Usable software makes people happy “Good UI sells software, but it also makes people happy, because people are happy when they accomplish the task they want to accomplish” – Joel Spolsky
22. Your speaker Blog: http://dotnet.kapenilattex.com Twitter: http://twitter.com/LaTtEX Facebook: http://facebook.com/LaTtEX
23. Learning to Distinguish a Solution from a Problem http://www.computer.org/portal/web/buildyourcareer/fa010 Definition for testability: http://www.aptest.com/glossary.html The Principles of OOD http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod SOLID Development Principles – In Motivational Pictures http://www.lostechies.com/blogs/derickbailey/archive/2009/02/11/solid-development-principles-in-motivational-pictures.aspx Simplicity http://stuffthathappens.com/blog/2008/03/05/simplicity/ 2006 Krug, Steve: Don’t Make Me Think: A Common Sense Approach to Web Usability User Interface Design for Programmers http://www.joelonsoftware.com/uibook/fog0000000249.html References