USING VISUAL LOGIC TO TEACH A FIRST COURSE IN PROGRAMMING LOGIC JORGE VALLEJOS – ASSISTANT PROFESSOR COMPUTER SCIENCE.

Slides:



Advertisements
Similar presentations
Intermediate Code Generation
Advertisements

Conditional statements and Boolean expressions. The if-statement in Java (1) The if-statement is a conditional statement The statement is executed only.
© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 4 – Introducing Algorithms, Pseudocode and.
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 4 Programming and Software EXCEL and MathCAD.
Introduction to Computers and Programming Lecture 5 New York University.
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
The Program Design Phases
Fundamentals of Python: From First Programs Through Data Structures
Your Interactive Guide to the Digital World Discovering Computers 2012.
Introduction to Programming Prof. Rommel Anthony Palomino Department of Computer Science and Information Technology Spring 2011.
Using Visual Logic To Teach A First Course In Programming Logic
INTRODUCTION TO PROGRAMMING STRUCTURE Chapter 4 1.
Simple Program Design Third Edition A Step-by-Step Approach
CIS Computer Programming Logic
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Chapter 4: The Selection Structure
1 Chapter 4: Selection Structures. In this chapter, you will learn about: – Selection criteria – The if-else statement – Nested if statements – The switch.
Lecture Set 5 Control Structures Part A - Decisions Structures.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
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.
Hello.java Program Output 1 public class Hello { 2 public static void main( String [] args ) 3 { 4 System.out.println( “Hello!" ); 5 } // end method main.
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.
Visual Basic Programming
ALGORITHM List of instructions for carrying out some process step by step. A sequence of instructions which has a clear meaning and can performed with.
Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 3 Variables, Constants, Methods, and Calculations.
Chapter 2: General Problem Solving Concepts
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
XP Tutorial 10New Perspectives on HTML and XHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial.
Chapter 5: More on the Selection Structure
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?
CSE 190p wrapup Michael Ernst CSE 190p University of Washington.
Higher Computing Science 2016 Prelim Revision. Topics to revise Computational Constructs parameter passing (value and reference, formal and actual) sub-programs/routines,
Controlling Program Flow with Decision Structures.
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Tevfik Bultan Lecture 4: Introduction to C: Control Flow.
Overview of Compilation Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Principles Lecture 2.
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.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
C++ for Engineers and Scientists Second Edition Chapter 4 Selection Structures.
PRE-AP computer science 1
CSCI-235 Micro-Computer Applications
CSC 221: Computer Programming I Spring 2010
CSC 221: Computer Programming I Fall 2005
Chapter 2- Visual Basic Schneider
The Selection Structure
Computer Programming.
Chapter 10 Programming Fundamentals with JavaScript
Unit# 9: Computer Program Development
Program Design Introduction to Computer Programming By:
CSC Classes Required for TCC CS Degree
Chapter 2- Visual Basic Schneider
Chapter 2- Visual Basic Schneider
ICT Gaming Lesson 2.
Basic Concepts of Algorithm
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
Presentation transcript:

USING VISUAL LOGIC TO TEACH A FIRST COURSE IN PROGRAMMING LOGIC JORGE VALLEJOS – ASSISTANT PROFESSOR 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 understand, analyze and solve 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

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

TOOLS FOR A FIRST COURSE IN PROGRAMMING LOGIC Visual Logic Creates visual/runnable representation of algorithms in flowchart format. The program does not use formal programming-language instructions – like Java, C#, or other programming languages Alice/Alice3 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 Creates animated objects. The program provides a list of instructions to control the actions performed by objects Other Tools – Search the Internet OHIO EDUCATIONAL TECHNOLOGY CONFERENCE - JANUARY

VISUAL LOGIC FEATURES Variables: store non-typed numeric and string constants There is no variable declaration – variables are created at the point of use Variable Scope: Global, Local Constructs: Operators Arithmetic (+, -, *, /, Mod, ^), Comparison (, …), Compound (AND, OR, …) Assignment (=) Sequences Conditions: if-then-else Loops while, do-while, for – Control of execution can be modified with 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

VISUAL LOGIC FEATURES - CONTINUED Functions FormatCurrency(), FormatPercent(), Round(), Random(), … There is no Wait()/Sleep()-equivalent function. Alternative: to temporarily suspend the execution of instructions, create a busy-do-nothing loop – keeping the CPU busy for a while 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

VISUAL LOGIC PITFALLS Variables are created at the point of use. Visual Logic creates a new variable for a misspelled variable identifier Example: firstName – Correctly spelled variable identifier fisrtName – Misspelled variable identifier. Visual Logic creates the new variable identifier with a default value zero (0) Visual Logic does not enforce data types – (justification: students learn logic better when focusing on the concepts – rather than syntax) It is possible to create invalid Boolean expressions in comparison/loop statements: while (YES <> number) { … } where YES stores the string constant “y”, and number stores a numeric constant The Boolean expression evaluates as false – no syntax error, the loop-body does not execute A variable initially assigned a string value can be assigned a numeric value in a subsequent instruction OHIO EDUCATIONAL TECHNOLOGY CONFERENCE - JANUARY

VISUAL LOGIC DEMONSTRATIONS Sequences Decisions Loops Arrays Parameterized Procedures Graphics OHIO EDUCATIONAL TECHNOLOGY CONFERENCE - JANUARY

CONCLUSIONS/EXPERIENCES The CSCC Computer Science Department has been using Visual Logic for the last three years. The program has been favorably received by CSCC students, and transfer students from other colleges/universities The student can verify the logic of her/his algorithm – the outputs generated by the program can be compared against a set of expected outputs Programs can be easily created – by combining the Visual Logic instruction shapes Visual Logic is used in a basic programming logic course – taken by Computer Science students pursuing different degrees (not just future programmers) The program is used to implement: Arithmetic algorithms Simulation of events – e.g., execute logically organized activities when troubleshooting failures in hardware/software Basic graphical animations OHIO EDUCATIONAL TECHNOLOGY CONFERENCE - JANUARY

CONCLUSIONS/EXPERIENCES - CONTINUED Instructors must demonstrate how to avoid the Visual Logic pitfalls Create examples to eliminate logic/(syntax) faults caused by the Visual Logic non-typed variables Demonstrate the Visual Logic debugging capabilities Create breakpoints, step into, step over, pause, run, … List the variables defined within the scope of procedures – find misspelled variables, local variables obscuring global variables OHIO EDUCATIONAL TECHNOLOGY CONFERENCE - JANUARY

REFERENCES Visual Logic – download the Visual Logic executable program Each student must buy a Visual Logic access code – gives right to use the executable program Companion book: A Guide to Working with Visual Logic. Thad Crews & Chip Murphy. Course Technology – Cengage Learning. ISBN Alice Scratch OHIO EDUCATIONAL TECHNOLOGY CONFERENCE - JANUARY