Software Engineering Transfer Degree



Similar documents
COMPUTER SCIENCE. Department of Mathematics & Computer Science

MATHEMATICAL SCIENCES, BACHELOR OF SCIENCE (B.S.) WITH A CONCENTRATION IN APPLIED MATHEMATICS

MATHEMATICS. Administered by the Department of Mathematical and Computing Sciences within the College of Arts and Sciences. Degree Requirements

Criteria for Accrediting Engineering Programs Effective for Evaluations during the Accreditation Cycle

Sequence of Mathematics Courses

Weldon School of Biomedical Engineering Continuous Improvement Guide

BS Environmental Science ( )

Integration of Mathematical Concepts in the Computer Science, Information Technology and Management Information Science Curriculum

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

Cabrillo College Catalog

Programme Specification (Undergraduate) Date amended: 28 August 2015

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

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

PHILOSOPHY OF THE MATHEMATICS DEPARTMENT

ABET General Outcomes. Student Learning Outcomes for BS in Computing

Union County College Faculty Curriculum Committee. New Program Proposal Form

One LAR Course Credits: 3. Page 4

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

Criteria for Accrediting Computer Science Programs Effective for Evaluations during the Accreditation Cycle

Mathematics. Mathematics MATHEMATICS Sacramento City College Catalog. Degree: A.S. Mathematics AS-T Mathematics for Transfer

MATHEMATICS PLACEMENT

M.S. Computer Science Program

A GENERAL CURRICULUM IN MATHEMATICS FOR COLLEGES W. L. DUREN, JR., Chairmnan, CUPM 1. A report to the Association. The Committee on the Undergraduate

Master of Arts in Mathematics

Diploma Of Computing

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

CRITERIA FOR ACCREDITING COMPUTING PROGRAMS

Computer Science/Software Engineering

School of Mathematics, Computer Science and Engineering. Mathematics* Associate in Arts Degree COURSES, PROGRAMS AND MAJORS

Erik Jonsson School of Engineering and Computer Science

MATH. ALGEBRA I HONORS 9 th Grade ALGEBRA I HONORS

Diablo Valley College Catalog

ENGINEERING PHYSICS (EE)

(Advanced Preparation)

College of Science Department of Mathematics and Computer Science. Assessment Plan Computer Science and Computer Networks

Electrical and Computer Engineering Undergraduate Advising Manual

BSEVE-ENVE Environmental Engineering Assessment Plan Approved May, 2013

How To Get A Computer Science Degree At Appalachian State

Graduation Requirements

Vanderbilt University Biomedical Informatics Graduate Program (VU-BMIP) Proposal Executive Summary

Bioethics Program Program Goals and Learning Outcomes

MATHEMATICS (MATH) 3. Provides experiences that enable graduates to find employment in sciencerelated

Instructional Design Framework CSE: Unit 1 Lesson 1

Describe the process of parallelization as it relates to problem solving.

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

The Partnership for the Assessment of College and Careers (PARCC) Acceptance Policy Adopted by the Illinois Council of Community College Presidents

Applied Mathematics and Mathematical Modeling

Indiana Statewide Transfer General Education Core

APPLICATION FOR PART-TIME EMPLOYMENT AS A TUTOR TUTOR IN THE DOLCIANI MATHEMATICS LEARNING CENTER

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

Competencies for Secondary Teachers: Computer Science, Grades 4-12

New Tracks in B.S. in Mathematics

LONDON SCHOOL OF COMMERCE. Programme Specification for the. Cardiff Metropolitan University. BSc (Hons) in Computing

Credit Number Lecture Lab / Shop Clinic / Co-op Hours. MAC 224 Advanced CNC Milling MAC 229 CNC Programming

Westfield State University Department of Economics and Management

Software Engineering

OREGON INSTITUTE OF TECHNOLOGY Mechanical Engineering Program Assessment October 16, 2008 INTRODUCTION PROGRAM MISSION STATEMENT

Students who successfully complete the Health Science Informatics major will be able to:

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

CRITERIA FOR ACCREDITING COMPUTING PROGRAMS

Council on Social Work Education. Curriculum Policy Statement for Baccalaureate Degree Programs in Social Work Education

Master Degree Program in Computer Science (CS)

How To Teach Math

UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW

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

The University of Connecticut. School of Engineering COMPUTER SCIENCE GUIDE TO COURSE SELECTION AY Revised May 23, 2013.

Mathematics (MAT) MAT 061 Basic Euclidean Geometry 3 Hours. MAT 051 Pre-Algebra 4 Hours

MATH ADVISEMENT GUIDE

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

PCHS ALGEBRA PLACEMENT TEST

Erik Jonsson School of Engineering and Computer Science Interdisciplinary Programs

The following are the measurable objectives for graduated computer science students (ABET Standards):

DEPARTMENT AND PROGRAM MISSION, GOALS, AND ASSESSMENT

Computer Engineering

Information Technology Management Bachelor of Science Degree (B.S.)

