Improving Concept Learning Through Specialized Digital Fanzines
IImproving Concept Learning Through SpecializedDigital Fanzines st Jose Manuel Redondo
Computer Science DepartmentUniversity of Oviedo
Oviedo, Spain0000-0002-0939-0186
Abstract —Specialized digital fanzines were successfully usedto facilitate learning problematic concepts in an undergraduateprogramming course, dynamically adapting to student needs. Thedesign of these fanzines favors creating and reading them quicklyby establishing a common graphical layout, rules, and focusing inthe most problematic parts of the concepts. This paper details theagile fanzine creation procedure, the way problematic conceptswere identified and quickly handled, and how this approach wasimplemented in an actual course, so it could be applied to othercourses with similar needs.
Index Terms —Undergraduate students, Computer Engineer-ing, Programming Concepts, Learning, digital fanzine.
I. I
NTRODUCTION
The
Programming Technology and Paradigms course ina
Software Engineering degree of a Spanish university [1]was designed to cover competences about the most commonprogramming paradigms and its abstractions, including thebasis of concurrent and parallel programming. This course usesa single programming language (C
This work has been partially funded by the Spanish Department of Science,Innovation and Universities: project RTI2018-099235-B-I00. It has been alsopartially funded by the project GR-2011-0040 from the University of Oviedo. complex or lengthy edit process. Typically, fanzines are usedin educational environments to make short introductions orapproaches to certain concepts, as a prelude or complement toother materials.The main contribution of this work is the design procedureof a series of very specialized fanzines (abbreviated, zines)that have been used to improve the learning of problematicconcepts identified by the students during an undergraduateprogramming course. Each zine focuses on clarifying concreteaspects of the problematic concepts rather than provide afull explanation, so they complement the rest of the coursematerials. The quick nature of fanzine creation is used toproduce them on-demand, depending on students’ questions orrequests. They are also thought to be read very quickly. Thisturned fanzines a very dynamic learning tool with a student-directed approach.This application of fanzines proved successful, as a greatnumber of students declared that they helped to improveconcept learning. Several students requested fanzines aboutspecific concepts as the course progressed, giving them directcontrol of the process. This paper describes fanzine designrules and structure, how their topics were identified, its pub-lication process, and user feedback and acceptance, so thistechnique could be applied or reproduced in other courses.The structure of this paper is the following: Section IIdescribes the related work, while Section III describes thecourse design and the concepts students found problematic.Section IV explains how fanzines were created using a three-phase creation plan, detailing rules, graphical layout, and allcovered topics. Section V describes the results and feedbackobtained after using them and, finally, conclusions and futurework are detailed on Section VI.II. R
ELATED W ORK
Teaching with comic-like approaches has been used inall educational levels, from younger audiences [8] [9] touniversity-level courses. They are also not only applied inComputer Science, but also in other types of studies [9],such as Mathematics [10]. Comics have also been used totry to explain substantially complex technical concepts to thegeneral public, such as the inner workings of the
GoogleChrome browser [11]. A more modern example is [12], acomic book novel that uses a fictional but realistic history as a a r X i v : . [ c s . C Y ] F e b entral way to explain multiple security concepts and practicalapplications.Using a comic-like approach to explain Computer Scienceconcepts is not a new technique; there are examples from morethan 30 years ago: [5] explains the history of computing andsome Computer Science fundamentals, introducing conceptsin a way that may appeal to most reader types. Although inour particular case we applied this research to programming,comic-like approaches have also been applied to more topics.For example, we have applications to explain computer net-works [13] that also use comic strips with rich contents assupplementary materials. Logic for Computer Science majorcourses has also benefited from this approach, using a comicbook as the course textbook [3]. Multiple Computer Sciencetopics are also covered in [14] [15] by using a series of comicillustrations as complementary class handouts to reinforceconcept learning. As in our case, these illustrations are alsocombined with concise explanations, although not with apredefined fixed structure that accelerate their production likeour approach.One of the closest works related with our research success-fully uses comics applied to programming courses but using aninverse approach [16]. In this research, a student control groupis instructed to produce comics that reflect their understandingof certain selected course topics with the BitStrips authoringtool. This way, students reinforce the understanding of theconcepts by trying to explain them through a comic, insteadof being the teacher the one that delivers explanations viacomics as in our approach.Outside regulated courses, fanzines are also used as educa-tional tools in different contexts. One of the closest works tothe one described in this paper is
Wizard Zines from JuliaEvans [4]. These zines focus on introducing a variety ofdifferent concepts on multiple fields of Computer Science,rather than explaining specific conceptual problems identifiedby a concrete audience. Julia has published books with compi-lations of her fanzines grouped by topic, such as
Git , and
Linux command-line tools and concepts. As in this research, thesezines follow a coherent visual style and divide their contentsin frames, although
Wizard Zines use simpler visuals and aremuch more focused on text-based explanations. The maindifference between
Wizard Zines and the research describedin this paper is that this one is directed by the audience needs:it focuses on the problems detected in a concrete course. Newmaterial creation is driven by student needs or requests whilethe course is taking place, rather than introducing computerscience concepts to a general audience with different skillswith no special time restriction.Another very similar approach to
Wizard Zines is the
BubbleSort Fanzines Kickstarter project of Amy Wibowo [17].Her aim is to make a variety of computing tools, skills,and concepts accessible to everyone. Fanzines are used hereto reframe concepts, so they could be found attractive byaudiences that initially did not consider studying them orenroll in certain courses. Planned zine topics are very varied,such as logic circuits, hardware hacking, cryptography, the basis of Internet communication, and some programmingconcepts such as recursion and sorting. Plans to develop zinesabout advanced topics such as neural networks, AI, imageprocessing, and computer graphics also exist. This approachalso focuses on text frames coupled with hand-made images ofconcepts, following a simple and clear style. Humorous titlesare used to introduce each zine topic.Lin Clark also uses a comic-like approach to explain ad-vanced concepts regarding networking, web servers, and webtechnology concepts [18]. Although the topics covered bythese comics are all focused on web technologies, they areindependent, not following a concrete creation plan or line.This is the main difference with the research described in thispaper, that develops fanzines on demand following a coursesyllabus. Regarding style, these comics are mostly composedby sort paragraphs of text providing explanations followed byan illustrative image (mostly simple line drawings, like
WizardZines ). There is no apparent limit related to the amount oftext or number of comic frames, as some comics use a verydifferent number than others.
Xkcd [19] are very popular technology-related comics deal-ing with a wide variety of topics: from technology-focusedones to others not related with computing. These comicsemphasize the humoristic part to try to transmit a message tothe readers, even ignoring technical parts that may be involvedin the message, or not being rigorous explaining them. Comicsize is very varied, from just one comic frame to multipleones. Topics do not follow any structure, and comic framesare mostly composed by line drawings plus small texts.
Little Bobby [20] is a long-running web comic strip series(250+ released comics), released weekly, and based on thecomic book [21] of the same authors. The comic strip topicsare varied including, but not limited to, SCADA, the cloud, netneutrality, hacking, and big data. It has a lighthearted nature,focusing on making technical and often difficult topics moreaccessible to a wider audience. It also uses humor and insidejokes for the topic’s respective community to achieve theirgoals. Comics usually are composed by full-color 3-4 frames,using main recognizable characters and short texts withinspeech bubbles between them as in the approach describedin this paper. Characters are represented in a wide variety ofsituations and environments, and have widely different poses,as they are drawn by a professional illustrator. Although thiskind of drawings makes each released comic substantiallydifferent from the others, this kind of complexity cannot beimplemented in the context that will be described in this paper,as the author lacks the necessary drawing skills to developthem within the time constraints of the course.These implementations of comics and fanzines as learningtools prove that they can be used effectively to introduce agreat amount of different Computer Science topics (amongother disciplines), both basic and advanced, inside, or outsideregulated courses, at any educational level, and facilitatingtheir learning to a varied audience. However, the implementa-tion described in this paper shows the benefits of followinga more focused approach, using zines to reinforce topicsomplementing existing materials, and quickly developingthem on-demand. Another benefit of this research is to detaila common development framework and rules to try to speedup fanzine releases during a course, so this approach can bereproduced in other contexts with the same goals.III. C
OURSE D ESIGN AND P ROBLEMATIC C ONCEPTS
The
Programming Technologies and Paradigms course wasdesigned with five mandatory units [2] plus optional materials.It follows the
Programming Methodology course, fully taughtin Java. Our course also uses a single language due tocourse time restrictions (6 ECTS credits), but Java was judgedunsuitable because its limitations in generics (due to its typeerasure implementation [22]), inability to provide functionsas first-class entities, and no support for certain key functionalprogramming concepts (continuations, lazy evaluation, patternmatching , and comprehension lists ).Due to Java limitations C lambda expressions , closures , comprehension lists , and aform of continuations . Additionally, the Language IntegratedQuery (Linq) library is a very popular data manipulationframework that uses C
Task abstraction. Data and task parallelization can besimplified using the
TPL ( Task Parallel Library ) and
PLinq ( Parallel Language Integrated Query ) libraries [24]. Typi-cal synchronization mechanisms such as lock , Mutex and
ReaderWriterLockSlim are also present. Additionally, metaprogramming features (introspection, structural interces-sion, and dynamic code evaluation) and dynamic typing (viathe dynamic type) are supported. The following subsectionsdetail what concepts were found problematic in each unit.
A. The object-oriented programming paradigm
This unit “links” with the previous course, also introduc-ing new concepts like bounded generics and type inference .Surprisingly, a considerable number of students needed moretime than expected to deal with concepts they should alreadyknow. Part of this problem could be due to the 9-monthgap with the preceding course, as courses in-between in theofficial curricula do not facilitate acquiring or reinforcingprogramming skills (
Computer Electronics Technology , Com-puter Architecture , Computability ), or deal with specializedapplications (
Data Structures , Human-Computer Interaction ).Therefore, problematic concepts in this unit were a mix of“old” and “new” ones. • Parameter passing was weakly understood in general. Theconcept of object reference was not used correctly by asurprising number of students that treated basic and ref-erence types the same, so the predicted outcome of some examples was consistently guessed wrong. This worsenedwhen the ref and out keywords were explained. • Multiple students had trouble differencing between
Equals and == . • There were considerable problems with type conversionsand usages of the as and is keywords. • Multiple students could not properly differentiate accept-able usages of exceptions and assertions, understandingthe consequences of using them. Therefore, design bycontract was also challenging. • Given that C • Dealing with generics was also difficult for some stu-dents, especially when bounded generics usage scenarioswere introduced. Students were used to the restrictionsimposed by the type erasure generics implementationtechnique of Java [22]. C • The concept of iterator (implemented through
IEnumerable in C
Data Structures courseshould also be improved to avoid this.
B. The functional programming paradigm
At the end of this unit students must be able to designand implement applications using suitable elements providedby the functional paradigm, comparing functional and object-oriented approaches. This paradigm is new for the students andhandling even the most basic concepts proved troublesome toseveral of them. • Multiple students struggled understanding that functionsare first-class types. Understanding how code can bestored in data structures, passed as parameters, or re-turned from functions, took substantially more time thanexpected to use effectively. • Creating and using code ad hoc via lambda functionsis a powerful mechanism, but students initially avoidedthat as they failed to understand how to use it to theiradvantage. The foundations of lambda calculus, taught toexplain the origin of the functional paradigm and lambdafunctions, also proved troublesome when the studentswere preparing the final course theory exam. • Another problematic concept was lazy evaluation. Stu-dents only had experience with languages implementingeager evaluation. This increased the difficulty of applyingthe limited implementation of this concept in C • Closures and partial application proved also challenging.The first, due to improper handling of free variables, asstudents generally did not understand that closures hold aeference to them, not a copy. The second, because theycould not easily see the advantages of using currying toobtain new code by applying part of the function param-eters. This concept was especially difficult, as curryingfunctions to implement partial application must be donemanually in C • The final part of this unit reviews a popular framework,
Linq , to show how functional programming conceptsare applied in a professional environment. Althoughbasic higher-order functions (
Map , Filter , and
Reduce ; Select , Where , and
Aggregate in C
Linq queries. Finally, more complex
Linq operations such as
Join or GroupBy were alsopoorly handled due to confusion with the SQL operationswith the same name, as the
Databases course is taughtin parallel with this course.
C. Concurrent and parallel programming
Students must be able to know and apply the basic elementsof concurrent and parallel programming at the end of thismodule. They demonstrated to have a good understandingof threads (taught in
Programming Methodology and usedin the parallel
Operating Systems course), but demonstrateddifficulties when using mechanisms to handle critical sec-tions (especially the lock keyword and the more complex
ReaderWriterLockSlim class). Effectively using typicalthread-based schemas (such as
Master-Worker and
Producer-Consumer ) proved also challenging to some students due topoor understanding of the relationships between the classesthat compose them. Finally, several students also experiencedproblems when parallelizing existing single threaded codeusing the
TPL or PLinq libraries.
D. Meta-programming and dynamic typing
Dynamically typed programming languages have influencedthe development of software in the last years [25] and are avery active research line in our Computer Science researchgroup [26]. This last unit identifies and discusses the distin-guishing features they provide, such like multiple dispatch [27], dynamic typing [28] or generative programming . Thisunit is merely introductory, so the only important problemstudents had was understanding how some concepts ( dynamictyping , dynamic code evaluation . . . ) could be simulated inC Python [29].
E. Optional materials
These public materials allow willing students to furtherstudy the acquired concepts, even when the course is finished.They are also used to promote course enrollments and toprovide updated materials to students that successfully took the void ChangePassword(string userName, string newHashedPassword) {if ( userName == null)throw new
ArgumentException ( “ Theuser name cannot be null ” ); … ( Restofthemethodcode)} … try {ChangePassword(null, null);catch( ArgumentException e) { /*Do something to solve the problem:- Correct the arguments- Throw another exception- … ( another solution)*/ } Execution “ jumps ” here!! ❖ Preconditions, postconditions and invariants are the basis of Programming by Contract ❖ They largely depend on the program and methods purpose, so you MUST THINK
ABOUT THEM CAREFULLY ❖ YOU are responsible to detect errors in your code ❖ This way your programs will be more bullet-proof (as much as it is possible) ❖ Assertions should be removed on Release mode (they automatically are if compiling in this mode in Visual Studio) ❖ Released programs should have no code errors ;)
MoveNext():true MoveNext():true MoveNext():true MoveNext():falseReset()
IEnumerable class
A BC
Fig. 1. Different fanzine frame types course in the past. They include how to apply the functionalfeatures they learned in Java [16], and features of C
ResearchGate . The only questions were related todynamic code generation through the
Roslyn
Compiler-as-a-service feature and the usage of the .Net Speech
APIs.IV. F
ANZINE C REATION
Although the previous section described the complete list ofproblematic concepts, each problem was not known outright,but discovered as the course was being delivered. Fanzineswere used as answers to questions about these concepts as theywere known, to reinforce their understanding on-demand. Todo this, an action plan to produce fanzines before the coursestarted was created in a way it could be applied to othercourses if the approach proved successful. The action planwas divided in three phases: design of the fanzine framework , lecturer-directed fanzine development , and student-directedfanzine development . A. Design of the fanzine framework
In order to be able to answer student needs using fanzinesin an agile way, this initial phase established several rules toaccelerate fanzine creation. All fanzines were thought as veryshort stories narrated by a main character.1) All fanzines were created using a default installation of
Microsoft PowerPoint , with no third-party plugins.2) Always use 6 comic frames (two rows of 3 frames) togive an appropriate amount of information to the reader,according to the findings of a classical work regardingthis [30], and to facilitate quick reading of their contents.3) A main character narrates the explanations on eachcomic frame. Widely known personalities related tocomputer engineering were considered, such as AlanTuring, Ada Lovelace, John Von Neumann, or MargaretHamilton. However, their importance and contributionto computing was too important to relate them to asimple” programming technology course. Therefore, tobetter relate fanzines with the course, a caricature of itshead teacher was used. This main character is a singleimage (no different poses were created) to increasecreation speed. Main character explanations are providedas speech bubbles with a common format.4) Only three types of frames are used to explain contents(see Figure 1): commented source code fragments ( A ),text-only explanations in bullet lists ( B ), and draw-ings/diagrams (optionally with source code snippets)( C ). This is to achieve a coherent explanation styleamong the different fanzines.5) All fanzines are created on a single page (default hori-zontal PowerPoint slide) to facilitate quick reading andsharing. This way, they can be easily distributed asimages or quickly viewed in any device. As their goalis solving specific conceptual problems, contents arealways very direct, focusing only in solving problemsand trying not to give excessive details. This requires aspecial effort to carefully choose what it is included,as space is quite limited. Zines are thought as com-plementary resources, not replacements of the rest ofthe course materials that are responsible of explainingconcepts in a much broader perspective. They must beread and understood quickly to be used as intended.6) Fanzine frames follow the occidental reading order (leftto right, upper to lower row), as it is the one used byall students.7) Every fanzine has the same header, consisting in awooden stand with a folded banner, leaves, and twodecorative owl characters at each side (see Figure 2and Figure 3). They also have the same appearance:a wooden bulletin board with six notes fixed with apushpin.8) Regarding content, all fanzines share the same colorsand font features (typeface, size, line length, line spac-ing, character and word spacing, indents. . . ) for titlesand contents [31], to be recognizable as part of a group.9) Finally, as several of the related works described inSection II, fanzines use light touches of humor to bemore approachable and to reinforce its comic nature.These are mostly present in the fanzine title, to enableus to focus on contents later.Following these rules, a base visual template was createdto create each fanzine from. This way, new fanzines just needto add a title in the provided space and fill the frames withexplanations following rule 4. Occasionally, sticky notes couldhighlight very important things to remember. Fanzines arepublished classified by course unit and identified by a shorttext describing its contents (see Table I), so they can be easilylocated.
B. Lecturer-directed fanzine development
The goal of the second phase is to start fanzine development.Although the experience of previous course editions couldbe used to identify potential problematic concepts and start creating fanzines, only feedback from the current courseedition was used. This allowed testing if this approach couldbe successfully developed during a typical course, and todynamically adapt to the actual problems experienced bystudents, that might differ from previous editions.This way, a fanzine was created when several questionsrelated to the same concept began to appear in the differentcommunication channels the students have (email, privatecourse forums, office hours, or even social networks). Thanksto the rules described in the previous section, zines weredeveloped very quickly, as more complex ones took up to twohours to develop, always by a single lecturer. Once created,zines were made available using the course private virtualplatform to handle course materials, so every student with thesame problems may benefit from them.Finally, created fanzines were also made public each week.This proved useful to students that already took the coursebut wanted to refresh some contents (as several were usingthem in their professional activities), to obtain feedback, andto promote future course enrollments.
C. Student-directed fanzine development
The third stage of our action plan aimed to give studentssome degree of direct control of the fanzine creation process,once the second phase was active during the first course unit(object-oriented programming). At the beginning of the func-tional programming unit, students were informed that they candirectly request specific fanzines about any of the upcomingor past course topics. When several requests related to thesame concepts were received, the corresponding fanzine wasdeveloped following the described rules and publication pro-cedure. Fanzines created during this phase cannot be visuallydistinguished from those created in the previous one. Choosingthe second course unit as the starting point was motivated bythe possibility of students having more conceptual problems,as most of the concepts in the course will be new for themfrom there on. Phase 3 runs in parallel with phase 2, so bothcan be used to determine the new fanzines to be created.This third phase not only allows students to decide whatnew fanzines are going to be created: they are also welcomedto give feedback about any existing fanzine or ways to improvethe whole initiative. Apart from some minor errata, substantialfeedback and several interesting requests were received duringthe course and, once considered, quickly incorporated toalready created fanzines thanks to their design rules.The most surprising feedback was multiple requests forSpanish translations. This course is delivered both in Englishand Spanish, and students freely choose which group they wantto be in. It was assumed that the average English level ofthe Spanish group students was good enough to be able toread small pieces of text. Therefore, all fanzines were initiallycreated in English to reach a potentially greater audience.However, several students of the Spanish group reported thatit was substantially more difficult to correctly understand theexplanations in English, which is contrary to the goals of
Anonymized>
Fig. 2. C
Fig. 3. Basic functional programming principles fanzine his research. Fortunately, the nature of fanzines also facili-tated their fast translation. These translations include sourcecode (variable and method names, strings. . . ) and certainexpressions. When translation was a clear student priority, allsubsequent zines were directly produced in both languages andpublished in separate sections.Format problems were also reported. The
Kristen ITC font was used to emphasize the comic appearance. However,several students complained that it made source code moredifficult to read due to the font variable size and closenessof the text paragraphs. To solve this, an extra separation wasintroduced between text paragraphs, and a more console-likefont with no variable font height was used for source codesnippets (
Selawik ), both in existing fanzines and in the basetemplate for new ones. Additionally, some students indicatedthat the usage of the red color to emphasize key conceptsinside explanations was excessive in some of the fanzines, soits usage was minimized. Figures in this paper incorporatethese format changes.Finally, several students complained about clearness andresolution problems when viewing zines in portable devices.This happened because they were initially provided as .png images with sub-HD resolution to minimize their size and thusfacilitate sharing them. However, zooming over its contentsleave indeed a poor result, so they were released againindividually in high resolution PDF format.
D. Distribution of created fanzines
29 fanzines were developed to address all the problemsdescribed in the previous section (26 during the 2018 courseyear and 3 more in the following year). Table I shows theirinformation classified by course unit, showing its topic andtypes of frames used (see Figure 1). This table also specifies( Ph column) if a fanzine was created during phase 2 (lecturer-directed) or phase 3 (student-directed).Figure 2 and Figure 3 show two fanzine examples. Fanzinein Figure 2 explains the parameter passing ( ref and out )concept belonging to the object-oriented programming unit,addressing the problems outlined in the previous section.Likewise, Figure 3 does the same with the basics of functionalprogramming of the functional programming paradigm unit.Both belong to the fanzine list contained on Table I.Table I shows that 9 fanzines were developed to reinforcethe new and known concepts of the object-oriented paradigm;10 were dedicated to reinforcing functional programming con-cepts, and 7 were created to reinforce concurrency and paral-lelism concepts. Finally, 3 more were created to understand ap-plications of the final metaprogramming unit and optional ma-terials. Additionally, 13 zines were developed by direct studentrequest (phase 3) and 16 developed from the students mostfrequent questions (phase 2). Fanzines requested by studentsconcentrate at the end, as students seemed more engaged withthis initiative as the course progressed. A final compilation ofall zines was also made available in a public site at the endof the course [32] as a high-resolution PDF file (one for eachlanguage). Additionally, a table with a detailed description of TABLE IF
ANZINES PER COURSE UNIT
Contents Frame types Ph
Object-Oriented Programming Unit
Different behavior of dynamic binding in C
Object.Equals , equality redefinition and == operator A, B 3Type conversions, is and as A, B 3By value and by reference parameter passing, ref and out
A, C 2Exceptions and preconditions A, B 2Asserts and postconditions A, B 2C
IEnumerable works B, C 2
Functional Programming Unit
Functions as first-class objects A, B 2Using predefined delegates A 2From method to lambda expression A 2Basics of
Linq and
IEnumerable manipulation A, B, C 2Generators and yield return
B, C 2Lazy policy of
Linq functions A 2Alpha-conversions and beta-reductions in lambdacalculus C 3How
Linq
Join function works A, C 3How
Linq
GroupBy function works A, C 3Currying a function to achieve partial application A, B 3
Concurrency and Parallelism Unit lock and critical sections; thread-safe data struc-tures A 2Closures on threads, critical section problems A 3 lock usage for critical section protection A, C 3Using
ReaderWriterLockSlim
A 3
Master-Worker schema A, B, C 2
Producer-Consumer schema A, B, C 3
TPL and
PLinq to parallelize code A 2
Metaprogramming and optional units
Emulation of runtime intercession A, B 2
Roslyn to enable dynamic code generation A, B, C 3Text to speech conversions A 3
ESULTS AND D ISCUSSION
The goal of fanzines was not to try to improve the overallcourse results (see Section I), as they are already adequate (seeTable II), but to decrease the time students use to understandthe most problematic concepts. Zines might even have anegative impact in the course results if they are used as its mainstudy materials. This is because they were not designed toexplain full concepts, just to reinforce their most problematic
ABLE IIC
OURSE RESULTS
Number of students 153 185 147 140Average mark 5,16 6,39 6,95 6,83Standard deviation 2,4 1,97 1,67 1,76Minimum score 0,38 0 2,5 1,57Maximum score 9,53 9,85 10 10% pass rate 56,9% 63,8% 75,5% 75,7% parts. Using them as the only reference material to studyconcepts may lead to understanding them incompletely. Tocheck if this effect is produced, four course editions wereanalyzed, only the last using zines. Table II shows that fanzinesdid not have a negative impact on course results, being roughlythe same as in the previous edition.Unfortunately, systematically evaluating the time saved un-derstanding concepts by using fanzines was considered im-practical, as no experiment could be thought to accuratelymeasure it in this context. The time students spend understand-ing different concepts depends on their individual abilities,previous knowledge, and environment (available help fromother sources). Also, this research is also created to be appliedon-demand during a course, so typical systematic evaluationtechniques, like creating control groups or applying use casestudies [33], could not be designed without disrupting thenormal course flow, forcing students to use extra time to fulfillthese tasks, which is contrary to the goals of this research.Thus, the evaluation approach is based on student personalopinions about the perceived usefulness of fanzines on theirown case. This approach might introduce some threats to thevalidity of the results, but it is the only one that could beapplied in this context without causing problems.Therefore, to evaluate the usefulness of zines perceived bytheir users, feedback from different user types was collectedonce the first 8 were released. Feedback recollection wasdesigned to be quick, optional, and not disruptive with thecourse flow. The first feedback collection process targeted toany potential user, no matter if it is a student of the currentcourse edition or not. The head teacher private
Twitter accountwas used to create polls. This account had a restricted setof 370 followers, mostly composed by old course students,computer engineers from other universities, or computer pro-fessionals of different fields, manually chosen from followrequests to avoid robots, fake accounts, and people with noverifiable background. As
Twitter polls are anonymous andvery restricted, only two questions were made:1) “Do you think that, in general, fanzines help understand-ing concepts?”: 46 answers were given, 93% positive.2) “Do you want a compilation of all fanzines available tothe public?”: 111 answers were given, 96% positive.Results show that zines are perceived as useful for theirintended purpose by most users, and that there are a substantialnumber of persons interested in obtaining a compilation of them. This is the main reason why the zine compilation [32]was released at the end of the course (see Section IV-D).Obtaining feedback from current course students was thenext step in the feedback collection process. To do that, theprivate online course site was used to create a more complexanonymous poll. This poll had 5 questions with multipleanswers (see Table III), and a final free text one (see TableIV). For questions with N > Google Forms to obtain the same feedback from anyzine user, using the same questions except the second. 44 usersanswered this poll. In both cases users can only answer once.Table III shows that most students (96%) and users (97,7%)found zines useful or partially useful to learn concepts.However, the selection of created fanzines had room of im-provement, as 21% of the students were looking for fanzinesabout topics not already covered. This percentage started inroughly 30%, but lowered as more fanzines were released,indicating that on-demand fanzine creation had a positiveeffect during the course. It is reasonable to assume that moststudents answering
Yes in this question also used the free-text question to ask for the concrete fanzines they wanted(see Table IV). Fanzine content design is considered verysatisfactory: no student declared problems with their length(only 7% of general users do), and 95% agree with the waythey cover concepts, so the quick reading objective was met.11.6% of the general users consider that they contain too muchinformation, opposite to only 3% of the students, indicatingthat their contents are viewed as specialized complements ofthe existing materials.Finally, most students and users (93%) consider that thisapproach could be successfully used in other courses. Onthe other hand, Table IV shows that a substantial number ofstudents, and more than 50% of other users, do not give anycomment. 42.6% of the students explicitly declare that theyliked the idea (23.81% in case of the users). New specificzine requests, or an explicit request to use them in othercourses, was given by 21.3% of the students (14.29% in caseof the general users). Concrete format and content changeswere requested by few people, and Spanish translation wasonly requested by students.Finally, our university uses anonymous polls over eachcourse and lecturer to collect general student feedback. Thesemention zines in some of the comments, stating that theyhave been considered a great improvement of the lecturer’ssupport to student problems. The author of the paper was alsoevaluated with an overall 9.8/10 average score in the teaching , attitude , and satisfaction with the work poll categories. ABLE IIIZ
INE FEEDBACK POLLS RESULTS
Question Result (Students) Results (GeneralUsers)
Did fanzines help youto learn concepts? 85% Yes11% Partially3% No
Mean : 2,8 / 3 93% Yes4,7% Partially2,3% No
Mean : 2,9 / 3Did you miss fanzinesabout concepts thatyou found complex? 21% Yes79%No -Do fanzines highlightthe correct parts of theconcepts? 95% Yes3% Too much data2% Missed key parts0% No
Mean : 3,9 / 4 86% Yes11,6% Too much data0% Missed key parts2,4% No
Mean : 3,8 / 4Do you think thatfanzines have an ade-quate length? 100% Yes0% No 93% Yes7% NoDo you think thatfanzines like thiscould be useful inother courses? 93% Yes7% Programmingonly0% No
Mean : 2,9 / 3 93% Yes4,7% Programmingonly2,3% No
Mean : 2,9 / 3TABLE IVF
REE TEXT POLL FEEDBACK
Feedback category Students General
No comments 31,5% 58,14%Explicitly like the zine approach 42,6% 23,81%More zines or apply them in other courses 21,3% 14,29%Request format changes 13,11% 4,76%Request content changes 6,56% 4,76%Request translation 11,48% 0%
VI. C
ONCLUSIONS AND F UTURE W ORK
This paper describes how specialized fanzines have beensuccessfully introduced to reinforce the learning of prob-lematic concepts in an undergraduate programming course.The main contribution is the fanzine design procedure andapplication, based on explaining very concrete concepts, acommon base template to fill with contents, and a static setof rules. This allows to respond quickly and dynamically tostudent needs, creating fanzines that adapt to the necessities ofeach course edition and that can be read quickly. Applicationof this technique have been received very positively both bystudents and other potential users, explicitly indicating thatthey reached their intended objective. Users also consider thatthis approach could be applicable to other courses, even notrelated to programing.The zine compilation released to the public was publishedin May 2019 [32] and has accumulated 1,585 reads and 6recommendations (English version only, the Spanish transla-tion has 325 reads and 2 recommendations) so far, gaininga substantial acceptance. This initiative has been also high-lighted by the
Principality of Asturias
Science advisor [34] andin the
Spanish Association for Science Advance (AEAC) blog[35]. Additionally, a description of this initiative has also been published in the online divulgation journal
CompartiMOSS ,describing it from the student interaction point of view [36].Future work will integrate this approach to reinforce prob-lematic concepts in other courses related to computer secu-rity and administration [37]. These will complement otherindependent initiatives we plan to use, aimed to enhancelearning from different points of view [38], or with learning-focused tools [39]. Fanzines will also be used to improve theunderstanding of the most problematic theory and laboratoryconcepts of these courses identified by the student feedback,so the application of the rest of the initiatives could be moresuccessful. Finally, we are also studying the feasibility of usingan authoring tool (like in [16]) as an alternative to improvefanzine creation times.D
ATA A VAILABILITY
Zines described in this paper are available to the generalpublic in [32]. Ongoing future zine-related projects, related tocybersecurity, are also available in [40].A
CKNOWLEDGMENT
The author of the paper wishes to thank researcher DanielGayo Avello (ORCID: 0000-0002-4705-6891) for the valuablefeedback given to improve this paper.R
EFERENCES[1] E. de Ingenier´ıa Inform´atica, “Web oficial de la Escuela de Ingenier´ıaInform´atica de la Universidad de Oviedo,” ingenieriainformatica.uniovi.es/, 2020, (Oct 15, 2020).[2] F. Ortin, J. M. Redondo, and J.Quiroga, “Design and evaluation of an al-ternative programming paradigms course,”
Telematics. and Informatics ,vol. 34, no. 6, pp. 813–823, 2017.[3] I. Cervesato, “Discovering logic through comics,” in
Proceedings ofthe 16th Annual Joint Conference on Innovation and Technology inComputer Science Education , ser. ITiCSE ’11. New York, NY, USA:Association for Computing Machinery, 2011, p. 103–107. [Online].Available: https://doi.org/10.1145/1999747.1999778[4] J. Evans, “Wizard zines,” http://wizardzines.com, 2020, (Apr 29, 2020).[5] L. Gonick,
Cartoon Guide to Computer Science . Harper and Row,1984, vol. 1.[6] W. Eisner,
Comics and Sequential Art: Principles and Practices fromthe Legendary Cartoonist . Poorhouse Press, 1985.[7] J. Sanders,
Science Fiction Fandom: (Contributions to the Study ofScience Fiction and Fantasy) . Greenwood Press, 1994, vol. 1.[8] A. Spiegel, J. Mcquillan, P. F. Halpin, C. Matuk, and J. Diamond,“Engaging teenagers with science through comics,”
Research in ScienceEducation , vol. 43, pp. 2309–2326, 2013.[9] H. yu,
The Other Kind of Funnies: Comics in Technical Communication .Routledge, 2015, vol. 1.[10] E. M. Reilly, “Supermath: A creative way to engage talented mathstudents,” in
Proceedings of the 9th Mathematical Creativity and Gifted-ness International Conference
Hacker ´Epico . 0xW0rd, 2018, vol. 1.[13] L. Ganesh, “The effect of comic strips as a supplementary material toteach computer networks,” , pp. 184–191, 2013.[14] K. Yim, “Computer science illustrated,” University of California atBerkeley, Tech. Rep. UCB/EECS-2009-79, 2009.[15] K. Yim, D. D. Garcia, and S. Ahn, “Computer science illustrated:Engaging visual aids for computer science education,” in
Proceedingsof the 41st ACM Technical Symposium on Computer ScienceEducation , ser. SIGCSE ’10. New York, NY, USA: Associationfor Computing Machinery, 2010, p. 465–469. [Online]. Available:https://doi.org/10.1145/1734263.173441816] S. B. Zaibon, F. N. Azman, and N. Shiratuddin, “Enhancing performanceof student in web programming using digital educational comics,”
Journal of Telecommunication, Electronic and Computer Engineering
Scada and Me . IT–Harvest Press, 2013, vol. 1.[22] G. Bracha, M. Odersky, D. Stoutamire, and P. Wadler, “Making thefuture safe for the past: adding genericity to the java programminglanguage,” in
Proceedings of the 13th OOPSLA
Concurrency in .NET: Modern patterns of concurrent andparallel programming . Manning Publications, 2018, vol. 1.[25] F. Ortin, M. Labrador, and J. Redondo, “A hybrid class- and prototype-based object model to support language-neutral structural intercession,”
Information and Software Technology , vol. 44, no. 1, pp. 199–219, 2014.[26] F. Ortin, J. M. Redondo, and J. B. G. Perez-Schofield, “Efficient virtualmachine support of runtime structural reflection,”
Science of ComputerProgramming , vol. 74, no. 10, pp. 836–860, 2009.[27] F. Ortin, J. Quiroga, J. Redondo, and M. Garcia, “Attaining multipledispatch in widespread object-oriented languages,”
Dyna , vol. 81, no.186, pp. 242–250, 2014.[28] I. Lagartos, J. Redondo, and F. Ortin, “Efficient runtime metaprogram-ming services for Java,”
Journal of Systems and Software , vol. 153,no. 6, pp. 220–237, 2019.[29] J. M. Redondo and F. Ortin, “A comprehensive evaluation of commonPython implementations,”
IEEE Software , vol. 32, no. 4, pp. 76–84,July-Aug. 2015. [30] G. Miller, “The magical number seven, plus or minus two: Some limitson our capacity for processing information,”
Psychological Review
Experimentation in Software Engineering . SpringerScience and Business Media, 2012, vol. 1.[34] B. S´anchez, “Diario de un consejero de ciencia. semana 3,” https://aeac.science/consejeria3/, 2019, (Apr 29, 2020).[35] A. E. para el Avance de la Ciencia, “Zines como herramienta para ex-plicar conceptos cient´ıficos y tecnol´ogicos,” https://aeac.science/zines/,2020, (Apr 29, 2020).[36] J. Redondo, “El c´omic como medio de ense˜nanza de conceptos deprogramaci´on en C
CompartiMOSS: Revistaespecializada en tecnolog´ıas Microsoft , no. 44, 2020.[37] J. M. Redondo, “Improving student assessment of a server administrationcourse promoting flexibility and competitiveness,”
IEEE Transactions onEducation , vol. 62, no. 1, pp. 19–26, 2 2019.[38] J. M. Redondo and L. Varela, “Filesync and Era Literaria: Realistic opensource webs to develop web security skills,”
Journal of Web Engineering ,vol. 17, no. 5, pp. 1–22, 2018.[39] J. M. Redondo and D. Cuesta, “Towards improving productivity in nmapsecurity audits,”