1 CSC 221: Computer Programming I Fall 2005 See online syllabus (also accessible via Blackboard): 

Slides:



Advertisements
Similar presentations
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Advertisements

Welcome to CPCS 214 Computer Organization & Architecture Fall 2011 Muhammad Al-Hashimi Media clips are from the MS Office clip art collection copyright.
1 CSC 421: Algorithm Design & Analysis Spring 2013 See online syllabus: (also on BlueLine2) Course.
Object-Oriented Analysis and Design
Introduction to Computer Science CS 21a: Introduction to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
1 CSC 221: Computer Programming I Fall 2006 See online syllabus (also accessible via Blackboard): Course goals:  To develop.
Introduction To System Analysis and Design
This set of slides is provided by the author of the textbook1 Introductory Topics l Computer Programming l Programming Life-Cycle Phases l Creating an.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
CO320 Introduction to Object- Oriented Programming Michael Kölling 3.0.
Introduction - The Need for Data Structures Data structures organize data –This gives more efficient programs. More powerful computers encourage more complex.
 2000 Prentice Hall, Inc. All rights reserved. 1 Introduction to Computers and C Programming Outline Introduction What Is a Computer? Computer Organization.
Concept of Computer Programming November 2, 2011.
Your Interactive Guide to the Digital World Discovering Computers 2012.
WEEK 1 CS 361: ADVANCED DATA STRUCTURES AND ALGORITHMS Dong Si Dept. of Computer Science 1.
1 CSC 221: Introduction to Programming Fall 2012 course overview  What did you set out to learn?  What did you actually learn?  Where do you go from.
Introduction To System Analysis and design
1 CSC 221: Computer Programming I Fall 2004 Objects and classes: a first pass  software objects, classes, object-oriented design  BlueJ IDE, compilation.
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
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?
Fall AboutMichael Fung, CS&E, The Chinese University of HK1 CSC1030 Hands-on Introduction to JAVA Dept of Computer Science and Engineering The.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Carolyn Seaman University of Maryland, Baltimore County.
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Advanced Enterprise Java Platform Class and Lab Mark K. Reha.
1 CSC 427: Data Structures and Algorithm Analysis Fall 2011 See online syllabus (also available through BlueLine): Course goals:
CMSC 202 Computer Science II for Majors Object-Oriented Programming.
COP1220/CGS2423 Introduction to C++/ C for Engineers Professor: Dr. Miguel Alonso Jr. Fall 2008.
Object-Oriented Analysis and Design OVERVIEW. Objectives  Describe Information Systems  Explain the role of a systems analyst  Introduce object-oriented.
1 CSC 221: Introduction to Programming Fall 2013 See online syllabus (also accessible via BlueLine2): Course goals:  To develop.
Sadegh Aliakbary Sharif University of Technology Fall 2012.
Introduction To System Analysis and Design
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Marie desJardins University of Maryland, Baltimore County.
1 CSC 222: Computer Programming II Spring 2004 See online syllabus at: Course goals:
What does a computer program look like: a general overview.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
1 CSC 427: Data Structures and Algorithm Analysis Fall 2010 See online syllabus (also available through BlueLine): Course goals:
1 CSC 222: Object-Oriented Programming Spring 2013 Course goals:  To know and use basic Java programming constructs for object- oriented problem solving.
1 CSC 321: Data Structures Fall 2013 See online syllabus (also available through BlueLine2): Course goals:  To understand.
1 CSC 221: Computer Programming I Spring 2008 Objects and classes: a broad view  software objects, classes, object-oriented design  BlueJ IDE, compilation.
1 CSC 221: Computer Programming I Spring 2010 repetition & simulations  conditional repetition, while loops  examples: paper folding, sequence generation,
CSC 221: Computer Programming I Fall 2001 course overview  what did we set out to learn?  what did you actually learn?  where do you go from here? 
South-Western | Delmar | Course Technology | Gale Adobe Photoshop CS4: Comprehensive Concepts and Techniques Authors: Gary B. Shelly Joy L. Starks Copyright.
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?
1 CSC 427: Data Structures and Algorithm Analysis Fall 2006 See online syllabus (also available through Blackboard): Course goals:
90-723: Data Structures and Algorithms for Information Processing Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 1: Introduction Data.
1 CSC 221: Computer Programming I Fall 2009 See online syllabus (also accessible via BlueLine): Course goals:  To develop.
CS 1110/1111 The Case for Computer Science CS 1110/1111 – Introduction to Programming.
Objective You will be able to define the basic concepts of object-oriented programming with emphasis on objects and classes by taking notes, seeing examples,
CSC 205 Java Programming II Introduction. Topics Syllabus Course goals and approach Review I Java language fundamentals.
Lecture1 Instructor: Amal Hussain ALshardy. Introduce students to the basics of writing software programs including variables, types, arrays, control.
Chapter 2 Principles of Programming and Software Engineering.
1 Structured Programming Arab Academy for Science and Technology CC112 Dr. Sherif Mohamed Tawfik The Course.
Maitrayee Mukerji. INPUT MEMORY PROCESS OUTPUT DATA INFO.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
CSC 421: Algorithm Design & Analysis
CSC 427: Data Structures and Algorithm Analysis
What Do Computers Do? A computer system is
CSC 222: Object-Oriented Programming
CSC 222: Object-Oriented Programming
CSC 222: Computer Programming II
Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science.
CSC 221: Computer Programming I Spring 2010
CSC 221: Computer Programming I Fall 2005
CSC 421: Algorithm Design & Analysis
CSC 222: Object-Oriented Programming
CSC 421: Algorithm Design & Analysis
Foundations of Computer Science
CSC Classes Required for TCC CS Degree
CSC 221: Introduction to Programming Fall 2018
Presentation transcript:

