Article
 

Using Intelligent Tutors to Teach Students How APIs are Used for Software Engineering in Practice

Public Deposited

Downloadable Content

Download PDF
https://ir.library.oregonstate.edu/concern/articles/3j3333729

Descriptions

Attribute NameValues
Creator
Abstract
  • Computer science courses typically incorporate integrated training in software engineering, which includes learning how to reuse existing code libraries in new programs. This commonly presents a need to use the libraries’ application programming interfaces (APIs) during project-based learning activities. The students learn these APIs with little support from the instructor. Instead, they primarily learn from whatever code examples they find on the web—a scattershot approach that is slow, frustrating and sometimes fruitless. Preliminary work investigated an improved approach that provides students with intelligent API tutors. This interactive educational content walks students through code examples selectively harvested from the web. This approach increased students’ knowledge of API method names, but a key pedagogical challenge remained: students still lacked an understanding of common problems and surprises that they might encounter when using APIs in practice. Perhaps even more crucially, the prior statistical study provided no information about how students would perceive and accept the intelligent tutor approach, when given a choice. Therefore, the current paper presents an enhanced approach that augments intelligent tutors with selected information from online FAQs and online open source code, thereby providing more explanation and context about how to use APIs in practice. A qualitative study assessed student perceptions of the system’s usability as well as suggestions for improvement, revealing that 100% of students considered the approach to be useful. A key implication is that providing information from online FAQs, related articles, and open source code could facilitate computer science students’ learning how to use APIs.
  • This is an author's peer-reviewed final manuscript, as accepted by the publisher. The published article is copyrighted by IEEE-Institute of Electrical and Electronics Engineers and can be found at: http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=13. ©2013 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other users, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works for resale or redistribution to servers or lists, or reuse of any copyrighted components of this work in other works.
  • Keywords: Application programming interface, Software libraries, Software engineering, Computer science education, Electronic learning
Resource Type
DOI
Date Available
Date Issued
Citation
  • Krishnamoorthy, V., Appasamy, B., & Scaffidi, C. (2013). Using intelligent tutors to teach students how APIs are used for software engineering in practice. IEEE Transactions on Education, 56(3), 355-363. doi:10.1109/TE.2013.2238543
Journal Title
Journal Volume
  • 56
Journal Issue/Number
  • 3
Rights Statement
Publisher
Peer Reviewed
Language
Replaces

Relationships

Parents:

This work has no parents.

Items