Animating Programs and Students in the Laboratory
|
|
|
- Piers Anthony
- 10 years ago
- Views:
Transcription
1 Animating Programs and Students in the Laboratory James F. Korsh Paul S. LaFollette, Jr. Department of Computer and Information Sciences Temple University Philadelphia, PA Raghvinder Sangwan Department of Mathematics and Computer Science Shippensburg University Shippensburg, PA Abstract Program animation is a well-recognized tool for the enhancement of understanding of algorithms and data structures. The difficulty of creating animations, however, has limited the use of animation by students. This is especially so in introductory courses where the students need to concentrate on the material to be learned and should not be distracted by irrelevant details of an animation system. We have developed a prototype system which allows students (or instructors) to create C/C++ programs which are self-animating. Use of this system does not require learning any extra programming skills. Users need only specify which variables and data structures they want to be animated. This is done by declaring those elements of the program to be selfanimating types. Typically, this would mean substituting INT for int. Similar changes allow for the self-animation of arrays, structs, and pointers. At present, our implementation supports ints and types derived from ints using pointers, arrays, and structs. The resulting C/C++ program appears in an integrated display environment that provides animation of the selected data items, and also shows the source code with the currently animated instruction highlighted. The environment also organizes program information in a way that is meaningful to the programmer, and allows the programmer to control the degree of detail that he or she wants to see. Our experience has been that students are excited and enthusiastic about this technique. This paper will briefly describe the system and, by using examples, show the ease with which students or instructors can create animations in the laboratory or classroom. Introduction In this paper, we briefly describe our prototype system [14,15] which allows students (or instructors) to create C/C++ programs which are self-animating. We will demonstrate that the system does not require learning an additional programming language and that users need only specify those variables and data structures that they want animated. The resulting self-animating program appears in an integrated display environment which shows the source code with the currently animated instruction highlighted and presents the animated variables and data structures selected by the user, We will show how a student might use the system, and how an instructor might create an animated demonstration. Unlike visual debuggers and program development systems [4,7,8,9,11,12], our system displays the dynamics of a program and the context in which changes to data structures occur. Other software visualization systems [1,2,6,13,16] require that a programmer not only understands the program being animated, but also that he or she be directly involved in constructing the animation itself. The benefits of software visualization can be realized more easily if the task of creating visual representations of programs is transparent. Programmers need only concern themselves with what is to be visualized and not how the visualization is to be accomplished. Others have used the same philosophy [3,5], but our system uses a different approach. It requires only simple syntactic changes, almost entirely in declarations, to standard code. Example from a First Programming Course Consider the following simple program, which might be used, in a first programming course. #include <stdlib.h>
2 #include <iostream.h> int values[10]; int add(int v[], int size); void main() const int sentinel = 0; int temp, sum; int i, count; i = 0; cout << Enter a number ; cin >> temp; while ((temp!= sentinel) && (i < 10)) values[i] = temp; i++; cout << Enter a number ; cin >> temp; count = i; sum = add(values, count); cout << Sum is << sum; int add(int v[], int size) int total, k; for (k=0; k < size; i++) total = total + v[i]; return total; Figure 1 shows the display just as the highlighted while condition is being evaluated for the first time. You can see in the CODE pane the necessary modifications that have been made to obtain selfanimation. #include vc++.h is a statement required by our system. The other changes involve the decision to make the array values, and the variables i, count, sum, sentinel, total, and k self-animating, as well as the parameters of the function sum. Changing the "int" to "INT" in the respective declarations did this. No other changes were necessary to the source code. In addition, the title bar of the CODE pane indicates that the function main() is currently being executed. Notice that the window displays global and local variables in separate panes. It also shows dynamically created variables and function parameters in separate panes. One last pane shows the contents of the call stack. Thus, the global array, values, appears in the GLOBALS pane, while the variables local to main() appear in the LOCALS window. Because the function add() is not being executed currently, its local variables are not visible, since the LOCALS pane always displays the local variables of the function currently executing. The first two locations of the array values are visible and the other entries can be seen by using the scroll bar associated with the array. Because none of the elements of this array have been initialized, a "?" is displayed in each entry. The same is true for the local variables count and sum. The constant sentinel contains its initialized value, 0, and i was set to 0 by the assignment statement. The variable temp was set by the input statement cin >> temp. The OPEATIONS pane shows the evaluation of the first part of the while condition. Just prior to this, the values of temp and sentinel in the LOCALS pane would have been seen flowing into the OPERATIONS pane. The result of the evaluation, true, also appears. In general, an operation involving one or more self-animating variables will be displayed similarly in the OPERATIONS pane. In each case, the operands will be seen flowing from their various memory cells in appropriate panes into the OPERATIONS pane, and the result of the evaluation will flow back to memory cells when the result is assigned to a variable. Figure 2 represents the situation just as the call to the function add has been initiated. The OPERATIONS pane shows the actual value of the parameter count from main(), and the PARAMETERS pane shows the corresponding value of the formal parameter size. This value would have been seen flowing from the OPERATIONS pane. The function being executed, add, appears highlighted at the top of the CALL STACK pane. Parameter passing has been identified as an especially troublesome area for students [10]. In Figure 3, the highlighted statement total = total + v[k]is being executed. The OPERATIONS pane shows the operation currently being executed (+), its operands total and [3]", and its result, 28. As before, the values in these operands would have been seen flowing from their panes to indicate where they came from. Next the system would animate the assignment of the value 28 to the memory cell total in the LOCAL pane. In Figure 4, the call stack shows that we have returned to main().the return value, 58, appears in the OPERATIONS pane. There is also an unlabelled
3 variable in the LOCAL pane containing the value 58. This is the temporary memory cell which the compiler creates unbeknownst to the programmer and which holds the return value. This unlabelled memory cell, along with sum, will be the operands of the assignment statement that is about to be animated. Figure 4 also demonstrates the options window. Clicking on the options button activated this. It is used to control the amount of detail that is displayed as the program is animated. As shown, the operations button has been selected, allowing the user to select which operations (+, -, etc.) will be animated. Similarly the functions button allows the user not to animate selected subroutines. In this case, main() or add() could have been disabled. The views button allows the user to decide which panes will appear. For example, in animating a tree that is built in the heap, it is sometimes useful to display only the HEAP pane[15]. The miscellaneous button controls other features. We have not discussed the use of color coding or additional highlighting. Neither have we demonstrated the animation of pointers and pointer oriented data structures. These techniques are provided by the system but are difficult to discuss in a static medium such as this paper. At present our implementation supports ints, and types derived from ints using pointers, arrays, and structs. Discussion We hope that it is clear that a student can learn directly from using this system in the creation or the running of a program, and that an instructor can use this system to demonstrate a program. By making careful use of the ability to control which panes, operators, functions, and memory cells are animated, it is possible to either watch an overview of the program in action, or to focus in, for instance, on a single loop control variable. Thus, in the beginning laboratory the student can investigate in detail the behavior of loops and other control structures while in a more advanced laboratory the student can watch the effect of dynamic interaction between algorithms and complex data structures. It is impossible to see from our figures the way in which the system brings to life a program in execution. The context in which changes to variables and data structures occur becomes apparent and tangible. Not only are updated variables and data structures displayed in context, but also dynamic changes in the morphology of complex linked data structures become apparent as they are animated. An example of an AVL tree being created appears in Sangwan, Korsh and LaFollette [15]. We have exposed our system informally to colleagues and students who have uniformly wanted to have this system available for their use in both elementary programming and more advanced algorithm classes. Indeed, the authors in preparing this elementary example were able to observe from the animation itself that they had made a number of errors in the code, such as failing to read a new data value at the bottom of the while loop. References [1] Brown, M. Algorithm Animation: An ACM Distinguished Dissertation The MIT Press, Cambridge, MA, [2] Brown, M. "Zeus: A System for Algorithm Animation and Multi-View Editing." In Proceedings of the IEEE Workshop on Visual Languages, Kobe, Japan, October 1991, 4-9. [3] Carlson, P., Burnett, M., and Cadiz J. "A Seamless Integration of Algorithm Animation into a Visual Programming Language." In: ACM Proceedings of AVI'96: International Workshop on Advanced Visual Interfaces, Gubbio, Italy, May [4] Cox, P., Smedley, T, Garden, J., and McManus, M. "Experiences with Visual Programming In a Specific Domain" Visual Language Challenge ' IEEE Symposium on Visual Languages, Capri, Italy, [5] Haajanen, J., Personius, M., Sutinen, E., Tarhio, J., Terasvirta, T., and Vanninen, P. "Animation of User Algorithms on the Web." Proceedings of VL'97, IEEE Symposium of Visual Languages, IEEE 1997, [6] Heltulla, E., Hyrskykari, A., and Raiha, K. J. "Graphical Specification of Algorithm Animations with Aladdin." Proceedings of the International Conference on System Sciences, Volume II, Software Track, Hawaii, 1989, CS Press, Los Alamitos, CA, [7] Myers, B., "Incense: A System for Displaying Data Structures." Computer Graphics: SIGRAPH 83 17, 3, 1983, [8] Myers, B., Chandok, R., and Sareen, A. Automatic Data Visualization for Novice Programmers. In: IEEE Computer Society Workshop on Visual Languages, Pittsburgh, PA, October 1988,
4 [9] Moher, T. PROVIDE: A Process Visualization and Debugging Environment. IEEE Transactions on Software Engineering 14, 6, 1988, [10] Naps, T. and Stenglein, J. "Tools for Visual Exploration of Scope and Parameter Passing in a Programming Languages Course." SIGCSE Bulletin, March 1996, [11] Reiss, S. "Working in the Garden environment for conceptual programming." IEEE Software Vol. 4(6), November 1987, [12] Reiss, S. "PECAN: Program development Systems that support multiple views." IEEE Transactions on Software Engineering, SE-11(3):276:85, March [13] Roman, G., Cox, K., Wilcox, C., and Plun, J. "Pavane: A System for Declarative Visualization of Concurrent Computations." Journal of Visual Languages and Computing 3, 1992, [14] Sangwan, R. "Algorithm Animation Using Self- Visualizing C." Ph.D. Dissertation Temple University May [15] Sangwan, R., Korsh, J., and LaFollette, P. "A System for Program Visualization in the Classroom." Proceedings of the twenty-ninth SIGCSE Technical Symposium on Computer Science Education, Feb ACM: [16] Stasko, J. "Tango: A Framework and System for Algorithm Animation." IEEE Computer 23, 9, 1990, Figure 1
5 Figure 2 Figure 3.
6 Figure 4
Lifting the Hood of the Computer: * Program Animation with the Teaching Machine
Lifting the Hood of the Computer: * Program Animation with the Teaching Machine Michael P. Bruce-Lockhart and Theodore S. Norvell Electrical and Computer Engineering Faculty of Engineering and Applied
PRODUCING AN EDUCATIONALLY EFFECTIVE AND USABLE TOOL FOR LEARNING, THE CASE OF JELIOT FAMILY
PRODUCING AN EDUCATIONALLY EFFECTIVE AND USABLE TOOL FOR LEARNING, THE CASE OF JELIOT FAMILY Andrés Moreno and Niko Myller, University of Joensuu Introduction Jeliot Family is a group of program visualization
Program Visualization for Programming Education Case of Jeliot 3
Program Visualization for Programming Education Case of Jeliot 3 Roman Bednarik, Andrés Moreno, Niko Myller Department of Computer Science University of Joensuu [email protected] Abstract:
Introducing PyLighter: Dynamic Code Highlighter
Introducing PyLighter: Dynamic Code Highlighter Michael G. Boland and Curtis Clifton Department of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash Ave. Terre Haute,
GSPIM: Graphical Visualization Tool for MIPS Assembly
GSPIM: Graphical Visualization Tool for MIPS Assembly Programming and Simulation Patrick Borunda Science University of Arizona [email protected] Chris Brewer Science University of Arizona [email protected]
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science
ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and
DESIGNING WEB LABS FOR TEACHING SECURITY CONCEPTS ABSTRACT
DESIGNING WEB LABS FOR TEACHING SECURITY CONCEPTS ABSTRACT Security education is critical in today s cyber threat environment. Many schools have investigated different approaches to teaching fundamental
JAWAA: Easy Web-Based Animation from CS 0 to Advanced CS Courses
JAWAA: Easy Web-Based Animation from CS 0 to Advanced CS Courses Ayonike Akingbade, Thomas Finley, Diana Jackson, Pretesh Patel, and Susan H. Rodger Department of Computer Science Duke University Durham,
HAVING a good mental model of how a
DUSTIN RHODES CMPS261 PROJECT PROPOSAL 1 Dynamic Visualization of Code Control Flow Dustin Rhodes Abstract Having a good mental model of how computers execute code is important to becoming a good computer
A Real-time Monitoring System for Programming Education using a Generator of Program Animation Systems
12 JOURNAL OF COMPUTERS, VOL. 2, NO. 3, MAY 2007 A Real-time Monitoring System for Programming Education using a Generator of Program Animation Systems Youzou Miyadera Tokyo Gakugei University / Division
Software Visualization Tools for Component Reuse
Software Visualization Tools for Component Reuse Craig Anslow Stuart Marshall James Noble Robert Biddle 1 School of Mathematics, Statistics and Computer Science, Victoria University of Wellington, New
METHODOLOGIES FOR STUDIES OF PROGRAM VISUALIZATION
Full paper ABSTRACT METHODOLOGIES FOR STUDIES OF PROGRAM VISUALIZATION Niko Myller & Roman Bednarik Department of Computer Science University of Joensuu PO Box 111, FI-80101 [email protected]
Glossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
An Extensible Framework for Providing Dynamic Data Structure Visualizations in a Lightweight IDE
An Extensible Framework for Providing Dynamic Data Structure Visualizations in a Lightweight IDE T. Dean Hendrix, James H. Cross II, and Larry A. Barowski Computer Science and Software Engineering Auburn
RECEPTIVENESS OF EDUCATIONAL MULTIMEDIA TOOLS IN COMPUTER PROGRAMMING EDUCATION
RECEPTIVENESS OF EDUCATIONAL MULTIMEDIA TOOLS IN COMPUTER PROGRAMMING EDUCATION Nouf Albarakati 1, Ibrahim Albidewi 2 1,2 College of Computer Science and Information Technology King Abdul Aziz University
VIP, a Visual Interpreter for Learning Introductory Programming with C++
VIP, a Visual Interpreter for Learning Introductory Programming with C++ Antti T. Virtanen Tampere University of Technology Institute of Software Systems Tampere, Finland [email protected] Essi Lahtinen
C Compiler Targeting the Java Virtual Machine
C Compiler Targeting the Java Virtual Machine Jack Pien Senior Honors Thesis (Advisor: Javed A. Aslam) Dartmouth College Computer Science Technical Report PCS-TR98-334 May 30, 1998 Abstract One of the
TEACHING INTRODUCTORY COMPUTER GRAPHICS WITH THE PROCESSING LANGUAGE
TEACHING INTRODUCTORY COMPUTER GRAPHICS WITH THE PROCESSING LANGUAGE Dino Schweitzer, Jeff Boleng, Paul Graham United States Air Force Academy, CO 80840 [email protected] ABSTRACT Different approaches
CS 241 Data Organization Coding Standards
CS 241 Data Organization Coding Standards Brooke Chenoweth University of New Mexico Spring 2016 CS-241 Coding Standards All projects and labs must follow the great and hallowed CS-241 coding standards.
Teaching and Learning with BlueJ: an Evaluation of a Pedagogical Tool
Issues in Informing Science and Information Technology Teaching and Learning with BlueJ: an Evaluation of a Pedagogical Tool Kelsey Van Haaster and Dianne Hagan Monash University, Melbourne, Australia
Computer Science vs. Computer Literacy Which to Teach?
Computer Science vs. Computer Literacy Which to Teach? Viera K. Proulx College of Computer Science, Northeastern University Boston, MA, 02115, USA [email protected] With the widespread use of computers in
Technical paper review. Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald.
Technical paper review Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald Garvit Pahal Indian Institute of Technology, Kanpur October 28, 2014 Garvit
Departamento de Investigación. LaST: Language Study Tool. Nº 143 Edgard Lindner y Enrique Molinari Coordinación: Graciela Matich
Departamento de Investigación LaST: Language Study Tool Nº 143 Edgard Lindner y Enrique Molinari Coordinación: Graciela Matich Noviembre 2005 Para citar este documento: Lindner, Edgard; Enrique Molinari,
An Introduction to Software Visualization. Visualization. Types of Software Visualization. Course Overview
An Introduction to Software Dr. Jonathan I. Maletic Software DevelopMent Laboratory Department of Computer Science Kent State University Course Overview Introductory Lectures Software visualization
TEACHING COMPUTER PROGRAMMING WITH PROGRAM ANIMATION
TEACHING COMPUTER PROGRAMMING WITH PROGRAM ANIMATION Theodore S. Norvell and Michael P. Bruce-Lockhart Electrical and Computer Engineering Faculty of Engineering and Applied Science Memorial University
Objects: Visualization of Behavior and State
Objects: Visualization of Behavior and State Wanda Dann* Toby Dragon Ithaca College Ithaca, NY 14850 1-607-274-3602 wpdann @ ithaca.edu Stephen Cooper* Kevin Dietzler Kathleen Ryan Saint Joseph's University
Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
SDT: A Programming Language for Debugging (Working Paper)
SDT: A Programming Language for Debugging (Working Paper) Steven P. Reiss Department of Computer Science Brown University Providence, RI 02912 [email protected] (401) 863-7641 January, 1989 Abstract This
Passaic County Technical Institute. Curriculum of Instruction. Computer Science IV. Grade 12
Passaic County Technical Institute Curriculum of Instruction Computer Science IV Grade 12 2014 2015 Prepared by Anjali Wahi Computer Science IV COURSE DESCRIPTION Concentration: Object Oriented Programming
Course MS10975A Introduction to Programming. Length: 5 Days
3 Riverchase Office Plaza Hoover, Alabama 35244 Phone: 205.989.4944 Fax: 855.317.2187 E-Mail: [email protected] Web: www.discoveritt.com Course MS10975A Introduction to Programming Length: 5 Days
El Dorado Union High School District Educational Services
El Dorado Union High School District Course of Study Information Page Course Title: ACE Computer Programming I (#494) Rationale: A continuum of courses, including advanced classes in technology is needed.
A tool to facilitate interactive and collaborative learning of execution flow and code for novice computer science students
Institution of Innovation, Design and Engineering A tool to facilitate interactive and collaborative learning of execution flow and code for novice computer science students Author: Robert Westerlund Examiner:
Virtual Machines as an Aid in Teaching Computer Concepts
Virtual Machines as an Aid in Teaching Computer Concepts Ola Ågren Department of Computing Science Umeå University SE-901 87 Umeå, SWEDEN E-mail: [email protected] Abstract A debugger containing a set
What a Novice Wants: Students Using Program Visualization in Distance Programming Course
Third Program Visualization Workshop 1 What a Novice Wants: Students Using Program Visualization in Distance Programming Course Osku Kannusmäki, Andrés Moreno, Niko Myller, and Erkki Sutinen Department
COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa
FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa COMPUTER SCIENCE Computer Science is the study of computer programs, abstract models of computers, and applications of computing.
Improving learning outcomes for first year introductory programming students
Improving learning outcomes for first year introductory programming students Sven Venema School of Information and Communication Technology, Griffith University, Brisbane, Australia Abstract Andrew Rock
Curriculum Map. Discipline: Computer Science Course: C++
Curriculum Map Discipline: Computer Science Course: C++ August/September: How can computer programs make problem solving easier and more efficient? In what order does a computer execute the lines of code
CURRICULUM VITAE EDUCATION:
CURRICULUM VITAE Jose Antonio Lozano Computer Science and Software Development / Game and Simulation Programming Program Chair 1902 N. Loop 499 Harlingen, TX 78550 Computer Sciences Building Office Phone:
Course Development of Programming for General-Purpose Multicore Processors
Course Development of Programming for General-Purpose Multicore Processors Wei Zhang Department of Electrical and Computer Engineering Virginia Commonwealth University Richmond, VA 23284 [email protected]
A System for Building Animated Presentations over the Web
A System for Building Animated Presentations over the Web Benedetto A. Colombo Camil Demetrescu Irene Finocchi Luigi Laura Abstract We describe Leonardo Web, a collection of tools for building animated
How Programmers Use Internet Resources to Aid Programming
How Programmers Use Internet Resources to Aid Programming Jeffrey Stylos Brad A. Myers Computer Science Department and Human-Computer Interaction Institute Carnegie Mellon University 5000 Forbes Ave Pittsburgh,
Rethinking the First Year Programming Course
Rethinking the First Year Programming Course William David Lubitz Assistant Professor, School of Engineering, University of Guelph [email protected] Abstract The use of microcontrollers in beginning
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm
University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011
University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011 Department Mission The Department of Computer Science in the College of Arts and Sciences
Education. Research Experience (Funded Projects)
Mark Floryan (540) 672-8850 [email protected] Department of Computer Science 85 Engineer's Way Charlottesville, VA 24018 Education University of Massachusetts: Amherst, MA Fall 2008 Spring 2013
Gadget: A Tool for Extracting the Dynamic Structure of Java Programs
Gadget: A Tool for Extracting the Dynamic Structure of Java Programs Juan Gargiulo and Spiros Mancoridis Department of Mathematics & Computer Science Drexel University Philadelphia, PA, USA e-mail: gjgargiu,smancori
Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
CS 300 Data Structures Syllabus - Fall 2014
CS 300 Data Structures Syllabus - Fall 2014 Catalog Description Data structures are fundamental to advanced, efficient programming. Topics including asymptotic analysis, stacks, queues, linked lists, trees,
Course Syllabus. COSC 1437 Programming Fundamentals II. Revision Date: August 21, 2013
Course Syllabus COSC 1437 Programming Fundamentals II Revision Date: August 21, 2013 Catalog Description: This course contains further applications of programming techniques in the C++ programming language.
Information Systems. Administered by the Department of Mathematical and Computing Sciences within the College of Arts and Sciences.
Information Systems Dr. Haesun Lee Professor Dr. Haesun Lee is a Professor of Computer Science. She received her Ph.D. degree from Illinois Institute of Technology, Chicago, Illinois (1997). Her primary
IMPROVING STUDENTS FOCUS IN INTRODUCTORY PROGRAMMING COURSES
DAAAM INTERNATIONAL SCIENTIFIC BOOK 2015 pp. 165-172 Chapter 15 IMPROVING STUDENTS FOCUS IN INTRODUCTORY PROGRAMMING COURSES KONECKI, M. Abstract: Introductory programming courses struggle with low passing
CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013
Oct 4, 2013, p 1 Name: CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013 1. (max 18) 4. (max 16) 2. (max 12) 5. (max 12) 3. (max 24) 6. (max 18) Total: (max 100)
ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER
ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER Pierre A. von Kaenel Mathematics and Computer Science Department Skidmore College Saratoga Springs, NY 12866 (518) 580-5292 [email protected] ABSTRACT This paper
How To Teach Students To Program A Virtual World
Gaming for Middle School Students: Building Virtual Worlds CHARLES R. HARDNETT Spelman College Computer Science Department Atlanta, GA 30314 [email protected] ABSTRACT We can begin engaging new talented
Please consult the Department of Engineering about the Computer Engineering Emphasis.
COMPUTER SCIENCE Computer science is a dynamically growing discipline. ABOUT THE PROGRAM The Department of Computer Science is committed to providing students with a program that includes the basic fundamentals
Storage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas
CS 110B - Rule Storage Classes Page 18-1 Attributes are distinctive features of a variable. Data type, int or double for example, is an attribute. Storage class is another attribute. There are four storage
Bob Boothe. Education. Research Interests. Teaching Experience
Bob Boothe Computer Science Dept. University of Southern Maine 96 Falmouth St. P.O. Box 9300 Portland, ME 04103--9300 (207) 780-4789 email: [email protected] 54 Cottage Park Rd. Portland, ME 04103 (207)
LEARNING OBJECTS FOR JAVA PROGRAMMING LANGUAGE
LEARNING OBJECTS FOR JAVA PROGRAMMING LANGUAGE Ion MIERLUS MAZILU Department of Mathematics and Computer Science Technical University of Civil Engineering, Bucharest B-ul. Lacul Tei, Nr. 122-124, Sector
Exploring Computer Science A Freshman Orientation and Exploratory Course
Exploring Computer Science A Freshman Orientation and Exploratory Course Stephen U. Egarievwe and Vivian J. Fielder Center for Internet Based Education and Research Department of Mathematics and Computer
Lecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
Computational Modeling and Simulation for Learning an Automation Concept in Programming Course
Computational Modeling and Simulation for Learning an Automation Concept in Programming Course Yong Cheon Kim, Dai Young Kwon, and Won Gyu Lee Abstract Computational thinking is a fundamental skill for
Computer Programming I & II*
Computer Programming I & II* Career Cluster Information Technology Course Code 10152 Prerequisite(s) Computer Applications, Introduction to Information Technology Careers (recommended), Computer Hardware
Lumousoft Visual Programming Language and its IDE
Lumousoft Visual Programming Language and its IDE Xianliang Lu Lumousoft Inc. Waterloo Ontario Canada Abstract - This paper presents a new high-level graphical programming language and its IDE (Integration
COMPARISON OF OBJECT-ORIENTED AND PROCEDURE-BASED COMPUTER LANGUAGES: CASE STUDY OF C++ PROGRAMMING
COMPARISON OF OBJECT-ORIENTED AND PROCEDURE-BASED COMPUTER LANGUAGES: CASE STUDY OF C++ PROGRAMMING Kuan C. Chen, Ph.D. Assistant Professor Management Information Systems School of Management Purdue University
An Internet Course in Software Development with C++ for Engineering Students
An Internet Course in Software Development with C++ for Engineering Students Yosef Gavriel, Robert Broadwater Department of Electrical and Computer Engineering Virginia Tech Session 3232 Abstract This
Using Visualization to Teach Security
Using Visualization to Teach Security Dino Schweitzer, Wayne Brown Academy Center for Cyberspace Research, United States Air Force Academy, CO [email protected] Abstract. Interactive visualization
Figure 1. An embedded chart on a worksheet.
8. Excel Charts and Analysis ToolPak Charts, also known as graphs, have been an integral part of spreadsheets since the early days of Lotus 1-2-3. Charting features have improved significantly over the
Object Oriented Software Design II
Object Oriented Software Design II Introduction to C++ Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 20, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February
An Approach to Teaching Introductory-Level Computer Programming
Olympiads in Informatics, 2013, Vol. 7, 14 22 14 2013 Vilnius University An Approach to Teaching Introductory-Level Computer Programming Michael DOLINSKY Department of Mathematics, Gomel State University
Evaluating a new programming language
In G. Kadoda (Ed). Proc. PPIG 13 Pages 275-289 Evaluating a new programming language Steven Clarke Microsoft Corporation 1 Microsoft Way Redmond, WA 98052 USA +1 425 705 5978 [email protected] Keywords:
