105 Topics, Midterm 1

concept of an "operating system"	 	 	 
compilation	 	 	 	 
editor	 	 	 	 
shell	 	 	 	 
parts of the computer (computer organization)	 	 
4 kinds of memory	 	 
pre-processor directives	
resources in computer science

six stages of a C program

expressions	 	 	 	 
statements	 		 	 
data types	 	 	 	 
variables (and memory)
assignment statements
math operators
recognize function calls 
logical operators, and operator precedence	 	 	 	 	 
constants
truth values, boolean expressions, logical operators	 
conditionals (if, if/else, switch, )
printf, scanf, format control statements, format specifiers 	 	 

iteration	 
     definite iteration (for loops, while loops)	 	 	 	 
     indefinite iteration (while loops, sentinel loops)	 
nested loops	 	
 	 	 	 	 
pre-defined function libraries, including stdio.h
 	 	 
binary, hex, octal, decimal number systems 	 	 	 
shell commands: cp, mv, rm, ls, cat, mkdir
directories		 	 	 	 

structured programming (sequence, selection, and repetition)

finding min, max, count, sum, average of a sequence of data values
   
return value from main program



************************************************************
future topics:
	 	 	 
arrays	 	 	 	 
structs	 	 	 	 
pass-by-reference vs. pass-by-value	 	 	 	 
addresses	 	 	 	 
pointers	 	 	 	 
functions	 	 	 	 
 	write function prototypes	 	 	 
 	write function definitions	 	 	 
 	distinguish betweeen function prototype, definition and call.	 	 	 
 	distinguish between actual and formal parameters/arguments
ternary operator	 
indefinite iteration (do while)	 	 
recursion	 	 	 	 
malloc and free		 	 	 	 
file I/O	 	 	 	 
pre-defined function libraries, including math.h	 	 	 	 
C-strings, and string functions	 	 	 	 	 
DeMorgan's law	 	 	 	 	 
functional decomposition	 	 	 	 
dereferencing operators	 	 	 	 
pointer expressions	 	 	 	 
shell commands: cp, mv, rm, chmod, ls, cat, more	 	 	 	 
basic html and chmod to create simple web pages	 	 	 	 
directories	 	 	 	 
compiler commands	 	 	 	 
command line arguments	 	 	 	 
scope	 	 	  	 	 	 
linear search	 	 	 	 
binary search	 	 	 	 
sorting: either selection or insertion sort	 	 	 	 
finding min, max, count, sum, average of a sequence of data values (from either an input file or an array).	 	 	 	 
menu driven programs	 	 	 	 
return value from main program, and relation to shell scripts.	 	 	 	 
linked lists	 	optional (covered in CISC181)	 	 	 	 
 