Evaluating Python as an Introductory Programming Language A. Thomas and H.L. Liang UNISA.

Slides:



Advertisements
Similar presentations
Lecture Computer Science I - Martin Hardwick Strings #include using namespace std; int main () { string word; cout
Advertisements

1 Lecture 16:User-Definded function I Introduction to Computer Science Spring 2006.
Chapter 6 Advanced Function Features Pass by Value Pass by Reference Const parameters Overloaded functions.
Chapter 5: Abstraction, parameterization, and qualification Xinming (Simon) Ou CIS 505: Programming Languages Kansas State University Fall
Chapter 9 Pointers and Dynamic Arrays. Overview 9.1 Pointers 9.2 Dynamic Arrays.
Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
Python Programming Chapter 1: The way of the program Saad Bani Mohammad Department of Computer Science Al al-Bayt University 1 st 2011/2012.
CS150 Introduction to Computer Science 1
Reasons to study concepts of PL
Ruby The Gem of new programming languages. An interpreted scripting language.
Computer Science 1620 Multi-Dimensional Arrays. we used arrays to store a set of data of the same type e.g. store the assignment grades for a particular.
CMPT 120 Introduction to Computer Science and Programming I Chris Schmidt.
1 8/30/06CS150 Introduction to Computer Science 1 Your First C++ Program.
General Computer Science for Engineers CISC 106 Lecture 26 Dr. John Cavazos Computer and Information Sciences 04/24/2009.
Building An Interpreter After having done all of the analysis, it’s possible to run the program directly rather than compile it … and it may be worth it.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
INTRODUCTION TO PYTHON PART 2 INPUT AND OUTPUT CSC482 Introduction to Text Analytics Thomas Tiahrt, MA, PhD.
Introduction To C++ Programming 1.0 Basic C++ Program Structure 2.0 Program Control 3.0 Array And Structures 4.0 Function 5.0 Pointer 6.0 Secure Programming.
Chapter 3 Data Structures and Abstract Data Type Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
C++ Basics CSci 107. A C++ program //include headers; these are modules that include functions that you may use in your //program; we will almost always.
COMPUTER PROGRAMMING. Introduction to C++ History Merges notions from Smalltalk and notions from C The class concept was borrowed from Simular67 Developed.
Language Evaluation Criteria
Which Language is Better?
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
Rossella Lau Lecture 1, DCO10105, Semester B, DCO10105 Object-Oriented Programming and Design  Lecture 1: Introduction What this course is about:
COMPUTER PROGRAMMING. Functions What is a function? A function is a group of statements that is executed when it is called from some point of the program.
1 C++ Syntax and Semantics, and the Program Development Process.
Array in C++ / review. An array contains multiple objects of identical types stored sequentially in memory. The individual objects in an array, referred.
Fundamental Programming: Fundamental Programming Introduction to C++
First steps Jordi Cortadella Department of Computer Science.
1 CISC181 Introduction to Computer Science Dr. McCoy Lecture 7 Clicker Questions September 22, 2009.
CLIP Command Line InterPreter for a subset of C++.
1 Original Source : and Problem and Problem Solving.ppt.
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process.
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Python programming 1: Introduction.
RUBY by Ryan Chase.
8 January 2016Birkbeck College, U. London1 Introduction to Programming Lecturer: Steve Maybank Department of Computer Science and Information Systems
General Computer Science for Engineers CISC 106 Lecture 12 James Atlas Computer and Information Sciences 08/03/2009.
Software Development Introduction
Introduction to C++.  Computers: CPU, Memory & Input / Output (IO)  Program: Sequence of instructions for the computer.  Operating system: Program.
Python Programming Lecture II. Data Data is the raw material that programs manipulate. Data comes in different flavours. The basic ones are called “primitive.
Introduction to Functions CSIS 1595: Fundamentals of Programming and Problem Solving 1.
Chpater 3. Outline The definition of Syntax The Definition of Semantic Most Common Methods of Describing Syntax.
COMPUTER PROGRAMMING. Array C++ provides a data structure, the array, which stores a fixed-size sequential collection of elements of the same type. An.
Java & C++ Comparisons How important are classes and objects?? What mechanisms exist for input and output?? Are references and pointers the same thing??
BY: JAKE TENBERG & CHELSEA SHIPP PROJECT REVIEW: JGIBBERISH.
Fundamental Programming Fundamental Programming Introduction to Functions.
Computer Science A 1. Course plan Introduction to programming Basic concepts of typical programming languages. Tools: compiler, editor, integrated editor,
CSCI 161 Lecture 3 Martin van Bommel. Operating System Program that acts as interface to other software and the underlying hardware Operating System Utilities.
CS Class 04 Topics  Selection statement – IF  Expressions  More practice writing simple C++ programs Announcements  Read pages for next.
1 8/30/06CS150 Introduction to Computer Science 1 Your First C++ Program.
Chapter 1: Preliminaries Lecture # 2. Chapter 1: Preliminaries Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation.
Software Engineering Algorithms, Compilers, & Lifecycle.
Pointers A variable that holds an address value is called a pointer variable, or simply a pointer.  What is the data type of pointer variables? It’s not.
Basic concepts of C++ Presented by Prof. Satyajit De
C++ First Steps.
The language focusses on ease of use
Topic: Programming Languages and their Evolution + Intro to Scratch
Introduction to C++ Programming
C Programming Language
Revision Lecture
C# and the .NET Framework
Chapter 1 Preliminaries.
Pointers and Pointer-Based Strings
Background In his classic 1972 paper on definitional interpreters, John Reynolds introduced two key techniques: Continuation-passing style - Makes.
CS150 Introduction to Computer Science 1
Life is Full of Alternatives
Pointers and Pointer-Based Strings
C++ Basics CSci 107. A C++ program //include headers; these are modules that include functions that you may use in your //program; we will almost always.
Introduction to Algorithms and Programming COMP151
Presentation transcript:

Evaluating Python as an Introductory Programming Language A. Thomas and H.L. Liang UNISA

Contents Introduction Background Aim of this study Evaluation approach and findings Conclusion Future research

Introduction Programming in Computer Science Curriculum Aim of Introductory Programming Difficulties associated with learning programming Learning programming in distance education

Background UNISA as an open and distance education institution First-level Computer Science modules at UNISA Focussing on the introductory programming module at UNISA - Objectives of the module - Implementation language - Learner Support - Pass rate

Aim of this study To compare Python with C++ with respect to its syntax and structure We do not aim to challenge the present module content and delivery techniques

Evaluation Approach and Findings Approach used Grouping of the results - Features of Python that will contribute to ease of learning - Features of Python that will not improve the ease of learning - Features of Python that could be problematic

Features of Python that will ease learning Installation - How is it done now? - How can it be improved using Python? Introduction to Programming - How is it done now? #include (1) using namespace std;(2) int main(){ (3) cout<< “Hello World”; return 0; }

Continued.. - How can it be improved? print “Hello World” Simplicity in Syntax - Examples in Python No need to declare variables Multiple initializations of variables in a single line Inclusion of useful expressions Practice one concept at a time Easier translation of a solution into implementation

Features of Python that will not improve ease of learning Semantics to match expectations - meanings associated with ×, %, = - array indexing Providing meaningful error messages Practicalities of the IDE Availability of on-line resources

Features of Python that could be problematic Compilation vs. interpretation Syntactical challenges - Readability -Indentation Dynamic vs. static typing

Conclusion and further research In this preliminary evaluation Python seems to have features that would ease the learning curve associated with learning a programming language However, all the aspects of the introductory programming module should be considered before making a conclusive decision The effect of including Python in the present curriculum should also be analysed