1 CSC 222: Computer Programming II Spring 2004 See online syllabus at: www.creighton.edu/~davereed/csc222www.creighton.edu/~davereed/csc222 Course goals:

Slides:



Advertisements
Similar presentations
1 CSC 421: Algorithm Design & Analysis Spring 2013 See online syllabus: (also on BlueLine2) Course.
Advertisements

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
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
Design The goal is to design a modular solution, using the techniques of: Decomposition Abstraction Encapsulation In Object Oriented Programming this is.
Chapter 1 Principles of Programming and Software Engineering.
CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
C++ fundamentals.
Introduction - The Need for Data Structures Data structures organize data –This gives more efficient programs. More powerful computers encourage more complex.
1 A Introduction to Data Structures and Algorithm Analysis Data Structures Asst. Professor Kiran Soni.
DATA STRUCTURE Subject Code -14B11CI211.
Data Structures and Programming.  John Edgar2.
1 Object Oriented Programming Computer Systems Engineering (D2) and Programming (P)
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?
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
5.1 and 5.4 through 5.6 Various Things. Terminology Identifiers: a name representing a variable, class name, method name, etc. Operand: a named memory.
1 CSC 427: Data Structures and Algorithm Analysis Fall 2011 See online syllabus (also available through BlueLine): Course goals:
1 CSC 221: Introduction to Programming Fall 2013 See online syllabus (also accessible via BlueLine2): Course goals:  To develop.
CSCA48 Course Summary.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Introduction To System Analysis and Design
1 CSC 427: Data Structures and Algorithm Analysis Fall 2010 See online syllabus (also available through BlueLine): Course goals:
CMSC 2021 CMSC 202 Computer Science II for Majors Fall 2002 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
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.
Chapter 1 Data Structures and Algorithms. Primary Goals Present commonly used data structures Present commonly used data structures Introduce the idea.
1 CSC 221: Computer Programming I Fall 2005 See online syllabus (also accessible via Blackboard): 
Data Structures Lecture 1: Introduction. Course Contents Data Types   Overview, Introductory concepts   Data Types, meaning and implementation  
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? 
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Computer Science Projects Internal Assessment. Mastery Item Claimed Justification Where Listed Random Access File – Searching Lines P. 53 Random.
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?
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
1 CSC 427: Data Structures and Algorithm Analysis Fall 2006 See online syllabus (also available through Blackboard): Course goals:
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
1 CSC 221: Computer Programming I Fall 2009 See online syllabus (also accessible via BlueLine): Course goals:  To develop.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
Data Structure Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2010.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2003 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Data Structures and Algorithms in Java AlaaEddin 2012.
Chapter 2 Principles of Programming and Software Engineering.
Unit 1 - Introducing Abstract Data Type (ADT) Part 1.
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
Lecture 1 Data Structures Aamir Zia. Introduction Course outline Rules and regulations Course contents Good Programming Practices Data Types and Data.
Mohammed I DAABO COURSE CODE: CSC 355 COURSE TITLE: Data Structures.
Advanced Data Structures Lecture 1
Principles of Programming & Software Engineering
CSC 421: Algorithm Design & Analysis
CSC 427: Data Structures and Algorithm Analysis
CSC 222: Object-Oriented Programming
CSC 222: Object-Oriented Programming
CSC 222: Computer Programming II
CSC 421: Algorithm Design & Analysis
CSC 321: Data Structures Fall 2016
CSC 321: Data Structures Fall 2017
CSC 321: Data Structures Fall 2015
CSC 421: Algorithm Design & Analysis
CSC 222: Object-Oriented Programming
CSC 421: Algorithm Design & Analysis
CSC 321: Data Structures Fall 2018
Chapter 2. Problem Solving and Software Engineering
COP3530- Data Structures Introduction
CSC 221: Introduction to Programming Fall 2018
Presentation transcript:

1 CSC 222: Computer Programming II Spring 2004 See online syllabus at: Course goals:  to know and use basic programming tools for object-oriented problem solving (e.g., classes, encapsulation, data hiding, and templates)  to appreciate the role of algorithms and data structures in problem solving and software design (e.g., OOD, searching and sorting, recursion, stacks, queues, and linked lists)  to be able to design and implement a program to model a real-world system, and subsequently analyze its behavior.  to develop programming skills that can serve as a foundation for further study in computer science

2 221 vs : programming in the small  focused on the design and analysis of small programs  introduced fundamental programming concepts variables, assignments & expressions input and output functions & parameter passing (by-value & by-reference) control structures: if, if-else, while, for arrays using existing classes: string, ifstream 222: programming in the medium  focuses on the design and analysis of more complex programs programs  will introduce more advanced programming concepts & techniques  greater emphasis on problem decomposition, code reuse & modifiability classes, composition, data structures searching & sorting, recursion, algorithm efficiency vectors, stacks, queues pointers, dynamic memory, linked lists you should be familiar with these concepts (we will do some review next week, but you should review your own notes & text)

3 When problems start to get complex… …choosing the right algorithm and data structures are important  e.g., phone book lookup, checkerboard puzzle  must develop problem-solving approaches (e.g., iteration, recursion)  be able to identify appropriate data structures (e.g., vector, linked list, stack, queue) …code reuse is important  designing, implementing, and testing large software projects is HARD whenever possible, want to utilize existing, debugged code  reusable code is: clear and readable (well documented, uses meaningful names, no tricks) modular (general, independent routines – test & debug once, then reuse)

4 Object-oriented programming OOP is the standard approach to software engineering philosophy: modularity and reuse apply to data as well as functions  when solving a problem, must identify the objects involved e.g., banking system: customer, checking account, savings account, …  develop a software model of the objects in the form of abstract data types (ADTs) an ADT is a collection of data items and the associated operations on that data in C++, ADTs are known as classes OOP stressed ADTs in order to  hide unnecessary details (programmer doesn't have to know the details of the class in order to use it)  ensure the integrity of data (programmer can only access public operations)  allow for reuse and easy modification (can plug classes into different applications)

5 In-class exercise 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? pseudo-code: INITIALIZE THE PAPER THICKNESS; INITIALIZE THE FOLD COUNT TO 0; while (THICKNESS < SUN DISTANCE) { DOUBLE THE THICKNESS; INCREMENT THE FOLD COUNT; } DISPLAY THE FOLD COUNT; 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?