background preloader

Object-oriented programming

Object-oriented programming
Overview[edit] Rather than structure programs as code and data, an object-oriented system integrates the two using the concept of an "object". An object has state (data) and behavior (code). Objects correspond to things found in the real world. So for example, a graphics program will have objects such as circle, square, menu. An online shopping system will have objects such as shopping cart, customer, product. The goals of object-oriented programming are: Increased understanding.Ease of maintenance.Ease of evolution. The overall understanding of the system is increased because the semantic gap—the distance between the language spoken by developers and that spoken by users—is lessened. Object-orientation takes this to the next step. In addition to providing ease of maintenance, encapsulation and information hiding provide ease of evolution as well. History[edit] Fundamental features and concepts [edit] A survey by Deborah J. Benjamin C.

http://en.wikipedia.org/wiki/Object-oriented_programming

Related:  Programming ParadigmsGraph_UML_Urban_planningTek

Logic programming Logic programming is a programming paradigm based on formal logic. Programs written in a logical programming language are sets of logical sentences, expressing facts and rules about some problem domain. Together with an inference algorithm, they form a program. 10 Investments That Made a Difference in My Photography I have spent a lot of money on photography. Some of it was well spent, while in others it’s been a complete waste. It’s been easy to make an investment in something, thinking that it was going to better my photography. Rapid application development Rapid Application Development (RAD) Model Rapid application development (RAD) is a software development methodology that uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements. History[edit]

Research FUSE Labs - Kodu Game Lab An overview of Kodu. (Click to play) Kodu lets kids create games on the PC and Xbox via a simple visual programming language. Kodu can be used to teach creativity, problem solving, storytelling, as well as programming. Anyone can use Kodu to make a game, young children as well as adults with no design or programming skills. Imperative programming The term is used in opposition to declarative programming, which expresses what the program should accomplish without prescribing how to do it in terms of sequences of actions to be taken. Functional and logic programming are examples of a more declarative approach. Imperative, procedural, and declarative programming[edit] Procedural programming could be considered a step towards declarative programming.

UML & SysML Toolset Models the physical deployment of software components with UML deployment diagram. In deployment diagram, hardware components (e.g., web server, mail server, application server) are presented as nodes, with the software components that run inside the hardware components presented as artifacts. User-defined notation symbol Apply your own image file as graphical representation of any notation. You may use your own avatar to replace traditional stickman shape for UML actor, if you like. Make shape appearance follow stereotype's definition Specify in stereotype the background color, font color and font weight and font settings of model element, and let the model elements that extend the stereotype follow.

Scrum (development) Scrum is an iterative and incremental agile software development framework for managing product development. It defines "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal", challenges assumptions of the "traditional, sequential approach" to product development, and enables teams to self-organize by encouraging physical co-location or close online collaboration of all team members, as well as daily face-to-face communication among all team members and disciplines in the project. A key principle of Scrum is its recognition that during a project the customers can change their minds about what they want and need (often called "requirements churn"), and that unpredicted challenges cannot be easily addressed in a traditional predictive or planned manner. Later, Schwaber with others founded the Scrum Alliance and created the Certified Scrum Master programs and its derivatives. Each sprint is started by a planning meeting.

Gaming to re-engage boys in learning: Ali Carr-Chellman on TED Business 7 TED Talks on the need to encourage entrepreneurship Could unemployment be a factor that leads to terrorism? In today’s talk, peace strategist Mohamed Ali (not to be confused with the boxer) introduces us to the youth of Mogadishu, Somalia — 70 percent of whom are unable to find jobs. Programming paradigm A programming paradigm is a fundamental style of computer programming, a way of building the structure and elements of computer programs. Capablities and styles of various programming languages are defined by their supported programming paradigms; some programming languages are designed to follow only one paradigm, while others support multiple paradigms. There are six main programming paradigms: imperative, declarative, functional, object-oriented, logic and symbolic programming.[1][2][3] Overview[edit]

Modeling language A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure. Overview[edit] A modeling language can be graphical or textual.[1] Graphical modeling languages use a diagram technique with named symbols that represent concepts and lines that connect the symbols and represent relationships and various other graphical notation to represent constraints.Textual modeling languages may use standardized keywords accompanied by parameters or natural language terms and phrases to make computer-interpretable expressions. Not all modeling languages are executable, and for those that are, the use of them doesn't necessarily mean that programmers are no longer required.

Ethernet crossover cable Gigabit T568B crossover cable ends Overview[edit] 8P8C modular crossover adapter Because the only difference between the T568A and T568B pin/pair assignments are that pairs 2 and 3 are swapped, a crossover cable may be envisioned as a cable with one modular connector following T568A and the other T568B (see Jack crossover wiring). Waterfall model The unmodified "waterfall model". Progress flows from the top to the bottom, like a cascading waterfall. The waterfall model is a sequential design process, used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance. The waterfall development model originates in the manufacturing and construction industries: highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible. Since no formal software development methodologies existed at the time, this hardware-oriented model was simply adapted for software development.[1] §History[edit]

The Leisure of Serious Games: A Dialogue by Geoffrey M. Rockwell, Kevin Kee Abstract This dialogue was performed by Dr. Event-driven programming Event handlers[edit] A trivial event handler[edit] Because the code for checking for events and the main loop do not depend on the application, many programming frameworks take care of their implementation and expect the user to provide only the code for the event handlers. In this simple example there may be a call to an event handler called OnKeyEnter() that includes an argument with a string of characters, corresponding to what the user typed before hitting the ENTER key. To add two numbers, storage outside the event handler must be used. The implementation might look like below.

Related: