1 Course Summary Spring 2007 CS 101 Aaron Bloomfield.

Slides:



Advertisements
Similar presentations
Intro to CIT 594
Advertisements

College Algebra Course Redesign Southeast Missouri State University.
Course Logistics How to organize a statistical computing class?
CS2110: Software Development Methods
1 CS101 Introduction to Computing Lecture 23 Flow Control & Loops (Web Development Lecture 8)
COMP171 Data Structure & Algorithm Tutorial 1 TA: M.Y.Chan.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
CS503: Tenth Lecture, Fall 2008 Review Michael Barnathan.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
CSE 115 / 503 Introduction to Computer Science For Majors I Carl Alphonce 219 Bell Hall.
CS3 Fall 2005 Lecture week 15. Administrivia The final survey will be up tomorrow: –you NEED to do this to receive a grade on your project! Final: –Saturday,
1 Learning Statistics Your goals and beliefs about learning statistics are directly related to your grade in STT 215.
CS211: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Piazza – Textbook Highlight important.
Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 1 1.
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
Long-term Evolution of AP® CS A Renee Ciezki SIGCSE 2013.
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?
Introduction COMP104: Fundamentals and Methodology.
CS110/CS119 Introduction to Computing (Java)
Introduction CSE 1310 – Introduction to Computers and Programming
Recitation Week #1 Chem Queens College Spring 2010.
CS 101 Daily Announcements. Monday, 29 August 2005 Everybody should register for a lab section My first screw-up: –The final exam is on a Tuesday, 13.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
EECE 310 Software Engineering Lecture 0: Course Orientation.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
An analysis of exam results in the Object-Oriented Programming course at „Politehnica” University of Timisoara Ioan Jurca.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CS 101 Today’s class will start 5 minutes late. CS 101 Introduction to Computer Science Aaron Bloomfield University of Virginia Spring 2007.
CSCE 1040 Computer Science 2 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Introduction to Data Structures
CS 101 Today’s class will start 5 minutes late (and we’ll be talking about lab scheduling problems then)
Course Introduction CSE250. Course Overview This course will be difficult Work hard and start early You are adults and I will treat you as such – I won’t.
1 [Oh dear! We need to update our graphic!] Introduction to Computer Science Fall 2009 Tom Horton.
Making Decisions uCode: October Review What are the differences between: o BlueJ o Java Computer objects represent some thing or idea in the real.
Ministry of Higher Education Sohar College of Applied Sciences IT department Comp Introduction to Programming Using C++ Fall, 2011.
C++ and Ubuntu Linux Review and Practice CS 244 Brent M. Dingle, Ph.D. Game Design and Development Program Department of Mathematics, Statistics, and.
1 Daily Announcements CS 202, Spring 2007 Aaron Bloomfield.
What to expect or Now that I have gotten used to Prof. Fitzpatrick, here is this new guy with his weird foreign accent…
1 Course Summary Fall 2005 CS 101 Aaron Bloomfield.
University of Limerick1 Computer Applications CS 4815 Robocode.
Welcome to PHY2049 Physics for Engineers and Scientists II Dr. Bindell.
Daily announcements CS 101 Spring 2007 Aaron Bloomfield.
How Can I Manage My Time Better?. How Do You Spend Your Day??? school work, job, sports, clubs, hanging out with friends, watching tv, eating, sleeping,
Intro to CIT 594
CSCE 1030 Computer Science 1 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
1 CS 101 Today’s class will begin about 5 minutes late We will discuss the lab scheduling problems once class starts.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Data Structures and Algorithms in Java AlaaEddin 2012.
Classic Connections: Innovative Methods for Making Education Work.
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
Introduction to the course Aug 30, Day 1 Object-oriented Programming thru Video Games TIDE 1840 Harry Howard Tulane University.
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Introduction to PAD2 Dr. Mark C. Lewis
CSc 020: Programming Concepts and Methodology II
CSC 221: Computer Programming I Spring 2010
It’s called “wifi”! Source: Somewhere on the Internet!
CSC 221: Computer Programming I Fall 2005
September 27 – Course introductions; Adts; Stacks and Queues
Introduction CSE 1310 – Introduction to Computers and Programming
Programming COMP104: Fundamentals and Methodology Introduction.
Introduction.
Course Summary Fall 2006 CS 101 Aaron Bloomfield
Computer Programming 1 introduction to JAVA Lecture 1 Instructor: Ruba A. Salamah Islamic University of Gaza.
Course Overview CS 4640 Programming Languages for Web Applications
Homework Reading Machine Projects Labs
CS114B Introduction to Computer Science II
Course Overview CS 4640 Programming Languages for Web Applications
Agenda for Unit 8: Defining Arrays in Game Programs
Presentation transcript:

1 Course Summary Spring 2007 CS 101 Aaron Bloomfield

2 Course Reflection

3 Course goals  Objectives: Students who complete the course will: Understand fundamentals of programming such as variables, conditional and iterative execution, methods, etc. Understand fundamentals of object-oriented programming in Java, including defining classes, invoking methods, using class libraries, etc. Be aware of the important topics and principles of software development. Have the ability to write a computer program to solve specified problems. Be able to use the Java SDK environment to create, debug and run simple Java programs.

4 Unstated course goals  Everybody needs to have a “base” level of programming to continue on in the CS courses (or as required by other departments) CS 101 and 201 provide that “base” level

5 What was new this semester  Each of the homeworks and exams are always new each semester Because of the ‘fraternity file’ effect  The course project A new one was developed for this semester  Some things that were improved upon from last fall: Videos of lectures Clicker response system Using cs101  Different textbook than last semester  Only 1 grad TA, so most tasks that are usually done by grad TAs (such as running labs) were done by undergrad TAs

6 What didn’t work this semester  Clickers! Although they did work better than last semester I still think that they can greatly help a large course, if they work  Grading The big problem was HW 7 – it got delayed a long time, and caused a domino effect  The course project A good idea, but in hindsight, we didn’t implement it as well as we should have  Want to lower the amount of student frustration  Some humor that seemed not so appropriate after the VT shootings, so I didn’t show them

7 What did work this semester  Videos of lectures  Clickers, sort of  Using cs101  The new textbook Students liked it much better than the one used in the past  The assignments ideas were more creative than in the past  Keeping a class of 360 students moving is not a trivial task  Many things that were “behind the scenes” TA organization and utilization Grading system Me delegating the work better to the TAs  The class size was smaller (!) “Only” 263, vs. 415 two years ago

8 Did I push too hard this semester?  I pushed the class hard this semester  But did I push too hard?  Consider: I’ve gotten more “things are going great, but hard” comments than I have “things are too hard” comments (anecdotal) Homeworks took about 6 hours, on average  The results from the survey questions for each HW There were 10 HWs over about 15 weeks  That’s about 4 hours (on average) on homeworks per week  From lab 12, This course required 6.7 hours per week outside of lectures Other courses required 7.0 hours  I’m interested in your feedback on this! But not today in lecture… Please send (anonymous or not) if you have comments…

9 The Big OOP Picture

10 The classes for the game  Control (hw 10)  Depot (hw 8)  Descriptions (lab 10)  Game (all assignments)  Inventory (hw 8)  Location (hw 7)  Map (hw 10)  MapPrinter (lab 11)  Parser (lab 9)  Party (hw 9)  Person (hw 7)  Vehicle (hw 9)

11 How a big OOP program interacts  Note how the classes interacted in the game  A lot of objects were created and manipulated A Location for each spot in the Map grid Depots possible in each Location Etc.  The way this game has objects interacting is how a big OOP program would work

12 Map - map: - … - populate() - getLocation() - … Vehicle - location - party - inventory - … Location - app = “arid” - depot - … Inventory - money = food = ammo = oxen = … Location - app = “cloudy” - depot - … Location - app = “rocky” - depot - … map Location - app = “sunny” - depot - … player Party - size = 3 - party -… Depot - name = “FortX” - location - costFactor = inventory -… Inventory - money = food = ammo = oxen = … Depot - name = “FortX” - location - costFactor = inventory -… Inventory - money = food = ammo = 17 - oxen = 12 - … Classes w/only static methods: Control, Descriptions Game, MapPrinter, Parser Vehicle player = new Vehicle (const); player.setLocation (map.getLocation (const, const)); Map map = new Map(); map.populate(); Person - name = “Chris” - health = 10 - isAlive = true - … Person - name = “Chris” - health = 10 - isAlive = true - … Person - name = “Chris” - health = 10 - isAlive = true - …

13 Problem solving  To solve a problem in CS, you break it down into smaller and smaller pieces…  A big program is broken down into packages Which we haven’t really seen yet Consider the game to be one package  The packages are broken down into hierarchies This uses inheritance Our game didn’t use a hierarchy, as you did not know of inheritance at that point  The hierarchies are broken down into classes The game had 12 classes  Each class is broken down into methods and variables Some (such as MapPrinter) only had a few; others (such as Location) had lots  Each method is broken down into parts, etc.

14 The completed game  This could easily be made by multiple people Each person does a separate class Not exactly equal, but it still lowers the workload  Our (fully commented) code for the game was well over 1,000 lines Granted, we had very long comments  However long yours was, it was a about a 1,000 line program Even if you had trouble getting parts working, and had to use our code You still wrote all the parts, and saw how they interacted with the rest of the system

15 Have a great summer break!