AB THE COLLEGE OF THE BAHAMAS REVISED POLICY ON ASSOCIATE DEGREE PROGRAMMES

Division of Mathematical Sciences

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary

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

Background Knowledge

DOVER-SHERBORN HIGH SCHOOL PROGRAM OF STUDIES

MASTER COURSE SYLLABUS

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

Prerequisite: High School Chemistry.

BA Psychology ( )

Domains and Competencies

GENERAL EDUCATION HANDBOOK

CHEMICAL SCIENCES REQUIREMENTS [61-71 UNITS]

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

Bachelor Program in Analytical Finance, 180 credits

Pre-Calculus Semester 1 Course Syllabus

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

INFORMATION SYSTEMS, BACHELOR OF SCIENCE (B.S.)

Transcription:

www.capspace.org (01/17/2015) Software Engineering Transfer Degree This program of study is designed for associate-degree students intending to transfer into baccalaureate programs awarding software engineering degrees. This software engineering curriculum is closely aligned with the computer science transfer degree program and shares a significant amount of coursework. Given that software engineering is built upon the foundations of both computer science and engineering, a software engineering curriculum can be approached from either a computer science-first or software engineering-first perspective; there clearly is merit in both approaches. While some suggest that the engineering-first approach better ensures that students develop a proper sense of the field in the context of engineering, the computer science-first approach is much more pragmatic at two-year colleges. Software engineering spans the entire software lifecycle - it involves creating high-quality, reliable programs in a systematic, controlled, and efficient manner using formal methods for specification, evaluation, analysis and design, implementation, testing and maintenance. Many software products are among the most complex of man-made systems, requiring software development techniques and processes that successfully scale to large applications which satisfy timing, size, and security requirements all within acceptable timeframes and budgets. For these reasons, software engineering requires both the analytical and descriptive tools developed in computer science and the rigor that the engineering disciplines bring to the reliability and trustworthiness of the systems that software developers design and implement while working cohesively in a team environment. In particular, the field of software engineering: - Must be viewed as a discipline with stronger ties to computer science than it has to other engineering fields. - Must share common characteristics with other engineering disciplines, including quantitative measurement, structured decision making, effective use of tools, and reusable software components. - Must apply engineering methods and practices to the development of software, with special emphasis on the development of large software systems. - Must integrate the principles of mathematics and computer science with engineering methodologies to create extensible software. - Must include secure code standards and quality control concepts of manufacturing process design. - Must emphasize communication skills, teamwork skills, and professional principles and best practices. The mathematics of discrete structures underlies all computing fields, including software engineering, and is core to the software engineering curriculum. This course can be meaningfully supplemented by an additional course devoted to statistics and empirical methods; not dissimilar from a statistics course offered frequently in the two-year college setting, such a course may be necessary for the upper division software engineering curriculum at some transfer institutions. It should also be noted that in order to fulfill articulation agreements with some transfer institutions students may also need to complete a more complete calculus sequence (or additionally, linear algebra and/or differential equations). Some two-year colleges offer introductory engineering courses, providing an overview of the many individual disciplines constituting the world of engineering. These courses often engage students in stimulating activities that peak their interests and set the stage for career choices in such fields. Students pursuing software engineering degree programs would strengthen their insights into engineering by completing such coursework. In their upper division work, students will focus their emerging software engineering skills in a particular application area of interest to them. The foundation for that selection may be laid in various elective courses that students pursue in the lower division. These could include courses in business and finance; biology and health sciences; mathematics and statistics; and information technology. Effective oral and written communications abilities are of critical importance to software engineering professionals; therefore, students

should be required to complete communications courses as part of this degree program. These skills must be identified, developed, nurtured and incorporated throughout a software engineering curriculum. Students must master effective writing, speaking, and listening abilities, and then consistently demonstrate those talents in a variety of settings, including formal and informal, large group and one-on-one, technical and non-technical, point and counter-point. Professional software engineers have a responsibility to society and their work carries significant liabilities. Consequently, software engineers must conduct themselves in an ethical and professional manner. The preamble to the Software Engineering Code of Ethics and Professional Practice [ACM 1999] states: "Because of their roles in developing software systems, software engineers have significant opportunities to do good or cause harm, to enable others to do good or cause harm, or to influence others to do good or cause harm. To ensure, as much as possible, that their efforts will be used for good, software engineers must commit themselves to making software engineering a beneficial and respected profession. In accordance with that commitment, software engineers shall adhere to the following Code of Ethics and Professional Practice." Hence, instructors must ensure that the software engineering curriculum forces students to become familiar with the Code, and engages them in discussions and activities that emphasize the eight principles of the Code. Curricular Reports 2004 ACM Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering Computing Curricula 2005: Guidelines for Associate-Degree Transfer Curriculum in Software Engineering Software Engineering Institute: Software Assurance Curriculum Project: Volume IV: Community College Education Program Outcomes and Supporting Course Learning Outcomes Program Outcome Group: Communication and Interpersonal Skills An ability to function effectively as a member of a multidisciplinary team to accomplish common goals. An ability to read and interpret technical information, as well as listen effectively to, communicate orally with, and write clearly for a wide range of audiences. There are currently no course learning outcomes in support of this program outcome group. Program Outcome Group: Critical Thinking, Problem Solving, and Theoretical Foundations An ability to analyze a problem and craft an appropriate algorithmic and/or engineering solution. An ability to apply knowledge of computing and mathematics appropriate to the discipline. An ability to design a secure system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability. An ability to interpret data, think critically and apply the scientific method. Calculus I (Core) (Gen Ed Requirement) Apply fundamental theorems and rules of Calculus to differentiate and integrate algebraic, trigonometric, inverse trigonometric and transcendental functions Apply fundamental theorems and rules of Calculus to evaluate limits and analyze the continuity of various functions Apply fundamental theorems and rules of differentiation to solve problems that model real-world situations Construct symbolic models of applied problems describedin words

