First Engineering Computer Science (COMP10060) Outline Syllabus ================ Introduction: what is a computer? what is an algorithm? what is a program? An engineering problem-solving methodology. General format of a C program. Fundamentals of C: variables and constants. Assignment statements. Formatted input/output from/to the keyboard/screen. Basic datatypes. Type casting. Keywords and identifiers. Arithmetic, relational, and logical operators; conditionals. Operator precedence. Loops: for, while, do-while. Infinite and unbounded loops. Algorithm development and stepwise refinement: flowcharts and pseudocode. Sources and types of errors in C programming. Functions: C library functions. Programmer- defined functions: definition, declaration, function call. Formal and actual function parameters: call by value. Storage class and scope. 1-D arrays: declaration and initialization. Simple linear searching with arrays. Passing arrays to functions: call by address. Pointers and memory addresses. Declaring, initializing, and dereferencing pointer variables. Relationship between pointers and arrays; pointer arithmetic. Pointers and functions: call by address. Strings. Pointers to strings. String input. Strings and functions. C string library functions. File input/output. Data file formats. Structures. Pointers to structures. Nested structures. Arrays of structures.