Computer Science

View this topic in

Computer science fundamentals

The field of computer science has seen unprecedented growth over the past decade. As demand for software engineers increases, the industry needs to equip budding programmers with the right educational platforms. For those interested in computer science fundamentals, IEEE has created this guide as part of its vast library of educational resources.

This guide covers the fundamentals of computer science, including programming languages, data structures, and computational thinking. By the end of this article, you should have a better understanding of these fundamentals as well as key information about pursuing a career in computer science.

What are the fundamentals of computer science?

The field of computer science is always changing. However, the fundamentals remain consistent. Below is an overview of these fundamentals for those new to studying computer science.

What are the basic elements of computer science?

Computer science encompasses a wide range of information—from basic coding concepts to complex theoretical computing concepts. Despite the breadth of this field, computer science rests on some fundamental principles.

We most commonly associate computer science with programming languages. If anyone wants to forge their way as a programmer, they must learn to code using these languages. On day one, computer science courses introduce basic programming languages, such as Python, Java, and JavaScript. However, to acquire an in-depth understanding of code, you need to understand more than just programming languages.

Every programmer and computer scientist should understand data types and data structures. Also known as a primitive data structure, a data type represents a data attribute telling the computer how to interpret that data. Data types include integers, characters, and Booleans. Programmers use these data types to build data structures, which organize data on a computer for effective use.

Computer science also relies heavily on computational thinking. This problem-solving method uses a standard series of steps to create algorithmic solutions. The computational thinking process breaks down into four parts: decomposition, pattern recognition, abstraction, and algorithm design. We will cover each of these parts in more detail later in this guide.

How should you approach learning computer science?

US students, as well as other students around the world, can pursue computer science through several outlets. Students can study computer science in a traditional classroom setting or via online courses. They only need a functional computer and internet access.

In a conventional academic setting, students can pursue an accredited degree in computer science, data science, or information technology. A computer science education should cover coding fundamentals. However, a well-rounded computer science curriculum will also provide opportunities to study areas of specialization. Specializing in fields such as artificial intelligence or machine learning can help with job placement in the workforce.

As you consider an area of specialization, it is important to keep in mind that the field of computer science continues to develop over time. The field evolves in conjunction with developments in the computer and electronics industry. We have developed the International Roadmap for Devices and Systems (IRDS) to help you keep track of important trends within the industry.

You can also study computer science outside of a conventional academic setting. Online courses and coding “boot camps” have recently risen in popularity. Many of these programs focus only on coding and skip over the theoretical concepts of computer science. Despite their limitations, these programs are a great option for many. Almost anyone can access this method of education, regardless of background or finances. The flexibility of these online learning opportunities is especially valuable for anyone interested in changing career paths while working full-time.

Who can benefit from learning computer science?

Everyone can benefit from learning computer science. As McKinsey Digital notes in an article on coding, Steve Jobs stated that “everyone should know how to program a computer, because it teaches you how to think.”

As technology continues to evolve by leaps and bounds, more leaders have recognized the need to teach computer science at the elementary school level. To support this, the Massachusetts Institute of Technology (MIT) developed a coding language and community called Scratch for children ages eight to sixteen.

Learning coding at an early age gives children an opportunity to learn computational thinking skills. These skills will continue to serve them in many aspects of life—even if they do not pursue a career in computer science.

This is because computer science draws from multiple disciplines. Mathematics, fine arts, linguistics, philosophy, and statistics all make valuable contributions to this field. An understanding of computer science can definitely provide anyone with a career boost. But perhaps more importantly, acquiring skills in this field can make anyone a more well-rounded professional.

Learning programming languages

The first computers arrived in the 1940s. But programming languages did not appear for a while longer. After a few decades, Pascal and C arrived on the scene. These languages form the foundation for many of the programming languages we use today.

Coding languages will continue to evolve in the future. However, to understand where they are going, we first need to understand where we are now.

What are programming languages?

As this curriculum guide explains, we can define a programming language as “the medium through which programmers precisely describe concepts, formulate algorithms, and reason about solutions.”

