The courses’ prerequisites and further details regarding the program can be found at Pedagogic Project

The curriculum is composed by obligatory and optative courses and complementary activities. Every course is listed hereinafter, followed by its theoretical and practical (T and P) credits, along its course load in the semester. Each profile represents one academic semester, totaling 8 (eight) semesters

The courses’ curriculum was elaborated considering the core knowledge recommended by the Brazilian Computing Society: mathematics, natural sciences, computability fundamentals, computing technology, information systems and social and professional contexts. The first and second periods of the course emphasize a mathematical basis and some computability fundamentals, as well as introducing the student to text construction techniques and to present scientific studies. In these periods, economy, environment and administration concepts are also introduced. The third to the sixth periods are mainly dedicated to the core of computability fundamentals and technologies, adding concepts of productive processes, entrepreneurship and sustainability. The core of information systems is introduced from the third period. The two last periods emphasize the professional core and optative courses.

T – Amount of credits granted by theoretical classes
P – Amount of credits granted by practical classes
CL – Semester course load



Course T P CL
Differential and Integral Calculus 1 3 1 60h
Logics for Computing 3 1 60h
Physics for Computing 3 1 60h
Algorithms and Programming 1 2 2 60h
Analytical Geometry and Linear Algebra 4 0 60h
Academic Research in Computing 2 0 30h
Computing, Ethics and Society 2 0 30h
General Knowledge in Economics 2 0 30h
Total 21 0 390h


Course T P CL
Algorithms and Programming 2 2 2 60h
Differential Calculus and Series 4 0 60h
Probability and Statistic 4 0 60h
Discrete Mathematics 3 1 60h
Digital Circuits 2 2 60h
General Knowledge in Environmental Administration 2 0 30h
Small Business Management 2 0 30h
Total 19 5 360h


Course T P CL
Architecture and Computer Organization 4 0 60h
Architecture and Computer Lab 0 2 30h
Graph Theory 4 0 60h
Algorithms and Complexity 3 1 60h
Introduction to Information Systems 3 1 60h
Object Oriented Programming 3 1 60h
Data Structures 1 3 1 60h
Automation in Production Chains 2 0 30h
Total 22 6 420h


Course T P CL
Software Engineering 1 2 2 60h
Operating Systems 4 0 60h
Theory of Computing 4 0 60h
Operating Systems Laboratory 0 2 30h
Image Processing and Computer Vision 2 2 60h
Entrepreneurship and Innovation in Information Technology 2 0 30h
Data Structures 2 3 1 60h
Databases 4 0 60h
Total 21 7 420h


Course T P CL
Computer Networks 4 0 60h
Programming Languages Paradigms 4 0 60h
Compilers 4 0 60h
Software Engineering 2 3 1 60h
Databases Laboratory 0 2 30h
Web Development 2 2 60h
Computer Graphics 2 2 60h
Total 19 7 390h


Course T P CL
Computer Networks Laboratory 0 2 30h
Compilers Laboratory 0 2 30h
Systems` Design and Development 2 2 60h
Artificial Intelligence 3 1 60h
Distributed Systems 4 0 60h
Applications in IT for sustainability 2 2 60h
Optative Courses 12 0 180h
Total 23 9 480h


Course T P CL
Undergraduate Work 1 or Internship 1 0 12 180h
Optative Courses 12 0 180h
Total 12 12 360h


Course T P CH
Undergraduate Work 2 or Internship 2 0 12 180h
Seminars in Computing 2 0 30h
Optative Courses 2 0 30h
Complementary Activities 12 0 180h
Total 16 12 420h

Total Amount of Credits of the Program 153 63 3240h


The curriculum anticipates a set of optative courses displayed hereinafter, which are offered according to the availability of the faculty members. The student must gather at least 26 credits from optative courses for their professional formation. Among them, at least 24 credits must correspond to specific courses of the program, presented in the table. Two (2) credits may be coursed on elective courses, offered by any course of UFSCar.

Course T P CL
Human-Computer Interface 2 2 60h
Multimedia 2 2 60h
Distributed Algorithms 4 0 60h
Introduction to Robotics 2 2 60h
Software Reuse 2 2 60h
Advanced Topics in Databases 2 0 30h
Topics in Software Engineering 3 1 60h
E-Science 4 0 60h
New Technologies in Databases 2 2 60h
Machine Learning 3 1 60h
Numerical Calculation 4 0 60h
Bioinspired Computing 3 1 60h
Introduction to Fuzzy Theory 2 2 60h
Introduction to Cryptography 2 2 60h
Data Mining 3 1 60h
Security and Systems` Audit 4 0 60h
Advanced Topics in Computer Science 4 0 60h
Advanced Topics in Computer Networks 4 0 60h
Advanced Topics in Operating Systems 4 0 60h
Bioinformatics 4 0 60h
Parallel Computing 3 1 60h
Advanced Topics in Software Development 2 0 30h
Advanced Topics in Computer Architecture 4 0 60h
Advanced Topics in Theory of Computation 4 0 60h
Advanced Topics in Graph Theory 4 0 60h
Topics in Mathematical Programming 4 0 60h
Introduction to the Brazilian Sign Language – Libras 1 2 0 30h




Complementary activities, regulated by the Decree GR 461/06, has as its main objective to allow the student to participate in activities, which enable the development of abilities apart from the ones crafted by the courses in the classroom. The complementary activities contribute to educate the students as citizens and professionally enhance them.

Are considered to be complementary activities: monitoring, scientific initiation programs, extension activities, event participation, among others, as long as they are connected to the professional education in the field of Computer Science. The Bachelor program of Computer Science of UFSCar, campus Sorocaba, will offer opportunities on its diverse academic periods of the course, so that the student may participate of activities and consequently account their respective credits.

The student shall gather at least 12 credits from complementary activities, in at least 2 different categories of activities. Such activities may be performed at any time, including in the period of vacations. The student can perform Complementary Activities after enrolling in the first semester of the course.