scholarly journals Accessible C-programming course from scratch using a MOOC platform without limitations

Author(s):  
Jose Antonio Belloch ◽  
Adrián Castelló ◽  
Sergio Iserte

The C language has been used for ages in the application development in multidisciplinary environments. However, in the academia, this language is being replaced by other higher-level languages due to they are easier to understand, learn and apply. Moreover, the necessity of professionals with a good knowledge in those high-level languages is constantly increasing because of the boosting of mobile devices. This scenario generates a lack of low-level language programmers, required in other less trendy fields, but equal or more important, such as science, engineering or research.  In order to revive the interest in low-level languages and provide those minority fields with well-prepared staff, we present in this work a MOCC C-programming course that is addressed to any kind of people with or without IT background. A feature that differentiates this course from others programming online-based courses is that we mainly focus on the C language syntax providing, via a self-tuned virtual machine, an encapsulated environment that hides any interaction with the command-line of the underlying operating system. A secondary target of this work is to foster the computer science degree students to enrol the computer architecture specialization at the Universitat Jaume I (Spain). For this purpose, the High Performance Computing and Architectures research group of that University has decided to use this C course as a tool for fulfill the gap of the current syllabus. The results show that half of the participants that completed the first session of the course have satisfactorily finished the course, and the number of computer science degree students that chose the computer architecture specialization the following academic course was increment by 3x.

Author(s):  
Breno A. de Melo Menezes ◽  
Nina Herrmann ◽  
Herbert Kuchen ◽  
Fernando Buarque de Lima Neto

AbstractParallel implementations of swarm intelligence algorithms such as the ant colony optimization (ACO) have been widely used to shorten the execution time when solving complex optimization problems. When aiming for a GPU environment, developing efficient parallel versions of such algorithms using CUDA can be a difficult and error-prone task even for experienced programmers. To overcome this issue, the parallel programming model of Algorithmic Skeletons simplifies parallel programs by abstracting from low-level features. This is realized by defining common programming patterns (e.g. map, fold and zip) that later on will be converted to efficient parallel code. In this paper, we show how algorithmic skeletons formulated in the domain specific language Musket can cope with the development of a parallel implementation of ACO and how that compares to a low-level implementation. Our experimental results show that Musket suits the development of ACO. Besides making it easier for the programmer to deal with the parallelization aspects, Musket generates high performance code with similar execution times when compared to low-level implementations.


2021 ◽  
Author(s):  
Michael Gebremariam

The objective of this project is to develop a software tool which assists in comparison of a work known as "M-GenESys: Multi Structure Genetic Algorithm based Design Space Exploration System for Integrated Scheduling, Allocation and Binding in High Level Synthesis" with another well established GA approach known as "A Generic Algorithm for the Design Space Exploration of Data paths During High-Level Synthesis". Two sets of software are developed based on both approaches using Microsoft Visual 2005 C# language. The C# language is an object-oriented language that is aimed at enabling programmers to quickly develop a wide range of applications on the Microsoft .NET platform. The goal of C# and the .NET platform is to shorten development time by freeing the developer from worrying about several low level plumbing issues such as memory equipment, type safety issues, building low level libraries, array bound checking, etc., thus allowing developers to actually spend their time and energy working on the application and business logic.


Geophysics ◽  
2021 ◽  
pp. 1-45
Author(s):  
Ronghua Peng ◽  
Bo Han ◽  
Yajun Liu ◽  
Xiangyun Hu

Forward modeling is vital for three-dimensional (3D) inversion and interpretation of electromagnetic (EM) data in anisotropic media, which is one of the major challenges in the field of EM geophysics. However, there are few freely available 3D codes that are capable of modeling EM responses in fully anisotropic media. Besides, most of the existing 3D EM codes are written in low-level languages such as C and Fortran, making them difficult to read, maintain and extend. Taking advantage of recent progress in computer technology and numerical methods, we have developed an open-source package for forward modeling of frequency-domain EM fields in a fully 3D anisotropic earth (EM3DANI) using the Julia language, a relatively young, high-level programming language with a focus on high performance. Based on a mimetic finite-volume (MFV) discretization of the governing equations, the modeling algorithm is expressed in an abstract form in terms of matrices/vectors and thus can be easily implemented by using any high-level language commonly-used for numerical computing. Existing libraries written in low-level languages can be easily integrated into a Julia code without the so-called two-language problem, thus we have exploited several mature third-party packages to deal with computationally intensive parts of the forward modeling, which guarantees high stability and efficiency. We have elaborated the structure of the package, paying special attention to code usability, readability and extendability, while striving to retain versatility and high performance. The effectiveness of the code is demonstrated through two 1D synthetic examples for magnetotellurics (MT) and controlled-source electromagnetics (CSEM) problems, respectively. High accuracy and efficiency can be achieved for both 1D examples. We further present a 3D example mimicking marine CSEM survey scenario for hydrocarbon exploration. The simulation results indicate that the effect of the anisotropy on forward responses is significant, and can be comparable to that of the target reservoir.


2021 ◽  
Author(s):  
Ekaterina Dorogova ◽  
Larisa Gagarina

