<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Introducing Software System Course to Engineering Undergraduate Students - An Experience Report</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Karre Sai Anirudh</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Abhinav Gupta</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>S Lalit Mohan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Y Raghu Reddy</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Software Engineering Research Center, International Institute of Information Technology</institution>
          ,
          <addr-line>Hyderabad</addr-line>
          ,
          <country country="IN">India</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Introducing the fundamentals of software systems to early undergraduates is a tedious journey for the instructors. It is crucial for students as it lays the foundation and establishes a perception of the upcoming computing courses. With rapid advancements in technology and considering the changes in workforce practices, it is required to upgrade the course curriculum to up-skill the students in contrast to prevailing times. This paper discusses our journey towards upgrading a decade-old introductory course on Software Systems for early undergraduate students. We present our approach towards updating the course curriculum and its delivery modes to ease learnability among early undergraduate students. We implemented mixed pedagogy methods over the years and captured student feedback to evaluate our approach.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Software Systems</kwd>
        <kwd>Early Undergraduate</kwd>
        <kwd>Computing Education</kwd>
        <kwd>Pedagogy</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Motivation</title>
      <p>
        Technology is changing at an ever-increasing pace, says
the leading research and advisory firm Gartner in its
report [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] on ‘Master Today’s Technology Trends.’ It also
presents empirical evidence on how once called
emerging technologies matured faster than ever before.
Considering these observations from industry, it is in the
capacity of academia to identify trends and upskill the When the fundamental concepts are unclear, it creates
future workforce. Reviewing this in an Indian context, a sense of despair for students entering the workforce.
NASSCOM - an Indian national consortium of IT giants We can control such challenges by skilling them with
inobserved that the IT workforce might become obsolete novative curricula and thoroughly comprehending their
unless the reskilling programs are promoted in academia. skillset. This paper discusses our journey towards
adThey claimed that the shelf-life of prevailing skills is di- dressing these challenges by upgrading our foundation
minished to 2-3 years in recent times [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Academia can curricula amongst students planning to the entire IT
upskill coming generations by upgrading the teaching workforce. We at IIIT Hyderabad managed to conduct
content in line with emerging technology and trends. an introductory two-level course on the foundations of
In contrast, it is practically not logical enough to teach software systems for freshman undergraduates for about
and upskill freshman undergraduates on every available two decades now. Since 2018, we have constantly been
emerging technology. To begin with, getting them con- transforming the curricula and evaluation system so that
ifdent in computing fundamentals will help them excel the aspirants remain confident about their foundations
further. Undergraduates who pursue engineering cur- on software systems. In the rest of the paper, we
proriculum face the following challenges once they graduate vide details about the progression of our introductory
and enter into workforce [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]: software system course over some time. We also discuss
the student’s outlook towards the upgraded course
structure and illustrate their experiences towards taking this
foundation course.
      </p>
      <p>• Unable to think inside-out in terms of
problemsolving as they never experienced competitive
programming
• Lack confidence on upskilling at later part of the</p>
      <p>career due to academic setbacks
• Switch careers into non-technical roles to escape
technology productivity
• Fear of programming due to lack of clarity in</p>
      <p>introductory concepts
• Fail to crack programming interviews as they are</p>
      <p>not exposed to such evaluation conditions</p>
      <sec id="sec-1-1">
        <title>Introduction to Software Systems (ISS) is a foundation</title>
        <p>course formulated in 2018 by merging and updating
traditional programming and software systems courses.
This course is ofered to first-year students at IIIT
Hyderabad to learn tools and processes to build simple
software systems.</p>
      </sec>
      <sec id="sec-1-2">
        <title>Background: Traditionally, this course was ofered as</title>
        <p>two 4-credit workshop courses called IT-Workshop1 and
IT-Workshop2. These two workshop courses spanned
across two semesters during the first year of the
undergraduate engineering program. These courses
cover conventional knowledge on assembling and
disassembling the computer hardware, installing operating
systems, technical aspects of
hardware-softwareifrmware integration, SHELL programming, and web
technology concepts focusing on HTML, CSS, and
Javascript. This course was designed in the early 2000s
to provide broader exposure to freshman undergraduate
students on hardware and web technology. These
courses are ofered for about two decades. Instructors
followed collaborative learning and hands-on-based
pedagogical methods. With time, the scope and scale
of the technology revolutionized the face of software
systems in practice. The curriculum and pedagogy
approach of traditional courses became outdated. Thus
there was a need to upgrade existing course curricula
to meet the expectation of current trends of software
systems in practice.</p>
        <p>Curricula Changes: Considering the trends of
technological innovation and software adoption in
the IT market, the ‘Introduction to Software Systems’
course is designed. This course aims to replace the
4-credit IT Workshop-I and IT Workshop-II with a
regular 2-credit course to provide foundations on
programming and technology. Our approach to the
course is ‘Practice-Theory-Practice’ to build software
systems while teaching concepts. The scope and extent
of the course concepts are discussed below:
• Software Engineering: Software engineering
concepts, flavors of programming languages,
concepts on object oriented programming,
networking (OSI layers, Network appliances, Wired and
Wireless communication) and cyber security
(OWASP Top 10, Static testing and penetration
testing).</p>
        <p>The contents of this introductory software systems
are finalized after a thorough review. These curriculum
contents are gauged based on their relevance and impact
on upcoming graduation courses. The foundation
concepts of an operating system and Linux commands
are practiced first as it becomes the basis for
programming. Gradually, we introduced web technologies as
it helps students to select desired elective courses on
the web and be ready for internship. Considering the
increased interest of AI and machine learning, python
programming concepts are introduced to students.</p>
        <p>
          Course Delivery: This course is covered for about
eleven weeks during an academic semester. There
are two one-and-half hours instructor-led classroom
sessions per week and three hours of lab sessions per
week led by teaching assistants. Each instructor-led
class has a live-programming hands-on session with
a small class activity. This class activity is conducted
to understand the learning levels and engagement of
students during the classroom session. There are various
graded activities like bi-weekly code assignments to
test and explore the concepts through self-learning,
Homework to investigate and knowledge discovery from
existing resources, Surprise quiz to test their learning
consistency. We also conducted mid-term and final
term papers, which tests students’ programming skills
through an automated test evaluation system.
• OS Concepts: Foundation concepts on operating
system, scheduling, memory management and Pedagogy: Pedagogy is a method or a practice of
Hardware-Software integration. teaching, especially as an academic subject or theoretical
• SHELL: SHELL command-line interface and intro- concept. As the curriculum contains varied concepts, we
duce basic Linux commands to interact with oper- adopted diferent pedagogical approaches to teaching
ating system. We also cover SHELL programming various concepts [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. Primarily, we followed the
‘Highconcepts with details on control flows, functions Tech Approach to Learning,’ i.e., we allowed laptops
and file handling. to practice and understand the lecture content with
• Web Technologies: Concepts on WWW, HTML, internet access in a classroom setup. We used a learning
CSS, Server-Client examples, JavaScript program- platform called ‘Moodle’ to share learning content, code
ming, and JS Libraries like bootstrap.js, aframe.js, snippets, do-it-yourself activities, practice questions,
and node.js. assessments, and evaluation, etc. Following are a few
• Database Systems: Concepts on data and database of the methods followed while covering specific course
systems. ANSI SQL Commands to perform CRUD concepts.
operations, joins and advanced SELECT state- • Direct Instruction - This followed approach to
inments. troduce theory concepts from operating systems,
• Python: Python programming with a focus on software engineering, database systems, and
netkeywords, Control Flow statements, Functions, working. We made every possible attempt to
imFile handling, SQL Alchemy, Flask, etc. prove the interaction between students by
probing questions while introducing a keyword or a questionnaire sets and released them randomly to
concept to concentrate on the instructor. students based on their odd/even/prime
number• Inquiry-Based Learning - Especially to teach pro- based roll-numbers. It is to avoid plagiarism and
gramming and code-flow, this will let students create a sense of vigilance.
build their knowledge by exploring and ques- • Self-learning assignments and code-based
assesstioning programming phenomena introduced by ments are released to students bi-weekly.
Stuthe instructor. Students are taught about a code dents spend some learning time solving these
concept, and the instructor asks them to make code-based assignments and submit them for
evalchanges or accomplish specific tasks from the uation.
beginning point. Students should do some prac- • All these assessments have a pre-defined
evaluatice, research, participate in the discussion, and tion rubric with a clear division of marks and
subshare their insights on suggested code snippets. mission instructions announced ahead of
deadWe followed this approach especially to teach lines. These assessments are individual
contribuSHELL, Web technology concepts like HTML, tions with clear expectations.
CSS, Javascript, and its related JS libraries along
with Python programming and SQL statements. Evaluations: Almost all online-based assessments have
• Personalized Learning - Lab Activities are con- automated grading. The score and results are shared with
ducted under a personalized learning setup. the students by the end of the assessment. Self-learning
Teaching assistance introduces a concept in the assignments are graded through one-on-one sessions
belab for students who are divided into groups. Stu- tween students and their respective teaching assistance.
dents are assigned a small lab activity which is Feedback on coding style, code review, test-case
evaluexpected to be completed by the end of the lab ation, and feedback with the scope of improvement are
session. Since the assessment is tailored to the discussed during these sessions. Not all classroom-based
individual, students advance at their own pace assessments are graded. Most of these assessments are
during the lab session and spend extra time as awarded in the classroom setup or evaluated on the same
needed. During this journey, teaching assistants day. The scores of these assessments are aggregated to
help them address queries regarding the concepts total scores are awarded as final grades to students.
dictated during the particular session.
        </p>
      </sec>
      <sec id="sec-1-3">
        <title>Assessments: We conducted assessments in three</title>
        <p>modes - classroom-based assessments, online-code
assessments, and Self-learning assignments.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>3. Student Feedback</title>
      <p>
        This section discusses our attempts to track and record
student feedback about the upgraded course content.
1https://www.codechef.com/
2https://www.hackerearth.com/
• All classroom-based assessments are debugging
assignments where we provide defective code Survey Setup: We intended to investigate how
snippets, and we ask students to suggest correc- freshman computer science students feel when exposed
tions to address the defects through visual inspec- to software systems and develop software through this
tion. These assessments include SHELL, HTML, survey. We are interested in their feedback regardless of
CSS, Javascript, SQL, and Python program snip- their skillset and expertise. We captured data through a
pets. Some other classroom-based assessments survey called - ‘Questionnaire for Freshman Under-Grad
include multiple-choice questionnaires with au- Students’ Experience towards Programming.’ [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] As part
tomated grading. of the survey, we captured the following information
• All coding exams are conducted through the on- from the participants.
      </p>
      <p>line code assessment platforms like CodeChef1
and HackerEarth2. We publish the list of
questions on this platform and provide certain test
cases to address the motive of the provided code
question. These assessments are tailored to the
individual students as the test cases for evaluation
are personalized. In some cases, the
questionnaire is generic with specific personalized
inputoutput test cases for evaluation to avoid copy
cases. In some cases, we created multiple diferent
• First section of the survey requests participant
to self-declare their current skillset and levels of
participation in programming before taking up
this course.
• In the second section, we asked participants about
the dificulty, complexity, understandability, and
intellectual efort they spent solving the tasks
assigned to them during this course. The captured
responses are based on a Likert scale ranging from
‘Strongly Agree’ to ‘Strongly Disagree’
• In the next section, we used the Scale of Positive</p>
      <p>
        and Negative Experience (SPANE) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], a survey
instrument, to assess subjective feelings of well- no prior understanding about Software Systems, Novice
being and ill-being of the participants who under- users - with basic knowledge about Software Systems
gone specific learning experiences. We repeated and Expert users- sound knowledge about Software
this scale to capture the participants’ experience Systems. We observed that most users are either a
while learning SHELL, HTML, CSS, JavaScript, novice or primary users with no prior understanding
Python, and SQL. The captured responses are of Software Systems. Few students were found to have
based on a Likert scale ranging the experiences solid software systems experience due to self-learning or
from ‘Very Rare’ to ‘Very Often’ previous training on computing theory before joining
• In the end, we captured efort and Confidence the undergraduate program. They are termed expert
queries to understand their efort or time spent users. It is required to capture such data points to
on the overall course along with confidence level understand our target audience.
on programming post completion of the course After completing the course, we asked students about
their involvement with the software systems course.
      </p>
      <p>Fig 2 illustrates the % time spent by the users during
the participation in this course. We observed that most
students spent more than 50% of the time during their
participation in this course. However, certain students
tend to spend only 5% and 10% of the time. On average,
we observed that students are proactive and are focused
on participating in the course. We also asked students
Participant Demography: We reached out to students
who opted for this course to seek their feedback and
challenges. We obtained feedback post-completion of
the course through a survey questionnaire. We recorded Figure 2: Count of students spending % time on coursework
this data for four semesters, i.e., Spring Semester 2018,
Spring Semester 2019, Spring Semester 2020, and Spring
Semester 2021. During Spring Semester 2018 - 221 about their experiences while performing tasks assigned
students took this course, and 179 participated in the during this course with the Likert scale for agreement
survey. In the Spring semester of 2019, 202 students took ranging from Strongly Agree to Strongly Disagree. Fig 3
this course, and 198 students participated in the study. illustrates the student responses aggregated across years,
In spring semester 2020, 222 students have taken this i.e., between 2018-2021. Following are the questions and
course, and 188 students participated in the survey. In details about the student observations.
the spring semester of 2021, 211 students took this course,
and 159 students participated in the survey. Overall, we Q1: The tasks were dificult to answer - 39% of
reached out to 856 students in four semesters, and 724 of the participants were neutral about the dificulty of
them provided their feedback. Out of all respondents, answering the tasks. On the other hand, 33% of the
36% of them are female, and the rest are male participants. participants found it was not easy to answer.</p>
      <sec id="sec-2-1">
        <title>Survey Results: We captured data for about four</title>
        <p>years and illustrated it in this section. We asked students
to self-declare their programming skillset before starting
this software system course as part of the survey. Fig
1 illustrates the count of participants and their skillset
before joining this course grouped as Basic users - with</p>
      </sec>
      <sec id="sec-2-2">
        <title>Q2: The contents of the tasks were complicated</title>
        <p>46% of the participants were neutral about task
complexity. However, 25% of them found the tasks to be
complicated.</p>
        <p>Q3:</p>
      </sec>
      <sec id="sec-2-3">
        <title>The tasks were challenging - 56% of them</title>
        <p>found the tasks to be challenging. However, the rest participants are not confident about working on SQL.
of them are neutral and disagree about the tasks being After interviewing the participants, we observed that
challenging. students are not satisfied with working with python and
Q4: The tasks were easy to work on - 49% of the SQL despite thorough lab activities for practice. Also,
participants disagree about the tasks being easy. in terms of python and SQL - our goal was to provide
a preliminary understanding of these programming
Q5: The contents of the tasks were easy to un- concepts. Students will eventually learn SQL in detail
derstand - 35% of the participants agree that the tasks as part of their future semester full-course on database
were easy to understand and comprehend. systems and python programming as part of their future
semester full-course on machine learning. This course
Q6: The tasks were easy to solve - 46% of them will create a learning rigor on making the acquaintance
disagree that the tasks are easy to solve. about these programming languages and eventually help
them excel in their future studies and career.</p>
      </sec>
      <sec id="sec-2-4">
        <title>Q7: I have put little efort into answering the</title>
        <p>tasks - 34% of the participants disagree that they spend
less amount of time answering the tasks.</p>
      </sec>
      <sec id="sec-2-5">
        <title>Q8: I have not tried hard to answer the tasks cor</title>
        <p>rectly - 49% of the participants have claimed that they
have not tried hard to answer the tasks correctly. They
have spent a significant amount of time while solving
the tasks.</p>
      </sec>
      <sec id="sec-2-6">
        <title>Q9: I have tried hard to answer the tasks correctly - 58%</title>
        <p>of the participants have claimed that they tried hard to
answer the tasks correctly.</p>
      </sec>
      <sec id="sec-2-7">
        <title>Q10: I have made an intellectual efort when an</title>
        <p>swering tasks - 45% of participants strongly agree, and
38% of them claimed that they made an intellectual efort
while answering tasks. They were serious about tasks
and solved them with a thorough review.</p>
      </sec>
      <sec id="sec-2-8">
        <title>Q11: I have not mainly focused on answering the</title>
        <p>tasks - 40% of them strongly disagree, and 39% of them
disagree that they have not responded to tasks with focus.</p>
      </sec>
      <sec id="sec-2-9">
        <title>Q12: I have given my best to solve the tasks</title>
        <p>42% of strongly agree, and 45% of them agree that they
did their best to solve the tasks.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>4. Observations</title>
      <sec id="sec-3-1">
        <title>This section shares our observations and a few areas of improvement identified while conducting this course for nearly four years now.</title>
        <p>Curriculum Design: Designing the course
contents was challenging for instructors as the concepts
involved in this course are elaborate. It was tedious
for instructors to plan concluding one concept and
switching to another. It required a lot of preparation
and more examples to position a concept and introduce
another. As it was a 2-credit course, we tried to make
the concept short and simple for students to consume.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Student’s Grades: 70% of the students have scored more</title>
        <p>than 80% of the score during our first-course delivery.</p>
        <p>With improvements in our pedagogy approaches, we
observed that 78% of students had achieved more than
80% in our second-course delivery. During our third
edition of this course, 88% of the students have scored
more than 80% of the score. We observed that the
students could consume good content if delivered with a
better pedagogy organization.</p>
        <p>Students’ Observations: We received positive
Fig 3 illustrates the data captured across years. feedback from students on course content and execution.
We observe participant responses group by Likert scale We learned that students faced practical challenges while
on the y-axis and question identifier on the x-axis. participating in surprise tests and In-class activities due
The circle in the gfiure indicates the response rate of to technical issues. However, we could address them in a
the participant’s responses with percentages labeled case-by-case manner. While practicing for final exams,
in the center. We also asked participants about their the majority of students have approached us for practice
confidence levels while learning respective technologies programming exercises. We have provided them with
post-completion of this course. Fig 4 illustrates the many practice programming problems ranging from
confidence levels of working on technologies like easy to dificult to test their programming ability and
SHELL, HTML, CSS, Javascript, SQL, and Python. If we prepared them for their final programming exam. We
carefully observe Fig 4, most participants are confident also observed that a few slow learners could not catch
and moderate about using a particular technology. up with the pace of class lectures and lab activities. We
However, 47% of participants across the years are not scheduled special TA hours for personalized training
confident about working with python, and 39% of the and helped come out of fear of programming.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Areas of Improvement: Planning the course schedule</title>
        <p>and relevant assessments together is very crucial.
As there are multiple concepts to be covered during
the course, it is required to sequence the classes in a
particular way to avoid complexities and confusion
among students. There is a possibility of pressure on
students to learn all these concepts in a short time.
However, course instructors and teaching assistants
should address students’ doubts on concepts in all
available platforms. Scheduling TA hours with students
is recommended to review and understand their learning
levels and bring them up to speed.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>5. Related Work</title>
      <sec id="sec-4-1">
        <title>Assessments: Planning assessments and evalua</title>
        <p>
          tion was a dificult task for course instructors as we
had to weigh students’ learning patterns and plan them
carefully. We could not opt for too challenging or too
Pedagogy Methods: We initially practiced a few Researchers have conducted various studies and
pubpedagogy methods that were too challenging to execute. lished various experience reports on introducing new
As the enrollment was too high, planning one-one courses to freshman undergraduate students. An early
learning sessions or evaluation sessions were dificult study on course upgradation by Albert Crawford shows
to manage. Initially, we failed to meet the expectations that computing education should be reviewed and
conof students in the one-one evaluation sessions. Then stantly updated based on current trends [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. In the early
we strategized our teaching by creating groups of 1990s, Charles et al. [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] have pioneered understanding
students with diferent learning levels and later used freshman’s perspective on computing education and their
it as a platform to address doubts and queries on concepts. working style. This work led various other researchers
to conduct curricula upgrading in diferent computing
streams. Later Curtis Cook [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] developed a model course
to introduce basic computing concepts or system
engineering concepts to freshman undergraduate students.
        </p>
        <p>
          This model course contains general concepts of those
times required for novice engineers to scale up for
future studies. Celina et al. [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] conducted empirical
studies on understanding freshman’s perceptions in
Electrical/Electronic Engineering courses from four higher
education institutions. Pak Kwan proposed a
methodology to introduce varients of teaching methods on
teaching machine learning courses to freshman
undergraduate students [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Tom Goulding closely studied the
eforts required to introduce complex systems
development projects into the college curriculum [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. Susan et al.
[
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] shared their experience report on upgrading age-old
computing curriculum to include emerging technologies
into freshman undergraduate engineering courseware.
        </p>
        <p>
          Brown et al. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] shared their challenges and experience
on upgrading and introducing new 3D modeling concepts
on bio-medical education to computing graduates.
Considering these experience reports, upgrading an existing
course or revamping it into a new model curriculum is
challenging. It requires acceptance and support from
students and fellow instructors who are involved in this
up-gradation process. However, most of these
experience reports are unclear about the pedagogy methods
they followed. Also, some experience reports did not care
about participants’ feedback or areas of improvement. As
part of our experience, we categorically discuss students’
inputs and scope of improving the course into diferent
variants to be ofered to any freshman undergraduate
engineering class across India or globally.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>6. Conclusion</title>
      <p>This paper shares our experiences on formulating a
twodecade-old introductory course on software systems for
freshman engineering students with upgraded course
curricula. We followed diferent pedagogical approaches
to teach various concepts to students. We also conducted
a multi-level assessment process to assess student
performance during the tenure of this course. We captured a
student feedback survey to understand students’ learning
experiences. The feedback showed that the learning
experience was unique and diferent. It helped them
understand various concepts quickly. With a typical semester
duration of four months, we encourage instructors across
India to adopt this course curriculum to educate their
freshman undergraduate students about an introductory
course on software systems. It will eventually aid them
in understanding more complex subjects without hassle.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>B.</given-names>
            <surname>Burke</surname>
          </string-name>
          ,
          <source>Top strategic technology trends for</source>
          <year>2021</year>
          (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>P. T.</surname>
          </string-name>
          of India,
          <article-title>Shelf-life of skills now only 2-3 years, says nasscom chairman (</article-title>
          <year>2020</year>
          ).
          <article-title>URL: shorturl</article-title>
          .at/ qFKN6.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bogdan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Biklen</surname>
          </string-name>
          ,
          <article-title>Qualitative research for education, Allyn</article-title>
          &amp; Bacon Boston, MA,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Karre</surname>
          </string-name>
          ,
          <article-title>Questionnaire for early under-grad students' experience towards programming (</article-title>
          <year>2018</year>
          ). URL: https://forms.ofice.com/r/FbRy8kX4Rn.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>W. D. T. W. K.-P. C. C. D. O. S. . B</surname>
          </string-name>
          .
          <string-name>
            <surname>-D. R. Diener</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <article-title>New measures of well-being: Flourishing and positive and negative feelings</article-title>
          ,
          <source>Social Indicators Research</source>
          <volume>39</volume>
          (
          <year>2009</year>
          )
          <fpage>247</fpage>
          -
          <lpage>266</lpage>
          . doi:doi.org/10.1007/
          <fpage>978</fpage>
          -90-481-2354-4_
          <fpage>12</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A. L.</given-names>
            <surname>Crawford</surname>
          </string-name>
          ,
          <article-title>Functional programming for freshman computer science majors</article-title>
          ,
          <source>SIGCSE Bull</source>
          .
          <volume>19</volume>
          (
          <year>1987</year>
          )
          <fpage>165</fpage>
          -
          <lpage>169</lpage>
          . doi:
          <volume>10</volume>
          .1145/31726.31753.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>C. H.</given-names>
            <surname>Mawhinney</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. R.</given-names>
            <surname>Callaghan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. G.</given-names>
            <surname>Cale</surname>
          </string-name>
          ,
          <article-title>Modifying freshman perception of the cis graduate's workstyle</article-title>
          ,
          <source>SIGCSE Bull</source>
          .
          <volume>21</volume>
          (
          <year>1989</year>
          )
          <fpage>78</fpage>
          -
          <lpage>82</lpage>
          . doi:
          <volume>10</volume>
          .1145/65294.65303.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>C. R.</given-names>
            <surname>Cook</surname>
          </string-name>
          ,
          <article-title>A computer science freshman orientation course</article-title>
          ,
          <source>SIGCSE Bull</source>
          .
          <volume>28</volume>
          (
          <year>1996</year>
          )
          <fpage>49</fpage>
          -
          <lpage>55</lpage>
          . doi:
          <volume>10</volume>
          .1145/228296.228305.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>C. P.</given-names>
            <surname>Leão</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Soares</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Guedes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. T. S.</given-names>
            <surname>Esteves</surname>
          </string-name>
          , G. Alves,
          <string-name>
            <surname>I. M. B. Pereira</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Hausmann</surname>
            ,
            <given-names>C. A.</given-names>
          </string-name>
          <string-name>
            <surname>Petry</surname>
          </string-name>
          ,
          <article-title>Freshman's perceptions in electrical/electronic engineering courses: Early findings</article-title>
          ,
          <source>in: Proceedings of the 3rd International Conference on Technological Ecosystems for Enhancing Multiculturality</source>
          , TEEM '15,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2015</year>
          , p.
          <fpage>361</fpage>
          -
          <lpage>367</lpage>
          . doi:
          <volume>10</volume>
          .1145/2808580.2808634.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>P.</given-names>
            <surname>Kwan</surname>
          </string-name>
          ,
          <article-title>A college freshman's guide to machine learning: Short and sweet way to introduce machine learning to college freshman</article-title>
          ,
          <source>J. Comput. Sci. Coll</source>
          .
          <volume>30</volume>
          (
          <year>2014</year>
          )
          <fpage>36</fpage>
          -
          <lpage>37</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>T.</given-names>
            <surname>Goulding</surname>
          </string-name>
          ,
          <article-title>A first semester freshman project: The enigma encryption system in c</article-title>
          ,
          <source>ACM Inroads 4</source>
          (
          <year>2013</year>
          )
          <fpage>43</fpage>
          -
          <lpage>46</lpage>
          . doi:
          <volume>10</volume>
          .1145/2432596.2432613.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S. L.</given-names>
            <surname>Miertschin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. L.</given-names>
            <surname>Willis</surname>
          </string-name>
          ,
          <article-title>A freshman course in emerging information technologies</article-title>
          ,
          <source>in: Proceedings of the 4th Conference on Information Technology Curriculum</source>
          ,
          <volume>CITC4</volume>
          '
          <fpage>03</fpage>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2003</year>
          , p.
          <fpage>115</fpage>
          -
          <lpage>118</lpage>
          . doi:
          <volume>10</volume>
          .1145/947121.947146.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>A. M. Brown</surname>
            ,
            <given-names>D. R.</given-names>
          </string-name>
          <string-name>
            <surname>Bevan</surname>
          </string-name>
          ,
          <article-title>Introducing protein 3-d visualization software to freshman undergraduate students: Making connections and building skills</article-title>
          ,
          <source>in: Proceedings of the Practice and Experience in Advanced Research Computing 2017 on Sustainability, Success and Impact</source>
          , PEARC17, Association for Computing Machinery, New York, NY, USA,
          <year>2017</year>
          . doi:
          <volume>10</volume>
          .1145/3093338.3093347.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>