6. |
Understand how to separate source code into multiple files, including header (.h) files. |
7. |
Use pointer variables and memory operations. |
8. |
Resize an array with dynamic memory allocation. |
9. |
Delete allocated memory to avoid “memory leaks.” |
10. |
Create and use simple linked-lists. |
11. |
Insert into, delete from, and traverse a linked structure. |
12. |
Understand the principle of the Abstract Data Type (ADT) and in particular the separation of interface and implementation. |
13. |
Implement user-defined data structures in a high-level language. |
14. |
Compare and contrast the costs and benefits of dynamic and static data structure implementations. |
15. |
Have an introductory understanding of object-oriented programming. |
16. |
Write a program using an array of objects. |
17. |
Design, implement, test, and debug simple programs in an object-oriented programming language. |
18. |
Describe how the class mechanism supports encapsulation and information hiding. |
19. |
Explain the value of application programming interfaces (APIs) in software development. |
20. |
Write programs that use each of the following data structures: arrays, structures, strings, linked lists, stacks, and queues. |
21. |
Understand the concept of recursive functions. |
22. |
Be able to create, compile, and run a program in a Unix style, command-line environment. |