COMPUTING SCIENCE COURSE SUMMARIES

Similar documents
COURSE CSE1010: COMPUTER SCIENCE 1. Prerequisite:

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

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

COMPUTER SCIENCE (5651) Test at a Glance

AP Computer Science AB Syllabus 1

INFORMATION TECHNOLOGY

COWLEY COLLEGE & Area Vocational Technical School

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

50 Computer Science MI-SG-FLD050-02

Division of Mathematical Sciences

Domains and Competencies

DATA STRUCTURES USING C

ABET General Outcomes. Student Learning Outcomes for BS in Computing

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

DIABLO VALLEY COLLEGE CATALOG

Course Descriptions. preparation.

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

Computer Science Course Descriptions Page 1

Computer Science. Computer Science 213. Faculty and Offices. Degrees and Certificates Awarded. AS Computer Science Degree Requirements

Course Descriptions. CS 101 Intro to Computer Science

Computer Science. Computer Science 207. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes

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

COURSE DESCRIPTION FOR THE COMPUTER INFORMATION SYSTEMS CURRICULUM

2311A: Advanced Web Application Development using Microsoft ASP.NET Course 2311A Three days Instructor-led

OKLAHOMA SUBJECT AREA TESTS (OSAT )

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Canadian Technology Accreditation Criteria (CTAC) INFORMATION TECHNOLOGY - TECHNOLOGIST Technology Accreditation Canada (TAC)

Java Software Structures

2667A - Introduction to Programming

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

Java EE Web Development Course Program

Programming and Software Development CTAG Alignments

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

COURSE OUTLINE. Prerequisites: Course Description:

BCS2B02: OOP Concepts and Data Structures Using C++

Degrees Major in Computer Science Minor in Computer Science Major in Software Engineering

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

Assessment Plan for CS and CIS Degree Programs Computer Science Dept. Texas A&M University - Commerce

Computer and Information Science

Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices

Sample Syllabus (C++) CSCI 1301 Introduction to Programming Principles

Chapter 1. Dr. Chris Irwin Davis Phone: (972) Office: ECSS CS-4337 Organization of Programming Languages

Course MS10975A Introduction to Programming. Length: 5 Days

Computer. Course Description

Glossary of Object Oriented Terms

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

10CS35: Data Structures Using C

Advanced Web Application Development using Microsoft ASP.NET

Instructional Design Framework CSE: Unit 1 Lesson 1

1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++

Assessment for Master s Degree Program Fall Spring 2011 Computer Science Dept. Texas A&M University - Commerce

1/20/2016 INTRODUCTION

Sorting revisited. Build the binary search tree: O(n^2) Traverse the binary tree: O(n) Total: O(n^2) + O(n) = O(n^2)

University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011

Data Structure [Question Bank]

Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches

Advanced Web Application Development using Microsoft ASP.NET

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

#820 Computer Programming 1A

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

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

02-201: Programming for Scientists

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

Higher Computing Science Course Assessment Specification (C716 76)

MEng, BSc Computer Science with Artificial Intelligence

Please consult the Department of Engineering about the Computer Engineering Emphasis.

2) What is the structure of an organization? Explain how IT support at different organizational levels.

Computer Science Data Science - B.S.

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

Android Application Development Course Program

Using Web-based Tools to Enhance Student Learning and Practice in Data Structures Course

Computer Science. General Education Students must complete the requirements shown in the General Education Requirements section of this catalog.

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

An Introduction to Programming and Computer Science

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

Computing Curricula 2005: Guidelines for Associate-Degree Transfer Curriculum in

Computer Science and Software Engineering

Skills for Employment Investment Project (SEIP)

COURSE TITLE COURSE DESCRIPTION

Business Application Services Testing

1. The memory address of the first element of an array is called A. floor address B. foundation addressc. first address D.

Questions 1 through 25 are worth 2 points each. Choose one best answer for each.

M.S. Computer Science Program

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

Department of Computer Science

Computer Science 1010 Introduction to Computers and the Internet (3) 1015 Web Structures I (1) 1016 Web Structures II (1)

Knowledge, Certification, Networking

MEng, BSc Applied Computer Science

Java Application Developer Certificate Program Competencies

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Basic academic skills (1) (2) (4) Specialized knowledge and literacy (3) Ability to continually improve own strengths Problem setting (4) Hypothesis

Data Structures. Level 6 C Module Descriptor

Computer Science/Software Engineering

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Computer Science. Courses. Computer Science 1

Modeling Web Applications Using Java And XML Related Technologies

HARDWARE AND SOFTWARE COMPONENTS Students will demonstrate an understanding of the relationship between hardware and software in program execution.

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.

Transcription:

