The Bachelor of Science (B.S.) in Computer Engineering program at the University of South Carolina (UofSC) provides students with a comprehensive education in the design, development, and application of computer hardware and software systems. The Bachelor of Science (B.S.) in Computer Engineering program at the University of South Carolina offers students a rigorous and interdisciplinary education in computer hardware, software, and systems engineering. With its comprehensive curriculum, hands-on experiences, elective specializations, and professional development opportunities, the program prepares students for successful careers in the dynamic and evolving field of computer engineering.
Core Curriculum: The B.S. in Computer Engineering program begins with a core curriculum that covers foundational concepts in mathematics, physics, and computer science. Students learn calculus, linear algebra, discrete mathematics, and physics principles that form the basis for understanding computer engineering principles and techniques.
STEM Designation: The B.S. in Computer Engineering program is designated as a STEM (Science, Technology, Engineering, and Mathematics) program, providing students with eligibility for STEM-related scholarships, grants, internships, and employment opportunities. STEM designation reflects the program's focus on rigorous academic standards, technical proficiency, and preparation for careers in high-demand STEM fields.
Computer Engineering Fundamentals: Students study core computer engineering principles, including digital logic design, computer architecture, embedded systems, and operating systems. They learn how to design and analyze digital circuits, processors, memory systems, and input/output interfaces, gaining a deep understanding of the underlying hardware components of computing systems.
Programming and Software Development: The program emphasizes programming and software development skills, teaching students programming languages such as C, C++, Java, and Python. Students learn software engineering principles, algorithms, data structures, and programming paradigms, enabling them to develop efficient and reliable software applications for various computing platforms and environments.
Hardware Design and Implementation: Students gain hands-on experience in hardware design and implementation, working with industry-standard tools and technologies to design, simulate, prototype, and test digital circuits and systems. They learn about field-programmable gate arrays (FPGAs), integrated circuits (ICs), microcontrollers, and hardware description languages (HDLs), applying their knowledge to solve real-world engineering challenges.
Embedded Systems and Internet of Things (IoT): The program covers embedded systems and IoT technologies, teaching students how to design and program embedded systems for applications such as robotics, automotive systems, consumer electronics, and smart devices. Students learn about sensor interfacing, real-time operating systems (RTOS), wireless communication protocols, and IoT architectures, preparing them for careers in emerging fields such as IoT development and cybersecurity.
Computer Networks and Communications: Students study computer networks and communications, learning about network architectures, protocols, routing algorithms, and network security. They gain practical experience in designing, configuring, and troubleshooting computer networks, understanding the principles of data transmission, network protocols, and networked applications.
Elective Specializations: The program offers elective specializations that allow students to tailor their studies to their interests and career goals. Specialization areas may include cybersecurity, machine learning, artificial intelligence, robotics, digital signal processing, bioinformatics, or software engineering. Students can choose elective courses that align with their interests and aspirations, gaining expertise in specialized areas of computer engineering.
Capstone Design Project: In their senior year, students complete a capstone design project that integrates knowledge and skills acquired throughout the program. Working in teams, students identify, plan, and execute a comprehensive engineering project, addressing real-world problems or challenges in computer engineering. Capstone projects may involve hardware design, software development, system integration, testing, and documentation, allowing students to demonstrate their creativity, innovation, and problem-solving abilities.
Internship and Co-op Opportunities: The program encourages students to participate in internships or cooperative education (co-op) experiences with industry partners, providing valuable hands-on learning opportunities and industry exposure. Internships and co-op experiences allow students to apply classroom knowledge to real-world projects, gain professional experience, and build professional networks in the field of computer engineering.
Professional Development: The program offers professional development resources and opportunities to help students prepare for successful careers in computer engineering. Students have access to career counseling, resume workshops, mock interviews, networking events, job fairs, and industry guest speakers, equipping them with the skills and confidence to pursue internships, co-op positions, and full-time employment opportunities upon graduation.
Research Opportunities: UofSC provides research opportunities for students interested in pursuing research in computer engineering or related fields. Students may work with faculty mentors on research projects, participate in research laboratories or centers, and contribute to cutting-edge research in areas such as cybersecurity, artificial intelligence, computer vision, robotics, or biomedical engineering.