Use fundamental concepts of Calculus to construct graphs of polynomial, rational and exponential functions Computer Science I (Core) Apply secure coding techniques to objectoriented programming solutions. Apply the program development process to problems that are solved using fundamental programming constructs and predefined data structures. Compare and contrast the primitive data types of a programming language; describe how each is stored in memory; and identify the criteria for selection. Decompose a program into subtasks and use parameter passing to exchange information between the subparts. Describe the language translation phases of compiling, interpreting, linking and executing, and differentiate the error conditions associated with each phase. Differentiate between the objectoriented, structured, and functional programming methodologies. Produce algorithms for solving simple problems and trace the execution of computer programs. Computer Science II (Core) Analyze the execution of searching and sorting algorithms. Construct multiplefile or multiplemodule programming solutions that use class hierarchies, inheritance, and polymorphism to reuse existing design and code. Construct object oriented programming solutions for reuse, using ADTs that incorporate encapsulation, data abstraction, and information hiding. Create programming solutions that use data structures and existing libraries. Design and develop secure and faulttolerant programs that mitigate potential security vulnerabilities. Produce graphical user interfaces that incorporate simple color models and handle events. Verify program correctness through the development of sound test plans and the implementation of comprehensive test cases. Computer Science III (Core) Analyze the efficiency of recursive algorithms. Assess the appropriateness of using recursion to solve a given problem. Compare and contrast a range of searching and sorting algorithms and analyze time and space efficiencies. Create effective, efficient and secure software, reflecting standard principles of software engineering and software assurance. Design and construct programming solutions using a variety of recursive techniques. Design and develop reusable software using appropriate data structures and templates. Use standard analysis and design techniques to produce a team-developed, mediumsized, secure software application that is fully implemented and formally tested. Discrete Structures (Core) (Gen Ed Requirement) Apply mathematical induction and other techniques to prove mathematical results. Examine the logical validity of arguments and proofs as they apply to Boolean expressions. Illustrate the basic terminology and properties of graphs and trees. Perform binary and hexadecimal conversions of numbers. Perform computations using recursively defined functions and structures. Solve problems involving sets, relations, functions, and congruences. Use graphs and trees to solve problems algorithmically.

Use methods of combinatorics to solve counting problems. Introduction to Software Engineering(Core) Construct a preliminary investigative report for a proposed system that includes scheduling and plans for mitigating potential risks. Create effective, efficient and secure software, reflecting standard principles of software engineering and software assurance. Decompose complex systems using best practice object-oriented analysis and design tools and techniques Design and implement consistent and coherent user-centered interfaces that comply with UI standard practices Evaluate and test software system requirements that considers both validation and verification Use standard analysis and design techniques to produce a team-developed, mediumsized, secure software application that is fully implemented and formally tested. Program Outcome Group: Professionalism, Ethics, Societal Awareness and Global Perspective An ability to analyze the global impact of software solutions on individuals, organizations, and society. An ability to demonstrate social awareness, respect for privacy and responsible conduct. An ability to engage in continuous learning as well as research and assess new ideas and information to provide the capabilities for lifelong learning. An ability to exhibit professional, legal, and ethical behavior. Computer Science I (Core) Choose professional behavior in response to ethical issues inherent in computing. Computer Science II (Core) Discuss significant trends and societal impacts related to computing, software, and the Internet. Computer Science III (Core) Practice the tenets of ethics and professional behavior promoted by computing societies; accept the professional responsibilities and liabilities associated with software development. Introduction to Software Engineering(Core) Practice the tenets of ethics and professional behavior promoted by computing societies; accept the professional responsibilities and liabilities associated with software development. Program Course Sequence Year one, semester one Computer Science I (Core)

Year one, semester two Computer Science II (Core) Mathematics Course Discrete Structures (Core)(Gen Ed Requirement) Year two, semester one Computer Science III (Core) Mathematics Course Calculus I (Core)(Gen Ed Requirement) Year two, semester two Introduction to Software Engineering (Core)