Coursework

Below is a list of courses that I've taken as a Computer science student.

Click view more details to find out more about the course such as the books that was used and assignments that I worked on.

ICS 111

Introduction to Computer Science I - Java

Intended for Computer Science majors and all others interested in the first course in programming. An overview of the fundamentals of computer science emphasizing problem solving, algorithm development, implementation, and debugging/ testing using an object-oriented programming language.
View more details

ICS 211

Introduction to Computer Science II - Java

Reinforce and strengthen problem-solving skills using more advanced features of programming languages and algorithms such as recursion, pointers, and memory management. Emphasize the use of data structures such as arrays, lists, stacks, and queues.
View more details

ICS 212

Program Structure

Program organization paradigm, programming environments, implementation of a module from specifications, the C and C++ programming languages.
View more details

ICS 215

Introduction to scripting

Introduction to scripting languages for the integration of applications and systems. Scripting in operating systems, web pages, server-side application.
View more details

ICS 311

Algorithms

Design and correctness of algorithms, including divide-and-conquer, greedy and dynamic programming methods. Complexity analyses using recurrence relations, probabilistic methods, and NP-completeness. Applications to order statistics, disjoint sets, B-trees and balances trees, graphs, network flows, and string matching.
View more details

ICS 313

Programming Language Theory

Syntax, semantics, control structures, variable binding and scopes, data and control abstractions. Programming in functional (LISP) and logic (Prolog) programming styles.
View more details

ICS 314

Software Engineering I

System specification, modeling and analysis, prototyping, hierarchal design, program methods, cost estimation, project management, computer-aided software design. Team-oriented software-design project.
View more details

ICS 315

Web Design and Management

Web design principles, XML and HTML, tables, forms, and frames, multimedia objects, security, scripting for web applications, web servers, commercial aspects, new technology.
View more details

ICS 321

Data Storage & Retrieval

Data storage devices, timing and capacity, programming for files, hashed and indexed files, introduction to relational database systems.
View more details

ICS 332

Operating Systems

Operating system concepts and structure, processes and threads, CPU scheduling, memory management, scheduling, file systems, inter-process communication, virtualization, popular operating systems.
View more details

ICS 414

Software Engineering II

Continuation of 314. Project management, quality, and productivity control, testing and validation, team management. Team-oriented software-implementation project.
View more details

ICS 415

Introduction to programming for the web

Introduction to emerging technologies for construction of World Wide Web (WWW)-based software. Covers programming and scripting languages used for the creation of WWW sites and client-server programming. Students will complete a medium-sized software project that uses languages and concepts discussed in class.
View more details

ICS 451

Data Networks

Network analysis, architecture, digital signal analysis and design; circuit switching, packet switching, packet broadcasting; protocols and standards; local area networks; satellite networks; ALOHA channels; examples.
View more details

ICS 466

Design for Mobile Devices

Lecture introducing design issues, programming languages, operating systems and mark-up languages for internet-enabled mobile devices, such as cell phones and PDSs.
View more details