High Level and Low Level
After having a summer off, I was eager to get back to school. This semester would be my first on campus. I found that this semester was when I really started to get into computer science.
CIS*2030: Structure and Application of Microcomputers
START ORG $1000
LEA MESSAGE,A1
MOVE.B #14,D0
TRAP #15
MOVE.B #9,D0
TRAP #15
MESSAGE DC.B 'HELLO WORLD',0
END START
Of all the courses I took this semester, this one was my favourite. In this class I got to dive in to the computer at a very low-level. This class taught me a lot about the hardware of the computer as opposed to straight software. I have always been interested in how things work on a fundamental level.
CIS*2430: Object Oriented Programming
package example.helloworld;
public class HelloWorld
{
public static void main(String args[])
{
System.out.print("Hello World!");
}
}
This was the first time I got to use a programming language with many high-level features. We used Java for the entire course. Having used only C for the previous year, it was refreshing to not have to worry about memory management, janky string manipulation, and creating basic data structures from scratch.
CIS*2520: Data Structures
void push(List* list, int data)
{
if(list == NULL){ return; }
Node* node = malloc(sizeof(Node));
if(node == NULL){ return; }
node->data = data;
node->next = NULL;
list->tail->next = node;
list->tail = list->tail->next;
}
Data structures are necessary for computer programming, but ended up being my least favourite class of the semester. While I understand the importance of data structures and their use in everyday programming, I don’t have a large interest in the topic.