Spelling suggestions: "subject:"erogramming course"" "subject:"cprogramming course""
1 |
The Role of Teaching Assistants in Introductory Programming CoursesSaktheeswaran, Ayshwarya 03 August 2016 (has links)
The department of computer science, across many schools in the US, have been seeing a constant increase in enrollments over the last decade. This particularly impacts class sizes of introductory courses, as they are usually listed as required prerequisites courses. The students in these courses typically have very little or zero prior experience with programming. In such course settings, it is not an exaggeration to state that most students in these courses spend more one-on-one time with the course teaching assistants than they do with their course instructors. This implies that the kind of individual attention provided by the TAs of such courses to their students has a very high impact on the students’ learning and the quality of the TAs would greatly impact the quality of the course and directly or indirectly also impact the student retention rate and their interest in computer science for their academic/industry careers.
We wanted to take a closer look at what it is that these TAs do, and how they do it. We observed TAs from two introductory courses for almost about two semesters, and conducted a focus group meeting each with TAs and students enrolled in these course. We found that the TAs felt responsible for instilling an interest in computer science in the students, apart from helping them to learn by themselves. We also found that the students see teaching assistants as a very valuable resource, when it comes to actually applying the concepts that they learn in lecture. Our findings tells us that there is a gap between what the TAs think they need to give as help to the students and what the students tend to expect from their TAs. We also discuss the implications of our findings and possible future work. / Master of Science
|
2 |
Using Visual Technologies in the Introductory Programming Courses for Computer Science MajorsPrice, Kellie W. 01 January 2013 (has links)
Decreasing enrollments, lower rates of student retention and changes in the learning styles of today's students are all issues that the Computer Science (CS) academic community is currently facing. As a result, CS educators are being challenged to find the right blend of technology and pedagogy for their curriculum in order to help students persist through the major and produce strong graduates.
Visual technologies are being explored as a way to present difficult programming concepts in a manner that is easier to visualize and simpler to use. Visual technologies can make learning programming easier by minimizing the syntax of the programming language being used and providing visual feedback to the students to aid in conceptualization of the programming constructs.
The goal was to improve student retention and performance by incorporating visual technologies in the introductory programming course, CS1, at East Tennessee State University (ETSU). The ADDIE approach to instructional design was used to develop and implement a curriculum that incorporated visual technologies in CS1 at ETSU. Subsequently, quasi-experimental research methods, using the Post-Test Only Nonequivalent Groups Design approach, were used to perform assessment on the effects of the revised curriculum on student performance in the course and retention in the major as compared to student performance and retention as measured prior to the course redesign.
The results of the study indicate a positive impact on student performance in CS1 and student retention in the major as a result of the use of two types of visual technologies in CS1 at ETSU. Visual technologies supporting algorithm development, such as RAPTOR, had a positive impact on student performance in the area of problem solving and algorithm development as well as the use of decision and repetition constructs in programming. Visual technologies supporting program development, such as Alice, had a positive impact on student performance in the area of object-oriented programming concepts such as objects and classes. The combination of these two types of visual technologies showed evidence of improvement among student performance as a whole in the course and slight improvement in student persistence in the major.
|
3 |
Design, implementation and evaluation of MPVS : a tool to support the teaching of a programming methodDony, Isabelle 14 September 2007 (has links)
Teaching formal methods is notoriously difficult and is linked to motivation problems among the students; we think that formal methods need to be supported by adequate tools to get better acceptance from the students. One of the goals of the thesis is to build a practical tool to help students to deeply understand the classical programming methodology based on specifications, loop invariants, and decomposition into subproblems advocated by Dijkstra, Gries, and Hoare to name only a few famous computer scientists. Our motivation to build this tool is twofold. On the one hand, we demonstrate that existing verification tools (e.g., ESC/Java, Spark, SMV) are too complex to be used in a pedagogical context; moreover they often lack completeness, (and sometimes, even soundness). On the other hand teaching formal (i.e., rigorous) program construction with pen and paper does not motivate students at all. Thus, since students love to use tools, providing them with a tool that checks not only their programs but also their specifications and the structure of their reasoning seemed appealing to us.
Obviously, building such a system is far from an easy task. It may even be thought completely unfeasible to experts in the field. Our approach is to restrict our ambition to a very simple programming language with simple types (limited to finite domains) and arrays. In this context, it is possible to specify problems and subproblems, both clearly and formally, using a specific assertion language based on mathematical logic. It appears that constraint programming over finite domains is especially convenient to check the kind of verification conditions that are needed to express the correctness of imperative programs. However, to conveniently generate the constraint problems equivalent to a given verification condition, we wish to have at hand a powerful language that allows us to interleave constraints generation, constraints solving, and to specify a distribution strategy to overcome the incompleteness of the usual consistency techniques used by finite domain
constraint programming. We show in this thesis that the Oz language includes all programming mechanisms needed to reach our goals.
Such a tool has been fully implemented and is intended to provide interesting feedback to students learning the programming method: it detects programming and/or reasoning errors and it provides typical counter-examples. We argue that our system is adapted to our pedagogical context and we report on experiments of using the tool with students in a third year programming course.
|
Page generated in 0.0579 seconds