Course Title: Software Development



Similar documents
Programming and Software Development CTAG Alignments

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

Course MS10975A Introduction to Programming. Length: 5 Days

Computer Programming I & II*

Java Application Developer Certificate Program Competencies

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON

Domains and Competencies

El Dorado Union High School District Educational Services

#820 Computer Programming 1A

Computing Concepts with Java Essentials

KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

El Dorado Union High School District Educational Services

Fundamentals of Java Programming

Computer Programming I

Syllabus for CS 134 Java Programming

Curriculum Map. Discipline: Computer Science Course: C++

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

Course Title: Entrepreneurship

Glossary of Object Oriented Terms

Computer Programming I

The C Programming Language course syllabus associate level

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies)

PART-A Questions. 2. How does an enumerated statement differ from a typedef statement?

Course/Program Credential(s): Credential Certificate Postsecondary Degree University Degree Other:

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

Fundamentals of Programming and Software Development Lesson Objectives

Chapter 1: Key Concepts of Programming and Software Engineering

THE OPEN UNIVERSITY OF TANZANIA

AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities

Java SE 8 Programming

TECHNOLOGY Computer Programming II Grade: 9-12 Standard 2: Technology and Society Interaction

Java (12 Weeks) Introduction to Java Programming Language

Course Title: Database Design I

OKLAHOMA SUBJECT AREA TESTS (OSAT )

C++ Programming Language

Certified PHP Developer VS-1054

I PUC - Computer Science. Practical s Syllabus. Contents

Course Title: Education and Training Internship

Web Development in Java

WESTMORELAND COUNTY PUBLIC SCHOOLS Integrated Instructional Pacing Guide and Checklist Computer Math

Morris School District. AP Computer Science A Curriculum Grades 9-12

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

WORKSPACE WEB DEVELOPMENT & OUTSOURCING TRAINING CENTER

Microsoft Windows PowerShell v2 For Administrators

The Sun Certified Associate for the Java Platform, Standard Edition, Exam Version 1.0

Morris School District. Computer Science 2 Curriculum Grades 9-12

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt

Course Title: Introduction to Pharmacy

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

NATIONAL CERTIFICATES (VOCATIONAL)

Instructional Design Framework CSE: Unit 1 Lesson 1

Sources: On the Web: Slides will be available on:

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

Objectif. Participant. Prérequis. Remarque. Programme. C# 3.0 Programming in the.net Framework. 1. Introduction to the.

Some programming experience in a high-level structured programming language is recommended.

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C

Java Programming (10155)

Chapter 1 Fundamentals of Java Programming

Course Title: Emergency Services

Course Title: Banking and Financial Services

CS 111 Classes I 1. Software Organization View to this point:

An Introduction to Programming and Computer Science

AP Computer Science AB Syllabus 1

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

CEC225 COURSE COMPACT

Programming and Software Development (PSD)

Summit Public Schools Summit, New Jersey Grade Level / Content Area: Mathematics Length of Course: 1 Academic Year Curriculum: AP Computer Science A

Windows PowerShell Essentials

Visual Basic. murach's TRAINING & REFERENCE

FLORIDA STATE COLLEGE AT JACKSONVILLE COLLEGE CREDIT COURSE OUTLINE. Introduction to Programming with Visual Basic.NET

Computer Technology Computer Programming II (Joint Course with Business Technology Approved 10/29/10 for that area)

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

Java SE 7 Programming

C Programming. for Embedded Microcontrollers. Warwick A. Smith. Postbus 11. Elektor International Media BV. 6114ZG Susteren The Netherlands

Software Engineering Transfer Degree

Multichoice Quetions 1. Atributes a. are listed in the second part of the class box b. its time is preceded by a colon. c. its default value is

Basic Programming and PC Skills: Basic Programming and PC Skills:

AP Computer Science Java Subset

Algorithms, Flowcharts & Program Design. ComPro

C++FA 5.1 PRACTICE MID-TERM EXAM

Structural Drafting. Students will: 1. Relate the importance of structural steel detailing to the current technological work force.

Digital Industries Trailblazer Apprenticeship. Software Developer - Occupational Brief

COWLEY COLLEGE & Area Vocational Technical School

Information Technology Networking Specialist Cisco Network Professional

: provid.ir

Formal Engineering for Industrial Software Development

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

TYLER JUNIOR COLLEGE School of Continuing Studies 1530 SSW Loop 323 Tyler, TX

Android Application Development Course Program

Animation Layout. Students will: 1. Apply laboratory safety rules, regulations, and procedures for animation layout.

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.)

Object Oriented Programming With C++(10CS36) Question Bank. UNIT 1: Introduction to C++

Management Information Systems 260 Web Programming Fall 2006 (CRN: 42459)

Transcription:

Course Title: Software Development Unit: Customer Service Content Standard(s) and Depth of 1. Analyze customer software needs and system requirements to design an information technology-based project plan. 2. Utilize research results to assist in designing an information technology-based project plan with strategies for solving specific problems. 3. Analyze quality assurance tasks to produce quality products. 4. Evaluate maintenance and customer support functions. Learning Objective(s) and Depth of Essential Question(s): 1. Create a simulation involving the potential parties, e.g., steering committee, client sponsor, project manager, technology team, company employees, etc., engaged in an information technology-based project plan and their roles. 2. Practice the procedures for identifying software needs and system requirements to design an information technologybased plan using case studies. 3. Create a cost budget for an information technology-based project plan. 4. Develop a time line for an information technology-based project plan. 5. Utilize research results to assist in designing an information technology-based project plan with strategies for solving specific problems. 6. Analyze quality assurance tasks to produce quality products using case studies. 7. Practice evaluating maintenance and customer support functions. How would you define the roles of the potential parties, e.g., steering committee, client sponsor, project manager, technology team, company employees, etc., involved in an information technology-based project plan? What are the procedures for identifying software needs and system requirements to design an information technology-based plan? How would you create a cost budget for an information technology-based project plan? What are the considerations to facilitate the development of a time line for an information technology-based plan? How can research results be used to assist in designing an information technology-based project plan with strategies for solving specific problems? What are the quality assurance tasks needed to produce quality products? How can maintenance and customer support functions be evaluated? Content 1. Analyze customer software needs and system requirements to design an Suggested Instructional Activities Rigor & Relevance Framework (Quadrant) 1. Identify the potential parties involved in an information technology-based project plan and Suggested Materials, Equipment and Technology Resources Suggested textbook:

information technology-based project plan. a. Research the potential parties involved in an information technology-based project plan and their roles. b. Cover the steps in constructing a cost budget for an information technologybased project. c. Explain how a time line for an information technology-based project works. 2. Utilize research results to assist in designing an information technology-based project plan with strategies for solving specific problems. a. Show techniques for developing general designs that are easily expandable over time. b. Explain techniques for reusing software that can be applied to solving specific problems. 3. Analyze quality assurance tasks to produce quality products. a. Demonstrate the use of the concept of data abstraction in insuring quality. b. Model the reuse of software through inheritance and show how quality is assured. c. Illustrate the use of multiple inheritance, when appropriate, to increase reusability and provide quality assurance. 4. Evaluate maintenance and customer support functions. a. Show the relationship between requirements information gathering and a translation to a formal specification. b. Explain techniques for documenting programs and systems. c. Analyze the costs of a maintenance and customer support feedback loop using a budget. their roles. 2. Develop a cost budget for an information technology-based project. 3. Create a time line for an information technology-based project. 4. Simulate the process by activating the information technology-based project plan. C++ for Business Programmers, 2 nd Edition, John C. Molluzzo, Pearson Prentice Hall, 2006.

d. Use a customer support feedback loop time line to examine the promptness of responses to enhancement and maintenance requests. Unit Assessment: Assess the simulation of an information technology-based plan with students working in groups and changing roles. Unit/Course CTSO Activity: FBLA Client Service competition, DECA Business Services Marketing competition, and SkillsUSA Customer Service competition Unit/Course Culminating Product: gained from simulating and revising an information technology-based plan. Course/Program Credential(s): Credential Certificate Postsecondary Degree University Degree Other: Microsoft Certified Technology Specialist (MCTS)