COMPUTING SCIENCE COURSE SUMMARIES INTRODUCTORY CSE1010: COMPUTER SCIENCE 1 Students explore hardware, software and processes. This includes an introduction to the algorithm as a problem-solving tool, to programming languages in general and to the role of programming as a tool for implementing algorithms. CSE1110: STRUCTURED PROGRAMMING 1 Students are introduced to a general programming environment in which they write simple structured algorithms and programs that input, process and output data, use some of the more basic operators and data types, and follow a sequential flow of control. CSE1120: STRUCTURED PROGRAMMING 2 Students work with structured programming constructs by adding the selection and iteration program control flow mechanisms to their programming repertoire. They write structured algorithms and programs that use blocks to introduce an element of modularity into their programming practice. Prerequisite: CSE1110: Structured Programming 1 CSE1210: CLIENT-SIDE SCRIPTING 1 Students are introduced to Internet computing through the use of one or more Web-specific markup languages. As part of this process, students learn how the Web uses markup languages to provide a client-side approach to display static information. Students also learn how to analyze, modify, write and debug algorithms and documents that use a markup language. CSE1220: CLIENT-SIDE SCRIPTING 2 Students deepen their understanding of Internet computing by using more advanced markup language techniques and by being introduced to one or more Web-specific scripting languages. As part of this process, students learn how the Web uses these resources as a means of displaying dynamic client-side information. Students learn how to analyze, modify, write and debug algorithms and scripts that use structured programming approaches. Note: CSE1210: Client-side Scripting 1 or an equivalent course dealing with markup scripting is strongly recommended CSE1240: ROBOTICS PROGRAMMING 1 Students use an appropriate Robot Control Language (RCL) to design, develop, implement and debug robotics programs that employ standard structured programming constructs and simple data structures. In the process, they develop a general understanding of robots and the robotics environment. Prerequisite: CSE1110: Structured Programming 1 CSE1910: CSE PROJECT A CTS, BIT: CSE SUMMARY / 1

INTERMEDIATE CSE2010: COMPUTER SCIENCE 2 Students explore hardware, software and processes at an intermediate level. Students extend their understanding of software development by learning how to layer modular programming approaches over structured programming techniques to improve the efficiency and robustness of algorithms and programs. They also are introduced to derived data types to provide them with data structures suitable for more demanding problems. Students add to their understanding of the hardware side of computer science by exploring a stylized von Neumann computer system at the machine level, and of the social side of computer science by examining some of the issues that have arisen from the implementation of computer technology. Prerequisites: CSE1010: Computer Science 1 CSE2110: PROCEDURAL PROGRAMMING 1 Students develop their understanding of the procedural programming paradigm. They move from a structured programming approach in which modules were handled through the use of program blocks to a more formal modular programming approach in which they are handled through subprograms. In the process, students also learn to use a number of new design approaches made possible by the new paradigms. As part of this process, they also learn what types of problems are amenable to modular algorithms and programs. Prerequisite: CSE2120: DATA STRUCTURES 1 Students learn how to design code and debug programs that use a set of data structures that can be used to handle lists of related data. Building on their knowledge of basic or primitive data types, they learn how to work with fundamental data structures such as the array and the record. As part of this process, they learn what types of problems benefit from the use of these types of data structures. Prerequisite: CSE2130: FILES & FILE STRUCTURES 1 Students learn how to design, code and debug programs that use data files to store and retrieve data on secondary storage devices. Building on their knowledge of derived data structures, they learn how to use those structures to organize data for efficient file handling. As part of this process, they learn what types of problems benefit from the use of external files. Prerequisite: CSE2120: Data Structures 1 CSE2140: SECOND LANGUAGE PROGRAMMING 1 Students who have mastered the basics of one programming language are given the opportunity to learn the basics of another. Designed for students who have learned how to write structured and/or modular programs in a more accessible programming environment, this course gives students an opportunity to develop a similar skill set in a more demanding language. In the process, they have a further opportunity to hone their structured and modular programming skills. Prerequisites: or CSE2210: CLIENT-SIDE SCRIPTING 3 Students add to their understanding of Internet scripting by employing procedural programming techniques and fundamental data structures to create both static and dynamic client-side sites. Students learn how to analyze, modify, write and debug algorithms and scripts that use subprograms such as functions and data structures such as arrays. Prerequisites: CSE1220: Client-side Scripting 2 CSE2240: ROBOTICS PROGRAMMING 2 Students add to their understanding of robotics programming by employing procedural programming techniques and fundamental data structures to create programs that display greater agency and autonomy. They learn how to analyze, modify, write and debug robotics algorithms and programs in which modularity is achieved through subprograms such as functions and fundamental data structures such as arrays. Prerequisites: CSE1240: Robotics Programming 1 2 / CTS, BIT: CSE SUMMARY Revised 2010 Alberta Education, Alberta, Canada

CSE2910: CSE PROJECT B CSE2920: CSE PROJECT C CSE2950: CSE INTERMEDIATE PRACTICUM Students apply prior learning and demonstrate the attitudes, skills and knowledge required by an external organization to achieve a credential/credentials or an articulation. CTS, BIT: CSE SUMMARY / 3

