255,154 research outputs found

    Database Systems - Present and Future

    Get PDF
    The database systems have nowadays an increasingly important role in the knowledge-based society, in which computers have penetrated all fields of activity and the Internet tends to develop worldwide. In the current informatics context, the development of the applications with databases is the work of the specialists. Using databases, reach a database from various applications, and also some of related concepts, have become accessible to all categories of IT users. This paper aims to summarize the curricular area regarding the fundamental database systems issues, which are necessary in order to train specialists in economic informatics higher education. The database systems integrate and interfere with several informatics technologies and therefore are more difficult to understand and use. Thus, students should know already a set of minimum, mandatory concepts and their practical implementation: computer systems, programming techniques, programming languages, data structures. The article also presents the actual trends in the evolution of the database systems, in the context of economic informatics.database systems - DBS, database management systems – DBMS, database – DB, programming languages, data models, database design, relational database, object-oriented systems, distributed systems, advanced database systems

    Simulation Readings Series SIMULA’s Place in Simulation History

    Get PDF
    Citation: McHaney, Roger, Simulation Readings Series: SIMULA’s Place in Simulation History, Kansas State University, Manhattan, KansasSIMULA (SIMulation LAnguage) is a computer programming language that was conceptualized, designed, and created at the Norwegian Computing Centre in Oslo by Ole-Johan Dahl and Kristen Nygaard. Originally, SIMULA was intended to facilitate development of models for complex real world systems. It contained elements of both a standardized system description and a programming language. With system concepts based on Nygaard's experience working with operations research projects in the early 1950's, SIMULA was implemented as a discrete event computer simulation language. Initial constructs were influenced by symbolic notation used in the 1950's to construct flow diagrams representing system operation and rules governing system behaviors [1]. Early foundations for SIMULA first appeared in 1961. By this time, Nygaard had developed a fragmentary set of ideas that relied on Monte Carlo techniques to represent random variation in the occurrence of delays experienced by customers passing through a network of processes. These processes consisted of a queue portion and a service portion. The service portions were constructed with a series of statements governing the action of passive entities or customers that used these stations. Customers were created at a given station and after completing service, would be transferred to the queue of another station. After obtaining and completing service there, the process would be repeated. These transfers would continue until the customer had traversed the network and left the system. The timing and sequence of these stations would determine the number of customers that could be served over a period of time [2]. Although Nygaard had experience with computers, he did not have sufficient knowledge to develop his own programming language. He recruited software expert Ole-Johan Dahl to help him move SIMULA from theory to implementation. In the spring of 1962 Nygaard and Dahl released the first formal proposal for SIMULA. They decided that the best way to make it a real programming language was to link it to an existing, strong language. ALGOL 60, a popular programming language in Europe at the time was selected and SIMULA was developed as an extension, which allowed discrete event simulation construction. Later, SIMULA was expanded and re-implemented as a full-scale general purpose programming language. Although SIMULA has never achieved wide usage, the concepts developed within the language have been highly influential on modern computer programming. SIMULA has been credited with introducing objectoriented programming concepts like classes, objects, inheritance, and dynamic binding [3]. SIMULA's primary use is to develop computer models of systems such as ticket counters, production lines, manufacturing systems, and concurrent processing of computer programs. Today a wide variety of discrete event computer simulation software packages, such as GPSS/H, SIMAN, and ProModel, are used to create similar applications [4–8]. For further reading on simulation in general see Robinson [9–11]

    Visualisation Techniques for Learning and Teaching Programming

    Get PDF
    This paper describes the programming knowledge and skills that learners need to develop, and concludes that this is an area of computer science education where those involved in the teaching of programming need to further consider the nature, structure and function of domain specific knowledge. Visualisation techniques may offer important insights into the learning and teaching of programming. It has been argued that conceptual models could serve to enhance learners\u27 conceptual understanding of programming, and we describe how these may effectively be used in the teaching of programming. The methods to enhance the development of accurate mental models include: designing the interface so that users can interact actively with it; using metaphors and analogies to explain concepts; and using spatial relationships so that users can develop capabilities for mental simulations

    Actor-network procedures: Modeling multi-factor authentication, device pairing, social interactions

    Full text link
    As computation spreads from computers to networks of computers, and migrates into cyberspace, it ceases to be globally programmable, but it remains programmable indirectly: network computations cannot be controlled, but they can be steered by local constraints on network nodes. The tasks of "programming" global behaviors through local constraints belong to the area of security. The "program particles" that assure that a system of local interactions leads towards some desired global goals are called security protocols. As computation spreads beyond cyberspace, into physical and social spaces, new security tasks and problems arise. As networks are extended by physical sensors and controllers, including the humans, and interlaced with social networks, the engineering concepts and techniques of computer security blend with the social processes of security. These new connectors for computational and social software require a new "discipline of programming" of global behaviors through local constraints. Since the new discipline seems to be emerging from a combination of established models of security protocols with older methods of procedural programming, we use the name procedures for these new connectors, that generalize protocols. In the present paper we propose actor-networks as a formal model of computation in heterogenous networks of computers, humans and their devices; and we introduce Procedure Derivation Logic (PDL) as a framework for reasoning about security in actor-networks. On the way, we survey the guiding ideas of Protocol Derivation Logic (also PDL) that evolved through our work in security in last 10 years. Both formalisms are geared towards graphic reasoning and tool support. We illustrate their workings by analysing a popular form of two-factor authentication, and a multi-channel device pairing procedure, devised for this occasion.Comment: 32 pages, 12 figures, 3 tables; journal submission; extended references, added discussio

    Teaching programming with computational and informational thinking

    Get PDF
    Computers are the dominant technology of the early 21st century: pretty well all aspects of economic, social and personal life are now unthinkable without them. In turn, computer hardware is controlled by software, that is, codes written in programming languages. Programming, the construction of software, is thus a fundamental activity, in which millions of people are engaged worldwide, and the teaching of programming is long established in international secondary and higher education. Yet, going on 70 years after the first computers were built, there is no well-established pedagogy for teaching programming. There has certainly been no shortage of approaches. However, these have often been driven by fashion, an enthusiastic amateurism or a wish to follow best industrial practice, which, while appropriate for mature professionals, is poorly suited to novice programmers. Much of the difficulty lies in the very close relationship between problem solving and programming. Once a problem is well characterised it is relatively straightforward to realise a solution in software. However, teaching problem solving is, if anything, less well understood than teaching programming. Problem solving seems to be a creative, holistic, dialectical, multi-dimensional, iterative process. While there are well established techniques for analysing problems, arbitrary problems cannot be solved by rote, by mechanically applying techniques in some prescribed linear order. Furthermore, historically, approaches to teaching programming have failed to account for this complexity in problem solving, focusing strongly on programming itself and, if at all, only partially and superficially exploring problem solving. Recently, an integrated approach to problem solving and programming called Computational Thinking (CT) (Wing, 2006) has gained considerable currency. CT has the enormous advantage over prior approaches of strongly emphasising problem solving and of making explicit core techniques. Nonetheless, there is still a tendency to view CT as prescriptive rather than creative, engendering scholastic arguments about the nature and status of CT techniques. Programming at heart is concerned with processing information but many accounts of CT emphasise processing over information rather than seeing then as intimately related. In this paper, while acknowledging and building on the strengths of CT, I argue that understanding the form and structure of information should be primary in any pedagogy of programming

    Curriculum Guidelines for Undergraduate Programs in Data Science

    Get PDF
    The Park City Math Institute (PCMI) 2016 Summer Undergraduate Faculty Program met for the purpose of composing guidelines for undergraduate programs in Data Science. The group consisted of 25 undergraduate faculty from a variety of institutions in the U.S., primarily from the disciplines of mathematics, statistics and computer science. These guidelines are meant to provide some structure for institutions planning for or revising a major in Data Science

    Improving the viability of mental models held by novice programmers

    Get PDF
    Recent research has found that many novice programmers often hold non-viable mental models of basic programming concepts such as assignment and object reference. This paper proposes a constructivist-based teaching model, integrating a cognitive conflict strategy with program visualization, with the aim of improving novice programmers’ mental models. The results of a preliminary empirical study suggest that, for the relatively straightforward concept of assignment, tight integration of program visualization with a cognitive conflict event that highlights a student’s inappropriate understanding can help improve students’ non-viable mental models. 14 out of 18 participants who held non-viable mental models of the assignment process successfully changed their model to be viable as a result of the proposed teaching model
    • 

    corecore