Microlabs in Computer Science

Slides:



Advertisements
Similar presentations
Introduction CSCI102 - Systems ITCS905 - Systems MCS Systems.
Advertisements

Learning and Teaching Conference 2012 Skill integration for students through in-class feedback and continuous assessment. Konstantinos Dimopoulos City.
Using CourseCompass Features You must already be registered or enrolled in a current class.
Clarke, R. J (2001) L909-01: 1 Office Automation & Intranets BUSS 909 Tutorial n Links in NetObjects.
Using MyMathLab Features You must already be registered or enrolled in a current class.
Using CourseCompass Features You must already be registered or enrolled in a current class.
Improving Learning via Tablet-PC-based In-Class Assessment Kimberle Koile, MIT CS and AI Lab David Singer, MIT Brain & Cognitive Sciences Classroom Presenter.
Introduction to Statistics for the Social Sciences SBS200, COMM200, GEOG200, PA200, POL200, or SOC200 Lecture Section 001, Fall, 2014 Room 120 Integrated.
Evaluation and analysis of the application of interactive digital resources in a blended-learning methodology for a computer networks subject F.A. Candelas,
The TEAK Project 1 TEAK/TA Teaching Workshop Session 1: Introduction and Classroom Management Dr. Elizabeth DeBartolo, Mechanical Engineering Dr. Margaret.
Chapter 1 What is Programming? Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
Course ‘Data structures and algorithms – using Java’ Teaching materials and presentation experience Anastas Misev Institute of Informatics Faculty of Natural.
Instructors begin using McGraw-Hill’s Homework Manager by creating a unique class Web site in the system. The Class Homepage becomes the entry point for.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
Alessio Peluso 1 Critical evaluation of the module ‘Introduction to Engineering Thermo Fluid Dynamics’ First Steps in Learning and Teaching in Higher Education.
February 8, 2006copyright Thomas Pole , all rights reserved 1 Lecture 3: Reusable Software Packaging: Source Code and Text Chapter 2: Dealing.
 We need to make certain that you intelligent young people are ready to conquer the technological advances in course prep for classes beyond East… 
Carleton.ca/capture cap·ture / ˈ kapCHər/ verb 1.to record your computer screen and audio narration, then post online. synonyms screen cast/capture/recording,
Lecture1 Instructor: Amal Hussain ALshardy. Introduce students to the basics of writing software programs including variables, types, arrays, control.
CS 161 Introduction to Computer Science I Winter, 2014: 112 Spring, 2014: 131 Summer, 2014: 132.
4 - Conditional Control Structures CHAPTER 4. Introduction A Program is usually not limited to a linear sequence of instructions. In real life, a programme.
1 Structured Programming Arab Academy for Science and Technology CC112 Dr. Sherif Mohamed Tawfik The Course.
Lesson 3 Functions. Lesson 3 Functions are declared with function. For example, to calculate the cube of a number function function name (parameters)
In this session you will: Learn how to use the Web Automated Grading System (WAGS) – Register your students – Assign microlabs and monitor student progress.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Advanced Programing practices
SKMM1013 Programming for Engineers
More About Objects and Methods
Computer Engineering Department Islamic University of Gaza
ECE Application Programming
Software Engineering--Introduction
3.1 Fundamentals of algorithms
CSC207 Fall 2016.
IST256 : Applications Programming for Information Systems
Lecture 1 Introduction Richard Gesick.
It’s called “wifi”! Source: Somewhere on the Internet!
Information Systems in Organizations Introduction instructor’s name
EECE 315: Operating Systems
Using MyMathLab Features
Microlabs in Computer Science
Building Engagement in Course Evaluation
Welcome to CS 1010! Algorithmic Problem Solving.
IPC144 Introduction to Programming Using C Week 2 – Lesson 1
Information Systems in Organizations Introduction instructor’s name
Welcome to CS 1010! Algorithmic Problem Solving.
CS 1302 Programming Principles II
Introduction to Computer Programming
Dr. Clincy Professor of CS
CSC2310 Principles of Computer Programming
Introduction to Object-Oriented Programming with Java--Wu
CDA 3100 Spring 2010.
During the last lecture we had a discussion on Data Types, Variables & Operators
Introduction to Programming Using C++
Computer Science A Level
Installing the BDI2 Mobile Data Solution (MDS)
Accelerated Introduction to Computer Science
Designing a Method and Test Program
Using CourseCompass Features
Teaching with angr: A Symbolic Execution Curriculum and CTF
eSFQ for Subject: [Sub code Sub name] Staff member: [Staff name]
Data Structures & Algorithms
Computer Engineering Department Islamic University of Gaza
Homework Reading Machine Projects Labs
Review of Previous Lesson
IPC144 Introduction to Programming Using C Week 2 – Lesson 2
Lecture 17 – Practice Exercises 3
Lecture 17 – Practice Exercise 3 SOLUTIONS
Welcome to Flex website instructions
Presentation transcript:

Microlabs in Computer Science ICER 2015 Workshop Barry L Kurtz Ahmad Esmaili Appalachian State Stony Brook University kurtzbl@appstate.edu esmaili@cs.stonybrook.edu

Introductions Let’s go around the room so everyone can introduce him/herself. Please tell us: Your name Your university or school What courses you frequently teach

Workshop Agenda Introduction to Microlabs Share your experience of completing both logical microlabs and code magnet microlabs Introduction to the Web Automated Grading System (WAGS) After workshop activities and our Honorarium Program Design your own code magnet method and test program Implement your own code magnet lab

Support for Microlab Development The development of microlabs has been supported by several NSF grants: Innovative Active Learning Using Tablets (DUE 1323178) Transforming Computer Science Education with Microlabs (DUE 1122752) Developing Software and Methodologies for eBook/Browsers to Enhance Learning (DUE 1044572)

Types of Microlabs Logical Microlabs Code Magnet Microlabs Students solve a conceptual problem by arranging icons on a screen to represent a solution Typically last 5-10 minutes, can be done in lecture Code Magnet Microlabs Students construct a method by arranging code magnets; some magnets may not be used Advanced Code Magnet Microlabs Students must first create their own magnets and then arrange them to construct a method More challenging, best done outside of lecture Microlabs can be completed on desktops, laptops, tablets, and mobile devices

Characteristics of a Logical Microlab Students solve a conceptual problem by arranging icons on a screen, such as building a binary tree Typically there are 3 or 4 variations, each with different data There is no coding involved in solutions Students can attempt the same lab multiple times using guided feedback to discover a solution If not completed during class, students are given additional time to complete outside of class They are the most popular type of microlab

Logical Microlab Demonstration Students must arrange an array of integers into negative numbers followed by positive numbers The students must must move a left index to the right and a right index to the left making exchanges as required Only one pass through the data is allowed There are four variations of the problem Watch as James Corsi solves this problem

Characteristics of a Code Magnet Lab Students construct a method by arranging given code magnets inside the method Magnets can be nested inside control structures There may be extra magnets not used, such as a <= comparison versus a < comparison The student code is compiled and subjected to unit testing; feedback guides the student toward a correct solution If not completed during class, students are given additional time to complete outside of class

Code Magnet Demonstration This code magnet lab solves the same problem as the logical lab already demonstrated: partition an array of integers into negatives then positives In this first version, all the code magnets are used Unit tests provide feedback to guide the student towards a correct solution Watch as Tim Ransom solves this problem

The Same Lab with Alternative Magnets All the magnets in the previous lab were used It can be more challenging if some alternative magnets are present making the student select the correct magnet

Characteristics of Advanced Magnets Students first build some of the needed magnets Magnet builders may exist for while, if, for control structures and assignment and return statements Some magnets may be given as standard magnets Both types of magnets are then used to build the desired method or methods Code magnet labs with advanced magnets are more challenging than standard magnets Typically they would be completed outside of lecture The testing is the same as standard magnets Submissions can be repeated until correct

Advanced Code Magnet Demonstration This advanced magnet lab solves the same problem as the standard magnet lab already demonstrated: partition an array of integers into negatives then positives Some magnets can be built that are not needed in the solution The developer specifies the number of magnets for each type; unused magnets can be discarded Watch as Dakota Murray solves this problem

Experiencing Code Magnet Labs Login at www.cs.appstate.edu/wags (use guest) Try using logical microlabs Try using code magnet labs with standard magnets and with advanced magnets Report on your experiences What was the level of challenge? How long would it take a student to complete the lab? Could there be a related programming assignment? How could long term retention be measured on an exam?