1 / 20

AP Computer Science - A

AP Computer Science - A. Ms. Knudtzon September 7, 2005. Some of my Background. BS in Computer Science, Harvey Mudd College Software Engineer, The Aerospace Corporation MS in Computer Science, University of Maryland Taught a Data Structures class at Cal-State Los Angeles

valiant
Download Presentation

AP Computer Science - A

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AP Computer Science - A Ms. Knudtzon September 7, 2005

  2. Some of my Background • BS in Computer Science, Harvey Mudd College • Software Engineer, The Aerospace Corporation • MS in Computer Science, University of Maryland • Taught a Data Structures class at Cal-State Los Angeles • Last year, student average of 4.5 on APCS-A

  3. Administrative • Syllabus for the course (Handout) • Note: Final Project and Exam • Survey - please fill out • Course Web Site (Will be ready sometime this weekend) • Books: • Java Software Solutions (Lewis & Crofton) • Other books (I will be using) • Learning to Program with Alice (Dann, Cooper & Pausch) • Head First Java • Objects First with Java: A Practical Introduction Using BlueJ

  4. What I expect of you • Keep your notes organized (take notes in class) • Do any assigned reading • Do all the assignments • Including journals and abstracts • Have fun; do hard work • Let me know if the assignments are taking more than one hour a night • Come to me with questions, concerns, and ideas • Follow the lab rules • No cheating • But what’s cheating in CS?

  5. What you can expect of me • I will do my best to make class interesting • I will create interesting projects for the course • Please provide me feedback throughout the course • I will be a master learner • Teachers should be a model for learning in the classroom environment and facilitate the learning of others • I will be available for help • After school or by appointment • I will answer questions via email (Allow at least 8 hours for a response)

  6. Working on St. Albans computers • Storing your files (in your student folders on the server) • Organizing assignments and labs • Keep a folder for each homework or project • Software you will be using • Alice • BlueJ • Eclipse (mostly 2nd quarter) • Policies for homework submission • Submit assignments via email

  7. HW: Journal Assignment • Please write 1/2 -- 1 page journal about your goals for this semester in this class. Please include/consider: • Your background • Your interests • Your worries • What you are most excited about • This will be due Friday before class (by email) • You will meet with me to discuss these goals early next week

  8. Introduction to Programming Say you want to instruct someone to mark the corners of a rectangle (5x10 foot) fence or field • How would you explain exactly what to do? • How else can we explain how to do that? • What if we wanted to: • Make pb&j sandwiches for the entire school? • Average all the grades in a class?

  9. Why is this important • For a person to accomplish any task, they have to carry out a set of explicit steps • Computers are no different. You have to tell them step-by-step how to do what you want them to do • Computer Science, particularly programming, builds off of this simple model of providing short programs (series of steps) to complete tasks • As the complexity of the task increases, so does the complexity of the program required to complete it • However, even the most complex programs can be broken into a series of simpler programs

  10. Programming as Science • Programming is not easy and requires creativity • Can be hard for people to grasp at first exposure • Takes repetition and perseverance • Requires a unique way of thinking • Requires strong capability to think abstractly • You must be able to think both about how to • Break problems into small pieces, AND • Build a large program from smaller pieces • But… being able to think like this will serve you well in almost any future career field

  11. Learning Programming • 1st quarter we will start with Alice, a 3d programming environment for novices. Then I will introduce the Java programming language and some basic (and not so basic) programming techniques • 2nd quarter we will revisit some topics and build on them to make more substantial programs • So, don’t worry if things aren’t completely clear at first – it will all make sense more as we go along. By second semester, you won’t remember why you thought this first stuff was difficult!

  12. APCS-A: Intro Lecture 02 September 8, 2005

  13. Definition of Computer Science • CS involves the synthesis and analysis of: • Algorithms • Information representations • Information communication processes • Automated resource allocation methods • Languages for all of the above Robert Keller Harvey Mudd College

  14. Computer Science in general • What is computer science? • Is it programming? • Is that it? • What’s the role of hardware? Software? • What’s computer science research? • What are the social implications of computing? • What about ethics?

  15. Interdisciplinary Nature of CS “Ought computer science be a branch of mathematics? Of engineering? Of architecture? Of art? Of biology? Of sociology? Of philosophy? Alternatively, does it borrow techniques and approaches from all of these disciplines? I think so” Bjarne Stroustrup, The Design and Evolution of C++, 1994

  16. Interdisciplinary Nature of CS • Mathematics – discrete analysis, logic • Engineering – system design • Art – program construction • Psychology – interface construction • Philosophy – language design • Biology – genetic programming paradigms, bio-informatics • Architecture – large (and expensive) systems • Sociology – information sharing and security

  17. Alice: Concepts • Virtual World - Objects are the 3 dimensional things in the world • They have height, width & depth • Six Directions in the world (relative to the object’s internal orientation) • Up & down • Left & right • Forward & backward • Center of an object • It is NOT calculated - the artist decides when he/she creates the object - for some objects it is the center of mass • For people, the center is between their feet

  18. Alice: Concepts • Distance is measured from the center of the object • Position in the world is based on center of object • This affects placement of some objects

  19. Alice: Tutorials • You will do Tutorials 1 & 4 to get acquainted with the Alice environment • Tutorial 1 involves a simple ice-skating routine and introduces you to the Alice interface • Tutorial 4 shows you how to create your own 3d scenes to work with

  20. Alice Exploration • When you finish the tutorials, you will create your own animation to show the class • You will have the rest of today (after you finish the tutorials and half of the class tomorrow) • You are welcome to come to the lab after school today to add even more. • Don’t forget the journal assignment due tomorrow.

More Related