In other words, a programming language allows a programmer to communicate with a computer. These languages essentially define data structures and create commands. To communicate with a computer, the coding language translates these commands into binary via “compiling.”

Different coding languages have varying levels of complexity and fit different use types. For example, Python has an easy-to-understand code structure. This object-oriented programming language proves its use in desktop and web applications as well as data science and machine learning.

In contrast, SQL has a much higher learning curve. Developers and data analysts primarily use this language for database management in tandem with other programming languages.

There are hundreds of computer languages available today. This number will only increase as the field of computer science continues to evolve.

Why is knowing programming languages a lucrative skill?

In general, computer science provides a lucrative career path. According to the US Bureau of Labor Statistics, the median salary for a career in computer or information technology sits around $88,240. Furthermore, as a 2016 Oracle and Burning Glass Technologies report explains, coding jobs pay particularly well. They pay $22,000 more per year than other “career track” jobs.

However, different programming languages have higher employer demand than others. In 2019, Python, Java, and C topped the charts for top programming languages.

Outside of programming jobs, understanding code can still be valuable for a wide range of workers. Designers, scientists, engineers, and data analysts all benefit from an understanding of coding languages.

For example, many design professionals can benefit from a fundamental understanding of coding for the web. By understanding HTML, CSS, and JavaScript, designers can set themselves apart from their peers.

Additionally, scientists and engineers regularly leverage statistical software and mathematical computing. For example, a medical researcher may use a computational model to calculate how quickly a virus may spread. And a mechanical engineer uses the same skill set to determine the effectiveness of a design.

Even business analysts can use coding knowledge to help make business decisions. By coding macros in Excel, analysts can streamline their workload, review trends, and make predictions.

What jobs does knowing programming languages qualify you for?

Within the field of computer science, knowledge of programming languages qualifies you for a range of jobs that are in high demand.

Software engineers, in particular, need to know programming languages. They use programming languages to create applications—for both mobile devices and desktop computers. Web developers, who specialize in building websites, also often need to know a range of coding languages.

Additionally, computer network architects and database administrators need to know several programming languages to perform their jobs well. And this only scratches the surface of demand for knowledge of programming languages in the field of computer science.

Knowing programming languages, however, does not limit anyone to a career in the technology industry. In fact, demand for IT and computer science skills in nontech fields increased by 40 percent between 2013 and 2018. And of all IT job openings in 2018, 89 percent were in nontech industries.

In short, knowing programming languages can benefit just about anyone at any stage in their career path. As demand for this skill set increases, career opportunities for those who have it will continue to grow.

Data structures

Data structures are an integral aspect of computer science and dynamic programming. All programmers make decisions on how to store data for their applications. They have to decide, for example, whether to use a linked list, a binary search tree, or an array. And their choice will have an impact on the memory usage and speed of their code. Below, we boil down the concept of data structures to its core principles.

What do data structures do?

Essentially, computer scientists use data structures to store and access data. We can divide data structures into two separate categories: linear data structures and nonlinear data structures. The size and type of data structure impacts both algorithm speed and memory usage.

A linear data structure, such as an array, linked list, or stack, arranges data in sequential order. Software applications commonly use this type of data structure because it is easy to implement. However, linear data structures can use memory space inefficiently.

In comparison, developers use nonlinear data structures for artificial intelligence and complex data science. Binary trees fall under this category. Nonlinear data structures have a hierarchical structure. Compared to a linear data structure, a binary tree or binary search tree allows you to search and modify data faster. However, nonlinear structures can be more difficult to create and implement.

Why are data structures important in computer science?

Data structures are foundational to computer science. Every single computer application needs to store and organize data. So programmers need to understand data structure best practices.

Programmers interact with data structures and solve problems using algorithms. At a basic level, algorithms can search, sort, insert, update, and delete data within a data structure. The type of data structure you are dealing with will impact the speed of your algorithm.

Why study data structures and abstract data types?

Anyone learning how to code should take the time to understand data structures and abstract data types. In order to code effectively, software engineers should know the best use for each type of data structure.

To illustrate this, we can compare an array and a linked list. Both represent a type of linear data structure. An array generally takes up less memory than a linked list. However, this data structure lacks a certain amount of flexibility.

In contrast, a linked list is more flexible. This data structure can “share” data between lists—which an array cannot do. Additionally, modifying a linked list is generally much easier than modifying an array. And as an added bonus, a programmer can also construct a binary search tree from a linked list.

Many different types of data structures exist outside of arrays and linked lists. Understanding when to use each data structure is key. It sets an excellent computer programmer apart from the rest.

Computational thinking

On a basic level, we can describe computational thinking as “thinking like a computer scientist.” This method of thinking provides a framework for approaching problems and developing algorithms to solve them.

Below, we dig a little deeper into the steps of computational thinking and how it applies to the field of computer science.

What are the four stages of computational thinking?

The four stages of computational thinking are decomposition, pattern recognition, abstraction, and algorithm design.

Decomposition involves breaking down a complex problem into bite-sized pieces. For example, in the baking world, you could use the principle of decomposition to create a recipe for a cake. The recipe would include a list of ingredients and steps that you need to form the final product.

After you decompose a problem into its unique parts, pattern recognition helps you make connections between the problem and any experience that is available to you. To continue the previous analogy, pattern recognition would draw on your knowledge of other recipes to help you recognize the purpose of the ingredients list.

When coding, programmers can use information from their past experience to help solve current problems. As a programmer gains more experience, he or she will have a greater chance of recognizing the patterns in any given problem.

Abstraction helps separate important information from the extraneous. For example, you may need to create an algorithm that sorts a list of students by age. Available data includes each student’s name, date of birth, and nationality. By using abstraction, you know to focus on the date of birth information—and disregard nationality—to solve the problem.

Lastly, algorithm design creates steps to solve a problem. Programmers can often solve problems in more than one way. However, a seasoned computer scientist should know how to discern the most effective method and set of steps for solving a problem.

How is computational thinking related to coding?

At its core, coding is a method of problem-solving. In general, problems solved with code are complex and require complex solutions. However, with computational thinking, developers can break down a problem into its distinct parts and, in doing so, code solutions.

Over time, programmers can gain more coding experience. This is especially important for the pattern recognition component of computational thinking. With more coding experience, they can recognize patterns from old problems to help solve new problems and create effective algorithms.

How is computational thinking used in computer science?

Computational thinking provides a framework for solving problems using computer science. This universal skill set applies to all programming languages and to jobs in many industries. As the field of computer science evolves, programmers will have to use computational thinking to learn new languages and work in new and developing industries.

In short, computational thinking allows computer scientists to evolve alongside the field of computer science and stay relevant.

Mastering the computer science fundamentals

The future for those entering the workforce with a background in computer science looks promising. As technology evolves, the demand for skilled programmers, computer engineers, and IT professionals will only increase.

If computer science seems like a fit for you, we encourage you to start by studying the fundamentals. By mastering these fundamentals, you can set yourself up for a bright career and future.

Interested in becoming an IEEE member? Joining this community of over 420,000 technology and engineering professionals will give you access to the resources and opportunities you need to keep on top of changes in technology, as well as help you get involved in standards development, network with other professionals in your local area or within a specific technical interest, mentor the next generation of engineers and technologists, and so much more.







Conferences related to Computer Science

Back to Top

ICC 2021 - IEEE International Conference on Communications

IEEE ICC is one of the two flagship IEEE conferences in the field of communications; Montreal is to host this conference in 2021. Each annual IEEE ICC conference typically attracts approximately 1,500-2,000 attendees, and will present over 1,000 research works over its duration. As well as being an opportunity to share pioneering research ideas and developments, the conference is also an excellent networking and publicity event, giving the opportunity for businesses and clients to link together, and presenting the scope for companies to publicize themselves and their products among the leaders of communications industries from all over the world.


2020 IEEE Frontiers in Education Conference (FIE)

