I. Course Title: Foundations of Computer Systems
                                    
                                    II. Course Number: ITEC 252
                                    
                                    III. Credit Hours: 3 credits
                                    
                                    IV. Prerequisites: ITEC 118, ITEC 119, or ITEC 120 with a grade of 鈥淐鈥 or better.
                                    
                                    V. Course Description: 
                                    
                                    Hands-on, activity-based study of the foundations of systems and their interconnection.
                                       Topics will include the interconnection between operating systems, computer organization,
                                       high level programming languages, compilers and networking.
                                    
                                    VI. Detailed Description of Content of the Course:
                                    
                                    Topics include: 
                                    
                                    
                                       
                                       - a. Foundations of computer organization
 
                                       
                                       - b. Command line interface (with examples from Linux and Windows)
 
                                       
                                       - c. Data representation on disk (binary and file system)
 
                                       
                                       - d. File systems with examples from generic OSes such as Linux and Windows
 
                                       
                                       - e. Memory organization (stack, heap, page tables)
 
                                       
                                       - f. OS configuration with examples from Linux and Windows
 
                                       
                                       - g. Interconnection of various components 
 
                                       
                                       - h. Foundations of networking 
 
                                       
                                       - i. Foundations of compilation
 
                                       
                                    
                                    VI. Detailed Description of Conduct of Course:
                                    
                                    Delivery can include a blend of lectures, discussions, hands on activities and can
                                       be delivered online, as a hybrid course or as an on-campus course. 
                                    
                                    VII. Goals and Objectives of the Course:
                                    
                                    Students who complete the course will be able to:    
                                    
                                    
                                       
                                       - Explain the synergy between key components of a computer system including: computer
                                          architecture, operating systems, high level programs and networks.  
 
                                       
                                       - Demonstrate the ability to traverse the file systems of Linux and Windows using a
                                          CLI
 
                                       
                                       - Identify the need for a shell program 
 
                                       
                                       - Demonstrate the ability to configure shell environment variables
 
                                       
                                       - Demonstrate the ability to link and compile programs at the CLI without the use of
                                          IDEs (E.g., using Makefiles)
 
                                       
                                       - Demonstrate the ability to configure systems (e.g., networking) at the CLI without
                                          the use of high level tools. 
 
                                       
                                       - Enumerate various file systems and their capabilities (i.e. NTFS) and binary file
                                          formats (ELF).
 
                                       
                                       - Identify foundations of networking including common protocols such as IP, TCP, UDP,
                                          HTTP and SSH. 
 
                                       
                                    
                                    VIII. Assessment Measures:
                                    
                                    Evaluations may include but are not limited to team work, presentations, assignments,
                                       projects, quizzes, and examinations. 
                                    
                                     
                                    
                                    Other Course Information: None
                                    
                                     
                                    
                                    Review and Approval
                                    
                                    March 01, 2021