|
Dec 26, 2024
|
|
|
|
SE 2040 - Software Development III3 lecture hours 2 lab hours 4 credits Course Description This course introduces students to additional scripted, procedural, and object-oriented programming languages including C and C++. Students are introduced to the concepts of compilation, memory management, linking, low-level types, efficient implementation of objects, and the Standard Template Library. (prereq: CS 2852 ) Course Learning Outcomes Upon successful completion of this course, the student will be able to:
- Explain the key differences between Java and C/C++
- Make use of C/C++ compiler pre-processor directives
- Create and make use of C functions
- Create and make use of C++ classes
- Make use of the Standard C Library and C++ Standard Library
- Distinguish and make use of argument passing by value, reference, and address
- Make use of C++ polymorphism, particularly virtual vs. non-virtual methods
- Manage C memory directly via malloc() and free()
- Manage C++ memory directly via new and delete
- Create and make use of C++ namespaces
- Create and make use of C++ templates
- Make use of C++ operator overloading
- Discuss how typing systems influence efficiency, readability, and reliability
- Write procedural and object-oriented programs in a scripting language
Prerequisites by Topic
- Object-oriented programming, Java, data structures
Course Topics
- Procedural, object-oriented programming in a scripting language
- Procedural, object-oriented C++ programming
- Arrays, pointers, and dynamic data structures in C++
- Separate compilation and C++ namespaces
- Memory management in C++
- Templates and the Standard Template Library
- Procedural programming in C
- Type systems in a scripting language, C, C++, and Java
Laboratory Topics
- Scripting languages (2 sessions)
- C++ (7 sessions)
- C (1 session)
Coordinator Dr. Robert Hasker
Add to Portfolio (opens a new window)
|
|