This course introduces the basic concepts and practices of computer programming and programming languages. This course covers programming development environment; syntax and semantics; data types and data structures, such as stacks, queues, sets, linked lists, and collections; variables; operators; control structures, such as decision-making and loops; functions; libraries; object-oriented programming; testing and debugging; version control; and software development life cycle. This course uses programming tools and programming languages to illustrate programming concepts. This course requires ICT-101 as a prerequisite