The Frontiers in Education (FIE) Conference is a major international conference focusing on educational innovations and research in engineering and computing education. FIE 2019 continues a long tradition of disseminating results in engineering and computing education. It is an ideal forum for sharing ideas, learning about developments and interacting with colleagues inthese fields.


2020 IEEE Global Engineering Education Conference (EDUCON)

The IEEE Global Engineering Education Conference (EDUCON) 2020 is the eleventh in a series of conferences that rotate among central locations in IEEE Region 8 (Europe, Middle East and North Africa). EDUCON is one of the flagship conferences of the IEEE Education Society. It seeks to foster the area of Engineering Education under the leadership of the IEEE Education Society.


2020 IEEE International Conference on Multimedia and Expo (ICME)

Multimedia technologies, systems and applications for both research and development of communications, circuits and systems, computer, and signal processing communities.

  • 2019 IEEE International Conference on Multimedia and Expo (ICME)

    speech, audio, image, video, text and new sensor signal processingsignal processing for media integration3D imaging, visualization and animationvirtual reality and augmented realitymulti-modal multimedia computing systems and human-machine interactionmultimedia communications and networkingmedia content analysis and searchmultimedia quality assessmentmultimedia security and content protectionmultimedia applications and servicesmultimedia standards and related issues

  • 2018 IEEE International Conference on Multimedia and Expo (ICME)

    The IEEE International Conference on Multimedia & Expo (ICME) has been the flagship multimedia conference sponsored by four IEEE societies since 2000. It serves as a forum to promote the exchange of the latest advances in multimedia technologies, systems, and applications from both the research and development perspectives of the circuits and systems, communications, computer, and signal processing communities. ICME also features an Exposition of multimedia products and prototypes.

  • 2017 IEEE International Conference on Multimedia and Expo (ICME)

    Topics of interest include, but are not limited to: – Speech, audio, image, video, text and new sensor signal processing – Signal processing for media integration – 3D visualization and animation – 3D imaging and 3DTV – Virtual reality and augmented reality – Multi-modal multimedia computing systems and human-machine interaction – Multimedia communications and networking – Media content analysis – Multimedia quality assessment – Multimedia security and content protection – Multimedia databases and digital libraries – Multimedia applications and services – Multimedia standards and related issues

  • 2016 IEEE International Conference on Multimedia and Expo (ICME)

    Topics of interest include, but are not limited to:- Speech, audio, image, video, text and new sensor signal processing- Signal processing for media integration- 3D visualization and animation- 3D imaging and 3DTV- Virtual reality and augmented reality- Multi-modal multimedia computing systems and human-machine interaction- Multimedia communications and networking- Media content analysis- Multimedia quality assessment- Multimedia security and content protection- Multimedia databases and digital libraries- Multimedia applications and services- Multimedia standards and related issues

  • 2015 IEEE International Conference on Multimedia and Expo (ICME)

    With around 1000 submissions and 500 participants each year, the IEEE International Conference on Multimedia & Expo (ICME) has been the flagship multimedia conference sponsored by four IEEE societies since 2000. It serves as a forum to promote the exchange of the latest advances in multimedia technologies, systems, and applications from both the research and development perspectives of the circuits and systems, communications, computer, and signal processing communities.

  • 2014 IEEE International Conference on Multimedia and Expo (ICME)

    The IEEE International Conference on Multimedia & Expo (ICME) has been the flagship multimedia conference sponsored by four IEEE societies since 2000. It serves as a forum to promote the exchange of the latest advances in multimedia technologies, systems, and applications. In 2014, an Exposition of multimedia products, prototypes and animations will be held in conjunction with the conference.Topics of interest include, but are not limited to:

  • 2013 IEEE International Conference on Multimedia and Expo (ICME)

    To promote the exchange of the latest advances in multimedia technologies, systems, and applications from both the research and development perspectives of the circuits and systems, communications, computer, and signal processing communities.

  • 2012 IEEE International Conference on Multimedia and Expo (ICME)

    IEEE International Conference on Multimedia & Expo (ICME) has been the flagship multimedia conference sponsored by four IEEE Societies. It exchanges the latest advances in multimedia technologies, systems, and applications from both the research and development perspectives of the circuits and systems, communications, computer, and signal processing communities.

  • 2011 IEEE International Conference on Multimedia and Expo (ICME)

    Speech, audio, image, video, text processing Signal processing for media integration 3D visualization, animation and virtual reality Multi-modal multimedia computing systems and human-machine interaction Multimedia communications and networking Multimedia security and privacy Multimedia databases and digital libraries Multimedia applications and services Media content analysis and search Hardware and software for multimedia systems Multimedia standards and related issues Multimedia qu

  • 2010 IEEE International Conference on Multimedia and Expo (ICME)

    A flagship multimedia conference sponsored by four IEEE societies, ICME serves as a forum to promote the exchange of the latest advances in multimedia technologies, systems, and applications from both the research and development perspectives of the circuits and systems, communications, computer, and signal processing communities.

  • 2009 IEEE International Conference on Multimedia and Expo (ICME)

    IEEE International Conference on Multimedia & Expo is a major annual international conference with the objective of bringing together researchers, developers, and practitioners from academia and industry working in all areas of multimedia. ICME serves as a forum for the dissemination of state-of-the-art research, development, and implementations of multimedia systems, technologies and applications.

  • 2008 IEEE International Conference on Multimedia and Expo (ICME)

    IEEE International Conference on Multimedia & Expo is a major annual international conference with the objective of bringing together researchers, developers, and practitioners from academia and industry working in all areas of multimedia. ICME serves as a forum for the dissemination of state-of-the-art research, development, and implementations of multimedia systems, technologies and applications.

  • 2007 IEEE International Conference on Multimedia and Expo (ICME)

  • 2006 IEEE International Conference on Multimedia and Expo (ICME)

  • 2005 IEEE International Conference on Multimedia and Expo (ICME)

  • 2004 IEEE International Conference on Multimedia and Expo (ICME)

  • 2003 IEEE International Conference on Multimedia and Expo (ICME)

  • 2002 IEEE International Conference on Multimedia and Expo (ICME)

  • 2001 IEEE International Conference on Multimedia and Expo (ICME)

  • 2000 IEEE International Conference on Multimedia and Expo (ICME)


