Evolution of an introductory computer science course: the long haul (original) (raw)
Related papers
Introductory programming course: review and future implications
PeerJ Computer Science, 2021
The introductory programming course (IPC) holds a special significance in computing disciplines as this course serves as a prerequisite for studying the higher level courses. Students generally face difficulties during their initial stages of learning how to program. Continuous efforts are being made to examine this course for identifying potential improvements. This article presents the review of the state-of-the-art research exploring various components of IPC by examining sixty-six articles published between 2014 and 2020 in well-reputed research venues. The results reveal that several useful methods have been proposed to support teaching and learning in IPC. Moreover, the research in IPC presented useful ways to conduct assessments, and also demonstrated different techniques to examine improvements in the IPC contents. In addition, a variety of tools are evaluated to support the related course processes. Apart from the aforementioned facets, this research explores other interest...
30th Annual Frontiers in Education Conference. Building on A Century of Progress in Engineering Education. Conference Proceedings (IEEE Cat. No.00CH37135), 2000
This paper is the next installment on an ongoing project to provide an easily accessible information resource for departments offering undergraduate computer science (CS) degree programs. This resource is designed to provide structured, up-to-date information in terms of demographics and statistics related to curricula, faculty, and students in such departments.
2011 Frontiers in Education Conference (FIE), 2011
Incoming students in post-secondary education often perceive Computer Science (CS) under a series of stereotypes. While it is certainly difficult to define CS, it seems still possible to grasp its scope through comprehensive points of view, addressing for example its foundations, technologies, and uses. This paper proposes a retrospective analysis of a 21-hour course trial realized in a French engineering school for six consecutive years; its aim was to help recent K12 graded students to have a more objective vision of CS. We start by discussing freshmen's CS dominant conceptions, and the role they think it plays for their future career. We then give some statistical elements concerning student perception of such a course; in particular, we analyze the obtained feedbacks and the limits of intended learning outcomes. In the light of this analysis, it is possible to state that, although initially reluctant to CS due to misconceptions, some students can develop interest and expectancy for this discipline as applied to engineering. A clarified vision of CS seems moreover to contribute to better adjusting choices of minors and majors and facilitate reasoned career plans. We finally conclude on some possible future issues in this subject for our society.
A Mid-Career Review of Teaching Computer Science I
2013
ABSTRACT A mid-career review is presented, of how the teaching of Computer Science I has changed for this instructor over the last two decades. The content of the course has evolved to include algorithm development and program design. Assessment in the course has gone online and moved away from testing how clever the student is, to how much the student has learned in the course. Professional practices are now covered that help students understand and incorporate preferred practices of the discipline.
From theory to practice: implementing the CC2001's introductory programming sequence
33rd Annual Frontiers in Education, 2003. FIE 2003.
Xavier University of LA's Computer Sciences and Computer Engineering (CSCE) Department recently assessed its computer science program using both its own assessment data and the Computing Curricula 2001 (CC2001) recommendations. This assessment resulted in changes to Xavier's computer science curriculum. Specifically, the department e xamined its introductory programming sequence and developed a detailed schedule that addressed both the department's needs and the curriculum recommendations. The previous ACM recommended curriculum suggested a two-course introductory programming sequence; however, since a large number of Xavier's incoming students have no programming experience, the CSCE Department had been offering a threecourse introductory programming sequence. This threecourse sequence provided time for the faculty to discuss the recommended topics in the detail necessary for our students. The CC2001 recommendations realized that a three-course sequence is more appropriate for the topic coverage needed and provided a curriculum that contained this type of introduction. The Xavier CSCE faculty considered these recommendations and used its experience in working with a three-course introductory sequence to develop a new sequence that includes the topics suggested in the new curriculum recommendations while considering many of the realities of teaching such a sequence to undergraduates with no programming experience. This paper discusses the process used by the department in making the curriculum changes, particularly focusing on the introductory programming sequence. The paper provides the rationale used in developing the course sequence and the specific topics addressed in these courses.
ACM SIGCSE …, 2001
In computer science, an expected outcome of a student's education is programming skill. This working group investigated the programming competency students have as they complete their first one or two courses in computer science. In order to explore options for assessing students, the working group developed a trial assessment of whether students can program. The underlying goal of this work was to initiate dialog in the Computer Science community on how to develop these types of assessments. Several universities participated in our trial assessment and the disappointing results suggest that many students do not know how to program at the conclusion of their introductory courses. For a combined sample of 216 students from four universities, the average score was 22.89 out of 110 points on the general evaluation criteria developed for this study. From this trial assessment we developed a framework of expectations for first-year courses and suggestions for further work to develop more comprehensive assessments.
Designing and deploying programming courses: Strategies, tools, difficulties and pedagogy
Education and Information Technologies, 2014
Designing and deploying programming courses is undoubtedly a challenging task. In this paper, an attempt to analyze important aspects of a sequence of two courses on imperative-procedural and object-oriented programming in a non-CS majors Department is made. This analysis is based on a questionnaire filled in by fifty students in a voluntary basis. The issues of the programming courses that are investigated refer to: the strategy selected for the introduction to programming; the sequence of the programming techniques and languages taught and the transition from the one to the other; students' difficulties with programming in general and with imperative-procedural and object-oriented programming in specific; the teaching and learning design of both courses; and the material that students rely on for learning programming. Based on the analysis of students' replies on the questionnaire, related work and the instructor's experience on teaching the courses, conclusions are drawn regarding all the aforementioned aspects of designing and deploying programming courses. The main contribution of the paper is the fact that all the important and interrelated aspects of a sequence of two programming courses are investigated in conjunction, providing realistic implications and guidelines for improving the quality and effectiveness of existing programming courses and designing and deploying new courses. The main results refer to the usage of a pseudo-language for an introduction to programming, the transition from procedural to object-oriented programming, the intrinsic difficulties of learning programming, and practices for a more successful teaching and learning design of programming courses. Keywords: Programming course design; teaching and learning programming; procedural programming; object-oriented programming; pedagogy 2004). The imperative-first and functional-first strategies were heavily used for decades, while the objects-first strategy attracted teachers' attention the last decade. For a long period of time extended research was carried out regarding the best choice of strategy for an introduction to programming with main opponents the imperative-first and objects-first strategy. Although, the results of the relevant studies are contradictory the majority of researchers seem to agree that students face more difficulties during their transition from imperative-procedural programming to object-oriented programming and not vice versa ). Some of the difficulties faced by students -with prior experience on an imperative-procedural language -during their introduction to OOP are the following: although the OO problem solving technique is considered more natural, it demands a new way of thinking that cannot be easily acquired by students with experience on problem solving with a procedural language (Tempte, 1991); students find it difficult to use correctly OOP concepts and tend to treat methods as procedures, ignoring their role in OOP (Handjerrouit, 1998; Handjerrouit, 1999). On the other hand, other researchers state that object-oriented languages demand knowledge of basic programming structures and characteristics and capabilities prior to using an OOP language . It is obvious that deciding what strategy to rely on for the introduction to programming is not an easy and straightforward decision. Moreover, in the case of a series of programming courses decisions have to be made regarding the overall strategies, or else what programming techniques will be taught and with what sequence. The next step is selecting a programming language that supports the selected strategy and meets the goals of the course and the program of studies. The available programming languages are numerous and selecting the one that will be used is a multicriteria decision. Researchers have proposed lists of criteria , key features and suggestions (Kaplan, 2010) for supporting teachers in selecting the first programming language. One of the most extensive list of criteria has been proposed by and includes the following criteria: software cost; programming language acceptance in academia; programming language industry penetration; software characteristics; student-friendly features; language pedagogical features; language intent; language design; language paradigm; language support and required training; and student experience. go a step beyond these usual considerations proposed as selection criteria Xinogalos, S. (2014). Designing and deploying programming courses: Strategies, tools, difficulties and pedagogy.
An upper level computer science curriculum
ACM SIGCSE Bulletin, 1983
In response to national curricular trends, the computer science curriculum at the University of North Florida has undergone three iterations since its inception in 1972. Experiences with the development of the North Florida curriculum coupled with recent exposure to the current thinking of the IEEE-CS Curriculum Committee motivate this paper. The curriculum as outlined in this paper owes its origins to the earlier ACM and IEEE-CS model curricula.
An ITiCSE 2004 Working Group: A Study of the Programming Knowledge of First-Year CS Students
www-staff.it.uts.edu.au
Despite our best efforts, many students are still challenged by programming. A 2001 ITiCSE working group (the “McCracken group”) assessed the programming ability of a large population of students from eight universities, in the United States and four other countries [McCracken, 2001]. Each author tested his or her own students from a common set of programming problems. The students at each institution were required to write a program to solve one of the problems. Most students at all the institutions performed much more ...