Investigate the degree to which programming concepts are interrelated Reshmi Ravi.

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

Intro to Scala Lists. Scala Lists are always immutable. This means that a list in Scala, once created, will remain the same.
Adapted from Scott, Chapter 6:: Control Flow Programming Language Pragmatics Michael L. Scott.
Objectives Understand the software development lifecycle Perform calculations Use decision structures Perform data validation Use logical operators Use.
Chapter 7 User-Defined Methods. Chapter Objectives  Understand how methods are used in Java programming  Learn about standard (predefined) methods and.
Introduction to Computer Programming in C
Larry Press Demonstration and assessment of a modular courseware format using a VB.NET programming.
The Programming Discipline Professor Stephen K. Kwan 2010 Things you need to know (learn) for developing large computer programs.
Loops – While, Do, For Repetition Statements Introduction to Arrays
Chapter 3 Program translation1 Chapt. 3 Language Translation Syntax and Semantics Translation phases Formal translation models.
© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 8 - Interest Calculator Application: Introducing.
1 Arithmetic in C. 2 Type Casting: STOPPED You can change the data type of the variable in an expression by: (data_Type) Variable_Name Ex: int a = 15;
Loops Repetition Statements. Repetition statements allow us to execute a statement multiple times Often they are referred to as loops Like conditional.
C++ for Engineers and Scientists Third Edition
Python Control of Flow.
Fundamentals of Python: From First Programs Through Data Structures
Fundamentals of Python: First Programs
CIS Computer Programming Logic
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Summary and Exam COMP 102.
Created by, Author Name, School Name—State FLUENCY WITH INFORMATION TECNOLOGY Skills, Concepts, and Capabilities.
JAVA COLLECTIONS LIBRARY School of Engineering and Computer Science, Victoria University of Wellington COMP T2, Lecture 2 Marcus Frean.
Programming in Java Unit 4. Learning outcome:  LO2: Be able to design Java solutions  LO3: Be able to implement Java solutions Assessment criteria:
PHP Logic. Review: Variables Variables: a symbol or name that stands for a value – Data types ( Similar to C++ or Java): Int, Float, Boolean, String,
Welcome to IB Biology Year 1. What it is all about To develop inquiring, knowledgeable, caring young people…that’s you! To create a better more caring.
Visual Basic Programming
For loops in programming Assumes you have seen assignment statements and print statements.
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Lucas Bang Lecture 5: Introduction to C: More Control Flow.
Chapter 4 Controlling Execution CSE Objectives Evaluate logical expressions –Boolean –Relational Change the flow of execution –Diagrams (e.g.,
1 CSC 221: Computer Programming I Spring 2008 course overview  What did we set out to learn?  What did you actually learn?  Where do you go from here?
 In computer programming, a loop is a sequence of instruction s that is continually repeated until a certain condition is reached.  PHP Loops :  In.
2016 N5 Prelim Revision. HTML Absolute/Relative addressing in HTML.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
Midterm Review Important control structures Functions Loops Conditionals Important things to review Binary Boolean operators (and, or, not) Libraries (import.
CPSC 217 T03 Week V Part #1: Iteration Hubert (Sathaporn) Hu.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Summary and Exam COMP 102.
8. DECISION STRUCTURES Rocky K. C. Chang October 18, 2015 (Adapted from John Zelle’s slides)
CS190/295 Programming in Python for Life Sciences: Lecture 6 Instructor: Xiaohui Xie University of California, Irvine.
COMP Loop Statements Yi Hong May 21, 2015.
CISC105 – General Computer Science Class 4 – 06/14/2006.
CPSC 233 Tutorial 5 February 2 th /3 th, Java Loop Statements A portion of a program that repeats a statement or a group of statements is called.
Copyright © 2014 by John Wiley & Sons. All rights reserved.1 Decisions and Iterations.
CS 115 OBJECT ORIENTED PROGRAMMING I LECTURE 11 GEORGE KOUTSOGIANNAKIS 1 Copyright: 2015 Illinois Institute of Technology_ George Koutsogiannakis.
Programming in Java (COP 2250) Lecture 12 & 13 Chengyong Yang Fall, 2005.
Computer Program Flow Control structures determine the order of instruction execution: 1. sequential, where instructions are executed in order 2. conditional,
Investigate Plan Design Create Evaluate (Test it to objective evaluation at each stage of the design cycle) state – describe - explain the problem some.
Preface IIntroduction Course Objectives I-2 Oracle Complete Solution I-3 Course Agenda I-4 Tables Used in This Course I-5 The Order Entry Schema I-6 The.
IST 210: PHP Logic IST 210: Organization of Data IST2101.
1 Sections 3.1 – 3.2a Basic Syntax and Semantics Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
Chapter 4 Repetition Statements (loops)
Selection and Python Syntax
CSC 221: Computer Programming I Fall 2005
GC211Data Structure Lecture2 Sara Alhajjam.
Introduction to Programming
PRG 211Competitive Success/snaptutorial.com
PRG 211 Education for Service-- snaptutorial.com
PRG 211 Teaching Effectively- snaptutorial.com
Learning to Program in Python
Introduction to Python
MSIS 655 Advanced Business Applications Programming
CS190/295 Programming in Python for Life Sciences: Lecture 6
Java Programming Loops
Bryan Burlingame 28 November 2018
Loops CIS 40 – Introduction to Programming in Python
Coding Concepts (Basics)
CSC1018F: Intermediate Python
Java Programming Loops
Using Decision Structures
Lecture 13 Teamwork Bryan Burlingame 1 May 2019.
Presentation transcript:

Investigate the degree to which programming concepts are interrelated Reshmi Ravi

Recap Learning Edge Momentum: Required to fit new material into the context of existing knowledge Claims that programming concepts are interrelated Investigate if programming concepts are interrelated?

Related Work Cognitive Load Theory High intrinsic load = the student is often required to learn material by understanding its interrelatedness with other concepts and integrating it to learn it Threshold Concepts Inform me about concepts that fit the criteria, but where to from here? Anchor Graphs Show a natural ordering amongst anchor concepts

Pre-Research Test Go through the Course Structure and map out the order programming concepts are taught.

Pre-Research Test (cont) Variables and Expressions Strings and string manipulation Functions Boolean expressions and if statements While Loops Lists and list manipulation File processing Data structures – tuples, dictionaries Nested Loops GUI COMPSCI 101 (Python) – University of Auckland Programming for Everybody (Python) - Coursera Variables and Expressions Conditional Code Functions Loops and Iteration Strings FilesListsDictionaries Tuples

Pre-Research Test (cont) Variables and Expressions Methods Objects Boolean expressions and if statements While Loops User Input and File processing Classes, objects and Fields Data structures – Array lists, 2D arrays Interfaces COMP102 (Java) – University of Wellington

Variables and Expressions Strings and string manipulation Functions Boolean expressions and if statements While Loops Lists and list manipulation File processing Data structures – tuples, dictionaries Nested Loops GUI Variables and Expressions Conditional Code Functions Loops and Iteration Strings FilesListsDictionaries Tuples Variables and Expressions Methods Objects Boolean expressions and if statements While Loops User Input and File processing Classes, objects and Fields Data structures – Array lists, 2D arrays Interfaces COMPSCI 101 (Python) – University of Auckland COMP102 (Java) – University of Wellington Programming for Everybody (Python) - Coursera

1. Are certain programming concepts interrelated? File Processing 2. Is the degree of interrelatedness of programming concepts independent of the programming language used? RESEARCH QUESTIONS

Methodology Go through assessments to see what programming concepts do students have to know, integrate to implement a successful solution for the problem for two programming languages Python and Java Go through Lab Exercises in COMPSCI 101 Choose one exercise from one laboratory exercises that meets the learning outcome specified for that laboratory. Examine the programming concepts, and the syntax that the student needs to know Develop a resultant anchor graph for Java and Python

Case study #1: File Processing Example: Read all the words in a file and create a file that contains all the words which are palindromes

Variable Expression Assignment Function Call Data Instruction Sequence Opening, reading, closing and writing to a File Lists If statements Iteration and Loops Boolean Operators Statements Python Equality Data Structures Files Object String and String manipulation

Variable Expression Assignment Function Call Data Instruction Sequence Opening, reading and writing to a File Array If statements Iteration and Loops Boolean Operators Statements Java Exceptions Equality Data structures Files Object Strings Data types

Programming concepts The programming concepts that are needed to solve that problem for both the languages are very similar. Need to know about Exceptions for Java Need to understand the idea of reading a file, checking for palindromes and then writing to a file.

Language Related Elements Java Explicit type declaration Use of “;” Scanner object - testing before reading, loops to next token Printwriter Exceptions Loops – iterator, Boolean condition, increment, decrement Nested loops Array Python Indentation Reading files - Open(),read(),split() List String manipulation - slice

Findings The programming concepts to solve a problem are interrelated. Reflect on preceding programming concepts Integrate with new concepts The programming concepts to solve a problem in Java and Python are very similar with few differences. String slicing vs the use of nested loops Open(),read(),split(), write() vs Scanner, Printwriter object These language related differences may increase the degree where the student has to combine the syntax and concepts correctly; but they still have to have the essential understanding for each concept

Limitations The case study was picked from a laboratory exercise at the end of the course Challenging Will integrate preceding concepts Only one case study External Validity

Conclusion Programming concepts are tightly interconnected as Robins claims. It is fair to say that some language related elements can increase the cognitive load. But if the courses are taught in a format which follows the tightly integrated order, why the grades? Is the graph really bimodal? Expecting too much?