CS 4402-01 Learning Journal Unit 3
CS 4402-01 Learning Journal Unit 3
Over the past week, I have been engaged in studying key computer science concepts, particularly
endianness in computer memory storage and integer overflow in programming. I explored the
differences between Big Endian and Little-Endian systems, their advantages, disadvantages, and
their applications in different architectures. Additionally, I analyzed integer overflow, its causes,
problems. For endianness, I examined how multi-byte data is stored and represented in memory
by writing small C programs to print the memory layout of integers. For integer overflow, I
experimented with different data types and performed arithmetic operations to observe how
This week’s topic was particularly interesting because it has direct implications for both low-
level programming and cybersecurity. The concept of endianness was initially challenging to
grasp, especially when trying to visualize how data is stored in memory. However, implementing
small coding exercises helped solidify my understanding. I found it fascinating how different
Integer overflow was another topic that intrigued me, particularly its impact on software security.
Learning about how attackers exploit integer overflows for buffer overflow attacks and privilege
escalation made me more aware of potential vulnerabilities in software applications. The real-
world examples, such as system crashes due to overflow, were eye-opening and underscored the
I received valuable feedback from my instructor and peers through discussion forums. Some
classmates shared insights about endianness in networking protocols and how it affects cross-
platform data exchange. This discussion helped me understand the importance of converting
Additionally, a peer recommended exploring compiler options for detecting integer overflow,
such as the -ftrapv flag in GCC. Implementing this in my code allowed me to see how the
compiler can catch overflow errors, reinforcing the need for safe coding practices.
Challenges Faced
One of the main challenges I encountered was conceptualizing endianness without visual
representation. At first, it was difficult to determine how bytes were arranged in memory just by
looking at hexadecimal values. To overcome this, I created a simple Python script to simulate
byte storage in both Big Endian and Little Endian formats, which greatly clarified my
understanding.
Another challenge was recognizing integer overflow in real-time execution. Since overflow
errors do not always generate explicit warnings, it was difficult to notice them unless I manually
checked variable values. Using debugging tools and enabling compiler flags helped mitigate this
issue.
The importance of considering endianness when working with binary data across
platforms.
How integer overflow can introduce critical software vulnerabilities and ways to prevent
it.
The significance of compiler warnings, safe integer libraries, and bounds checking in
secure programming.
and integer arithmetic, is crucial for writing efficient and secure programs. This knowledge is not
just theoretical but has practical applications in various domains, including cybersecurity,
One of the most important takeaways from this week is the realization that security
analyst and data analyst, I see how even small mistakes in handling integer operations or
memory storage can lead to severe consequences, reinforcing the need for attention to detail in
coding practices.
Final Thought
One important thing I am thinking about in relation to this activity is how vital it is to apply this
knowledge in real-world scenarios. I plan to continue exploring secure coding techniques and
analyzing past security breaches related to integer overflow. This will help me build robust,
secure applications and contribute effectively to the field of cybersecurity and software
development.