block based
Recently Published Documents


TOTAL DOCUMENTS

2260
(FIVE YEARS 588)

H-INDEX

44
(FIVE YEARS 9)

2022 ◽  
Vol 6 (POPL) ◽  
pp. 1-31
Author(s):  
Yuting Wang ◽  
Ling Zhang ◽  
Zhong Shao ◽  
Jérémie Koenig

Memory models play an important role in verified compilation of imperative programming languages. A representative one is the block-based memory model of CompCert---the state-of-the-art verified C compiler. Despite its success, the abstraction over memory space provided by CompCert's memory model is still primitive and inflexible. In essence, it uses a fixed representation for identifying memory blocks in a global memory space and uses a globally shared state for distinguishing between used and unused blocks. Therefore, any reasoning about memory must work uniformly for the global memory; it is impossible to individually reason about different sub-regions of memory (i.e., the stack and global definitions). This not only incurs unnecessary complexity in compiler verification, but also poses significant difficulty for supporting verified compilation of open or concurrent programs which need to work with contextual memory, as manifested in many previous extensions of CompCert. To remove the above limitations, we propose an enhancement to the block-based memory model based on nominal techniques; we call it the nominal memory model. By adopting the key concepts of nominal techniques such as atomic names and supports to model the memory space, we are able to 1) generalize the representation of memory blocks to any types satisfying the properties of atomic names and 2) remove the global constraints for managing memory blocks, enabling flexible memory structures for open and concurrent programs. To demonstrate the effectiveness of the nominal memory model, we develop a series of extensions of CompCert based on it. These extensions show that the nominal memory model 1) supports a general framework for verified compilation of C programs, 2) enables intuitive reasoning of compiler transformations on partial memory; and 3) enables modular reasoning about programs working with contextual memory. We also demonstrate that these extensions require limited changes to the original CompCert, making the verification techniques based on the nominal memory model easy to adopt.


Electronics ◽  
2022 ◽  
Vol 11 (1) ◽  
pp. 136
Author(s):  
Moataz Z. Salim ◽  
Ali J. Abboud ◽  
Remzi Yildirim

The usage of images in different fields has increased dramatically, especially in medical image analysis and social media. Many risks can threaten the integrity and confidentiality of digital images transmitted through the internet. As such, the preservation of the contents of these images is of the utmost importance for sensitive healthcare systems. In this paper, the researchers propose a block-based approach to protect the integrity of digital images by detecting and localizing forgeries. It employs a visual cryptography-based watermarking approach to provide the capabilities of forgery detection and localization. In this watermarking scheme, features and key and secret shares are generated. The feature share is constructed by extracting features from equal-sized blocks of the image by using a Walsh transform, a local binary pattern and a discrete wavelet transform. Then, the key share is generated randomly from each image block, and the secret share is constructed by applying the XOR operation between the watermark, feature share and key share. The CASIA V 1.0 and SIPI datasets were used to check the performance and robustness of the proposed method. The experimental results from these datasets revealed that the percentages of the precision, recall and F1 score classification indicators were approximately 97% for these indicators, while the percentages of the TAF and NC image quality indicators were approximately 97% and 96% after applying several known image processing and geometric attacks. Furthermore, the comparative experimental results with the state-of-art approaches proved the robustness and noticeable improvement in the proposed approach for the detection and localization of image forgeries in terms of classification and quality measures.


2022 ◽  
pp. 290-308
Author(s):  
Filiz Kalelioğlu ◽  
Yasemin Gülbahar ◽  
Dilek Doğan

This chapter aims to provide a general description of the preferred pedagogical approaches for the delivery and practice of computer science education based on a review of the literature. Pedagogical approaches mainly used in the teaching of computer science are unplugged activities, robotics programming, block-based or initial programming environments and cross-curricular activities. The preference of these pedagogical approaches varies according to the learners' age and level. Whilst all of these approaches can be used for all ages, some are aimed more at the beginner level than others. The benefits of using each of these approaches will be discussed in this chapter by way of considering educational tips.


Author(s):  
Ting-Chia Hsu ◽  
Hal Abelson ◽  
Evan Patton ◽  
Shih-Chu Chen ◽  
Hsuan-Ning Chang

AbstractIn order to promote the practice of co-creation, a real-time collaboration (RTC) version of the popular block-based programming (BBP) learning environment, MIT App Inventor (MAI), was proposed and implemented. RTC overcomes challenges related to non-collocated group work, thus lowering barriers to cross-region and multi-user collaborative software development. An empirical study probed into the differential impact on self-efficacy and collaborative behavior of learners in the environment depending upon their disciplinary background. The study serves as an example of the use of learning analytics to explore the frequent behavior patterns of adult learners, in this case specifically while performing BBP in MAI integrated with RTC. This study compares behavior patterns that are collaborative or individual that occurred on the platform, and investigates the effects of collaboration on learners working within the RTC depending on whether they were CS-majors or not. We highlight advantages of the new MAI design during multi-user programming in the online RTC based on the connections between the interface design and BBP as illustrated by two significant behavior patterns found in this instructional experiment. First, the multi-user programming in the RTC allowed multiple tasks to happen at the same time, which promoted engagement in joint behavior. For example, one user arranged components in the interface design while another dragged blocks to complete the program. Second, this study confirmed that the Computer Programming Self-Efficacy (CPSE) was similar for individual and multi-user programming overall. The CPSE of the homogeneous CS-major groups engaged in programming within the RTC was higher than that of the homogeneous non-CS-major groups and heterogeneous groups. There was no significant difference between the CPSE of the homogenous non-CS group and the CPSE of the heterogeneous groups, regardless of whether they were engaged in individual programming or collaborative programming within their groups. The results of the study support the value of engaging with MAI collaboratively, especially for CS-majors, and suggest directions for future work in RTC design.


2022 ◽  
Vol 10 (1) ◽  
pp. 0-0

In this paper, we introduce a new method for face recognition in multi-resolution images. The proposed method is composed of two phases: an off-line phase and an inference phase. In the off-line phase, we built the Kernel Partial Least Squares (KPLS) regression model to map the LR facial features to HR ones. The KPLS predictor was then used in the inference phase to map HR features from LR features. We applied in both phases the Block-Based Discrete Cosine Transform (BBDCT) descriptor to enhance the facial feature description. Finally, the identity matching was carried out with the K-Nearest Neighbor (KNN) classifier. Experimental study was conducted on the AR and ORL databases and the obtained results proved the efficiency of the proposed method to deal with LR and VLR face recognition problem.


2022 ◽  
pp. 524-549
Author(s):  
Nathalia da Cruz Alves ◽  
Christiane Gresse von Wangenheim ◽  
Jean C. R. Hauck ◽  
Adriano F. Borgatto

As computer science education makes its way into schools, diverse initiatives worldwide promote computer science education in K-12, often focusing on teaching algorithms and programming with block-based programming languages such as Scratch or App Inventor. However, alternatives to assess the learning of computer science concepts on this educational stage are still scarce. This chapter presents an automated rubric for assessing algorithms and programming concepts of App Inventor projects at middle school level. The assessment is based on a rubric proposed in alignment with the K-12 Computer Science Framework with satisfactory reliability and validity. The rubric has been automated through a web-based system that allows assessing App Inventor projects through static code analysis. As a result, it can support computer science education in practice providing feedback to students and teachers.


Sign in / Sign up

Export Citation Format

Share Document