The textbook is an initial course of programming in the C language. The basics of programming, techniques and methods in the style of modular programming are considered. It can be used as a guide to the C language, contains numerous examples tested on a computer. The laboratory workshop will help readers practically master the programming techniques and technical capabilities of classical C, described in this manual. Meets the requirements of the federal state educational standards of higher education of the latest generation. It is recommended for students studying the disciplines "Fundamentals of Programming", "High-level languages", "Computer Science", as well as for teachers of these courses in higher educational institutions.


2013 ◽  
Vol 28 (22n23) ◽  
pp. 1340021 ◽  
Author(s):  
SÉRGIO ALMEIDA

High Performance Computing (HPC) has become an essential tool in every researcher's arsenal. Most research problems nowadays can be simulated, clarified or experimentally tested by using computational simulations. Researchers struggle with computational problems when they should be focusing on their research problems. Since most researchers have little-to-no knowledge in low-level computer science, they tend to look at computer programs as extensions of their minds and bodies instead of completely autonomous systems. Since computers do not work the same way as humans, the result is usually Low Performance Computing where HPC would be expected.


2002 ◽  
Vol 10 (4) ◽  
pp. 329-337 ◽  
Author(s):  
Bruce Greer ◽  
John Harrison ◽  
Greg Henry ◽  
Wei Li ◽  
Peter Tang

The 64-bit Intel® Itanium® architecture is designed for high-performance scientific and enterprise computing, and the Itanium processor is its first silicon implementation. Features such as extensive arithmetic support, predication, speculation, and explicit parallelism can be used to provide a sound infrastructure for supercomputing. A large number of high-performance computer companies are offering Itanium® -based systems, some capable of peak performance exceeding 50 GFLOPS. In this paper we give an overview of the most relevant architectural features and provide illustrations of how these features are used in both low-level and high-level support for scientific and engineering computing, including transcendental functions and linear algebra kernels.


2021 ◽  
Author(s):  
Andreas Fred Bernitzke

The objective of this project is to develop a software tool which assists in comparison of a work known as "M-GenESys: Multi Structure Genetic Algorithm based Design Space Exploration System for Integrated Scheduling, Allocation and Binding in High Level Synthesis" with another well established GA approach known as "A Genetic Algorithm for the Design Space Exploration of Data paths During High-Level Synthesis". Two sets of Software are developed based on both approaches using Microsoft visual 2005,C# language. The C# language is an object-oriented language that is aimed at enabling programmers to quickly develop a wide range of applications on the Microsoft .NET platform. The goal of C# and the .NET platform is to shorten development time by freeing the developer from worrying about several low level plumbing issues such as memory management, type safety issues, building low level libraries, array bounds checking, etc. thus allowing developers to actually spend their time and energy working on the application and business logic.


2021 ◽  
Author(s):  
Michael Gebremariam

The objective of this project is to develop a software tool which assists in comparison of a work known as "M-GenESys: Multi Structure Genetic Algorithm based Design Space Exploration System for Integrated Scheduling, Allocation and Binding in High Level Synthesis" with another well established GA approach known as "A Generic Algorithm for the Design Space Exploration of Data paths During High-Level Synthesis". Two sets of software are developed based on both approaches using Microsoft Visual 2005 C# language. The C# language is an object-oriented language that is aimed at enabling programmers to quickly develop a wide range of applications on the Microsoft .NET platform. The goal of C# and the .NET platform is to shorten development time by freeing the developer from worrying about several low level plumbing issues such as memory equipment, type safety issues, building low level libraries, array bound checking, etc., thus allowing developers to actually spend their time and energy working on the application and business logic.


2002 ◽  
Vol 76 (1) ◽  
pp. 138-155 ◽  
Author(s):  
Donald B. Brinkman ◽  
A. G. Neuman

The diversity and distribution of teleosts in the Dinosaur Park Formation of Alberta, Canada, is evaluated on the basis of precaudal centra. In order to avoid the erection of redundant taxa, and to include all teleost precaudal centra in a single system, a parataxonomic system is erected. Fifteen distinct basal groups, termed morphoseries, are described. Growth-related changes and serial variation along the column are taken into account in defining these groups, so each morphoseries is interpreted as representing a distinct, low-level taxon of teleost. One of the morphoseries could be identified as hiodontid and two as acanthomorph on the basis of derived character-states. This is the first Cretaceous record of hiodontids in North America. In addition, elopomorphs, clupeomorphs, salmoniforms, and osteoglossoforms are recognized on the basis of general similarity with the precaudal centra in extant members of these groups. Two teleosts of intermediate level of evolution, but of uncertain relationships, are also present. Differences in the stratigraphic distributions of the morphoseries allow two distinct assemblages of teleosts to be recognized in the formation. One is present in fluvial-dominated localities of the Dinosaur Park Formation, the second in a complex of mud-filled channels in the Lethbridge Coal Zone. The paleoecological complexity present in the formation, and the high level of diversity of teleosts in these beds, emphasizes the importance of including disarticulated remains in studies of the diversity and distribution of teleosts in the Cretaceous.


Sign in / Sign up

Export Citation Format

Share Document