ADVANCED CSE3010: COMPUTER SCIENCE 3 Students explore hardware, software and associated processes at an advanced level. They extend their understanding of software development by moving from procedural programming approaches to an object-oriented approach. In the process they learn how object-oriented programming (OOP) can improve the efficiency and robustness of algorithm development and program construction. They deepen their understanding of the hardware side of computer science by exploring the connection between the binary/hexadecimal number systems and some of the simple logic gates that are the basis of the von Neumann computer. They also add to their understanding of the social implications of computer science by examining the emerging information society. Prerequisites: CSE2010: Computer Science 2 CSE3020: COMPUTER SCIENCE 4 Students enhance their learning by studying a set of standard abstract data types and the dynamic data structures conventionally used to implement them. They also add to their general understanding of algorithms by learning how to conduct asymptotic analyses of algorithmic efficiency and indicate that efficiency using big O notation. Students continue their exploration of the hardware aspect of computer science by exploring a different type of computer architecture, the Turing machine. Prerequisites: CSE3010: Computer Science 3 CSE3110: Iterative Algorithm 1 CSE3110: ITERATIVE ALGORITHM 1 Students learn a number of standard iterative data processing algorithms useful for working with data structures such as arrays. These include an iterative version of the binary search, the three basic sorts exchange (bubble), insertion and selection, and a simple merge. In the process, they learn when and where to apply these algorithms. Prerequisites: CSE2120: Data Structures 1 CSE3120: OBJECT-ORIENTED PROGRAMMING 1 Students add to their understanding of programming paradigms by moving from a procedural programming approach, in which modularity is handled through subprograms, to an object-oriented approach, in which it is handled through objects. They learn a simple object-oriented analysis and design approach based on the use of object diagrams and write programs that use objects associated with one another in a client/server relationship. Prerequisite: CSE3130: OBJECT-ORIENTED PROGRAMMING 2 Students extend their knowledge of object-oriented programming (OOP). They add to their expertise in object-oriented design by using some of the techniques associated with the UML design approach and to their programming expertise by writing programs that explore association between classes. Students work with abstract classes, developing algorithms that employ the object diagram approach and programs that use templated classes, containment and inheritance to promote reusability. Prerequisite: CSE3120: Object-oriented Programming 1 CSE3140: SECOND LANGUAGE PROGRAMMING 2 Designed for students who have mastered procedural programming and static data structures in a more accessible programming environment, this course gives students the opportunity to develop a similar skill set in a more demanding language. Prerequisite: CSE2120: Data Structures 1 CSE3210: SERVER-SIDE SCRIPTING 1 Students add to their ability to craft dynamic Web sites by exploring the fundamentals of server-side scripting. In the process, they add to their understanding of Internet scripting by employing databases as a repository for the information to be displayed by their sites. Students learn how to analyze, modify, write and debug algorithms and server-side scripts that use simple databases. Prerequisites: CSE2210: Client-side Scripting 3 CSE2120: Data Structures 1 4 / CTS, BIT: CSE SUMMARY Revised 2010 Alberta Education, Alberta, Canada

CSE3240: ROBOTICS PROGRAMMING 3 Students continue their work in robotics programming by adding object-oriented programming (OOP) approaches to their skill set. In the process, they learn how to adapt their older procedure-based approaches to an object-oriented approach. They learn how to use object-oriented design approaches to design and write programs that use objects associated with one another in a client/server relationship. Prerequisites: CSE2240: Robotics Programming 2 CSE3310: RECURSIVE ALGORITHMS 1 Students learn how to use a new program control flow mechanism called recursion. They then use this mechanism to write a number of basic recursive algorithms and programs such as a recursive version of the binary search, the quicksort and the merge sort. Prerequisites: CSE3110: Iterative Algorithm 1 CSE3120: Object-oriented Programming 1 CSE3320: DYNAMIC DATA STRUCTURES 1 Students learn how to design, code and debug programs using abstract data types that utilize dynamic data structures. Students explore dynamic memory allocation, in general, and as handled by their programming environment. Students concentrate on how the linked list dynamic data structure(s) can be used to implement abstract data types. Prerequisite: CSE3310: Recursive Algorithms 1 CSE3330: DYNAMIC DATA STRUCTURES 2 Students enhance their knowledge of abstract data types that utilize dynamic data structures by expanding their repertoire to include stacks and queues. Students also study the unordered data structures, set and map, and learn how to incorporate them into abstract data types. As part of this work, they learn how to use linked lists to create stacks and queues. Prerequisite: CSE3320: Dynamic Data Structures 1 CSE3340: DYNAMIC DATA STRUCTURES 3 Students enhance their knowledge of abstract data types that utilize dynamic data structures by expanding their repertoire to include hierarchically linked data structures. Students study general trees, binary trees, binary search trees and heaps. They learn how to use binary search trees to implement sorted sets, sorted maps and heaps to implement priority queues. Prerequisite: CSE3330: Dynamic Data Structures 2 CSE3910: CSE PROJECT D CSE3920: CSE PROJECT E CSE3950: CSE ADVANCED PRACTICUM Students apply prior learning and demonstrate the attitudes, skills and knowledge required by an external organization to achieve a credential/credentials or an articulation. CTS, BIT: CSE SUMMARY / 5