Computer Programming I



Similar documents
#820 Computer Programming 1A

Computer Programming I & II*

Programming and Software Development CTAG Alignments

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

Domains and Competencies

Computer Programming I

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

Java Application Developer Certificate Program Competencies

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

COMPUTER SCIENCE (5651) Test at a Glance

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

Fundamentals of Programming and Software Development Lesson Objectives

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

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

El Dorado Union High School District Educational Services

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

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

El Dorado Union High School District Educational Services

VB.NET Programming Fundamentals

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

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

Course Title: Software Development

Syllabus for CS 134 Java Programming

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

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

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

Stage 5 Information and Software Technology

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards

Certified PHP Developer VS-1054

OKLAHOMA SUBJECT AREA TESTS (OSAT )

AP Computer Science Java Subset

Java and J2EE (SCJA Exam CX ) 50 Cragwood Rd, Suite 350 South Plainfield, NJ 07080

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

Texas Essential Knowledge and Skills Correlation to Video Game Design Foundations 2011 N Video Game Design

6.170 Tutorial 3 - Ruby Basics

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

The C Programming Language course syllabus associate level

Java (12 Weeks) Introduction to Java Programming Language

Fundamentals of Java Programming

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

Programming and Software Development (PSD)

Lewis, Loftus, and Cocking. Java Software Solutions for AP Computer Science 3rd Edition. Boston, Mass. Addison-Wesley, 2011.

Moving from CS 61A Scheme to CS 61B Java

Object Oriented Software Design

CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013

AP Computer Science AB Syllabus 1

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

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

Object Oriented Software Design

Facebook Twitter YouTube Google Plus Website

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

Essentials of Computer Programming. Computer Science Curriculum Framework

River Dell Regional School District. Computer Programming with Python Curriculum

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

Chapter 126. Texas Essential Knowledge and Skills for Technology Applications. Subchapter C. High School

Computer Science III Advanced Placement G/T [AP Computer Science A] Syllabus

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

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department. COURSE: CST2403 C++ Programming Part 1 ( 4 hours, 3 credits )

ABET General Outcomes. Student Learning Outcomes for BS in Computing

Visual Logic Instructions and Assignments

WAYNESBORO AREA SCHOOL DISTRICT CURRICULUM INTRODUCTION TO COMPUTER SCIENCE (June 2014)

Glossary of Object Oriented Terms

Invitation to Ezhil : A Tamil Programming Language for Early Computer-Science Education 07/10/13

Chapter 2: Algorithm Discovery and Design. Invitation to Computer Science, C++ Version, Third Edition

Chapter 2: Elements of Java

DOVER-SHERBORN HIGH SCHOOL PROGRAM OF STUDIES

Software Design and Development. Stage 6 Syllabus

JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4

PHP Tutorial From beginner to master

COURSE TITLE. Computer Programming 1 LENGTH. One Semester Grades 9-12 DEPARTMENT. Computer Department Barbara O Donnell, Supervisor SCHOOL

Computing Concepts with Java Essentials

Specialized Programme on Web Application Development using Open Source Tools

Introduction to Java Lecture Notes. Ryan Dougherty

Skills for Employment Investment Project (SEIP)

Web Development in Java

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

COMPUTER SCIENCE A. Course Description

Welcome to Introduction to programming in Python

Oracle Database: SQL and PL/SQL Fundamentals

The Elective Part of the NSS ICT Curriculum D. Software Development

Microsoft Windows PowerShell v2 For Administrators

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

High-Level Programming Languages. Nell Dale & John Lewis (adaptation by Michael Goldwasser)

Chapter 13: Program Development and Programming Languages

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

Java for WebObjects Developers. Provides a quick-start guide for developers learning to use Java with WebObjects

Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game

C++ Programming Language

COURSE CSE1010: COMPUTER SCIENCE 1. Prerequisite:

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

Introduction to Java

Java SE 8 Programming

Topics. Parts of a Java Program. Topics (2) CS 146. Introduction To Computers And Java Chapter Objectives To understand:

50 Computer Science MI-SG-FLD050-02

Transcription:

Computer Programming I Levels: 10-12 Units of Credit: 1.0 CIP Code: 11.0201 Core Code: 35-02-00-00-030 Prerequisites: Secondary Math I, Keyboarding Proficiency, Computer Literacy requirement (e.g. Exploring Computer Science or Computer Tech) Semester 1 Skill Test: #820 Computer Programming 1A Semester 2 Skills Tests: #822 Computer Programming IB (C++) #824 Computer Programming IB (Java) #826 Computer Programming IB (VB) #827 Computer Programming IB (Python) #828 Computer Programming IB (C#) COURSE DESCRIPTION An introductory course in computer programming/software engineering and applications. The course introduces students to the fundamentals of computer programming. Students will learn to design, code, and test their own programs while applying mathematical concepts. Teachers introduce concepts and problem solving skills to beginning students through a programming language such as C++, C#, Java, Python, or VB. The second half of the year reviews and builds on the concepts introduced in the first semester. This semester introduces students to more complex data structures and their uses, including sequential files, arrays, and classes. Students will learn to create more powerful programs. (*Semester 2 objectives) CORE STANDARDS, OBJECTIVES AND INDICATORS STANDARD 1 Students will be familiar with and use a programming environment. Objective 1: REMOVED Objective 2: Demonstrate knowledge of software concepts. b. Identify software categories e.g. application software, web-based software, mobile application, or operating system. c. Describe the difference between an interpreted language vs a compiled language. Objective 3: Demonstrate the ability to compile, debug, and execute programs. a. Demonstrate how to use an editor/ide to compile and run programs. b. Understand the difference between syntax, run-time, and logic errors. Updated Aug 2015 Page 1

c. Demonstrate how to debug programs. STANDARD 2 Students will employ accepted programming methodology. Objective 1: Demonstrate the ability to use good programming style. a. Demonstrate how to use white space properly. b. Employ an appropriate naming convention. c. Construct identifiers with meaningful format (i.e.: camelcase, under_scores, and ALLCAPS). Objective 2: Understand that software development is a process and use a variety of creation techniques to develop 21st Century Skills. (www.p21.org) a. Understand specifications and requirements for computer programs. b. Break down the problem into sub-components. c. Design solutions using algorithms and other problem solving techniques. d. Write the code for a program. e. Test programs for errors and proper functionality. f. Provide internal and external documentation for a program during development. g. Redo all steps as needed. Objective 3: Identify the syntactical components of a programming language. a. Identify keywords, identifiers, operators, and operands. b. Identify the entry-point of a program. c. Identify statements and expressions in a program. d. Identify program components such as functions, methods, or procedures. STANDARD 3 Students will properly use language-fundamental commands and operations. Objective 1: Demonstrate the ability to use basic elements of a specific language. a. Write programs formatted based on the conventions of the utilized language. b. Declare, initialize, and assign values to constants and variables. c. Demonstrate the ability to use input and output commands. d. Communicate clearly with output values stored in identifiers. (www.p21.org) Said p12 e. Demonstrate the ability to use strings Objective 2: Employ basic arithmetic expressions in programs. a. Use basic arithmetic operators (modulus, multiplication, division, addition, subtraction). b. Understand order of operation of expressions. c. Write expressions that mix floating-point and integer expressions. Objective 3: Demonstrate the ability to use data types in programs. a. Declare and use variable types (primitives, reference, or object). Updated Aug 2015 Page 2

b. Declare and use constants. c. Know the difference between data types and their application (boolean, integer, floating point, strings). STANDARD 4 Students will properly employ control structures. Objective 1: Demonstrate the ability to use relational and logical operators in programs. a. Compare values using relational operators. b. Form complex expressions using logical operators. Objective 2: Demonstrate the ability to use decisions in programs. a. Employ simple IF structures. b. Use IF-ELSE structures. c. Write programs with nested IF-ELSE structures. d. Make multiple-way selections (switch, case).* (Language specific) Objective 3: Demonstrate the ability to use loops (iteration) in programs. a. Use initial (starting) value, terminal (ending) condition, and incrementation (change) in loops. b. Construct pretest loops (while), posttest loops (do-while), and for loops. c. Describe the various ways that loops can end (i.e., sentinel, break, condition fail, etc.). d. Design loops so they iterate the correct number of times (i.e., off by one errors, infinite loops, etc.). e. Accumulate running totals using loops. f. Utilize nested loops. Objective 4: Demonstrate the ability to use modularity in programs using functions or methods. a. Demonstrate how to use language-defined functions and/or methods.* b. Utilize value and/or reference parameters.* c. Understand the scope of identifiers (local, global (class), and instance* variables). d. Return values. STANDARD 5 Students will demonstrate knowledge of current ethical issues dealing with computers and information in a global society using 21st Century Skills. Objective 1: Demonstrate knowledge of the social and ethical consequences of computers. a. Explain the ethical reasons for creating reliable and robust software. b. Explain the impact software can have on society (i.e., privacy, piracy, copyright laws, ease of use, etc.). c. Show how security concerns can be addressed in an application (i.e., biometrics, passwords, information hiding, etc.). Updated Aug 2015 Page 3

d. Describe how computer-controlled automation affects a workplace and society. e. Give examples of ways to protect information on computer systems (attacks, viruses, malware, etc.). STANDARD 6 Students will be aware of career opportunities in the Computer Programming/Software Engineering industry and of its history. Objective 1: REMOVED Objective 2: Investigate career opportunities, trends, and requirements related to computer programming/software engineering careers. a. Identify the members of a computer programming/software engineering team: team leader, analyst, senior developer, junior developer, and client/subject matter expert. b. Describe work performed by each member of the computer programming/software engineering team. c. Investigate trends and traits associated with computer programming/software engineering careers (creativity, technical, leadership, collaborative, problem solving, design, etc.). d. Discuss related career pathways. (Semester 2 Standards*) STANDARD 7* Students will employ static (array), dynamic (vector, ArrayList, etc.) list structures, and strings. Objective 1: Demonstrate the ability to use static arrays/lists in programs. a. Declare and initialize arrays/lists of all applicable types. b. REMOVED c. Perform data input to and output from arrays/lists. d. Perform operations on arrays/lists including sequential searches. e. Iterate through the structure (i.e. for-each, enhanced for, or iterators) Objective 2: Demonstrate the ability to use dynamic arrays/lists (i.e. vectors, ArrayLists, or generic lists) a. Declare and initialize a dynamic array/list. b. Add and remove items from the array/list. c. Output data from arrays/lists. d. Perform operations on arrays/lists. e. Iterate through the structure (i.e. for-each, enhanced for, or iterators) Objective 3: Demonstrate the ability to use strings in programs. a. Compare string values. b. Find the length of a string. c. Copy part or all of string values into other strings. Updated Aug 2015 Page 4

d. Concatenate string values. e. Locate substring positions. f. Insert strings into other strings. STANDARD 8* Students will properly employ object-oriented programming techniques. Objective 1: Demonstrate the ability to use existing classes. a. Instantiate objects. b. Use object data members (i.e., Java s array.length). c. Use object member functions (methods). Objective 2: Demonstrate the ability to create user-defined classes. a. Create and use data members (instance variables). b. Create a constructor to initialize the data members. c. Create and use member functions (methods). Objective 3: Demonstrate proper design principles with classes. a. Create classes that are well encapsulated (private data members). b. Properly use modifiers and accessors (getters and setters). c. Understand appropriate private and public modifiers according to program design. STANDARD 9* Students will properly use sequential files. Objective 1: Demonstrate the ability to use sequential files in programs. a. Create and initialize sequential files. b. Store data to sequential files. c. Retrieve data from sequential files. d. Update sequential files. STANDARD 10* Students will apply appropriate programming skill as an effective member of a team demonstrating the ability to collaborate with others (www.p21.org). Objective 1: Demonstrate the ability to apply knowledge to a programming project. a. Formalize specifications. b. Choose proper input parameters. c. Choose appropriate data structures and processing. d. Design appropriate output. e. Use appropriate test data. f. Write good documentation. Updated Aug 2015 Page 5

Objective 2: Demonstrate the ability to use teamwork and collaboration in a programming project. a. Divide a project among programmers. b. Present work to a group. c. Coordinate work with others in the group. d. Complete assigned work according to predetermined deadlines. e. Participate in a peer performance evaluation. f. Demonstrate professionalism in team relationships, communication, timeliness, and attitude. Updated Aug 2015 Page 6