Related papers: A Case-Study on Teaching Undergraduate-Level Softw…
This article describes the authors' teaching experience in flipping the class of a basic undergraduate mathematics course Introductory Linear Algebra. We utilize a full-featured free electronic textbook, online lecture notes, an intranet…
Student experiences in large undergraduate Computer Science courses are increasingly impacted by automated systems. Bots, or agents of software automation, are useful for efficiently grading and generating feedback. Current efforts at…
Software testing is an essential knowledge area required by industry for software engineers. However, software engineering students often consider testing less appealing than designing or coding. Consequently, it is difficult to engage…
Software Engineering concepts such as version control, continuous integration, and unit testing are often not presented in college computer science curriculums until the third year of study, after completing several semesters of programming…
This paper presents a game based on storytelling, in which the players are faced with ethical dilemmas related to software engineering specific issues. The players' choices have consequences on how the story unfolds and could lead to…
This paper describes the motivation and design of a 10-week graduate course that teaches practices for developing research software; although offered by an engineering program, the content applies broadly to any field of scientific research…
In the dynamic field of Software Engineering (SE), where practice is constantly evolving and adapting to new technologies, conducting research is a daunting quest. This poses a challenge for researchers: how to stay relevant and effective…
Scrum is one of the most used frameworks for agile software development because of its potential improvements in productivity, quality, and client satisfaction. Academia has also focussed on teaching Scrum practices to prepare students to…
The Myers-Briggs Type Indicator (MBTI) has proved to be a useful instrument for understanding student learning preferences and has enable comparisons of the learning preferences for various personality types. Regarding learning styles,…
The teaching-learning process may require specific pedagogical approaches to establish a relationship with industry practices. Recently, some studies investigated the educators' perspectives and the undergraduate courses curriculum to…
Teaching the software engineers of the future to write high-quality code with good style and structure is important. This systematic literature review identifies existing instructional approaches, their objectives, and the strategies used…
Case study-based learning has been successfully integrated into various courses, including software engineering education. In the context of software design courses, the use of case studies often entails sharing of real successful or failed…
[Background] Well-formulated Software Engineering (SE) research problems are essential for bridging the gap between industry-academia. Lean Research Inception (LRI) aims to support this activity. [Goal] Apply LRI to support SE students in…
Introductory artificial intelligence (AI) courses present significant learning challenges due to abstract concepts, mathematical complexity, and students' diverse technical backgrounds. While active and collaborative pedagogies are often…
Context: Empirical studies in software engineering are typically centered on human subjects, ranging from novice to experienced developers. The experience of these individuals is a key context factor that should be properly characterized…
The scope of this paper was to find out how the students in Computer Science perceive different teaching styles and how the teaching style impacts the learning desire and interest in the course. To find out, we designed and implemented an…
If students have a broad spectrum of study skills, learning will likely be positively affected, since they can adapt the way they learn in different situations. Such study skills can be learned in for example learning-to-learn courses.…
In the last 15 years, software architecture has emerged as an important software engineering field for managing the development and maintenance of large, software- intensive systems. Software architecture community has developed numerous…
Grading in embedded systems courses typically requires a face-to-face appointment between the student and the instructor because of experimental setups that are only available in laboratory facilities. Such a manual grading process is an…
Requirement Engineering (RE) is a Software Engineering (SE) process of defining, documenting, and maintaining the requirements from a problem. It is one of the most complex processes of SE because it addresses the relation between customer…