COMPSCI 253: Object-Oriented Program Development in C

advertisement
COMPSCI 253: Object-Oriented Program Development in C
2-credit course with 2 lecture hours per week
Course Coordinator: Alark Joshi
Textbook(s) and Supplemental Material
The C Programming Language (2nd Edition), Brian W. Kernighan and Dennis M. Ritchie, 1988.
The UNIX Programming Environment, Brian W. Kernighan and Rob Pike, 1984.
Catalog Description
Introduction to object-oriented style of programming in C. Basic structure of C programs, function
pointers, variable argument lists, other generic programming techniques. Building software with Make.
Testing and debugging techniques. Case studies. (Pass/Fail.)
PREREQ: COMPSCI 225.
Required
Goals for the Course
Successful students will be expected to:
• translate knowledge of object-oriented programming in Java to C
• recognize and use common paradigms in C programming
• design and develop programs of moderate complexity in C
• use various tools to improve their productivity
• use object-oriented techniques with system utilities
Outcomes Addressed
c.
an ability to design, implement, and evaluate a computer-based system, process,
component, or program to meet desired needs
h. recognition of the need for and an ability to engage in continuing professional
development
i. an ability to use current techniques, skills, and tools necessary for computing practice
k. an ability to apply design and development principles in the construction of software
systems of varying complexity
Outcomes Assessed: i
Topics Covered
Structure of C programs
Using a C/C++ IDE (Eclipse)
Data types, Control-flow statements, Operators and expressions
Preprocessor and Scope
Compiling, linking of C programs
131
Console Input/Output, File Input/Output (text, binary, sequential versus random access)
Pointers and Arrays
Structures
Function pointers
Variable argument lists: C style method overloading
Case studies of object-style C programming. Generic linked lists, Doubly linked lists, Binary I/O
example, Bit Manipulation etc.
Creating and using shared libraries in C
Method Overriding in C using loadable code (aka plugins)
Make: object-oriented build process
Using a debugger: gdb, ddd, Eclipse
Memory debugging: valgrind
Introduction to the GNU/Linux environment (login, File system hierarchy, and so on)
Simple Shell Scripting
Grading
Even though this course is a Pass/Fail course, the letter grade is determined by the overall performance
on the assignments and in-class quizzes. Students with an aggregate score of 75 and above receive a
Pass grade in the course based on their performance on these activities:
Activity
Weight
Quiz
30%
Assignments
70%
Curriculum Category Content (Credits)
Area
Core Advanced
Algorithms
Software Design
Computer Architecture
Data Structures
Programming Languages
2
132
Download