Bachelor of Computer Science
This article needs additional citations for verification. (July 2017) (Learn how and when to remove this template message)
The Bachelor of Computer Science or Bachelor of Science in Computer Science (abbreviated BCompSc or BCS or BS CS or B.Sc. CS) is a type of bachelor's degree, usually awarded after three or four years of collegiate study in computer science, but possibly awarded in fewer years depending on factors such as an institution's course requirements and academic calendar. In some cases it can be awarded in five years. In general, computer science degree programs emphasize the mathematical and theoretical foundations of computing.
The same core curriculum may, depending on the school, result in other degrees, including:
- Bachelor of Arts (BA) in Computer Science
- Bachelor of Applied Science (BASc) in Computer Science
- Bachelor of Technology in Computer Science and Engineering (B.Tech)
- Bachelor of Science in Information Technology
- Bachelor of Mathematics in Computer Science
- Bachelor of Engineering (BEng or BE) in Computer Science
- Bachelor of Computing in Computer Science
- Bachelor of Science in Engineering (Computer Science) - BSE (CS)
- Bachelor of Computer Security in Computer Science
- Bachelor of Science (BSc or BS) in Computer Science (BSc CS or BSCS or BSc (Comp)
In many post-secondary institutions, an Honors Bachelor of Computer Science degree has been introduced as an upgrade to the regular bachelor's program and usually requires at least one additional year of study.
Studying Computer Engineering
Computer engineering is mainly based on theories and principles of computation, physics, mathematics and engineering. These principles are applied to the resolution of technical problems which require the creation and development of software, hardware and network architectures.
Computer Engineering studies are intended for people with a vocation oriented towards the scientific aspects that are found under the development and evolution of computer science and with high capabilities to lead the development of computer-related projects, as well as a great adaptability to fast and continuously evolving environments.
The general educational objectives pursued by the degree of Computer Engineering are:
- Providing the general skills to cover the areas of Computer Science as well as the sciences and technologies in which it is based.
- Offering a wide range of subjects, enabling subsequent specialization in the various professional areas of the Information and Communication Technologies (ICT) sector.
- Keeping a balance between theoretical and applied knowledge.
- Maintaining a high degree of flexibility to embrace the continuous and rapid evolution of modern computer systems.
- Helping students to become professionals and researchers who can carry out their functions effectively.
- Providing an adequate basis for graduates to continue their education throughout their lives, either on their own or through postgraduate studies.
The specific skills that are proposed in the B.S of Computer Engineering are the following:
- Ability to conceive, write, organize, plan, develop and sign projects in the field of computer engineering whose purpose is the development or exploitation of computer systems, services and applications.
- Ability to direct the activities that are the object of the projects in the field of information technology.
- Ability to design, develop, evaluate and ensure the accessibility, ergonomics, usability and security of computer systems, services and applications, as well as the information they manage.
- Ability to define, evaluate and select hardware and software platforms for the development and execution of computer systems, services and applications.
- Ability to conceive, develop and maintain computer systems, services and applications using software engineering methods as a tool for quality assurance.
- Ability to design and develop centralized or distributed computing systems or architectures integrating hardware, software and networks.
- Ability to know, understand and apply the necessary legislation during the development of the profession of Technical Engineer in Computer Science and handle specifications, regulations and standards of obligatory compliance.
- Knowledge of the basic subjects and technologies, that qualify for the learning and development of new methods and technologies.
- Ability to solve problems with initiative, decision making, autonomy and creativity. Ability to communicate and transmit the knowledge, skills and abilities of the profession of B.S. in Computer Science.
- Knowledge for carrying out measurements, calculations, valuations, valuations, appraisals, expert appraisals, studies, reports, task planning and other similar computer-related work.
- Ability to analyze and assess the social and environmental impact of technical solutions, including the ethical and professional responsibility of the activity of the Technical Engineer in Computer Science.
- Knowledge and application of basic elements of economics and human resources management, project organization and planning, as well as legislation, regulation and standardization in the field of computer projects.
- To provide the skills to analyses a computer problem by studying its viability, calculating its computational complexity and applying algorithmic solutions that ensure the greatest efficiency.
- Acquire in-depth knowledge of the fundamental principles of computing and know how to apply them in both classical and emerging paradigms.
- To achieve the student's commitment to self-learning as an instrument of professional development and responsibility.
- Foundation of programming languages and associated lexical, syntactic and semantic processing techniques.
- Ability to evaluate the computational complexity of a problem and to know algorithmic strategies that can lead to its resolution.
- Computational learning techniques and automatic extraction of information from large volumes of data.
- Ability to understand an organization's environment and its ICT needs.
- Security in computer systems.
- Management of projects, services and computer systems in all areas, leading their implementation and continuous improvement and assessing their economic and social impact.
- Administration and maintenance of computer systems, services and applications.
- Algorithmic procedures of information technologies to design solutions to problems, analysing the suitability and complexity of the proposed algorithms.
- Data Types and Data structures suitable to the resolution of a problem.
- Operating Systems.
- Design of Internet-based applications.
- Design, analysis and implementation of applications based on databases.
- Parallel, concurrent, distributed and real time programming.
- Principles, methodologies and life cycles of software engineering.
Professional qualifications after finishing the degree
The required skills and qualifications for working as a Computer or Software Engineer comprise a large number of theoretical aspects within the areas of Computer Science and Electronics. The following list shows a classification according to the professional profiles that are currently demanded:
- Knowledge of, at least, one programming language (currently in use) or a specific technology in depth.
- Being able to read English, since most of the documents relating to the areas of work as a computer engineer are written in this language.
- Handling of version control systems. Although this is not mandatory, most companies employing computer engineers make use of version control systems.
- Knowledge related to Information Theory and Telecommunications, enabling optimised and legally-compliant designs and facilitating self-control and audits if required.
- Computability Theory to calculate the viability of the problem to be solved.
- Efficiency awareness for industrial mechanization of information (scalability, reliability, etc ...).
- Automata Theory and Algorithm Design Theory to design suitable automation solutions in information processing.
- Software Engineering understanding to evaluate the best techniques of design, development and maintenance of software, subject to calculations of quality constraints, time, cost, etc..
- Artificial Intelligence or Knowledge Engineering such as pattern recognition or neural networks to calculate and design knowledge production systems as an industrial competitive advantage in information management.
- Electronics to calculate and design communication and control interfaces between computers and various mechanical and electrical devices, such as data acquisition systems.
- Industrial and business organization understanding needed for planning, management and control of computer projects and, management of ICT departments.
- Hardware knowledge to analyze and design solutions in the field of microprocessor architecture.
Because computer science is a wide field, courses required to earn a bachelor of computer science degree vary. A typical list of course requirements includes topics such as:
- Computer programming
- Programming paradigms
- Data structures
- Logic & Computation
- Computer architecture
- Linear algebra
- Probability theory and statistics
- Combinatorics and discrete mathematics
- Differential calculus and mathematics
Beyond the basic set of computer science courses, students can typically choose additional courses from a variety of different fields, such as:
- Theory of computation
- Operating systems
- Numerical computation
- Compilers, compiler design
- Real-time computing
- Distributed systems
- Computer networking
- Data communication
- Computer graphics
- Artificial intelligence
- Human-computer interaction
- Information theory
- Software testing
- Information assurance
- Bachelor of Software Engineering
- Bachelor of Science in Information Technology
- Bachelor of Computing
- Bachelor of Information Technology
- Bachelor of Computer Information Systems
- Bachelor of computer design
- "Bachelor of Computer Science (BCOMPSC) Degree". University of Wollongong in Dubai.
- "Dónde estudiar Ingeniería en Informática | Y Ahora Qué". yaq.es. Retrieved 2018-12-15.
- informatica.ucm.es (PDF) https://informatica.ucm.es/data/cont/docs/titulaciones/49.pdf. Retrieved 2018-12-15. Missing or empty
-  Course description of the Bachelor of Computer Science at Monash University, Melbourne, Australia
-  Bachelor of Computer Science at Purdue University, West Lafayette, Indiana, U.S.
-  Classes available through Purdue University's Computer Science Department
- "Computer Science concentrations offered by Stevens Institute". Stevens Institute of Technology. Archived from the original on 2011-08-10. Retrieved 2011-12-01.
- "Saint Leo University program description offering Information assurance specialization". Saint Leo University.
- "B.S. Computer Science - Cybersecurity Concentration". Fairleigh Dickinson University.