2020 IEEE International Conference on Plasma Science (ICOPS)

IEEE International Conference on Plasma Science (ICOPS) is an annual conference coordinated by the Plasma Science and Application Committee (PSAC) of the IEEE Nuclear & Plasma Sciences Society.


More Conferences

Periodicals related to Computer Science

Back to Top

Antennas and Propagation, IEEE Transactions on

Experimental and theoretical advances in antennas including design and development, and in the propagation of electromagnetic waves including scattering, diffraction and interaction with continuous media; and applications pertinent to antennas and propagation, such as remote sensing, applied optics, and millimeter and submillimeter wave techniques.


Automatic Control, IEEE Transactions on

The theory, design and application of Control Systems. It shall encompass components, and the integration of these components, as are necessary for the construction of such systems. The word `systems' as used herein shall be interpreted to include physical, biological, organizational and other entities and combinations thereof, which can be represented through a mathematical symbolism. The Field of Interest: shall ...


Biomedical Circuits and Systems, IEEE Transactions on

The Transactions on Biomedical Circuits and Systems addresses areas at the crossroads of Circuits and Systems and Life Sciences. The main emphasis is on microelectronic issues in a wide range of applications found in life sciences, physical sciences and engineering. The primary goal of the journal is to bridge the unique scientific and technical activities of the Circuits and Systems ...


Circuits and Systems II: Express Briefs, IEEE Transactions on

Part I will now contain regular papers focusing on all matters related to fundamental theory, applications, analog and digital signal processing. Part II will report on the latest significant results across all of these topic areas.


Communications Letters, IEEE

Covers topics in the scope of IEEE Transactions on Communications but in the form of very brief publication (maximum of 6column lengths, including all diagrams and tables.)


More Periodicals

Most published Xplore authors for Computer Science

Back to Top

Xplore Articles related to Computer Science

Back to Top

Cultural Function and Spiritual Value of Computer Science History and Computer Science Education

2009 First International Workshop on Education Technology and Computer Science, 2009

The author analyzes the cultural function and spiritual value of computer science history in higher education, indicating that constructing a much broader, interdisciplinary and comprehensive knowledge system is of important significance in cultivating comprehensive computer science talents. Combining with computer education, he also investigates the practice mode of combining humanistic education and science education, and in the end he constructs ...


Work in progress - podcasts for recruiting and retaining female computer science majors

2007 37th Annual Frontiers In Education Conference - Global Engineering: Knowledge Without Borders, Opportunities Without Passports, 2007

The minority status of women in computer science programs is well known, but some regional institutions suffer statistics that are even worse than the national averages. At Shippensburg University, only 7% of computer science undergraduate majors are female. Recently, they have banded together to form a Women in Computer Science (WiCS) organization with a unique mission. They started by researching ...


Embedding design and service-learning into the K-12 computer science classroom

2013 IEEE Frontiers in Education Conference (FIE), 2013

In the pre-university setting, computer science course assignments are often project-based, but seldom do they include real-life problems in real time. Many assignments are strictly dictated by what textbooks suggest as valuable learning experiences, as long as they can be completed in just a few class periods. The number of students taking a computer science course continues to dwindle, as ...


Big data analysis for SCIE research output of Chinese computer science

2017 6th International Conference on Computer Science and Network Technology (ICCSNT), 2017

This paper focuses on SCIE research output of computer science from China and its international effect. Choosing the SCI network edition database from 2007 to 2016 as statistical source, SCIE research output issued by Chinese author of computer science is inspected. Having been cleaning and carding data, some key elements of SCIE articles of computer science are analyzed. The paper ...


Key Components of an E-Learning Module in Statistics for Computer Science Students

2018 13th International Conference on Computer Science & Education (ICCSE), 2018

The traditionally taught face-to-face course in statistics for undergraduate non-statistics students suffered from several problems: Time and location constraints, different preknowledge in mathematics, lack of motivation, no use of statistical software etc. Therefore, we decided to develop an e-learning course in statistics to reduce the impact of these problems. This paper describes the different components developed for the e-learning course ...


More Xplore Articles

Educational Resources on Computer Science

Back to Top

IEEE-USA E-Books

  • Cultural Function and Spiritual Value of Computer Science History and Computer Science Education

    The author analyzes the cultural function and spiritual value of computer science history in higher education, indicating that constructing a much broader, interdisciplinary and comprehensive knowledge system is of important significance in cultivating comprehensive computer science talents. Combining with computer education, he also investigates the practice mode of combining humanistic education and science education, and in the end he constructs a curriculum system orienting to develop students' overall quality and innovation ability as well as the concrete method on how to carry out humanistic education in computer professional education.

  • Work in progress - podcasts for recruiting and retaining female computer science majors

    The minority status of women in computer science programs is well known, but some regional institutions suffer statistics that are even worse than the national averages. At Shippensburg University, only 7% of computer science undergraduate majors are female. Recently, they have banded together to form a Women in Computer Science (WiCS) organization with a unique mission. They started by researching why they are such a small minority. Our students feel a strong need to change the misperceptions that deter girls and are addressing them with a new video podcast that is targeted at girls in secondary school and designed to connect computer science topics to current issues. We are building a website around these podcasts in the hopes of creating an on-line community connecting our students to girls in secondary schools. This project has done an excellent job of creating a community for our female students clearly helping retain the few women we have. We are hoping that it will improve our recruitment of women and encourage girls to pursue computer science even if they enroll elsewhere.

  • Embedding design and service-learning into the K-12 computer science classroom

    In the pre-university setting, computer science course assignments are often project-based, but seldom do they include real-life problems in real time. Many assignments are strictly dictated by what textbooks suggest as valuable learning experiences, as long as they can be completed in just a few class periods. The number of students taking a computer science course continues to dwindle, as does the number of teachers certified to teach computer science. Building on two case studies of EPICS High in computer science classrooms, this paper will open discussion and explore novel ways of engaging computer science teachers and students through compelling community-based service- learning projects using engineering design concepts. As it is EPICS High's mission is to be a leader in developing, disseminating, and supporting service-learning models that engage high school students in engineering and computing-based design projects that meet the needs of their communities, EPICS High intends to build relationships with computer science teachers to learn the best way this model can be implemented in their courses and help these teachers pilot an EPICS project that connects with their community.

  • Big data analysis for SCIE research output of Chinese computer science

    This paper focuses on SCIE research output of computer science from China and its international effect. Choosing the SCI network edition database from 2007 to 2016 as statistical source, SCIE research output issued by Chinese author of computer science is inspected. Having been cleaning and carding data, some key elements of SCIE articles of computer science are analyzed. The paper also draws the outline of general position based on SCIE computer science output from quantitative to qualitative scientific practice, and the development level of computer science is inferred and its future development trend is predicted.

  • Key Components of an E-Learning Module in Statistics for Computer Science Students

    The traditionally taught face-to-face course in statistics for undergraduate non-statistics students suffered from several problems: Time and location constraints, different preknowledge in mathematics, lack of motivation, no use of statistical software etc. Therefore, we decided to develop an e-learning course in statistics to reduce the impact of these problems. This paper describes the different components developed for the e-learning course as well as the teaching framework. Preliminary results from the first in-class usage of the e-learning course indicate positive qualitative effects. In addition, we discuss which of the e-learning components the students mainly preferred to use. Furthermore, we show that the exam results from the e-learning course are significantly better than the corresponding results from the face-to-face course in this first in-class usage.

  • Research and discussion on Introduction to Computer Science and Technology teaching based on methodology

    According to our department's reformation of Introduction to Computer Science and Technology curriculum building, introduced the teaching experience of Introduction to Computer Science and Technology teaching based on Methodology, come up with the proper content and mode of teaching for undergraduate teaching, discussed several questions in Course Teaching.

  • Work In progress - How elementary programming impacts student’s attitude in computer science

    This paper describes the impact of a new course in elementary programming on retention and recruitment of technology majors. This new course, elementary programming (EP), was added as a precursor to a computer science course, object oriented programming (OOP), in order to recruit and retain technology majors. This study evaluates the course's effectiveness of its mission by analyzing student's success rates in both courses and examining factors known to contribute to declining enrollment. The cause of recruitment and retention issues are examined using computer attitude and computer experience surveys that are made available to all students enrolled in the EP course and the OOP course. The results from the fall 2006 surveys and enrollment results for the past five years support the need for the EP course and continued evaluation.

  • Notice of Retraction<br>Research and Practice on Training Teaching Model in Chinese Higher Undergraduate Education of Computer Science

    Modern enterprises are in the market for a large number of computer applied professionals. And a lot of practice at home and abroad has proved that training teaching is an effective means. The paper sets forth the necessity and feasibility of training teaching in computer science undergraduate education. It highlights training teaching theory, objectives and teaching model. Based on author's practice teaching experience, it presents strategies of carrying out training teaching from multi-aspects, which is a substantive exploration of training teaching.

  • Work in progress - Anytime, anywhere active learning in computer science

    This work-in-progress paper describes a web- based system that is being developed at Ohio University for developing and administering active learning assignments. The paper describes the design of the system, and its intended use in outcomes-based assessment of student learning in Computer Science. The system allows students to access active learning exercises via the web and provides students with immediate feedback on their work. Faculty use the system to design active learning assignments that tie student performance to achievement of specific course outcomes. This work-in-progress paper describes initial experiences with this system in an advanced course where both the software package JFLAP (An Interactive Formal Languages and Automata Package) and C++ programming are used.

  • More than Gender: Taking a Systemic Approach to Improving K-12 Computer Science Education

    An often-neglected classroom-level view of how equity issues impact both students and the teachers seeking to engage them offers insights into the need to develop a systemic approach to resolving these issues in K-12 computer science education in the US. This is one of five articles providing industry perspectives on gender diversity in computing.




Jobs related to Computer Science

Back to Top