Course Title: Software Development Unit: Software Design Content Standard(s) and Depth of Learning Objective(s) and Depth of Essential Question(s): 5. Demonstrate the effective use of tools for software development. 6. Relate program structure, blocks, and storage types to C++. 7. Construct console and file input and output, functions, arrays, and strings. 8. Develop a software program. 9. Differentiate between C++ and C programming languages. 10. Design a simple program that incorporates mathematics by writing the code, performing unit testing, and debugging the program. 1. Analyze the differences between C and C++ and why those differences are significant. 2. Practice using inheritance and polymorphism to design a class hierarchy. 3. Choose the recommended options involved in using data abstraction and encapsulation in designing a class. 4. Use mathematical operations to design algorithms. 5. Identify and correct errors. 6. Create and use functions that work with respect to parameters, arguments, return statements, return types, and return values. 7. Follow the software engineering process of reusing code in an object-oriented environment to enhance an application. 8. Solve business problems using C++. 9. Write and use class constructors. 10. Document code and structure programs for readability. 11. Use a console menu to practice reading and writing files with string data and number fields. What are the differences between C and C++ and why are those differences significant? How would you use inheritance and polymorphism to design a class hierarchy? What considerations are involved in using data abstraction and encapsulation in designing a class? How are mathematical operations used to design algorithms? What are the types of errors and the procedures for detecting and fixing them? How do functions work with respect to parameters, arguments, return statements, return types, and return values? What is the software engineering process and how does it apply in the case of C++ with respect to reuse of code? How would you proceed to solve a business problem using C++? What are the considerations in writing and using class constructors? How do you create documentation and structure programs for readability? What are options for input/output with both the console and data files including the use of strings?

Content 1. Demonstrate the effective use of tools for software development. a. Choosing an Integrated Development Environment (IDE) b. A first program and the compile and run sequence c. The importance of white space and indentation in making programs more readable d. Matching of ( ) and { } is nested --- never cross-serial except with comments using /* and */ e. Students are aware of the role and importance of useful, readable, and complete program documentation f. Students can follow and design algorithms 2. Relate program structure, blocks, and storage types to C++. a) Binary and hexadecimal number systems b) The concept of binary mathematics in variables and types --- the primitive types c) The syntax of variable names and the importance of choosing names that make programs readable d) Differences between the = symbol in C++ and the = symbol in mathematics e) The concept of an extensible language which C++ is --- the C++ library f) Literals g) Scope, duration, and linkage of variables h) Enums i) Arithmetic operators j) Increment and decrement operators k) Relational operators l) Logic operators m) Type casting Suggested Instructional Activities Rigor & Relevance Framework (Quadrant) 1. Start with a basic program. Explain the concept of readability and the syntax for a simple class with a call to main. Make sure each student can compile and run a program using a chosen, free Integrated Development Environment (IDE). 2. Give students exercises to do in developing basic C++ skills. 3. Show examples of classes. Have students learn encapsulation, inheritance, polymorphism and implementing multiple interfaces. 4. Have students design and implement exercises and projects using problems and case studies. Suggested Materials, Equipment and Technology Resources Suggested textbook: C++ for Business Programmers, 2 nd Edition, John C. Molluzzo, Pearson Prentice Hall, 2006.

n) Conditional operator syntax and arity of operators --- unary, binary, and ternary o) Assignment operator syntax and compound assignment operators p) Rules of precedence q) Inheritance and polymorphism r) Software engineering reasons for making data private and protected s) Inheritance t) Multiple Inheritance u) Assess various design issues 3. Construct console and file input and output, functions, arrays, and strings. a) Console I/O b) File I/O c) String d) Arrays e) Pointer arithmetic f) Two purposes for classes: to create objects and organize methods g) Structs and classes h) Encapsulation --- using a method as a black box i) Method prototypes, signatures, and definitions j) Arguments and formal parameters --- calling methods k) Preconditions and postconditions l) Private instance variable and static (read class) variables m) Methods that get private instance variables (read accessors) and methods that set private instance variables (read mutators) n) Creating objects using the new operator with constructors o) Writing constructors (which have no return type --- not even void) p) Initialization of private instance variables q) Garbage collection

r) Explain the concept of fields and records in business data processing s) Design fields using private instance variables for a payroll application and implement a program that provides data for both salaried and hourly employees. 4. Develop a software program. a) Requirements b) Specification c) Architectural Design d) Detailed Design e) Implementation f) Testing g) Three types of errors: compile-time errors, runtime errors, and logic errors h) The software engineering goal of robustness --- choosing error messages that are helpful and coding for erroneous input i) Maintenance and enhancement j) Design and use of inventory objects in a program 5. Differentiate between C++ and C programming languages. A. Software engineering principles B. Types of languages: procedural, functional, logic, and object-oriented C. Advantages and disadvantages of C and C++ in complying with software engineering principles 6. Design a simple program that incorporates mathematics by writing the code, performing unit testing, and debugging the program. a) Blocks of code and scope of variables b) Documentation for algorithms c) Conditional statements including case, break, and default keywords for switch

