Introduction to the course Computer Programming through Robotics CPST 410 Summer 2009.

Slides:



Advertisements
Similar presentations
Course Overview CSE8313 Object-Oriented Analysis and Design Spring 2015 Dr. LiGuo Huang Dept. of Computer Science and Engineering Southern Methodist University.
Advertisements

INTRODUCTION TO THE COURSE AUG. 26, DAY 1 Brain & Language LING 4110/4890/5110/7960? NSCI 4110/4891/6110 Fall 2013.
Introduction Day 1 COLQ 201 Multiagent modeling Harry Howard Tulane University.
More switches Day 6 Computer Programming through Robotics CPST 410 Summer 2009.
CS – 600 Introduction to Computer Science Prof. Angela Guercio Spring 2008.
MIS 470: Information Systems Project Yong Choi School of Business Administration CSU, Bakersfield.
Using MyMathLab Features You must already be registered or enrolled in a current MyMathLab class in order to use MyMathLab. If you are not registered or.
Introduction to Programming Environments for Secondary Education CS 1140 Dr. Ben Schafer Department of Computer Science.
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Encapsulation Day 11 Computer Programming through Robotics CPST 410 Summer 2009.
ST-CS Introduction to Web Interface Design Fall 2010 Dr. Angela Guercio ( Course Web.
1 HCC Brandon Independent Study Orientation Power Point Instructor: Tiffany Cantrell.
Introduction to Programming Summer 2010 Akil M. Merchant.
MAT 0145 College Readiness Math II Spring 2015
Welcome to CS 3260 Dennis A. Fairclough. Overview Course Canvas Web Site Course Materials Lab Assignments Homework Grading Exams Withdrawing from Class.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
Online Orientation Professor: María L. Villagómez Contact Information: Office: BLDG. 800 (874) Telephone#:
Syllabus and Class Policies MATH 130: Summer 2014.
Course name : computer essentials. Instructor: Basma Alabdullatif Office: computer department instructors office, 1st floor Office hours: Saturday (11:00-01:00)
How to be an online student. How does it work? An online course follows a schedule and syllabus with due dates for assignments (just like an on-campus.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Software Requirements Southern Methodist University CSE 5316/7316.
CST 229 Introduction to Grammars Dr. Sherry Yang Room 213 (503)
Prof. Barbara Bernal NEW Office in J 126 Office Hours: M 4pm - 5:30 PM Class Lecture: M 6 PM - 8:30 in J133 Weekly Web Lecture between Tuesday to Sunday.
More switches, Comparison Day 7 Computer Programming through Robotics CPST 410 Summer 2009.
1 Object Oriented Design COP 3331 Spring 2011 MWF 11:50 AM – 12:40 PM CHE 103 Instructor:Dr. Rollins Turner Dept. of Computer Science and Engineering ENB.
CS1201: Programming Language 2 C++(Course Introduction) Level 2 Nouf Aljaffan 1 st Term Nouf Aljaffan (C) CSC 1201 Course at KSU.
1 Software Systems Development CEN Spring 2011 TR 12:30 PM – 1:45 PM ENB 116 Instructor:Dr. Rollins Turner Dept. of Computer Science and Engineering.
CS 23021–600 Computer Science I Dr. Angela Guercio Spring 2010.
English Language Arts Introduction Instructor: Ms Nakaska-Adolf.
Online Orientation Professor: María L. Villagómez Contact Information: Office: BLDG (1031U) Telephone#:
ECE 1100: Introduction to Electrical and Computer Engineering Wanda Wosik Associate Professor, ECE Dept. Notes 1 Spring 2011 Slides adapted from lectures.
Welcome to Algebra CD!! Please put the following info on your index card. (that you like to be called)
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
1 Test Next Period Summer 3, 2015 Final Examination.
IPC144 An Introduction to Programming Using C. Instructor Murray Saul Office: Rm –Office hours are posted on my IPC144 web page or on bulletin board.
The LOGIC and MATH blocks Day 9 Computer Programming through Robotics CPST 410 Summer 2009.
ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Technical Orientation Summer Technical Orientation Session starts at 2:00 pm – We’ll be online shortly – Speaker test starts about 1:45 pm To ask.
INTRODUCTION TO THE COURSE DAY 1 LING 3820 & 6820 Natural Language Processing Harry Howard Tulane University.
Conditions and loops Day 4 Computer Programming through Robotics CPST 410 Summer 2009.
Lego MindStorm An Introduction to Blocks. Blocks Blocks are used to give instructions to your robot. There are many types of blocks You can use the blocks.
Instructor: Basma Alabdullatif Office: Preparatory Year instructors office, 1st floor Office hours: sat(11-1), sun(11-1)
CSE 1105 Week 1 CSE 1105 Introduction to Computer Science & Engineering Time: Wed 4:00 – 4:50 Thurs 9:30 – 10:20 Thurs 4:00 – 4:50 Place: 100 Nedderman.
COP4610/CGS5765 Operating Systems Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: W M F 9:10am – 10:00am, or by appointments.
Mgmt 371 Principles Management Course Introduction August 2008.
CS Introduction to Computer Science Spring 2011 Dr. Angela Guercio (
Online Orientation Instructor: María L. Villagómez Contact Information: Office: BLDG. 800 (874) Telephone#:
Course Overview CSE5319/7319 Software Architecture and Design Spring 2016 Dr. LiGuo Huang Dept. of Computer Science and Engineering Southern Methodist.
Introduction to Programming Welcome to Our Class.
MIS 610: Seminar in Information Systems Management Yong Choi School of Business Administration CSU, Bakersfield.
Course Overview CSE 8340 Advanced Software Engineering Topics: Software Engineering Economics & Processes Spring 2016 Dr. LiGuo Huang Dept. of Computer.
ANGEL Penn State’s Course Management System Created by PSY Office of C&IS.
Introduction to the course Aug 30, Day 1 Object-oriented Programming thru Video Games TIDE 1840 Harry Howard Tulane University.
INTE 290 Summer 2015.
Andy Wang Object Oriented Programming in C++ COP 3330
CIS5930 Software Defined Networking
CSC 135 section 60 or CSC Fall 2017.
Course Information Mark Stanovich Principles of Operating Systems
Course Overview CSE8313 Object-Oriented Analysis and Design
Computer Science 102 Data Structures CSCI-UA
Using MyMathLab Features
Andy Wang Object Oriented Programming in C++ COP 3330
Introduction to the course Day 1
Spanish 120, 110, and 111, Elementary Spanish I
CIS5930: Advanced Topics in Parallel and Distributed Systems
Course Overview CSE5319/7319 Software Architecture and Design
Presentation transcript:

Introduction to the course Computer Programming through Robotics CPST 410 Summer 2009

6/29/09Harry Howard, CPST 410, Tulane University2 Contact  Prof. Harry Howard  howard at tulane dot edu  (voice mail 24 hours a day)  Newcomb Hall 322-D  Office hours: right before class & by appointment (the link goes to my home page, which displays my Google calendar)by appointment  Course home page ( Course home page

6/29/09Harry Howard, CPST 410, Tulane University3 Show of hands  Who are the beginners?  Who are the continuing students?  You can do both.

6/29/09Harry Howard, CPST 410, Tulane University4 Goals - beginners  The goal of this course is to introduce you to the principles of computer programming by programming a small mobile robot.  We use the Lego Mindstorms NXT robot, v  This course will gravitate towards my interests in linguistics and cognitive science.

6/29/09Harry Howard, CPST 410, Tulane University5 Goals - beginners, cont.  However, it is an introduction and does not require any knowledge of computer programming, robotics, cognitive science, or linguistics.  It satisfies the formal discipline requirements for the Cognitive Studies (CGST) major.

6/29/09Harry Howard, CPST 410, Tulane University6 Objectives  For you to demonstrate your understanding of computer programming, you will perform the following tasks:  turn in a daily project,  turn in a final project by the final-exam day,  perhaps come to class.

6/29/09Harry Howard, CPST 410, Tulane University7 Objectives: weekly project  Turn in a project every day except the first & second  No project can be accepted late  10 * 7.5% = 75%  Even though these look like a lot of small grades  If you know ahead of time that you will miss a project, send me an and I will excuse you with no penalty.

6/29/09Harry Howard, CPST 410, Tulane University8 Objectives: final project  Turn in a final project by the final exam day (Aug 10). This may be a group effort, but the entire group will receive the same grade. [25%]

6/29/09Harry Howard, CPST 410, Tulane University9 Objectives: class participation  Note that there is no credit for class participation.  I will post my PowerPoint presentation to the class website after each class (my presentations are ugly so that you can print them easily).  I am recording myself and will post an mp3 (i.e. podcast) to the class website after each class.  So you don't have to come to class, if you can turn in the daily project somehow.  In any event, I will change any high X– into a Y+ if I notice you participating in class

6/29/09Harry Howard, CPST 410, Tulane University10 Code of Academic Integrity  “The integrity of Newcomb-Tulane College is based on the absolute honesty of the entire community in all academic endeavors. As part of the Tulane University community, students have certain responsibilities regarding work that forms the basis for the evaluation of their academic achievement. Students are expected to be familiar with these responsibilities at all times. No member of the university community should tolerate any form of academic dishonesty, because the scholarly community of the university depends on the willingness of both instructors and students to uphold the Code of Academic Conduct. When a violation of the Code of Academic Conduct is observed it is the duty of every member of the academic community who has evidence of the violation to take action. Students should take steps to uphold the code by reporting any suspected offense to the instructor or the associate dean of the college. Students should under no circumstances tolerate any form of academic dishonesty.”  For further information, point your browser at

6/29/09Harry Howard, CPST 410, Tulane University11 Students with disabilities  Students with disabilities who need academic accommodation should:  Contact and register with the Office of Disability Services (ODS). For more information, visit the ODS website at  Bring official notice to me from the ODS indicating that you need academic accommodation. This should be done before the first project.

6/29/09Harry Howard, CPST 410, Tulane University12 Readings  Textbooks  Beginners:  LEGO Mindstorms NXT-G Programming Guide by James Floyd Kelly (~$17)  LEGO Mindstorms NXT Power Programming: Robotics in C by John C. Hansen (~$22) Advanced  None, as of right now  Other readings: There may be supplementary readings, distributed as pdf files on Blackboard.

6/29/09Harry Howard, CPST 410, Tulane University13 Schedule of assignments  See handout or website for details of the schedule.website  Any changes to the schedule will be made to the website. website  I have never taught on this schedule before, so I do not know whether the syllabus is too fast or too slow. We will figure that out as we go.

6/29/09Harry Howard, CPST 410, Tulane University14 Odds and ends  We will cover pages a day, though Hansen's book is much denser than Kelly's

6/29/09Harry Howard, CPST 410, Tulane University15 Continuing students  Goals  To practice and expand on what you know  Objectives:  Turn in a final project by the final exam day (May 6). This may be a group effort, but the entire group will receive the same grade. [100%]

6/29/09Harry Howard, CPST 410, Tulane University16 Special for today  If you prefer to use an address other than your Tulane one, please me a message to that effect.

6/29/09Harry Howard, CPST 410, Tulane University17 Go over roster  And pass around sign-up sheet & camera.

Robots and programs Kelly §1

6/29/09Harry Howard, CPST 410, Tulane University19 What is a robot?  Kelly's definition  A robot is a device that is built to INDEPENDENTLY perform actions and interact with its surroundings. (p.1)  More generally, such things are divided into  autonomous robots  non-autonomous or remote-controlled robots  Autonomy is much more interesting and is what we are interested in

6/29/09Harry Howard, CPST 410, Tulane University20 What is a program?  Kelly's definition  A program is a set of instructions for a robot.  Programming is what you do when you create a program.  Robots, and computers in general, are DUMB!  Their instructions have to be extremely explicit

6/29/09Harry Howard, CPST 410, Tulane University21 The MINDSTORMS NXT application  The MINDSTORMS NXT application is the tool that you will use to create instructions for your robot  Version 1.1 is the most recent  The CDs that came with the boxes are v. 1  There are two flavors, the regular one (in the big cardboard boxes), and the educational one (in the plastic bins).  I want you to all install the educational flavor, which has the Robot Educator

6/29/09Harry Howard, CPST 410, Tulane University22 NXT-G  NXT-G is the programming language that the MINDSTORMS NXT application uses  Like I said the first day, it is a graphical language, which means that you build a program by inserting icons and moving them around  Most other languages are based on text, like the (not quite) C language we will use later on

Program structure Kelly §2

6/29/09Harry Howard, CPST 410, Tulane University24 Pseudo code  Before writing a program in the way that the robot understands, we will sketch what we want it to do in a way that people understand  Kelly calls this a 'fake program' but the technical term is pseudo-code.

6/29/09Harry Howard, CPST 410, Tulane University25 One example of pseudo-code  SPOT, move forward about 10 inches, turn left 90 degrees, and start moving forward, then start looking for a black object with your ultrasonic sensor, because I want you to stop when you find a black object, then turn right 90 degrees, and move backward 2 feet, OK? (Kelly, p. 8)  What is good or bad about this example

6/29/09Harry Howard, CPST 410, Tulane University26 A different phrasing of the pseudo-code example  SPOT, move forward about 10 inches and stop  Now turn left 90 degrees  Start moving forward, and turn on your ultrasonic sensor,  Stop when you find a black object  Turn right 90 degrees and stop.  Move backward 2 feet and stop. What is good or bad about this example?

6/29/09Harry Howard, CPST 410, Tulane University27 Pseudo and real code  The main advantage of the second phrasing is that we can match up the commands in each line to elements in the programming language  In NXT-G, these elements are called blocks.

6/29/09Harry Howard, CPST 410, Tulane University28 Test the robot!  Put in 6 batteries and see whether it starts up  Play with right and left buttons  To shut down  Go back to 'My files'  Press dark grey button  Press orange button for check mark

6/29/09Harry Howard, CPST 410, Tulane University29 Next time  Finish Tribot  NXT introduction  Movement, 'Going the Distance'  Kelly §1-4, 24  Bring your laptops!