Freshman Seminar Report

This article is the author's report on the freshman seminar course. The six seminars discussed popular topics such as artificial intelligence, algorithms, big data, and information literacy. Combining what the author learned in class and daily knowledge, this report is written.

1.1 Introduction

This year, I entered my freshman year and attended several freshman seminars, which explained the areas that my major needs to delve into. I have written this report. This report is entirely original; any similarities are purely coincidental.

2.1 Artificial Intelligence

The first time artificial intelligence came into my view was during the famous match between the chess player Lee Sedol and Google AlphaGo, followed by matches involving Ke Jie and chess masters. These were events I witnessed during my middle and high school years. At that time, my impression of artificial intelligence was that it was something that could compete with humans, and its intelligence level had already surpassed that of humans.

2.1.1 Cutting-edge Developments

Currently, artificial intelligence has made breakthroughs in many fields. Based on my understanding, I list the following:

  • Reproducible robots
  • Autonomous painting (Novel AI)
  • Autonomous writing (GPT-3)
  • Autonomous translation (Google Translate)
  • Autonomous driving (Tesla)
  • Autonomous recognition (Face++)
  • Autonomous learning (AlphaGo)
  • Autonomous gaming (Dota2)
  • Autonomous creation (Deep Dream)

It is foreseeable that almost all repetitive and regular tasks will be replaced by artificial intelligence, which will bring significant changes to humanity.

2.1.2 How to View Artificial Intelligence

I believe that blindly excluding or overly relying on artificial intelligence are both extreme approaches. The reasons are as follows:

  • Artificial intelligence will not lead to a reduction in job opportunities; in fact, it has created more professions.
  • Artificial intelligence is not as reliable as imagined. In a recent popular TV series episode of "Love, Death & Robots," an out-of-control robot became a nightmare for the female protagonist. This is also why I believe the development of artificial intelligence should be regulated rather than left unchecked.
  • Artificial intelligence still has a long way to go.

Just like the emergence and popularization of electricity, it inevitably touches the interests of some people. However, the advent of electricity has also brought many conveniences, such as televisions, computers, and electric lights. At the same time, it created a large number of new job opportunities: electricians, substations, etc.

Similarly, the emergence of artificial intelligence will also bring many conveniences, such as smart homes, smartphones, and smart cars. The emergence of artificial intelligence will also create many professions, such as AI engineers, AI researchers, and AI designers.

2.2 Algorithms

In my more than three years of programming experience, I have encountered algorithms in many scenarios.

For example, when I developed my blog system, I implemented a date sorting function, which is essentially the bubble sort algorithm. Some junior front-end developers may think that algorithms are not a required course during development, but in fact, simple algorithms like binary search and quicksort are often used in business; developers may not even realize they are using a certain algorithm, which can lead to less elegant code.

2.2.1 Data Structures

In class, we discussed the relationship between data and programs. I believe that only by clarifying data structures can we understand the essence of problems and write efficient algorithms.

  • Arrays
  • Heaps
  • Stacks
  • Binary trees
  • Linked lists

When it comes to algorithms, many people associate them with mathematics. There is a famous saying in the programming community: "Mathematics may not make you a better programmer, but it gives you another way to solve problems."

2.3 Big Data

Big data refers to the process of analyzing massive amounts of data to discover valuable information, thereby improving decision-making and business processes. The data analysis we often refer to is a form of big data.

There are many application scenarios for big data, such as e-commerce, healthcare, finance, education, etc.

The development of big data is a long process. From the earliest data collection to data storage, then to data analysis, and finally to data mining, it serves products and involves many personnel and technologies.

2.3.1 Pros and Cons

Everything has two sides. Personally, I am quite averse to becoming "nutrients" for big data, such as allowing Taobao to understand my purchasing preferences or letting Zhihu know the areas I am most interested in. Moreover, when a technology can bring benefits, it often deviates from its original intention.

When everything on the internet is swept into the torrent of big data, discussing privacy may just be a pipe dream.

2.4 Information Literacy

In class, the professor talked about database retrieval. Databases have been widely used in research, teaching, and medicine since the dawn of the Web 1.0 era. A broad definition of a database can refer to an information container that stores data for internet services such as websites, apps, or mini-programs, while a narrow definition refers to a virtual medium that stores literature, papers, books, and other information.

The professor emphasized how to actively acquire information, including the use of common databases and electronic libraries, but did not mention how to passively receive information. I believe that information literacy includes not only how to retrieve information. In today's torrent of information, we face two crucial questions:

  • How to actively acquire information
  • How to passively receive information
  • How to utilize and transform the received information

2.4.1 How to Receive Information

In fact, throughout history, humans have been passively receiving information, but the volume of information we face today is unprecedentedly large. Regarding how to correctly passively receive information, I once explored the information workflow in a blog post. Interested readers can refer to it, and I will not elaborate further here.

2.4.2 How to Utilize and Transform Received Information

On this topic, I also detailed my information processing workflow in another blog post, excerpted as follows:

2.5 Operating Systems

To understand operating systems, a core concept is: Computers are composed of hardware and software.

To drive and schedule hardware and provide an easy-to-use interactive interface for humans, we developed operating systems. Common operating systems include Linux, macOS, Windows, as well as mobile systems like Android and iOS. Additionally, hardware such as elevators and smart homes often runs an OS known as an embedded system.

Regarding operating systems, I recall a portable Wi-Fi device I once tinkered with. It was a portable Wi-Fi device connected to an expansion circuit board. Although it had no display, no keyboard, and no "graphics card," it actually ran a Debian distribution of Linux. This clarifies a common misconception: that a computer must have a monitor, case, etc.

Modern operating systems are complex large-scale software, including thread scheduling, disk management, and (for mobile devices) power scheduling.

Operating systems revolutionize human-computer interaction.

2.6 Software Development

What is the essence of software development? I believe its essence is designing a process to solve problems. Many junior developers tend to pursue technology, but we should look at the entire process from a higher perspective, focusing our energy on architectural design and weighing pros and cons. The underlying philosophy is "product thinking," viewing the entire software as a product (anything that solves a problem can be called a "product").

Another important idea is to view programming languages as tools.

Software development is also very similar to carpentry; developers need to design the architecture in advance, prepare materials, try different assembly methods, and test stability... Sometimes, they must be patient and learn to separate the software from themselves to immerse themselves in the next project.

2.6.1 The Joy of Software Development

"The Mythical Man-Month" has a wonderful explanation of the joy of software development: "This joy is a pure joy of creating things, just like a child feels joy when playing with mud." Programmers are often people who enjoy creating things with their own hands, and software development gives them the greatest freedom.

3.1 Conclusion

As an "introductory course" for my major, the freshman seminar provided a general understanding of the field and pointed the way for future studies, as well as insights into the cutting-edge developments in computer science.

The deeper significance of the freshman seminar lies in the fact that learning is an endless journey. There is always knowledge to be learned in any field, and through continuous learning, you will gradually become aware of your ignorance, which in turn motivates you to keep learning.