1 |
Mathematical thinking skills needed by first year programming studentsCoetzee, Carla January 2016 (has links)
The aim of this qualitative study is to explore and describe the mathematical thinking
skills that students require for a first level programming subject that forms part of the
National Diploma in Information Communication Technology (ICT) at a University of
Technology (UoT).
Mathematics is an entry requirement for many tertiary programmes, including ICT
courses, unfortunately the poor quality of schooling in South Africa limits learners'
access to higher education. From the literature it is evident that students lack fluency
in fundamental mathematical and problem-solving skills when they enter higher
education.
In this study, the concept of programming thinking skills is explored, described and
linked to mathematical thinking skills. An instrument (Mathematical and Programming
Thinking Skills Matrix for the Analysis of Programming Assessment) has been
developed and used to analyse examination papers of a first-year programming
subject (at TUT) in order to identify mathematical skills as these appear in
programming assessments. Semi-structures interviews were conducted with first-year
programming lecturers, examiners and moderators. The literature as well and the
results of the analysed data indicated and confirmed that mathematical thinking skills
are extremely important when learning to program. The results of the study indicate a
strong relationship between mathematical thinking skills and programming thinking
skills.
The outcome of this study is therefore a set of mathematical thinking skills that needs
to be developed when compiling a mathematics curriculum for first level programming
students studying towards a National Diploma in ICT. / Dissertation (MEd)--University of Pretoria, 2016. / Science, Mathematics and Technology Education / MEd / Unrestricted
|
2 |
The Concept of Ownership in Rust and SwiftAlhazmi, Elaf January 2018 (has links)
There is a great number of programming languages and they follow various paradigms such as imperative, functional, or logic programming among the major ones and various methodologies such as structured approach or object-oriented or object-centered approach. A memory management design of a programming language is one of the most important features to help facilitate reliable design. There are two wide-spread approaches in memory management: manual memory management and automatic memory management, known as Garbage Collection (GC for short). Recently, a third approach to memory management called Ownership has emerged. Ownership management is adapted in two recent languages Rust and Swift. Rust follows a deterministic syntax-driven memory management depending on static ownership rules implemented and enforced by the rustc compiler. Though the Rust approach eliminates to a high degree memory problems such as memory leak, dangling pointer and use after free, it has a steep learning costs. Swift also implements ownership concept in Automatic Reference Counting ARC. Though the ownership concept is adapted in Swift, it is not a memory safe language because of possibility of strong reference cycles. In this research, a demonstration of the ownership in Rust and Swift will be discussed and illustrated, followed by analysis of the consequences of memory issues related to each design. The comparison of Rust and Swift is based on ownership, memory safety, usability and programming paradigm in each language. As an illustration, an experiment to compare the elapsed times of two different structures and their algorithms, Binary Tree and Array are presented. The results illustrate and compare the performances of the same programs written in Rust, Swift, C, C++, and Java. / Thesis / Master of Science (MSc)
|
3 |
Giving programming novices affirmation on their programming skills through gamification: A proposed IT artefactPetersson, Ida, Samskog, Hannes January 2021 (has links)
This design science research proposes an IT artefact consisting of a website and a client application with the focus of letting users receive programming tasks which they will then try and solve, and have their solutions evaluated, thereby giving affirmation on their programming skills. The study sprung from the need to give programming novices confidence in their abilities to write sufficient code solutions to programming tasks. A delimitation was made to concentrate on the concepts covered by the course Fundamentals of Programming given by the Department of Informatics of Media at Uppsala University. The proposal successfully affirms its users coding confidence by assessing and communicating through gamified elements the correctness of the code solution to the user, thus enabling the heightening of the users motivation to continue learning programming skills. / Denna designvetenskapliga studie föreslår en IT artefakt bestående av en webbsida och en klientapplikation med fokus på att ge användare programmeringsuppgifter som de sedan ska försöka lösa och sedermera få evaluerade med feedback kring om deras lösning gav korrekt output. Studien utgick från behovet att ge programmeringsnybörjare bekräftelse på deras förmåga att skapa tillräckliga lösningar på koduppgifter. En avgränsning gjordes till att fokusera på de koncept som täcks av kursen Grundläggande programmering som ges av institutionen för Informatik & Media via Uppsala universitet. Förslaget bekräftar framgångsrikt användares kodningskunskaper genom att utvärdera och kommunicera resultaten via gamifierade element till användaren, vilket kan öka användarnas motivation att fortsätta utveckla sin programmeringsförmåga.
|
Page generated in 0.0968 seconds