Computer hardware and software. General computer organization and information representation. Binary and hexadecimal number systems. Algorithm design and problem-solving techniques. Introduction to programming using a high level language such as C++, Java, or Python.