Computing Biography
Programming Experience
I first started programming after enrolling in an introduction to computing and algorithms class at Sacramento City College. It was so much fun. Since then, I have attend CSU, Chico where I've completed all the lower division programming and algorithms courses as shown below as well as several upper division Computer Science courses.
Programming Courses at Chico State:
-
CSCI 111 - Programming and Algorithms I
- A first-semester programming course, providing an overview of computer systems and an introduction to
problem solving and software design using procedural object-oriented programming languages. Coverage
includes the software life cycle, as well as algorithms and their role in software design. Students are
expected to design, implement, and test a number of programs.
-
CSCI 211 - Programming and Algorithms II
- A second-semester object-oriented programming course in computer science that emphasizes problem solving.
This course continues the study of software specification, design, implementation, and debugging techniques
while introducing abstract data types, fundamental data structures and associated algorithms. Coverage
includes dynamic memory, file I/O, linked lists, stacks, queues, trees, recursion, and an introduction to
the complexity of algorithms. Students are expected to design, implement, test, and analyze a number of programs.
-
EECE 237 - Embedded Systems Development
- This course presents the concepts and techniques associated with developing low level Embedded Systems Applications,
using both Assembly Language and C. Topics include microprocessor architecture concepts, instruction set architectures,
Assembly Language programming, data representations, interrupt handling and execution modes, low level C programming,
and the use of on-chip and external peripherals.
-
CINS 110 - Introductory Web Programming
- This course introduces students to programming in the context of dynamic web page development. The operation
of the web browser and its interaction with web servers is explored. Structure and style of web page content
using HTML and CSS is introduced. The main focus of the course is programming in JavaScript to add dynamic
content to a web page. Topics include all language constructs, interaction with the DOM, event-driven
programming, debugging using an integrated debugger in the browser, and the use of existing APIs.
-
CINS 370 - Introduction to Databases
- This course provides an introduction to the theory and methodology for database design and implementation.
Topics may include a survey/lecture component as well as a project component. The survey component covers
entity- relationship modeling, relational algebra and calculus theories, data definition and data
manipulation languages such as SQL, file structures, transactions, concurrency control, recovery, tuning and
optimization, and object-oriented databases. The project entails requirements definition, design, and
implementation of a database application.
-
CINS 465 - Web Programming Fundamentals
- A hands-on project course that examines languages, tools, protocols, and techniques for developing
interactive and dynamic web applications. Topics include the model-view-controller pattern, server
side and client side scripting, using a server side database, web applications security, and dynamic
page styling, design, and layout. The course includes several web projects using a web programming framework.
-
CSCI 311 - Algorithms and Data Structures
- This course focuses on object-oriented methodologies in designing and implementing a variety of data
structures and algorithms. Coverage includes recursion, trees, search structures, hashing, heaps,
sorting algorithms, and graph algorithms. Data structure and algorithm combinations will be studied and
analyzed along with their relative merits using both mathematical and empirical measurements. The course
includes a number of large programming assignments focusing on object-oriented software engineering and
algorithm development. Students will be required to design, implement, test, and analyze their programs
in at least one object-oriented language.
-
CSCI 446 - Introduction to Computer Networks
- This course is an introduction to basic networking technologies and network management concepts,
including major network operating systems, communication architecture focusing on ISO and Internet
models with discussion of current standards and protocols. Significant laboratory work using current
networking equipment reinforces lectures and provides fundamental experience with router and switch management.
-
CSCI 511 - Advanced Object-Oriented Programming
- This course is dedicated to the analysis, design, and implementation of programming problems using an
object-oriented approach. Modern object-oriented languages are utilized. Topics include inheritance,
the underlying implementation of polymorphism, exception handling, extending existing system libraries,
and approaching algorithm development from an object-oriented perspective.
-
CSCI 515 - Compiler Design
- The elements of lexical, syntactical, and semantic analysis including finite and push-down automata,
top-down and bottom-up parsing, error detection and recovery, semantic actions and code generation.