skip to main content
10.1145/1593105.1593172acmotherconferencesArticle/Chapter ViewAbstractPublication Pagesacm-seConference Proceedingsconference-collections
research-article

Some methods for teaching functions first using Java

Published: 28 March 2008 Publication History

Abstract

Many CS1 curricula introduce Java topics without giving a strong rationale of why they are needed at that exact point. For example, most all Java texts introduce the keywords public and private long before the students write or see any program involving more than a single class; those keywords can have no demonstrable effect on their program. Such an approach subtly but firmly sends the message "programming is not about problem-solving, but rather about putting certain keywords in the right place."
We present a nonstandard arrangement of CS1 topics, guided by the following strategies: (a) simplify the mental model initially needed to understand Java syntax, (b) leverage parallels between programming and high school algebra and (c) demonstrate any new language construct via a program which could not be (easily) written without it. The resulting ordering helps students appreciate why they are learning language constructs, which in turn helps them distinguish syntax from programming principles.

References

[1]
I. Barland. ITEC120 (CS1) Course Material. www.radford.edu/itec120.
[2]
B. W. Becker. Pedagogies for Teaching CS1 with Java. In SIGCSE, Charlotte, NC, 2001. ACM, 2001. Latest version at http://www.cs.uwaterloo.ca/-~bwbecker/papers/javaTextbooks/.
[3]
P. Byckling and J. Sajaniemi. Using roles of variables in teaching: Effects on program construction. In Proceedings of the 17th Annual Workshop of the Psychology of Programming Interest Group, pages 278--292, 2005.
[4]
R. C. E. Allen and B. Stoler. DrJava: A lightweight pedagogic environment for Java. In SIGCSE Technical Symposium on Computer Science Education, Sep. 2001, 2001. http://www.drjava.org.
[5]
M. Felleisen. TeachScheme/ReachJava. www.teach-scheme.org.
[6]
K. E. Gray and M. Flatt. ProfessorJ. www.cs.utah.edu/~kathyg/profj.
[7]
K. E. Gray and M. Flatt. ProfessorJ: A gradual intro to Java through langauge levels. In OOPSLA Educator's Symposium October 27, 2003 Anaheim, CA, 2003.
[8]
M. Hristova, A. Misra, M. Rutter, and R. Mercuri. Identifying and correcting Java programming errors for introductory computer science students. In SIGCSE Technical Symposium on Computer Science Education, Feb. 2003, 2003.
[9]
M. Kolling and J. Rosenberg. BlueJ IDE. www.bluej.org.
[10]
Northeastern University. DrScheme IDE. www.drscheme.org.
[11]
N. Parlante. www.javabat.com.
[12]
Rice University. DrJava IDE. www.drjava.org.

Cited By

View all
  • (2020)Using JShell in CS1Journal of Computing Sciences in Colleges10.5555/3417608.341761735:6(84-91)Online publication date: 12-Aug-2020
  • (2018)Introductory programming: a systematic literature reviewProceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education10.1145/3293881.3295779(55-106)Online publication date: 2-Jul-2018

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ACMSE '08: Proceedings of the 46th annual ACM Southeast Conference
March 2008
548 pages
ISBN:9781605581057
DOI:10.1145/1593105
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: 28 March 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CS1
  2. Java
  3. functions first
  4. fundamentals first
  5. high school algebra
  6. objects early
  7. objects late
  8. syllabus

Qualifiers

  • Research-article

Conference

ACM SE08
ACM SE08: ACM Southeast Regional Conference
March 28 - 29, 2008
Alabama, Auburn

Acceptance Rates

Overall Acceptance Rate 502 of 1,023 submissions, 49%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2020)Using JShell in CS1Journal of Computing Sciences in Colleges10.5555/3417608.341761735:6(84-91)Online publication date: 12-Aug-2020
  • (2018)Introductory programming: a systematic literature reviewProceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education10.1145/3293881.3295779(55-106)Online publication date: 2-Jul-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media