Using Visual Logic To Teach A First Course In Programming Logic

Slides:



Advertisements
Similar presentations
1 CS101 Introduction to Computing Lecture 17 Algorithms II.
Advertisements

Conditional statements and Boolean expressions. The if-statement in Java (1) The if-statement is a conditional statement The statement is executed only.
A Step Back from Coding An Online Environment and Pedagogy for Novice Programmers Andrew Scott, Mike Watkins, Duncan McPhee. University of Glamorgan
USING VISUAL LOGIC TO TEACH A FIRST COURSE IN PROGRAMMING LOGIC JORGE VALLEJOS – ASSISTANT PROFESSOR COMPUTER SCIENCE.
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 4 Programming and Software EXCEL and MathCAD.
The Programming Discipline Professor Stephen K. Kwan 2010 Things you need to know (learn) for developing large computer programs.
Program Design and Development
Computers: Tools for an Information Age
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 3 Programming and Software.
C++ for Engineers and Scientists Third Edition
Chapter 1 Program Design
Problem Solving Chapter 2. What is an algorithm? n A solution to a problem that is: –Precise –Effective –Terminating.
The Programming Discipline Professor Stephen K. Kwan Things you need to know (learn) for developing large computer programs.
Chapter 2: Algorithm Discovery and Design
Principles of Procedural Programming
Chapter 3 Planning Your Solution
1 CSC 221: Computer Programming I Fall 2004 course overview  what did we set out to learn?  what did you actually learn?  where do you go from here?
Object Oriented Software Development
Simple Program Design Third Edition A Step-by-Step Approach
CIS Computer Programming Logic
Chapter 4: The Selection Structure
SLB /04/07 Thinking and Communicating “The Spiritual Life is Thinking!” (R.B. Thieme, Jr.)
1 Chapter 4: Selection Structures. In this chapter, you will learn about: – Selection criteria – The if-else statement – Nested if statements – The switch.
CPS120: Introduction to Computer Science Decision Making in Programs.
Lecture Set 5 Control Structures Part A - Decisions Structures.
Programming Concepts Chapter 3.
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
ENG 1181 College of Engineering Engineering Education Innovation Center P. 1 1 Computer Problem Solving in MATLAB Topics Covered: 1.Problem Solving 2.Top-Down.
Practice and Evaluation. Practice Develop a java class called: SumCalculator.java which computes a sum of all integer from 1 to 100 and displays the result.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Property of Jack Wilson, Cerritos College1 CIS Computer Programming Logic Programming Concepts Overview prepared by Jack Wilson Cerritos College.
CPS120: Introduction to Computer Science Decision Making in Programs.
University of Sunderland CIF 102/FIF102 Fundamentals of DatabasesUnit 15 Programming in Microsoft Access using VBA Using VBA to add functionality.
Visual Basic Programming
Lecture 2 Numerical Methods for Engineering MECN 3500 Department of Mechanical Engineering Inter American University of Puerto Rico Bayamon Campus Dr.
Chapter 2: General Problem Solving Concepts
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Lucas Bang Lecture 5: Introduction to C: More Control Flow.
Chapter 5: More on the Selection Structure
Gateway. All students required to pass Gateway Science = April 20 –Graded on: Science Language Arts Social Studies = April 22 –Graded on: Social Studies.
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?
Iconic Programmer A Visualization Tool for Teaching Concepts without Context.
CPS120: Introduction to Computer Science Decision Making in Programs.
Higher Computing Science 2016 Prelim Revision. Topics to revise Computational Constructs parameter passing (value and reference, formal and actual) sub-programs/routines,
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Tevfik Bultan Lecture 4: Introduction to C: Control Flow.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
CS Class 04 Topics  Selection statement – IF  Expressions  More practice writing simple C++ programs Announcements  Read pages for next.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
An Introduction to Programming with C++ Sixth Edition Chapter 5 The Selection Structure.
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
C++ for Engineers and Scientists Second Edition Chapter 4 Selection Structures.
Programming Logic and Design Fourth Edition, Introductory Chapter 2 Understanding Structure.
PRE-AP computer science 1
CSC 221: Computer Programming I Spring 2010
CSC 221: Computer Programming I Fall 2005
Test Review Computer Science History
The Selection Structure
Programming Fundamentals
Control Structures (Structured Programming) for controlling the procedural aspects of programming CS1110 – Kaminski.
Chapter 10 Programming Fundamentals with JavaScript
Program Design Introduction to Computer Programming By:
CSC Classes Required for TCC CS Degree
Objective of This Course
Chapter 2- Visual Basic Schneider
Chapter 2- Visual Basic Schneider
A programming language
ICT Gaming Lesson 2.
Control Structures (Structured Programming) for controlling the procedural aspects of programming CS1110 – Kaminski.
Basic Concepts of Algorithm
Presentation transcript:

Using Visual Logic To Teach A First Course In Programming Logic Jorge Vallejos – Assistant Professor (jvallejo@cscc.edu) Computer Science Department Columbus State Community College Ohio Educational Technology Conference - January 2014

Logic – AND Benefits to our students What Is Logic ? – Loose Definitions : The application of principles of correct reasoning Proper thinking about the understanding of something Interrelation of facts and events to reach valid conclusions Why Is Logic Necessary?: Solve complex tasks by applying systematic reasoning Establish an approach to analyze and understand a problem Discover simple and efficient solutions to implement processes and systems What Do Students Gain By Learning Logic?: Develop skills for critical thinking Gather relevant facts, analyze them, and derive conclusions to troubleshoot systems Apply problem solving strategies – formalize theories, discard invalid assumptions, establish priorities (ordering of actions and validation), solve problem in incremental steps, isolate/reproduce issues, test solutions Readiness for programming courses and other analytical courses Ohio Educational Technology Conference - January 2014

courses THAT support PROGRAMMING logic MATH courses – beyond the algorithms and formulas, MATH creates the foundation to discover relations between entities, combine building blocks to compose new entities, build sets of detailed instructions to complete a task READING /WRITING courses focused on comprehension – analyze complex materials, apply critical analysis to reach conclusions, inductions and deductions PHYLOSOPHY courses: cover topics like: critical thinking, methods of inductive, deductive and symbolic logic. Ohio Educational Technology Conference - January 2014

Tools for a First course in programming logic Visual Logic Creates visual representation of algorithms in flowchart format. The program does not use formal programming-language instructions – like Java, C#, or other programming languages Alice/Alice3 – by Carnegie-Mellon Creates 3D animations. Tool is oriented towards learning computer programming. Drag objects from a palette onto a scene canvas. Objects are constructed from Java classes. Methods are presented as menus – to control the actions performed by objects Scratch – by MIT Create animated objects. The program uses a list of instructions to control the actions performed by objects Others – search the Internet Ohio Educational Technology Conference - January 2014

Visual logic Features Variables: non-typed numeric and string constants There is no variable declaration – variables are created at the point of use Constructs: Assignments Operators Arithmetic (+, -, *, /, Mod, ^), Comparison (<, >, …), Compound (AND, OR, …) Sequences Conditions: if-then-else Loops while, do-while, for – control of execution can be modified by the exit, continue clauses Arrays Procedures (a.k.a., modules): named set of instructions. Parameters: passed by value, passed by reference Do not return a value Ohio Educational Technology Conference - January 2014

Visual logic Features - Continued Functions FormatCurrency(), FormatPercent(), Round(), Random(), … There is no Wait()/Sleep()-equivalent function. Alternative: use a busy-do- nothing loop Input/Output Dialog boxes, Console, File Enforces Structured Programming – There is no GOTO instruction All programming structures have a single entry/exit point It is not possible to create spaghetti-code Ohio Educational Technology Conference - January 2014

Visual logic PITFALLS Variables are created at the point of use. When a variable identifier is misspelled, Visual Logic creates a new variable Example: Correctly spelled variable identifier: firstName. Misspelled variable identifier: fisrtName – Visual Logic creates the new variable identifier with a default zero (0) value Visual Logic does not enforce syntax – (justification: students learn logic better when focusing on the concepts – rather than syntax) It is possible to create an invalid comparison in comparison/loop statements: while (YES <> number) { … }, where YES stores the string constant “y”, and number is a numeric constant. The comparison evaluates as false – no syntax error, the loop does not execute An existing string variable can afterwards be assigned a numeric value Ohio Educational Technology Conference - January 2014

VISUAL LOGIC DEMONSTRATIONS Sequences Decisions Loops Arrays Parameterized Procedures Graphics Ohio Educational Technology Conference - January 2014

References Visual Logic http://www.visuallogic.org/ A Guide to Working with Visual Logic. Thad Crews & Chip Murphy. Course Technology – Cengage Learning. ISBN 978-0-324-60119-0 Alice http://www.alice.org/index.php Scratch http://www.scratch.mit.edu Ohio Educational Technology Conference - January 2014