November 2022
- Dr. Venkatesh Choppella conducted a workshop focused on Program development using Literate Programming and Mapcode. Below is his brief description about the workshop.
Literate programming (Knuth, 1992) is a style of programming and documentation in which the role of code and comments are reversed. A literate programmer writes a narrative and then embeds code in the narrative. This is akin to supporting a narrative with other artefacts like diagrams or tables. Mapcode (Viswanath, 2008) is a methodology for iterative algorithmic problem solving in which the requirement and design of an algorithm is expressed as a collection of maps (total functions). Once the design is available, it can be easily coded as a program. Literate programming is a natural framework for expressing the design of the algorithm along with its implementation as a program. The workshop is an introduction to literate program development using the mapcode methodology. This will be done through a series of examples which illustrate the mapcode approach and use the literate programming style to encode the solutions in Python.
Workshop page: https://algodynamics.org/2022/11/13/literate-programming-and-mapcode/
- Mrityunjay Kumar pursuing Ph.D with Dr. Venkatesh Chopella presented a paper on A study of the design and documentation skills of industry-ready CS students. Research work as explained by Dr. Venkatesh Chopella and Mrityunjay Kumar:
An engineer in a product company is expected to design a good solution to a computing problem (Design skill) and articulate the solution well (Expression skill). We expect an industry-ready student (final year student or a fresh campus hire) as well to demonstrate both these skills when working on simple problems assigned to them.
This paper reports on the results when we tested a cohort of participants (N=16) for these two skills. We created two participant groups from two different tiers of college, one from a Tier 1 college (who were taking an advanced elective course), and another from Tier 2 colleges (who had been hired for internship in a SaaS product company). We gave them a simple design problem and evaluated the quality of their design and expression. Design quality was evaluated along three design principles of Abstraction, Decomposition, and Precision (adapted from the Software Engineering Book of Knowledge). Expression quality was evaluated using criteria we developed for our study that is based on the diversity and density of the expressions used in the articulation.
We found the students lacking in design and expression skills. Specifically, a) they struggled with abstraction as a design principle, b) they did not use enough modes of expressions to articulate their design, and c) they did not use enough formal notations (UML, equations, relations, etc.). We also found significant differences in the performance between the two participant groups.
The 5th COMPUTE 2022 was held at Manipal University, Jaipur, from 9 – 11 November. Since 2018, ACM-India has decided to focus the theme of COMPUTE towards improving the quality of computing education in the country. This was the fifth year of this thematic symposium. COMPUTE 2022 is being held under the aegis of the iSIGCSE (Special Interest Group on CS Education) of ACM India.
Conference page: https://event.india.acm.org/Compute/index.html