In this course, students will be exposed to the main principles of essential computer science fundamentals and will develop a deeper understanding of advanced topics including systems programming of complex, low level software interacting with the hardware platform and operating system along with performance constraints. Students will also be proficient with basic scripting and programming in creating simple automated scripts/programs and implementing algorithms utilizing security practices such as bounds checking and input validation.