d) Loops including break and continue Unit Assessment: Assess the implementation of exercises and projects using problems and case studies. Unit/Course CTSO Activity: FBLA Desktop Application Programming competition and SkillsUSA Computer Programming competition Unit/Course Culminating Product: Programs modified, written, and documented. Exercises and projects performed, executed and assessed. Course/Program Credential(s): Credential Certificate Postsecondary Degree University Degree Other: Microsoft Certified Technology Specialist (MCTS)

Course Title: Software Development Unit: Career Opportunities Content Standard(s) and Depth of 11. Demonstrate career and entrepreneurial opportunities, responsibilities, and educational and credentialing requirements in the software development industry. Learning Objective(s) and Depth of Essential Question(s): 1. Identify job occupations that use software development with C++ as an essential skill. 2. Study job requirements for jobs using software development with C++ skills. 3. Identify job responsibilities for selected jobs that use software development with C++ skills. 4. Research entrepreneurial opportunities that use software development with C++ skills. 5. Use tools to determine which occupations using software development with C++ skills have a likely high level of interest for a given student. 6. Analyze are the credentials that fit a student s goals and the relevant requirements. How do occupations rely on or utilize C++ as an important development or design proficiency? What are the job requirements for occupations that use C++ software development skills? How would you define your responsibilities in jobs that use C++ software development skills in a work environment dedicated to solving business problems? What prospective entrepreneurial opportunities could you consider that use C++ software development skills? How can you approximate your greatest interests with respect to occupations? What the credentials that fit a student s goals and the relevant requirements? Content 1. Determine career and entrepreneurial opportunities, responsibilities, and educational and credentialing requirements in the software development Suggested Instructional Activities Rigor & Relevance Framework (Quadrant) I. Have students go to the U.S. Department of Labor Bureau of Labor Statistics, Occupational Outlook Handbook site --- http://www.bls.gov/oco/. Do a search on software development in the Handbook. Divide into groups (based on the number of relevant occupations found and report on the relevant occupations regarding the Handbook outline for each occupation. For Suggested Materials, Equipment and Technology Resources U.S. Department of Labor Bureau of Labor Statistics Occupational Outlook Handbook http://www.bls.gov/oco/ Holland Occupational Themes

industry. 2. Identify job occupations that use software development with C++ as an essential skill 3. Study job requirements 4. Identify job responsibilities 5. Use tools to determine the occupations with a likely high level of interest 6. Research entrepreneurial opportunities 7. Research the credentials that fit each student s goals and the relevant requirements. example, the outline for the occupation Computer Programmers is 1. Nature of the Work 2. Training, Other Qualifications, and Advancement 3. Employment 4. Job Outlook 5. Projections Data 6. Earnings 7. Occupational Employment Statistics (OES) Data 8. Related Occupations 9. Sources of Additional Information II. Use the Holland Occupational Themes --- http://jobs.esc.state.nc.us/soicc/planning/c1a.htm and the career interest game --- http://career.missouri.edu/students/explore/thecareerintere stsgame.php (or other tools) to attempt to measure the level of interest in having the jobs that use software development with C++ as an integral skill for each student. A student is ranked by six themes using the Holland Occupational Themes. The top three themes, in order, are then used to match jobs in the career interest game. For example, a student with the themes, investigative first, realistic second, and conventional third (IRC) would be a good match for computer programmer because successful computer programmers are rated as IRC more so than another order of the top three themes. III. Research information technology credentials for various relevant software development jobs. IV. Add important findings that are appropriate to student portfolios. http://jobs.esc.state.nc.us/soicc/planning/c1a.htm The career interest game: http://career.missouri.edu/students/explore/thecareerinterest sgame.php Information Technology Credentials Certification Eligibility: http://www.scarnet.net/ciip/pdfs/ciip%20_it_credential_l ist_final.pdf Unit Assessment: Student self-assessment of opportunities that are a good fit for the student and the prospective employers.

Unit/Course CTSO Activity: FBLA Electronic Career Portfolio competition Unit/Course Culminating Product: Additions to portfolios and student confirmation of and enthusiasm for a prospective career using software development with C++ skills. Course/Program Credential(s): Credential Certificate Postsecondary Degree University Degree Other: Microsoft Certified Technology Specialist (MCTS)