Web Programming
- An introduction to basic concepts in computer knowledge and data communication with a focus on http and ftp.
- Structure and design of web pages and websites
- Use of tables, frames, layers, forms, etc.
- Overview of HTML and its standard
- Validation of HTML documents
- Concepts and application of style templates, CSS (Cascading Style Sheets)
- Techniques for positioning, layout and design using style templates
- Validation of CSS documents
- An introduction to development with Javascript and support frameworks to be able to create interactive and dynamic websites
- Server side scripting with PHP
- Database connections with PHP
- Communication with relational databases with embedded SQL
Thoughts
I have had some prior experience in web development in regard to html, css, javascript and php. Have also had some experience with phpBB, joomla and probably like most others some Wordpress too. With that said, on this course I have acquainted myself with javascript on the basis of using promises/async/callbacks with API calls. As for PHP we have delved into OOP, I used this opportunity to learn about MVC and create a simple solution to some of my assignments with MVC pattern in mind.
Java I
- Basic software development concepts such as compilation and execution.
- Basic algorithmic concepts for problem-solving such as abstraction level, control set, data and method.
- Java The SDK tools javac, java, javaw, and jar with associated arguments and environmental parameters. Javadoc with accompanying comment syntax.
- Primitive data types, declarations of primitive types and governance statements. Implicit and explicit type conversions.
- String class, declaration method and use.
- User dialogs via System.out and System.in. Conversions from text to speech form. printf syntax.
- Methods in the class Math. Static versus instance-bound methods. How to interpret the API documentation for the classes String, Math, BufferedReader and PrintStream in particular.
- Own methods. How to divide programs into methods. When and why are non-static methods declared. Why is main() static. The class definition.
- Superclass Object. Overloading Object.toString().
- Arrays of primitive types. Semantic differences between reference variables and value variables. In particular with regard to allocations and as methodological arguments.
- Algorithmic description of any simple sorting method and Collections.sort
- ArrayList without observing the Collection hierarchy.
Thoughts
I had fun learning Java, and I'll be learning more as I go since it feels to me that it is a very good language to have it in the tool box.
During this course I came to use Intellij IDEA extensively, even thought I've been using VS Code for much longer period, and I will be continuing using VS code I find that Intellij IDEA has me on the hook. While using Intellij IDEA I came across ideavim, and now I would not imagine going back to my old workflow. Who knows maybe I get Vim/Neovim under the belt some day too.
Link to work
Embedded System for Internet of Things
- Apply Ohm's law and calculate power requirements of simpler electrical circuits
- Identify and use active and passive components in an Internet of Things system
- Identify, describe and explain different types of architectures suitable for the Internet of Things
- Explain how ordinary sensors work and be able to apply these in a built-in system
- Apply standard protocols for communication between sensors and built-in system
- Apply standard protocols for communication between embedded systems and Cloud / middleware
- Design simpler Internet of Things systems and implement it in a built-in system
- Identify security needs for Internet of Things systems
Thoughts
This course is by far one of my favorites. Got my self some IoT devices and surrounding accessories, will be playing around with them when possible.
Mathematical Statistics and Linear Algebra
- Know basic concepts and be able to solve problems in probability theory
- Master basic descriptive statistics including the most common position and spread measurements
- Ability to perform calculations with stochastic variables and be familiar with some of the most common distributions
- Ability to perform point and interval estimation
- Ability to solve simple geometric problems in the plane and space
- Ability to solve linear systems of equations
- Ability to perform simple calculations with matrices and calculate determinants
Administration of UNIX-like Systems
- The course deals with the skills required to administer a UNIX like systems such as basic commands for working and navigating the system, modify the operating system kernel, configure and modify a bootloader, volume, process and user management.
- In addition to knowledge about the use of a UNIX-like system, the course deals even with the most common services used in a network, for example CIFS, NFS, email, DNSSEC and firewalls
Thoughts
I have had a great time diving into UNIX-like systems, even though Windows has been my primary system for years and years. Using bash has opened a whole new world up for me, I can see my self making Linux my primary system.
Databases - Modelling and Implementing
- Different database systems
- Basic concepts
- Three-level architecture
- Relational model, relational algebra
- Orientation about object-oriented and the object relation model
- SQL, both simple and advanced
- Design of relational database and simple object relation databases using SQL
- Entity Relationship Models (ER)
- Extended Entity-Relationship (EER)
- Unified Modeling Language (UML)
- Normalization and functional dependencies
- Conversion of conceptual model to database schema
- Databases in Client / Server environment
- Transfer of an existing database from one environment to another
- Simple database programming
- Security
Thoughts
I have to say I like building databases, but damn there is so many parts to it.
Computer Network
- Overview: Briefly about the history, development and standardization of data communication. Different types of data communication protocols. Digitization. Circuit connection and packet switching. Detailed review of the OSI model and TCP / IP model layers. Infrastructure and communication technologies for local area networks (LANs), city networks (MAN) and global networks (WANs).
- Physical layer: Different types of signals, attenuation, distortion and interference. Differences between analogue resp. digital signals. The bandwidth and bit rate of the transmission channel. Modulation and coding techniques for digital transmission. Multiplexing. Transmission media. Functions in different types of modems. Broadband access techniques.
- Data link layer: Framing, error handling, flow control. Local area networks (LAN). Topologies. Multi-access technicians. Ethernet. MAC addresses. Repeaters, hubs, bridges, switches.
- Network layer: The IP protocol. IP addressing. Address types. Subnets and subnet masks. ARP. ICMP. DHCP. Router protocol.
- Transport layer: TCP and UDP protocols. Port numbers and sockets. Traffic jam management.
- Application layer: Client / server model. DNS. Application protocol. URLs.
Thoughts
This course has been fun and I think it would be beneficial to delve into this even more whenever I can.
Object Based Programming in C++
- Object-oriented terminology: class, members, operations, attributes, objects, instance, inheritance, relationship, message etc.
- Specification and implementation of classes in C++
- Overloading operators
- Const declarations
- Abstract data types such as queue, stack and list
- Dynamic memory allocation
- Pointers and its applications
- Iterators in the standard library, including the connection to pointers
- Recursive algorithms
- Container classes in the standard library
- Own implementations of sorting and searching algorithms
- UML diagrams for classes, objects, activities and sequences
Thoughts
We are getting into C++ on a deeper level, and it seems that I am not that bad at it. Got a few compliments from my teacher so that makes me happy :)
Link to work
Structs, own datatypes and operatoroverloadings
Mathematics, Discrete Mathematics
- Theorem logic, logical reasoning and mathematical argumentation
- Equivalence relations, partitions
- Elementary number theory, divisibility, Euclid's algorithm, recursion, modular calculus
- Combinatorics
- Introduction to the complexity of algorithms
- Initial graph theory, e.g. simple graphs and elementary graph theoretical connections, trees and applications and digraphs.
- Some graph theoretical algorithms such as exciting trees and shortest paths.
Introduction to Operating System
- Basic concepts and history
- Construction and structure
- Processes and threads
- Pseudo-parallel execution algorithms
- Memory management with virtual memory
- Communication with input and output units, file system
- Interrupt management
- Interprocess communication
- Synchronization mechanisms
Thoughts
This was a pretty challenging course but at the same time so much fun. Apart from learning the ins and outs of computer hardware I also learned some scripting in both Linux and Windows.
Link to work
Readers writers problem in python
Mathematics, Algebra with and introduction to functions
- Definition of, and basic properties of, the elementary functions.
- Mathematical notation and methods: logic and mathematical argumentation, set theory, consequences, sum / product signs and faculty.
- Integer: divisibility, prime number, division rate and factorization and the induction axiom.
- Differences and equations.
- Absolute value.
- Functions: injectivity, surjectivity, invertibility and composition.
- Complex numbers.
- Polynomial: the factor theorem, polynomial division.
Thoughts
I had a real hard time to keep up with math, has been a while.
Introduction to Programming
- Design simpler C ++ programs based on procedural programming.
- Use available constructions for iteration and selection.
- Use the built-in types and applicable operators.
- Identify delimited program modules and implement these as functions.
- Use parameters to transfer data between different program modules.
- Use pseudocode to implement simple code snippets.
- Construct simpler algorithms.
- Describe and implement simpler algorithms for search and sorting corresponding standard templates in the standard library.
- Use certain class templates from the standard library for strings and collections,
- Use streams for line-based input and output from / to console and disk,
- Write simple building scripts.
Thoughts
I always through learning c++ is scary and yes it is but not impossible.
Link to work
Oral & Written Communication
Ment to teach us how to form technical reports and how to verbally communicate technical information at different levels of complexity.
Basic Computer Science course, following are the subjects that will be covered
- Data representation & data storage
- Architecture & Data Manipulation
- Operating system
- Algorithms
- Program language
- Python
- Data communication
- Data structures
- Software development
- File structures & databases
Autumn 2020 University enrollment at Mid Sweden University, degree of Bachelor of Science with a major in Computer Engineering
Thoughts:
Yes, about two weeks before program start I applied and somehow I got in. Have been thinking of getting into Computer Science for some time now, so I'm pretty excited for this.
Today's Progress:
- Sed a aliquet sem, id
porta
lacus. - Nam ac orci vitae orci facilisis consequat sit amet id nibh.
- Suspendisse sit amet rhoncus velit.
- Praesent vestibulum vel diam sed convallis.
- Nunc non urna ut diam
- In pretium ultrices augueS
- Ut semper consequat imperdiet
Thoughts:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a aliquet sem, id porta lacus. Nam ac orci vitae orci facilisis consequat sit amet id nibh. Suspendisse sit amet rhoncus velit. Praesent vestibulum vel diam sed convallis. Nunc non urna ut diam aliquam viverra vel nec arcu. In pretium ultrices augue, sit amet bibendum purus pharetra sed. Nunc luctus diam ut est laoreet molestie. Suspendisse eget sagittis diam. Ut semper consequat imperdiet.
Link to work:
Resources