1 CSC 221: Computer Programming I Fall 2005 See online syllabus (also accessible via Blackboard):  Course goals:  To develop problem solving and programming skills to enable the student to design solutions to non-trivial problems and implement those solutions in Java.  To master the fundamental programming constructs of Java, including variables, expressions, classes, methods, control structures, and arrays.  To build a foundation for more advanced programming techniques, including object- oriented design and the use of standard data structures (as taught in CSC 222).

2 What is programming? in short: programming is the process of designing, writing, testing and debugging algorithms that can be carried out by a computer we encounter algorithms everyday: directions to dorm, instruction manual, recipe  people are smart, so spoken languages can be vague  computers are not smart, so programming languages are extremely picky programming is applied problem-solving 1.understand a problem 2.identify relevant characteristics 3.design an algorithm (step-by-step sequence of instructions to carry out a task) 4.implement the algorithm as a computer program 5.test the program by repeated (and carefully planned) executions 6.GO BACK AND REPEAT AS NECESSARY

3 Object-oriented programming the dominant approach to software development is object-oriented design  solve problems by modeling real-world objects e.g., if designing a banking system, model clients, accounts, deposits, …  a program is a collection of interacting objects  emphasizes code reuse (important in industry not to keep reinventing the wheel) when designing a program, first focus on the data objects involved, understand and model their interactions QUESTION: what is a die? this course will emphasize object-oriented programming techniques  utilizes the Java programming language (1995, Sun Microsystems)  we will also use the BlueJ IDE, designed for teaching/visualizing OOP  good news: both are free

4 Programming is a means to an end important point: programming is a tool for solving problems  computers allow people in many disciplines to solve problems they couldn’t solve without them — natural sciences, mathematics, medicine, business, …  to model this, many exercises will involve writing a program, then using it to collect data & analyze results PAPER FOLDING PUZZLE: if you started with a regular sheet of paper and repeatedly fold it in half, how many folds would it take for the thickness of the paper to reach the sun?  what information do you need (e.g., distance of sun)?  what data values do you need to store and update?  what is the basic algorithm?

5 Java solution /** * This simple class is used to solve the Paper Folding Puzzle Dave Reed 8/26/04 */ public class FoldPuzzle { private double thickness; /** * Constructs the FoldPuzzle object initial the initial thickness (in inches) of the paper */ public FoldPuzzle(double initial) { thickness = initial; } /** * Computes how many folds it would take for the paper thickness to reach the * goal Distance goalDistance the distance (in inches) the paper thickness must reach number of folds required */ public int FoldUntil(double goalDistance) { double current = thickness; int numFolds = 0; while (current < goalDistance) { current *= 2; numFolds++; System.out.println(numFolds + " " + current); } return numFolds; }

6 Next week… review basic computer terminology and history  hardware vs. software  generations of computer technology  evolution of programming begin programming on Thursday  we will go over the details – NO PREVIOUS EXPERIENCE NECESSARY!  bring a memory stick  classes will mix lecture and hands-on experimentation, so be prepared to DO THINGS