Propostas Submetidas

DEI - FCTUC
Gerado a 2024-11-24 12:16:33 (Europe/Lisbon).
Voltar

Titulo Estágio

Visualizing C Pointers and Data Structures

Áreas de especialidade

Engenharia de Software

Local do Estágio

DEI/CISUC

Enquadramento

# Context
The C language, developed by Dennis Ritchie in the early 1970s at Bell Labs, is a widely used general-purpose language known for its imperative nature, support for structured programming, lexical variable scope, recursion, and static type system. C's popularity is due to its speed and small memory footprint, making it a top choice for performance-critical applications and system-level programming.

C, however, is notorious for its use of pointers, which can make it challenging for students to grasp the language fully. Pointers require explicit memory management and can introduce security vulnerabilities if not handled properly.

# The Need for Improvement
The difficulty in learning C often stems from the concept and usage of pointers and data structures. Many students struggle to understand the order of operations on data structures and how to translate these operations into C source code effectively. As a result, learning C can be frustrating and time-consuming.

# Motivation
The primary motivation for this internship is to enhance the learning process for students tackling C programming. By providing a platform that offers a better comprehension of the relationship between C source code and memory data structures, we aim at improving the learning experience for aspiring programmers.

Objetivo

The main objective of this internship is to develop a user-friendly and interactive website that facilitates students' understanding of C pointers. This platform will focus initially on linked lists, providing multiple variants that students can explore. The site should offer multiple linked list variants (e.g., singly linked list, doubly linked list) for students to experiment with and compare. The intern should develop a mapping system that shows the correspondence between C source code and memory data structures (initially restricted to linked lists). Students should be able to visualize how their C instructions translate to changes in the data structures and vice-versa. By visualizing data structures and providing real-time feedback on their C instructions, this web platform should foster a deeper understanding of pointers and data structures, making the learning journey more productive and enjoyable.

Plano de Trabalhos - Semestre 1

- Perform a state of the art review (1 month).
- Define system requirements and architecture (1 month).
- Select and gain knowledge of the tools required for the solution (1 month).
- Start development (1 month).
- Write intermediate report (1 month).

Plano de Trabalhos - Semestre 2

- Continue implementation adding more data structures (3 months).
- Perform usability tests (1 month).
- Refine the solution (1 month).
- Write final report (1 month).

Condições

N/A

Observações

The work should take place at the Centre for Informatics and Systems of the University of Coimbra (CISUC) at the Department of Informatics Engineering of the University of Coimbra.

Orientador

Filipe Araújo e Maria José Marcelino
filipius@uc.pt 📩