These are some of the projects I worked on while completing my Bachelor of Science in Computer Science at Northern Illinois University.
- CSCI-240: Computer Programming in C++ — Emphasis on algorithm development and structured programming design and testing. Topics include input and output, decisions, loops, functions, arrays, text manipulation, files, and data abstraction.
- CSCI-241: Intermediate Programming in C++ — A second course in programming techniques with emphasis on design and implementation of data structures applied to large-scale projects. Topics include static and dynamic implementation of linear and nonlinear data structures, recursion, searching and sorting algorithms, and algorithmic complexity analysis.
- CSCI-340: Data Structures and Algorithm Analysis — Application of analysis and design techniques to nonnumeric algorithms acting on data structures. Utilization of algorithmic analysis and design criteria in the selection of methods for data manipulation. Computing projects done in a high-level computing language.
- CSCI-360: Computer Programming In Assembler Language — In-depth study of assembler language programming on a third-generation computer, including internal and external subroutines, conditional assembly, and the macro language. Students required to write a number of substantial programs.
- CSCI 463: Computer Architecture and Systems Organization — Organization and use of computer systems. Basic concepts and examples from microcomputers and networks, peripheral components, data communications, and the relationship between hardware components and the operating system.
- CSCI-465: Enterprise Application Environments — File, organization, job control languages, file access methods and utilities. Security. High-throughput data-intensive applications.
- CSCI-470: Programming in Java — Intermediate-level course in object-oriented programming in Java, including multi-threading, graphical applets, and Internet-based distributed client-server database applications.
- CSCI-480: Principles of Operating Systems — Principles and practices of modern operating system design. Includes file systems organization; memory management; multitasking; windowing interfaces; interprocess communication, including communications across a network; and client-server models of processing.
- CSCI-490: Applied Machine Learning — This class offers a hands-on approach to machine learning and data science. The class discusses the application of machine learning methods like SVMs, Random Forests, Gradient Boosting and Neural Networks on real world dataset, including data preparation, model selection and evaluation.