Search results for: programming learning
Commenced in January 2007
Frequency: Monthly
Edition: International
Paper Count: 7580

Search results for: programming learning

7580 WhatsApp as Part of a Blended Learning Model to Help Programming Novices

Authors: Tlou J. Ramabu

Abstract:

Programming is one of the challenging subjects in the field of computing. In the higher education sphere, some programming novices’ performance, retention rate, and success rate are not improving. Most of the time, the problem is caused by the slow pace of learning, difficulty in grasping the syntax of the programming language and poor logical skills. More importantly, programming forms part of major subjects within the field of computing. As a result, specialized pedagogical methods and innovation are highly recommended. Little research has been done on the potential productivity of the WhatsApp platform as part of a blended learning model. In this article, the authors discuss the WhatsApp group as a part of blended learning model incorporated for a group of programming novices. We discuss possible administrative activities for productive utilisation of the WhatsApp group on the blended learning overview. The aim is to take advantage of the popularity of WhatsApp and the time students spend on it for their educational purpose. We believe that blended learning featuring a WhatsApp group may ease novices’ cognitive load and strengthen their foundational programming knowledge and skills. This is a work in progress as the proposed blended learning model with WhatsApp incorporated is yet to be implemented.

Keywords: blended learning, higher education, WhatsApp, programming, novices, lecturers

Procedia PDF Downloads 137
7579 Understanding of the Impact of Technology in Collaborative Programming for Children

Authors: Nadia Selene Molina-Moreno, Maria Susana Avila-Garcia, Marco Bianchetti, Marcelina Pantoja-Flores

Abstract:

Visual Programming Tools available are a great tool for introducing children to programming and to develop a skill set for algorithmic thinking. On the other hand, collaborative learning and pair programming within the context of programming activities, has demonstrated to have social and learning benefits. However, some of the online tools available for programming for children are not designed to allow simultaneous and equitable participation of the team members since they allow only for a single control point. In this paper, a report the work conducted with children playing a user role is presented. A preliminary study to cull ideas, insights, and design considerations for a formal programming course for children aged 8-10 using collaborative learning as a pedagogical approach was conducted. Three setups were provided: 1) lo-fi prototype, 2) PC, 3) a 46' multi-touch single display groupware limited by the application to a single touch entry. Children were interviewed at the end of the sessions in order to know their opinions about teamwork and the different setups defined. Results are mixed regarding the setup, but they agree to like teamwork.

Keywords: children, collaborative programming, visual programming, multi-touch tabletop, lo-fi prototype

Procedia PDF Downloads 280
7578 Pedagogical Tools In The 21st Century

Authors: M. Aherrahrou

Abstract:

Moroccan education is currently facing many difficulties and problems due to traditional methods of teaching. Neuro -Linguistic Programming (NLP) appears to hold much potential for education at all levels. In this paper, the major aim is to explore the effect of certain Neuro -Linguistic Programming techniques in one educational institution in Morocco. Quantitative and Qualitative methods are used. The findings prove the effectiveness of this new approach regarding Moroccan education, and it is a promising tool to improve the quality of learning.

Keywords: learning and teaching environment, Neuro- Linguistic Programming, education, quality of learning

Procedia PDF Downloads 321
7577 The Impact of Training Method on Programming Learning Performance

Authors: Chechen Liao, Chin Yi Yang

Abstract:

Although several factors that affect learning to program have been identified over the years, there continues to be no indication of any consensus in understanding why some students learn to program easily and quickly while others have difficulty. Seldom have researchers considered the problem of how to help the students enhance the programming learning outcome. The research had been conducted at a high school in Taiwan. Students participating in the study consist of 330 tenth grade students enrolled in the Basic Computer Concepts course with the same instructor. Two types of training methods-instruction-oriented and exploration-oriented were conducted. The result of this research shows that the instruction-oriented training method has better learning performance than exploration-oriented training method.

Keywords: learning performance, programming learning, TDD, training method

Procedia PDF Downloads 394
7576 Improving Performance and Progression of Novice Programmers: Factors Considerations

Authors: Hala Shaari, Nuredin Ahmed

Abstract:

Teaching computer programming is recognized to be difficult and a real challenge. The biggest problem faced by novice programmers is their lack of understanding of basic programming concepts. A visualized learning tool was developed and used by volunteered first-year students for two semesters. The purposes of this paper are firstly, to emphasize factors which directly affect the performance of our students negatively. Secondly, to examine whether the proposed tool would improve their performance and learning progression. The results of adopting this tool were conducted using a pre-survey and post-survey questionnaire. As a result, students who used the learning tool showed better performance in their programming subject.

Keywords: factors, novice, programming, visualization

Procedia PDF Downloads 340
7575 The Impact of Using Microlearning to Enhance Students' Programming Skills and Learning Motivation

Authors: Ali Alqarni

Abstract:

This study aims to explore the impact of microlearning on the development of the programming skills as well as on the motivation for learning of first-year high schoolers in Jeddah. The sample consists of 78 students, distributed as 40 students in the control group, and 38 students in the treatment group. The quasi-experimental method, which is a type of quantitative method, was used in this study. In addition to the technological tools used to create and deliver the digital content, the study utilized two tools to collect the data: first, an observation card containing a list of programming skills, and second, a tool to measure the student's motivation for learning. The findings indicate that microlearning positively impacts programming skills and learning motivation for students. The study, then, recommends implementing and expanding the use of microlearning in educational contexts both in the general education level and the higher education level.

Keywords: educational technology, teaching strategies, online learning, microlearning

Procedia PDF Downloads 103
7574 Understanding the Programming Techniques Using a Complex Case Study to Teach Advanced Object-Oriented Programming

Authors: M. Al-Jepoori, D. Bennett

Abstract:

Teaching Object-Oriented Programming (OOP) as part of a Computing-related university degree is a very difficult task; the road to ensuring that students are actually learning object oriented concepts is unclear, as students often find it difficult to understand the concept of objects and their behavior. This problem is especially obvious in advanced programming modules where Design Pattern and advanced programming features such as Multi-threading and animated GUI are introduced. Looking at the students’ performance at their final year on a university course, it was obvious that the level of students’ understanding of OOP varies to a high degree from one student to another. Students who aim at the production of Games do very well in the advanced programming module. However, the students’ assessment results of the last few years were relatively low; for example, in 2016-2017, the first quartile of marks were as low as 24.5 and the third quartile was 63.5. It is obvious that many students were not confident or competent enough in their programming skills. In this paper, the reasons behind poor performance in Advanced OOP modules are investigated, and a suggested practice for teaching OOP based on a complex case study is described and evaluated.

Keywords: complex programming case study, design pattern, learning advanced programming, object oriented programming

Procedia PDF Downloads 191
7573 The Interplay of Factors Affecting Learning of Introductory Programming: A Comparative Study of an Australian and an Indian University

Authors: Ritu Sharma, Haifeng Shen

Abstract:

Teaching introductory programming is a challenging task in tertiary education and various factors are believed to have influence on students’ learning of programming. However, these factors were largely studied independently in a chosen context. This paper aims to investigate whether interrelationships exist among the factors and whether the interrelationships are context-dependent. In this empirical study, two universities were chosen from two continents, which represent different cultures, teaching methodologies, assessment criteria and languages used to teach programming in west and east worlds respectively. The results reveal that some interrelationships are common across the two different contexts, while others appear context-dependent.

Keywords: introductory programming, tertiary education, factors, interrelationships, context, empirical study

Procedia PDF Downloads 334
7572 Learning Programming for Hearing Impaired Students via an Avatar

Authors: Nihal Esam Abuzinadah, Areej Abbas Malibari, Arwa Abdulaziz Allinjawi, Paul Krause

Abstract:

Deaf and hearing-impaired students face many obstacles throughout their education, especially with learning applied sciences such as computer programming. In addition, there is no clear signs in the Arabic Sign Language that can be used to identify programming logic terminologies such as while, for, case, switch etc. However, hearing disabilities should not be a barrier for studying purpose nowadays, especially with the rapid growth in educational technology. In this paper, we develop an Avatar based system to teach computer programming to deaf and hearing-impaired students using Arabic Signed language with new signs vocabulary that is been developed for computer programming education. The system is tested on a number of high school students and results showed the importance of visualization in increasing the comprehension or understanding of concepts for deaf students through the avatar.

Keywords: hearing-impaired students, isolation, self-esteem, learning difficulties

Procedia PDF Downloads 121
7571 Review of Currently Adopted Intelligent Programming Tutors

Authors: Rita Garcia

Abstract:

