skip to main content
10.1145/3197091.3197105acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Instruction of introductory programming course using multiple contexts

Published:02 July 2018Publication History

ABSTRACT

This paper describes the experience of redesigning a traditional CS1 programming course, utilizing traditional coding practices as well as microcontroller units (MCU) based coding, to provide multiple programming environments. The objective of this redesign is to improve the programming skills for engineering students by 1) providing them with program development experience in multiple contexts and 2) relating the initial programming experience to the typical notion of engineering through significant hardware experience. Typical CS1 courses are designed with an instructor led lecture focusing on the introduction of specific computer skills and languages while programming assignments and laboratories help strengthen these skills in the students. For this remodeling, in addition to the typical programming exercises, supplementary MCU based lab exercises were used to provide an additional, different programming target for increased learning and highlighting the complementary relationship between hardware and software. The outcomes of this effort demonstrate that the addition of a MCU to an introductory programming course can work as an effective motivator, providing the students with a secondary context to reinforce programming skills developed during the course, and that providing multiple contexts (traditional desktop programming and hardware-based programming) together can aid in learning and the transfer of knowledge.

References

  1. Victor Adamchik and Ananda Gunawardena. 2005. Adaptive book: Teaching and learning environment for programming education. In Information Technology: Coding and Computing, 2005. ITCC 2005. International Conference on, Vol. 1. IEEE, 488–492. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. John E Bean and John P Dempsey. 2007. Collaboration between Engineering Departments at Clarkson University for a Freshman-Level Engineering Programming Course Including an Experimental Lab Experience. In CIEC 2007 Conference, 4p.Google ScholarGoogle Scholar
  3. Jens Bennedsen and Michael E Caspersen. 2007. Failure rates in introductory programming. AcM SIGcSE Bulletin 39, 2 (2007), 32–36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. David E Clough, Steven C Chapra, and Gary S Huvard. 2001. A change in approach to engineering computing for freshmen–similar directions at three dissimilar institutions. age 6 (2001), 1.Google ScholarGoogle Scholar
  5. Mauricio A Colombo, María Rosa Hernández, and Jorge E Gatica. 2000. Combining high-level programming languages and spreadsheets an alternative route for teaching process synthesis and design. age 5 (2000), 2.Google ScholarGoogle Scholar
  6. Thomas J Cortina. 2007. An introduction to computer science for non-majors using principles of computation. In ACM SIGCSE Bulletin, Vol. 39. ACM, 218–222. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Michael Davis. 1998. Thinking like an engineer: Studies in the ethics of a profession. (1998).Google ScholarGoogle Scholar
  8. Barry S Fagin, Laurence D Merkle, and Thomas W Eggers. 2001. Teaching computer science with robotics using Ada/Mindstorms 2.0. In ACM SIGAda Ada Letters, Vol. 21. ACM, 73–78. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Mark Goadrich. 2014. Incorporating tangible computing devices into CS1. Journal of Computing Sciences in Colleges 29, 5 (2014), 23–31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Louis S Nadelson and Janet Callahan. 2011. A comparison of two engineering outreach programs for adolescents. Journal of STEM Education: Innovations and Research 12, 1/2 (2011), 43.Google ScholarGoogle Scholar
  11. Carmen Fernández Panadero, Julio Villena Román, and Carlos Delgado Kloos. 2010. Impact of learning experiences using LEGO Mindstorms® in engineering courses. In Education Engineering (EDUCON), 2010 IEEE. IEEE, 503–512.Google ScholarGoogle ScholarCross RefCross Ref
  12. Julián Ramos, María A Trenas, Eladio Gutiérrez, and Sergio Romero. 2013. Eassessment of Matlab assignments in Moodle: Application to an introductory programming course for engineers. Computer Applications in Engineering Education 21, 4 (2013), 728–736.Google ScholarGoogle ScholarCross RefCross Ref
  13. Jerry Schumacher, Don Welch, and David Raymond. 2001. Teaching introductory programming, problem solving and information technology with robots at West Point. In Frontiers in Education Conference, 2001. 31st Annual, Vol. 2. IEEE, F1B–2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Hugh Smith. {n. d.}. Microcontroller Based Introduction to Computer Engineering. ({n. d.}).Google ScholarGoogle Scholar
  15. Lynda Thomas, Mark Ratcliffe, John Woodbury, and Emma Jarman. 2002. Learning styles and performance in the introductory programming sequence. In ACM SIGCSE Bulletin, Vol. 34. ACM, 33–37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Christopher Watson and Frederick WB Li. 2014. Failure rates in introductory programming revisited. In Proceedings of the 2014 conference on Innovation & technology in computer science education. ACM, 39–44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Dianna Xu, Douglas Blank, and Deepak Kumar. 2008. Games, robots, and robot games: complementary contexts for introductory computing education. In Proceedings of the 3rd international conference on Game development in computer science education. ACM, 66–70. Abstract 1 Introduction 2 Related Works 3 Course Description 3.1 Course Hardware 3.2 Laboratory Assignments 4 Evaluation 5 Lessons Learned 6 Conclusion Acknowledgments References Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Instruction of introductory programming course using multiple contexts

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          ITiCSE 2018: Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education
          July 2018
          394 pages
          ISBN:9781450357074
          DOI:10.1145/3197091

          Copyright © 2018 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 2 July 2018

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate552of1,613submissions,34%

          Upcoming Conference

          ITiCSE 2024
        • Article Metrics

          • Downloads (Last 12 months)2
          • Downloads (Last 6 weeks)1

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader