C/C++ Programming II : Dynamic Memory and File I/O Concepts
CSE-40476
Building upon C/C++ Programming I,
level II will provide you with a further understanding of the C and C++ programming languages. Topics include: the run-time environment, advanced I/O features, advanced pointer and array concepts, basic data structures, efficiency and portability, the Standard C Library, and debugging techniques.
Course Highlights:
- Bitwise operations
- Executive environment
- Recursion
- Advanced array and pointer concepts
- Storage map equations
- Dynamic pointer array allocation
- State diagrams and state machines
- Sorting and searching
- Lists, trees and hashings
- Data representation and portability
- Locating records within files
- Variable argument functions
- Non-local gotos
Course Learning Outcomes:
- Execute concepts acquired in C/C++ Programming I to "real-world" programming situations
- Understand the diverse applications of C and C++ concepts
- Possess the ability to apply C and C++ to practical problems
Software: Students must have access to program development tools. Free IDE downloads students commonly use for this program include "Visual Studio Community" for Windows, "Xcode" for macOS, and "Code::Blocks" for Linux, Windows, and macOS.
Course Materials: The instructor will provide students with a pdf copy of his custom course reader to be used for the duration of this course. There is no other textbook required for this course.
Course Typically Offered: Online in every quarter.
Prerequisite: CSE-40475 C/C++ Programming I: Fundamental Programming Concepts or equivalent knowledge and experience. Students must have a competent knowledge of basic C and C++ programming concepts as taught in any good C/C++ Programming I course, especially regarding data types and pointers. Those without this knowledge MUST complete the prerequisite prior to enrolling in this course.
Next Step: After completing this course, consider taking CSE-40477 C/C++ Programming III: Intermediate Programming with Objects to continue learning.
Contact: For more information about this course, please email infotech@ucsd.edu.
Course Information
Course sessions
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
All course materials are included unless otherwise stated.
Policies:
- No refunds after: 9/30/2024
Schedule:
Instructor: Raymond Mitchell, M.S.
Hardware/Software Consultant
Raymond L. Mitchell Jr. owns a hardware/software consulting business. He worked for 30+ years as an electronics design engineer at SPAWAR Systems Center where he designed, built, and programmed hardware and software systems from the logic design, circuit board layout, and mechanical packaging stages through the operating system and application program development phases.
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
No textbook required.
Policies:
- No refunds after: 1/13/2025
Schedule:
Instructor: Raymond Mitchell, M.S.
Hardware/Software Consultant
Raymond L. Mitchell Jr. owns a hardware/software consulting business. He worked for 30+ years as an electronics design engineer at SPAWAR Systems Center where he designed, built, and programmed hardware and software systems from the logic design, circuit board layout, and mechanical packaging stages through the operating system and application program development phases.