With my current knowledge and genuine interest in computer science, I plan to do some additional research within a specific field in my discipline. Currently, I am unsure of what specific field, I would like to focus the research on. However, I shall keep on taking additional computer science and software engineering classes to strengthen my current knowledge in the field. This semester I am currently taking 2 classes to help with my foundation in computer science. I am taking CIS 300: Data and Program Structures which is mostly referred as the foundation of every computer science student. The K-State Catalog illustrates the class as "A study of common data and program structures together with associated algorithms. Topics include interfaces, design patterns, arrays, stacks, queues, lists, trees, hash tables, recursion, binary search, and tree traversals. Experience with both use and implementation of these structures and algorithms using a modern programming language. Discussion of tradeoffs involving performance and software maintainability." As noted by my instructor, my learning outcome should be:
- Using interfaces to (partially) define a data structure
- Implementing and using standard versions of classic data structures: lists, stacks, queues, trees, and hash tables
- Implementing and using elementary algorithms for searching and manipulating a data structure
- Using recursion, including recursive definitions of data structures like lists and trees
- Using and implementing algorithms for sorting
- Understanding performance differences between various algorithms and data structures
In addition to CIS 300, I am taking CIS 301: Logical Foundations of Programming which is discribed on the K-State Catalog as: "ogical formalisms used to model and reason about computer systems. Propositional and predicate logic, syntax, semantics, and proof theory; soundness and completeness issues. Mathematical induction. Program verification: invariants and program logics."
So far my classes seem to be going well. I am enjoying all of them, as they keep me well awake through my evenings and the next morning I wake up by my desk still working on a particular project. Actually, that only happened once. But, having said that, computer science is a field that requires hardwork, and I am willing to give it my all. Next semester, I shall venture into more sophisticated classes of which are in the computing science realm such as: CIS 308: C/C++ Language Laboratory, CIS 501: Software Architecture and Design, and MATH 510: Discrete Mathematics. I hope to take these classes, and expand my knowledge in computer science. After this, I would like to specialize in a field within the computing science world.
I am excited about these classes, and just learning more about my field. I enjoy my classes, working with my classmates, and also the free pizza in Nichols, that are usually sponsored by companies within my Department. I worked this past summer in a internship which I loved, and I was given a return offer for another internship next year of which I accepted, so I shall gain more experience in software and applications development. This would probably be my last summer as an Undergraduate as I plan to graduate in May 2014. I would like to do some form of research, probably in graduate school. I am thinking of getting a Master's Degree in Software Engineering or Computer Science. This may be in K-State, then depending on if I still want to do some more research I shall get a big boy's degree after getting a masters. Or I may just go ahead and get a job, maybe with the company I already interned with.