Intelligent Programming Tutors, IPTs, are supplemental educational devices that assist in teaching software development. These systems provide customized learning allowing the user to select the presentation pace, pedagogical strategy, and to recall previous and additional teaching materials reinforcing learning objectives. In addition, IPTs automatically records individual’s progress, providing feedback to the instructor and student. These tutoring systems have an advantage over Tutoring Systems because Intelligent Programming Tutors are not limited to one teaching strategy and can adjust when it detects the user struggling with a concept. The Intelligent Programming Tutor is a category of Intelligent Tutoring Systems, ITS. ITS are available for many fields in education, supporting different learning objectives and integrate into other learning tools, improving the student's learning experience. This study provides a comparison of the IPTs currently adopted by the educational community and will focus on the different teaching methodologies and programming languages. The study also includes the ability to integrate the IPT into other educational technologies, such as massive open online courses, MOOCs. The intention of this evaluation is to determine one system that would best serve in a larger ongoing research project and provide findings for other institutions looking to adopt an Intelligent Programming Tutor.

Keywords: computer education tools, integrated software development assistance, intelligent programming tutors, tutoring systems

Procedia PDF Downloads 289
7570 Using Gene Expression Programming in Learning Process of Rough Neural Networks

Authors: Sanaa Rashed Abdallah, Yasser F. Hassan

Abstract:

The paper will introduce an approach where a rough sets, gene expression programming and rough neural networks are used cooperatively for learning and classification support. The Objective of gene expression programming rough neural networks (GEP-RNN) approach is to obtain new classified data with minimum error in training and testing process. Starting point of gene expression programming rough neural networks (GEP-RNN) approach is an information system and the output from this approach is a structure of rough neural networks which is including the weights and thresholds with minimum classification error.

Keywords: rough sets, gene expression programming, rough neural networks, classification

Procedia PDF Downloads 348
7569 Collaboration and Automatic Tutoring as a Learning Strategy: A Case Study in Programming Courses

Authors: Luis H. Gonzalez-Guerra, Armandina J. Leal-Flores

Abstract:

Students attending classrooms nowadays are habituated to use digital devices all the time and for multiple things. They have been familiar with digital technology throughout their lives so they have developed skills that should be naturally adopted as part of their study strategies. New learning styles require taking in consideration the use of models that support and promote student motivation for learning and development of their creative thinking skills. To achieve student learning in programming courses, different strategies are used. One of them is a collaboration between students, which is a tool which faculty can take advantage of when teaching these kinds of courses. Moreover, cooperation is an essential skill that society should reinforce in order to promote a healthy social environment and cohabitation. Nevertheless, students will still require support and advice to get a complete and correct programming solution to successfully address and solve the problems given throughout the course. This paper present a model where collaboration between students is associated with an automatic tutoring platform providing an excellent approach for the individual learning in collaborative activities in programming courses, and also motivates students to increase their knowledge regarding the topics covered in the classroom.

Keywords: automatic tutoring, collaboration learning, creative thinking, motivation

Procedia PDF Downloads 247
7568 Creation of an Integrated Development Environment to Assist and Optimize the Learning the Languages C and C++

Authors: Francimar Alves, Marcos Castro, Marllus Lustosa

Abstract:

In the context of the teaching of computer programming, the choice of tool to use is very important in the initiation and continuity of learning a programming language. The literature tools do not always provide usability and pedagogical dynamism clearly and accurately for effective learning. This hypothesis implies fall in productivity and difficulty of learning a particular programming language by students. The integrated development environments (IDEs) Dev-C ++ and Code :: Blocks are widely used in introductory courses for undergraduate courses in Computer Science for learning C and C ++ languages. However, after several years of discontinuity maintaining the source code of Dev-C ++ tool, the continued use of the same in the teaching and learning process of the students of these institutions has led to difficulties, mainly due to the lack of update by the official developers, which resulted in a sequence of problems in using it on educational settings. Much of the users, dissatisfied with the IDE Dev-C ++, migrated to Code :: Blocks platform targeting the more dynamic range in the learning process of the C and C ++ languages. Nevertheless, there is still the need to create a tool that can provide the resources of most IDE's software development literature, however, more interactive, simple, accurate and efficient. This motivation led to the creation of Falcon C ++ tool, IDE that brings with features that turn it into an educational platform, which focuses primarily on increasing student learning index in the early disciplines of programming and algorithms that use the languages ​​C and C ++ . As a working methodology, a field research to prove the truth of the proposed tool was used. The test results and interviews with entry-level students and intermediate in a postsecondary institution gave basis for the composition of this work, demonstrating a positive impact on the use of the tool in teaching programming, showing that the use of Falcon C ++ software is beneficial in the teaching process of the C and C ++ programming languages.

Keywords: ide, education, learning, development, language

Procedia PDF Downloads 420
7567 Jointly Learning Python Programming and Analytic Geometry

Authors: Cristina-Maria Păcurar

Abstract:

The paper presents an original Python-based application that outlines the advantages of combining some elementary notions of mathematics with the study of a programming language. The application support refers to some of the first lessons of analytic geometry, meaning conics and quadrics and their reduction to a standard form, as well as some related notions. The chosen programming language is Python, not only for its closer to an everyday language syntax – and therefore, enhanced readability – but also for its highly reusable code, which is of utmost importance for a mathematician that is accustomed to exploit already known and used problems to solve new ones. The purpose of this paper is, on one hand, to support the idea that one of the most appropriate means to initiate one into programming is throughout mathematics, and reciprocal, one of the most facile and handy ways to assimilate some basic knowledge in the study of mathematics is to apply them in a personal project. On the other hand, besides being a mean of learning both programming and analytic geometry, the application subject to this paper is itself a useful tool for it can be seen as an independent original Python package for analytic geometry.

Keywords: analytic geometry, conics, python, quadrics

Procedia PDF Downloads 259
7566 A Common Automated Programming Platform for Knowledge Based Software Engineering

Authors: Ivan Stanev, Maria Koleva

Abstract:

A common platform for automated programming (CPAP) is defined in details. Two versions of CPAP are described: Cloud-based (including the set of components for classic programming, and the set of components for combined programming) and KBASE based (including the set of components for automated programming, and the set of components for ontology programming). Four KBASE products (module for automated programming of robots, intelligent product manual, intelligent document display, and intelligent form generator) are analyzed and CPAP contributions to automated programming are presented.

Keywords: automated programming, cloud computing, knowledge based software engineering, service oriented architecture

Procedia PDF Downloads 314
7565 A Survey of Grammar-Based Genetic Programming and Applications

Authors: Matthew T. Wilson

Abstract:

This paper covers a selection of research utilizing grammar-based genetic programming, and illustrates how context-free grammar can be used to constrain genetic programming. It focuses heavily on grammatical evolution, one of the most popular variants of grammar-based genetic programming, and the way its operators and terminals are specialized and modified from those in genetic programming. A variety of implementations of grammatical evolution for general use are covered, as well as research each focused on using grammatical evolution or grammar-based genetic programming on a single application, or to solve a specific problem, including some of the classically considered genetic programming problems, such as the Santa Fe Trail.

Keywords: context-free grammar, genetic algorithms, genetic programming, grammatical evolution

Procedia PDF Downloads 155
7564 Design Of An Arduino Shield For New Generation Microcontroller Training

Authors: Boubacar Niang, Denis Raulin

Abstract:

This paper presents the design of a dedicated board for learning and programming with ATMEL AVR new generation micro controller’s family. This board designed as a "shield" for the Arduino Uno allows us to focus on the design and programming of basic micro controller functionalities in high level language with a considerable time saving because of dealing with additional components is not required.

Keywords: Arduino, microcontroller, programming, language

Procedia PDF Downloads 559
7563 Cutting Plane Methods for Integer Programming: NAZ Cut and Its Variations

Authors: A. Bari

Abstract:

Integer programming is a branch of mathematical programming techniques in operations research in which some or all of the variables are required to be integer valued. Various cuts have been used to solve these problems. We have also developed cuts known as NAZ cut & A-T cut to solve the integer programming problems. These cuts are used to reduce the feasible region and then reaching the optimal solution in minimum number of steps.

Keywords: Integer Programming, NAZ cut, A-T cut, Cutting plane method

Procedia PDF Downloads 336
7562 Improving Mathematics and Engineering Interest through Programming

Authors: Geoffrey A. Wright

Abstract:

In an attempt to address shortcomings revealed in international assessments and lamented in legislation, many schools are reducing or eliminating elective courses, applying the rationale that replacing "non-essential" subjects with core subjects, such as mathematics and language arts, will better position students in the global market. However, there is evidence that systematically pairing a core subject with another complementary subject may lead to greater overall learning in both subjects. In this paper, we outline the methods and preliminary findings from a study we conducted analyzing the influence learning programming has on student mathematical comprehension and ability. The purpose of this research is to demonstrate in what ways two subjects might complement each other, and to better understand the principles and conditions that encourage what we call lateral transfer, the synergistic effect that occurs when a learner studies two complementary subjects.

Keywords: programming, engineering, technology, complementary subjects

Procedia PDF Downloads 332
7561 Collaborative Platform for Learning Basic Programming (Algorinfo)

Authors: Edgar Mauricio Ruiz Osuna, Claudia Yaneth Herrera Bolivar, Sandra Liliana Gomez Vasquez

Abstract:

The increasing needs of professionals with skills in software development in industry are incremental, therefore, the relevance of an educational process in line with the strengthening of these competencies, are part of the responsibilities of universities with careers related to the area of Informatics and Systems. In this sense, it is important to consider that in the National Science, Technology and Innovation Plan for the development of the Electronics, Information Technologies and Communications (2013) sectors, it is established as a weakness in the SWOT Analysis of the Software sector and Services, Deficiencies in training and professional training. Accordingly, UNIMINUTO's Computer Technology Program has addressed the analysis of students' performance in software development, identifying various problems such as dropout in programming subjects, academic averages, as well as deficiencies in strategies and competencies developed in the area of programming. As a result of this analysis, it was determined to design a collaborative learning platform in basic programming using heat maps as a tool to support didactic feedback. The pilot phase allows to evaluate in a programming course the ALGORINFO platform as a didactic resource, through an interactive and collaborative environment where students can develop basic programming practices and in turn, are fed back through the analysis of time patterns and difficulties frequent in certain segments or program cycles, by means of heat maps. The result allows the teacher to have tools to reinforce and advise critical points generated on the map, so that students and graduates improve their skills as software developers.

Keywords: collaborative platform, learning, feedback, programming, heat maps

Procedia PDF Downloads 133
7560 Developing Serious Games to Improve Learning Experience of Programming: A Case Study

Authors: Shan Jiang, Xinyu Tang

Abstract:

Game-based learning is an emerging pedagogy to make the learning experience more effective, enjoyable, and fun. However, most games used in classroom settings have been overly simplistic. This paper presents a case study on a Python-based online game designed to improve the effectiveness in both teaching and research in higher education. The proposed game system not only creates a fun and enjoyable experience for students to learn various topics in programming but also improves the effectiveness of teaching in several aspects, including material presentation, helping students to recognize the importance of the subjects, and linking theoretical concepts to practice. The proposed game system also serves as an information cyber-infrastructure that automatically collects and stores data from players. The data could be useful in research areas including human-computer interaction, decision making, opinion mining, and artificial intelligence. They further provide other possibilities beyond these areas due to the customizable nature of the game.

Keywords: game-based learning, programming, research-teaching integration, Hearthstone

Procedia PDF Downloads 139
7559 Examining Relationship between Programming Performance, Programming Self Efficacy and Math Success

Authors: Mustafa Ekici, Sacide Güzin Mazman

Abstract:

Programming is the one of ability in computer science fields which is generally perceived difficult by students and various individual differences have been implicated in that ability success. Although several factors that affect programming ability have been identified over the years, there is not still a full understanding of why some students learn to program easily and quickly while others find it complex and difficult. Programming self-efficacy and mathematic success are two of those essential individual differences which are handled as having important effect on the programming success. This study aimed to identify the relationship between programming performance, programming self efficacy and mathematics success. The study group is consisted of 96 undergraduates from Department of Econometrics of Uşak University. 38 (39,58%) of the participants are female while 58 (60,41%) of them are male. Study was conducted in the programming-I course during 2014-2015 fall term. Data collection tools are comprised of programming course final grades, programming self efficacy scale and a mathematics achievement test. Data was analyzed through correlation analysis. The result of study will be reported in the full text of the study.

Keywords: programming performance, self efficacy, mathematic success, computer science

Procedia PDF Downloads 474
7558 Application of De Novo Programming Approach for Optimizing the Business Process

Authors: Z. Babic, I. Veza, A. Balic, M. Crnjac

Abstract:

The linear programming model is sometimes difficult to apply in real business situations due to its assumption of proportionality. This paper shows an example of how to use De Novo programming approach instead of linear programming. In the De Novo programming, resources are not fixed like in linear programming but resource quantities depend only on available budget. Budget is a new, important element of the De Novo approach. Two different production situations are presented: increasing costs and quantity discounts of raw materials. The focus of this paper is on advantages of the De Novo approach in the optimization of production plan for production company which produces souvenirs made from famous stone from the island of Brac, one of the greatest islands from Croatia.

Keywords: business process, De Novo programming, optimizing, production

Procedia PDF Downloads 188
7557 A Fuzzy Programming Approach for Solving Intuitionistic Fuzzy Linear Fractional Programming Problem

Authors: Sujeet Kumar Singh, Shiv Prasad Yadav

Abstract:

This paper develops an approach for solving intuitionistic fuzzy linear fractional programming (IFLFP) problem where the cost of the objective function, the resources, and the technological coefficients are triangular intuitionistic fuzzy numbers. Here, the IFLFP problem is transformed into an equivalent crisp multi-objective linear fractional programming (MOLFP) problem. By using fuzzy mathematical programming approach the transformed MOLFP problem is reduced into a single objective linear programming (LP) problem. The proposed procedure is illustrated through a numerical example.

Keywords: triangular intuitionistic fuzzy number, linear programming problem, multi objective linear programming problem, fuzzy mathematical programming, membership function

Procedia PDF Downloads 533
7556 Sensitivity Analysis in Fuzzy Linear Programming Problems

Authors: S. H. Nasseri, A. Ebrahimnejad

Abstract:

Fuzzy set theory has been applied to many fields, such as operations research, control theory, and management sciences. In this paper, we consider two classes of fuzzy linear programming (FLP) problems: Fuzzy number linear programming and linear programming with trapezoidal fuzzy variables problems. We state our recently established results and develop fuzzy primal simplex algorithms for solving these problems. Finally, we give illustrative examples.

Keywords: fuzzy linear programming, fuzzy numbers, duality, sensitivity analysis

Procedia PDF Downloads 529
7555 Designing an Introductory Python Course for Finance Students

Authors: Joelle Thng, Li Fang

Abstract:

Objective: As programming becomes a highly valued and sought-after skill in the economy, many universities have started offering Python courses to help students keep up with the demands of employers. This study focuses on designing a university module that effectively educates undergraduate students on financial analysis using Python programming. Methodology: To better satisfy the specific demands for each sector, this study adopted a qualitative research modus operandi to craft a module that would complement students’ existing financial skills. The lessons were structured using research-backed educational learning tools, and important Python concepts were prudently screened before being included in the syllabus. The course contents were streamlined based on criteria such as ease of learning and versatility. In particular, the skills taught were modelled in a way to ensure they were beneficial for financial data processing and analysis. Results: Through this study, a 6-week course containing the chosen topics and programming applications was carefully constructed for finance students. Conclusion: The findings in this paper will provide valuable insights as to how teaching programming could be customised for students hailing from various academic backgrounds.

Keywords: curriculum development, designing effective instruction, higher education strategy, python for finance students

Procedia PDF Downloads 55
7554 Attitudes toward Programming Languages Based on Characteristics

Authors: Mohammad Shokoohi-Yekta, Hamid Mirebrahim

Abstract:

A body of research has been devoted to investigating the preferences of computer programmers. These researches used various questionnaires to find out what programming language is most popular among programmers. The problem with such research is that the programmers are usually familiar with only a few languages; therefore, disregarding a number of other languages which might have characteristics that match their preferences more closely. To overcome such a problem, we decided to investigate the preferences of programmers in regards to the characteristics of languages, which help us to discover the languages that include the most characteristics preferred by the users. We conducted a user study to measure the preferences of programmers on different characteristics of programming languages and then tried to compare existing languages in the areas of application, Web and system programming. Overall, the results of our study indicated that the Ruby programming language has the highest preference score in the two areas of application and Web, and C++ has the highest score in the system area. The results of our study can also help programming language designers know the characteristics they should consider when developing new programming languages in order to attract more programmers.

Keywords: object orientation, programming language design, programmers' preferences, characteristic

Procedia PDF Downloads 463
7553 The Primitive Code-Level Design Patterns for Distributed Programming

Authors: Bing Li

Abstract:

The primitive code-level design patterns (PDP) are the rudimentary programming elements to develop any distributed systems in the generic distributed programming environment, GreatFree. The PDP works with the primitive distributed application programming interfaces (PDA), the distributed modeling, and the distributed concurrency for scaling-up. They not only hide developers from underlying technical details but also support sufficient adaptability to a variety of distributed computing environments. Programming with them, the simplest distributed system, the lightweight messaging two-node client/server (TNCS) system, is constructed rapidly with straightforward and repeatable behaviors, copy-paste-replace (CPR). As any distributed systems are made up of the simplest ones, those PDAs, as well as the PDP, are generic for distributed programming.

Keywords: primitive APIs, primitive code-level design patterns, generic distributed programming, distributed systems, highly patterned development environment, messaging

Procedia PDF Downloads 150
7552 Mathematical Programming Models for Portfolio Optimization Problem: A Review

Authors: Mazura Mokhtar, Adibah Shuib, Daud Mohamad

Abstract:

Portfolio optimization problem has received a lot of attention from both researchers and practitioners over the last six decades. This paper provides an overview of the current state of research in portfolio optimization with the support of mathematical programming techniques. On top of that, this paper also surveys the solution algorithms for solving portfolio optimization models classifying them according to their nature in heuristic and exact methods. To serve these purposes, 40 related articles appearing in the international journal from 2003 to 2013 have been gathered and analyzed. Based on the literature review, it has been observed that stochastic programming and goal programming constitute the highest number of mathematical programming techniques employed to tackle the portfolio optimization problem. It is hoped that the paper can meet the needs of researchers and practitioners for easy references of portfolio optimization.

Keywords: portfolio optimization, mathematical programming, multi-objective programming, solution approaches

Procedia PDF Downloads 320
7551 Adaptive Programming for Indigenous Early Learning: The Early Years Model

Authors: Rachel Buchanan, Rebecca LaRiviere

Abstract:

Context: The ongoing effects of colonialism continue to be experienced through paternalistic policies and funding processes that cause disjuncture between and across Indigenous early childhood programming on-reserve and in urban and Northern settings in Canada. While various educational organizations and social service providers have risen to address these challenges in the short, medium and long term, there continues to be a lack in nation-wide cohesive, culturally grounded, and meaningful early learning programming for Indigenous children in Canada. Indigenous-centered early learning programs tend to face one of two scaling dilemmas: their program goals are too prescriptive to enable the program to be meaningfully replicated in different cultural/ community settings, or their program goals are too broad to be meaningfully adapted to the unique cultural and contextual needs and desires of Indigenous communities (the “franchise approach”). There are over 600 First Nations communities in Canada representing more than 50 Nations and languages. Consequently, Indigenous early learning programming cannot be applied with a universal or “one size fits all” approach. Sustainable and comprehensive programming must be responsive to each community context, building upon existing strengths and assets to avoid program duplication and irrelevance. Thesis: Community-driven and culturally adapted early childhood programming is critical but cannot be achieved on a large scale within traditional program models that are constrained by prescriptive overarching program goals. Principles, rather than goals, are an effective way to navigate and evaluate complex and dynamic systems. Principles guide an intervention to be adaptable, flexible and scalable. The Martin Family Initiative (MFI) ’s Early Years program engages a principles-based approach to programming. As will be discussed in this paper, this approach enables the program to catalyze existing community-based strengths and organizational assets toward bridging gaps across and disjuncture between Indigenous early learning programs, as well as to scale programming in sustainable, context-responsive and dynamic ways. This paper argues that using a principles-driven and adaptive scaling approach, the Early Years model establishes important learnings for culturally adapted Indigenous early learning programming in Canada. Methodology: The Early Years has leveraged this approach to develop an array of programming with partner organizations and communities across the country. The Early Years began as a singular pilot project in one First Nation. In just three years, it has expanded to five different regions and community organizations. In each context, the program supports the partner organization through different means and to different ends, the extent to which is determined in partnership with each community-based organization: in some cases, this means supporting the organization to build home visiting programming from the ground-up; in others, it means offering organization-specific culturally adapted early learning resources to support the programming that already exists in communities. Principles underpin but do not define the practices of the program in each of these relationships. This paper will explore numerous examples of principles-based adaptability with the context of the Early Years, concluding that the program model offers theadaptability and dynamism necessary to respond to unique and ever-evolving community contexts and needs of Indigenous children today.

Keywords: culturally adapted programming, indigenous early learning, principles-based approach, program scaling

Procedia PDF Downloads 151