Students interested in computer programming may earn an associate's or bachelor's degree in a field such as computer science, information technology, computer information systems or management information systems. Earning an associate's degree prepares students for employment in computer programming; it also prepares students to transfer to a bachelor's degree program in computer science at a 4-year college or university.
Computer programming courses focus on helping students develop an understanding of computer networks, operating systems, algorithms, database systems and web design. Students in computer programming courses will become familiar with programming languages such as HTML and CSS.
Here is a list of topics commonly explored in computer programming courses:
- Web development
- Database design
- Hardware and software
List of Courses
Computer Programming Introductory Course
Students are introduced to object-oriented programming and basic concepts in software development, including classes, inheritance, control structures, simple data structures and objects. A lab section provides hands-on experience solving common programming problems. Computer science majors are required to take this course.
Computer Architecture Course
Computer architecture encompasses the system design, machine language and organization of computers at their most basic levels. This course for computer science majors includes Boolean algebra and logic gates, integer, scaled, and floating point binary arithmetic, control, arithmetic-logic, and pipeline units, and addressing modes and different types of memory. Students also learn simple assembly language for modern embedded processors.
Software Development and Program Design Course
Once students have developed fluency in a programming language, they can begin to create larger software programs. Curriculum for this advanced course covers the design, implementation, testing and modification of larger platforms. Students learn to design software using large code bases and libraries, strategies and patterns, integrated design environments, debuggers, system build tools and code re-factoring. Other topics may include GUIs, multi-threading, client-server networking and event-driven programming. This course is presented using lectures and labs.
Operating Systems Course
Computer science students are introduced to the fundamentals of operating systems, such as , Windows, Linux and Mac OS X. Subjects include the evolution of operating systems, synchronization, concurrency, scheduling, virtual memory, paging, devices, security and files. Curriculum may also include networking, secondary storage management and distributed services.
Artificial Intelligence (AI) Course
This course presents the main concepts of AI, including reasoning under uncertainty, knowledge representation and state-space search. Students observe how these concepts are used in adaptive systems and computer games. Also covered in this upper-level computer science course are natural language processing, neural nets, machine learning, intelligent agents, case-based reasoning and artificial life.