|
Jun 16, 2025
|
|
|
|
SDEV 140 - Introduction to Software Development PREREQUISITES: SDEV 120 - Computing Logic PROGRAM: Software Development CREDIT HOURS MIN: 3 LECTURE HOURS MIN: 3 DATE OF LAST REVISION: Fall 2024
Introduces students to concepts and practices of programming languages and software development. Students will be familiarized with algorithms and development tools used to document/implement computer logic. Students will compare different programming languages, different programming paradigms such as real-time processing, web/database applications, and different integrated development environments. Students will implement structured programming concepts such as basic control structures, variables, constants, arrays/collections, procedures, and functions; and advanced concepts such as sorting, searching, and error handling. Students will be introduced to object-oriented programming. Students will explore the uses of different programming languages. Students will develop, test, and debug programs in an integrated development environment. Students will develop team building, work ethic, communication, documentation, and adaptability skills.
MAJOR COURSE LEARNING OBJECTIVES: Upon successful completion of this course the student will be expected to:
- Differentiate the use of compilers and interpreters.
- Implement programs using variables, constants, data types, and control structures.
- Demonstrate abstraction and modularization through use of functions and parameter passing in programming.
- Apply the fundamental concepts of object-oriented programming.
- Perform use case testing and debugging in an integrated development environment.
- Apply techniques for systematic problem analysis, algorithm development, program construction and documentation in accordance with industry standards.
- Discuss social, legal and ethical issues in software engineering.
- Integrate basic concepts related to defensive and secure programming.
- Explore the use of software repositories and collaboration tools in software development.
- Explore the responsible use of code generators and application of emerging technologies.
COURSE CONTENT: Topical areas of study include -
- Compilers and interpreters
- Variables, constants and data types
- Control structures
- Problem analysis and algorithm development
- Abstraction and modularization
- Functions and parameter passing
- Classes, objects, methods
- Software development phases and models
- Software architecture and design concepts
- Annotation and documentation
- Software testing plans and techniques
- Software engineering tools
- Input Validation
- Type Checking
- Exception Handling
- Coding Standards
- Peer Review/Collaboration
- Domains and use cases for different programming languages
Course Addendum - Syllabus (Click to expand)
|
|