This is a second course in computer science with a focus on programming and software engineering for first year students. This course builds on the Fundamentals of Computing 1 course and provides students with a practical and hands-on approach to the more advanced programming aspects required by modern software development, data structures, large system development, and team
programming. The course covers the following topics:
1. Basic data structures and the facilities in modern programming languages to support their creation and use (lists, stacks, queues, heaps, hash tables, trees, searching, sorting, and recursion)
2. Basic performance and tradeoff considerations and analysis (best case, worse case, average case, linear and non-linear algorithms and their impact on performance)
3. Support for those programming aspects used to support team software development and reuse in modern programming languages (interfaces, types as parameters to implement generic routines, the study, use, and implementation of Application Program Interfaces (APIs))
4. Event processing and the basics of graphical user interfaces (basics of threads, events, windows, focus, titles, buttons, select lists, combo boxes, MVC architecture)

Khoá học này cung cấp cách hiểu toàn diện về thế giới đang bị thay đổi bởi công nghệ. Sinh viên được cung cấp cái nhìn mới về thế giới phẳng, kinh tế wiki, xã hội tri thức và toàn cầu hoá. Cách hiểu về máy tính bây giờ là toàn thể mạng máy tính trên thế giới cùng những tri thức nhân loại tích luỹ trên đó. Do đó CNTT không phải là học về cái máy cụ thể mà là học về các hoạt động con người trên nền tảng công nghệ thông tin.

Dưới mức độ của toàn cầu hoá và xã hội tri thức, môn học này còn giới thiệu về CNTT làm nền tảng cho các hoạt động doanh nghiệp và nó trực tiếp đi vào lĩnh vực quản lí các doanh nghiệp và tổ chức trong nền kinh tế toàn cầu. Vì vậy CNTT ngày nay không chỉ bao gồm các hoạt động phần cứng phần mềm của máy tính mà còn bao quát cả cách tổ chức làm việc mới của những con người tri thức trên nền tảng công nghệ. Những yếu tố mới của quản lí và cộng tác tri thức này cũng được đề cập tới bên cạnh các tri thức kĩ thuật.