Object.__class__.__dict__ - python object model and friends - with examplesRobert Lujo
Python object model - advanced and some not so advanced features, lot of code examples:
building blocks, objects, classes, functions, mutable and immutable, everything is an object, variables, global context, "executing" the module, standard types inheritance, multiple inheritance, mixins and mro, dynamic classes, metaclasses, property function and descriptors context managers & with, useful __methods__
Object.__class__.__dict__ - python object model and friends - with examplesRobert Lujo
Python object model - advanced and some not so advanced features, lot of code examples:
building blocks, objects, classes, functions, mutable and immutable, everything is an object, variables, global context, "executing" the module, standard types inheritance, multiple inheritance, mixins and mro, dynamic classes, metaclasses, property function and descriptors context managers & with, useful __methods__
Architectural Patterns in Building Modular Domain ModelsDebasish Ghosh
The main theme of the talk is how to use algebraic and functional techniques to build modular domain models that are pure and compositional even in the presence of side-effects. I discuss the use of pure algebraic effects to abstract side-effects thereby keeping the model compositional.
Algebraic Thinking for Evolution of Pure Functional Domain ModelsDebasish Ghosh
The focus of the talk is to emphasize the importance of algebraic thinking when designing pure functional domain models. The talk begins with the definition of an algebra as consisting of a carrier type, a set of operations/functions and a set of laws on those operations. Using examples from the standard library, the talk shows how thinking of abstractions in terms of its algebra is more intuitive than discussing its operational semantics. The talk also discusses the virtues of parametricity and compositionality in designing proper algebras.
Algebras are compositional and help build larger algebras out of smaller ones. We start with base level types available in standard libraries and compose larger programs out of them. We take a real life use case for a domain model and illustrate how we can define the entire model using the power of algebraic composition of the various types. We talk about how to model side-effects as pure abstractions using algebraic effects. At no point we will talk about implementations.
At the end of the talk we will have a working model built completely out of the underlying algebra of the domain language.
Architectural Patterns in Building Modular Domain ModelsDebasish Ghosh
The main theme of the talk is how to use algebraic and functional techniques to build modular domain models that are pure and compositional even in the presence of side-effects. I discuss the use of pure algebraic effects to abstract side-effects thereby keeping the model compositional.
Algebraic Thinking for Evolution of Pure Functional Domain ModelsDebasish Ghosh
The focus of the talk is to emphasize the importance of algebraic thinking when designing pure functional domain models. The talk begins with the definition of an algebra as consisting of a carrier type, a set of operations/functions and a set of laws on those operations. Using examples from the standard library, the talk shows how thinking of abstractions in terms of its algebra is more intuitive than discussing its operational semantics. The talk also discusses the virtues of parametricity and compositionality in designing proper algebras.
Algebras are compositional and help build larger algebras out of smaller ones. We start with base level types available in standard libraries and compose larger programs out of them. We take a real life use case for a domain model and illustrate how we can define the entire model using the power of algebraic composition of the various types. We talk about how to model side-effects as pure abstractions using algebraic effects. At no point we will talk about implementations.
At the end of the talk we will have a working model built completely out of the underlying algebra of the domain language.
Programming in Java: Object and Classes. Last delivered in 2013. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
A better understanding of Object Oriented Programming.
Introduction to DevCoach.
Agenda
1. What is OOP
2. Why use it
3. OOP in real life
4. Principles: Abstraction, Encapsulation, Inheritance, Polymorphism
5. Objectifying non-OOP code
6. DevCoach - Learning Framework
Domain-Driven Design (DDD) is very useful set of tools to tackle complexity in a software projects. However, many software developers never heard of it, yet most of the one who do emphasize too much on the technical implementation.
This slide will explain what is DDD and why, and also what is its core.
JS Fest 2019/Autumn. Daniel Ostrovsky. Falling in love with decorators ES6/Ty...JSFestUA
Decorators are part of proposal TC39 (stage 2), this means that sooner or later decorators will become a part of the JS. However, there is no need to wait! We can use decorators in JavaScript (with babel) and in TypeScript. Let's see how decorators can extend the functionality of classes and methods in a clean and declarative fashion. And many other things which gives you more flexibility.
A MAC URISA event. This talk is oriented to GIS users looking to learn more about the Python programming language. The Python language is incorporated into many GIS applications. Python also has a considerable installation base, with many freely available modules that help developers extend their software to do more.
The beginning third of the talk discusses the history and syntax of the language, along with why a GIS specialist would want to learn how to use the language. The middle of the talk discusses how Python is integrated with the ESRI ArcGIS Desktop suite. The final portion of the talk discusses two Python projects and how they can be used to extend your GIS capabilities and improve efficiency.
Recording of the talk: https://www.youtube.com/watch?v=F1_FqvbXHb4
This is an intermediate conversion course for C++, suitable for second year computing students who may have learned Java or another language in first year.
Evaluating Teaching: SECTIONS.
Check out:
Bates, A. W., & Poole, G. (2003). Effective Teaching with Technology in Higher Education: Foundations for Success. Jossey-Bass, An Imprint of Wiley. 10475 Crosspoint Blvd, Indianapolis, IN 46256.
Evaluating Teaching: Anstey and Watson Rubric
Check out:
Lauren M. Anstey & Gavan P.L. Watson. (2018), Rubric for eLearning Tool Evaluation. Centre for Teaching and Learning, Western University,
http://creativecommons.org/licenses/by-n c-sa/4.0/
Designing Teaching: ASSURE
Check out:
Heinich, R., Molenda, M., & Russell, J. D., (1993). Instructional Media and The New
Technologies of Instruction. New York: Macmillan
Designing Teaching: Laurilliard's Learning TypesDamian T. Gordon
Designing Teaching: Laurilliard's Learning Types
Check out:
Laurillard, D., 2013. Teaching as a design science: Building pedagogical patterns for learning and technology. Routledge.
Designing Teaching: Elaboration Theory
Check out:
Reigeluth, C. & Stein, F. (1983). The elaboration theory of instruction. In C. Reigeluth (ed.), Instructional Design Theories and Models. Hillsdale, NJ: Erlbaum Associates.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
This slide is special for master students (MIBS & MIFB) in UUM. Also useful for readers who are interested in the topic of contemporary Islamic banking.
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
12. Object Orientation
• To create an object what we typically do is first create the
general class that a specific object comes from, and then we
create a specific object of that class.
• For example, if a want to model a specific dog, first create the
general CLASS of DOG, and then create a specific instance of
that class, an OBJECT, called TINY the dog.
13.
14. Object Orientation
• Sometimes it’s easier to model things as an OBJECT, but often
it’s easier to model a collection of things as a CLASS, and then
create instances (‘OBJECTS’) of that CLASS.
• We can use UML (the Unified Modelling Language) to model
Object-Orientated programs, and one modelling tool within
UML is called a CLASS DIAGRAM.
15. Object Orientation
• Let’s imagine we wanted to create a CLASS DIAGRAM for the
following scenario:
– We work in a greengrocer, we sell APPLES and ORANGES; APPLES are
stored in BARRELS and ORANGES are stored in BASKETS.
20. Object Orientation
• APPLES are stored in BARRELS and ORANGES are stored in
BASKETS.
Apple Barrel
Orange Basket
21. Object Orientation
• Let’s add in more rules to the scenario:
– Many APPLES are stored in one BARREL and many ORANGES are
stored in one BASKET.
22. Object Orientation
• Many APPLES are stored in one BARREL and many ORANGES
are stored in one BASKET.
Apple Barrel
Orange Basket
*
* 1
1
23. Object Orientation
• Many APPLES are stored in one BARREL and many ORANGES
are stored in one BASKET.
Apple Barrel
Orange Basket
*
* 1
1
go in >
go in >
26. Object Orientation
Apple Barrel
Orange Basket
*
* 1
1
go in >
go in >
+colour: string
+weight: float
+size: int
+weight: float
+orchard: string
+date_picked: date
+location: string
27. Object Orientation
Apple Barrel
Orange Basket
*
* 1
1
go in >
go in >
+colour: string
+weight: float
+barrel: Barrel
+size: int
+apples: list
+weight: float
+orchard: string
+date_picked: date
+basket: Basket
+location: string
+oranges: list
37. Object Orientation
• An OBJECT is made up of ATTRIBUTES and METHODS. Some of
these can be private to the CLASS, and some can be public and
used by other classes.
• The public elements (ATTRIBUTES and METHODS) of the CLASS
are referred to as the INTERFACE (or PUBLIC INTERFACE).
40. Object Orientation
• A common real-world example is the television. Our
interface to the television is the remote control.
• Each button on the remote control represents a method
that can be called on the television object.
41. Object Orientation
• The public interface is very important, we have to design it
carefully, because it can be difficult to change in the future,
and changing it will cause problems for any client objects that
are calling it.
• We can change the internals as much as we like (e.g. to make it
more efficient, or to access data over the network as well as
locally) and the client objects will still be able to talk to it,
unmodified, using the public interface.
43. Object Orientation
• ABSTRACTION means dealing with the level of detail that is
most appropriate to a given task.
• For example, a DRIVER of a car needs to interact with steering,
gas pedal, and brakes. The workings of the motor, drive train,
and brake subsystem don't matter to the driver. A MECHANIC,
on the other hand, works at a different level of abstraction,
tuning the engine and bleeding the breaks.
46. Object Orientation
• COMPOSITION is the act of collecting several objects together
to create a new one.
• Composition is usually a good choice when one object is part
of another object.
47.
48. Object Orientation
• A car is composed of an engine, transmission, starter,
headlights, and windshield, among numerous other parts.
• The engine, in turn, is composed of pistons, a crank shaft, and
valves. In this example, composition is a good way to provide
levels of abstraction.
• The car object can provide the interface required by a driver,
while also providing access to its component parts, which
offers the deeper level of abstraction suitable for a mechanic.
51. Object Orientation
• Let’s try modelling computer chess as a CLASS DIAGRAM:
Player Chess Set
2 1
make_move >
52. Object Orientation
• The diagram shows that exactly two players can interact with
one chess set.
• This also indicates that any one player can be playing with only
one chess set at a time.
53. Object Orientation
• Just for fun, let’s try to model at an object level instead of at a
class level.
• For this we use an OBJECT DIAGRAM.
56. Object Orientation
• This is an OBJECT DIAGRAM (or INSTANCE DIAGRAM):
Chess Set
Player 1
Player 2
make_move
make_move
57. Object Orientation
• An OBJECT DIAGRAM or INSTANCE DIAGRAM describes the
system at a specific state in time, and is describing specific
instances of objects, not the interaction between classes.
60. Object Orientation
• Thinking about the composition of a Chess Set we know it’s
made up of a board and 32 pieces.
• The board further comprises 64 positions.
• The composition relationship is represented in UML as a solid
diamond.
68. Object Orientation
• INHERITANCE is the last type of relationship we’ll look at.
• Inheritance is simple, it means that one class can inherit
attributes and methods from another class.
• So often we look for classes that have a lot in common, and
create a single class with those commonalities, and use that
class to give those features to all the other classes.
69. Object Orientation
• Let’s look at an example of chess pieces:
• We know that all PIECES are part of a CHESS_SET and have a
COLOUR (so they should be in our BASE CLASS).
• Each piece has a different SHAPE attribute and a different
MOVE method to move the piece to a new position on the
board at each turn.
71. Object Orientation
• Inheritance also gives us POLYMORPHISM.
• Polymorphism is the ability to treat a class differently
depending on which subclass is implemented.
• All the board has to do is call the move() method of a given
piece, and the proper subclass will take care of moving it as a
Knight or a Pawn.