A substantial learning aspect for any software engineers, in addition to the academia of computer science, is a topic called discrete mathematics. It is a branch of math that focuses on studying mathematical structures that are discrete (distinct and separate) in nature rather than continuous in nature (calculus, trigonometry). It is also an abstract form where conclusions are based on logical deductions using set theory and other simple theorems. Last spring, I took “Proof Techniques” as part of my CS major. The class is an introduction to proof writing techniques, covering multiple topics such as logic and proofs, set theory, mathematical induction, relations, modular arithmetic, functions, cardinality, number theory, and calculus.
The most difficult and assignment-intensive class I have had so far at Denison is Intermediate Computer Science, which I took last semester. In this class, I covered a new programming language, C++, and learned how to work with the Linux Operating Systems. C++ is a much more raw / bare-boned coding language than Python, which I learned previously; thus, it takes way more effort to grasp concepts like abstraction and remember all the syntactic nuances. Continuing my tendency to reflect on academic materials I learned, this post shows some of the important concepts in C++ programming and their real-world applications.
This past semester, I took a history course on Traditional East Asian Civilization, only to fulfill my Humanities General Education requirement. I was not really interested in the content of the class that much, due to the fact that there were too much readings and dry lectures. However, I managed to write the final research paper on a topic that I found particularly interesting: “Neo-Confucianism.” It is a philosophical movement to revive various strands of Confucian philosophy and political culture that began in the middle of the 9th century and reached new levels of intellectual and social creativity in the 11th century in the Northern Song Dynasty.
Neo-Confucianism and Floating Worlds in Japan
This past weekend, I was having coffee with a friend in dowtown Chicago, and was just talking with him about my deep interest for entrepreneurship which has grown over the past summer. He asked me to define what entrepreneurship is and what it really means to me. After pondering for a while, I replied that, in my opinion, entrepreneurship is all about solving problems – from a minicule level to global / multinational issues that currently exist in the world. Although for most of you, that sounds very cliché, but I want to stress that an entrepreneur solves a problem logically, from a rational perspective and in the most creative way as possible.
This semester, I am taking CS 110 – Computing Through Digital Media, one of the three intro classes for Computer Science majors in Denison, with Dr. Ashwin Lall. The class is fun and I have learnt a lot about programming in Python, which is super helpful for a complete novice like me. Nonetheless, what I am getting more out of the class is the concept of designing algorithms to solve problems. The process of actually coming up with the algorithm is way more important than the result you get. Continue reading