Notes, summaries, assignments, exams, and exercises for Computer science for Baccalaureate

Object-Oriented Programming & C++ Function Overloading

Computer science2.76 KB

Object-Oriented Programming (OOP) Fundamentals

Object-oriented programming (OOP) is a computer programming model that uses objects to represent and manipulate data.

OOP is well-suited for large, complex, and frequently updated software. Some of the main features of OOP include:

  • Classes: User-defined data types that serve as a blueprint for individual objects, attributes, and methods.
  • Objects: Instances of a class that are created with specific data.
  • Methods: Functions that objects can perform.
  • Attributes: Represent the state of an object.
  • Abstraction: Exposes only the essential information of an object to the user.
  • Polymorphism: Adds different meanings to a single component.
  • Inheritance: Allows a class to inherit the properties and methods of another
...
Continue reading "Object-Oriented Programming & C++ Function Overloading" »

John Doe — Software Engineer Resume | JavaScript & React

Computer science1.43 KB

John Doe

Software Engineer

Contact Information

Email: [email protected]

Phone: (123) 456-7890

LinkedIn: linkedin.com/in/johndoe

GitHub: github.com/johndoe

Experience

Software Engineer at XYZ Corp

Jan 2020 - Present

  • Developed and maintained web applications using JavaScript, HTML, and CSS.
  • Collaborated with cross-functional teams to define, design, and ship new features.
  • Wrote unit and integration tests to ensure code quality.

Junior Developer at ABC Inc.

Jul 2018 - Dec 2019

  • Assisted in the development of web applications using React and Node.js.
  • Participated in code reviews and provided constructive feedback.
  • Contributed to the maintenance and improvement of existing codebases.

Education

Bachelor of Science in Computer Science

University of Somewhere, 2014 -

...
Continue reading "John Doe — Software Engineer Resume | JavaScript & React" »

Digital Logic Circuits and Action Learning Principles

Computer science3.37 KB

Program for Action Learning (PAL)

PAL, or the Program for Action Learning, is an educational approach that emphasizes practical, hands-on learning experiences. It is frequently utilized in business and organizational settings to facilitate problem-solving, teamwork, and skill development through real-world projects and challenges.

Understanding Magnitude Comparators

A magnitude comparator is a digital circuit that compares two binary numbers to determine their relative magnitudes. It identifies whether one number is:

  • Greater than the other
  • Less than the other
  • Equal to the other

It typically consists of logic gates that analyze the binary digits of each number and generate output signals indicating the comparison result. These circuits are commonly...

Continue reading "Digital Logic Circuits and Action Learning Principles" »

Understanding Computer Fundamentals: Output Devices, Formatting, and Software Features

Computer science2.49 KB

Understanding Computer Fundamentals

Output Devices

Plotter

A plotter is a specialized output device that generates images on paper, similar to a printer but with a distinct approach. Plotters excel at producing large-scale drawings or images, such as construction plans or blueprints. They can be connected to the same port typically used by a printer.

Tab Stops

Tab stops simplify document formatting. By default, they are set at 0.5-inch intervals from the left margin, allowing for easy creation of elements like tables of contents or indexes without manual adjustments.

Formatting and Data Visualization

Importance of Pie Charts

Pie charts effectively illustrate relative proportions or contributions to a whole using a single data series. Their effectiveness...

Continue reading "Understanding Computer Fundamentals: Output Devices, Formatting, and Software Features" »

Cybersecurity Essentials: Threats, Controls, and Encryption

Computer science4.71 KB

CIA Triad

The CIA Triad consists of Confidentiality, Integrity, and Availability. Related concepts include Authentication, Accountability, and Auditability.

Types of Harm

  • Interception
  • Interruption
  • Modification
  • Fabrication

Web Technologies

HTML

  • GET: Embeds parameters into the URL.
  • POST: Sends data directly to the server; more secure.

PHP

  • PUT: Used to create or replace a file at the specified URL. Sends data like POST, more suitable for uploading files.

Penetration Testing

5 Steps to Penetration Testing:

  1. Reconnaissance
  2. Scanning
  3. Gaining Access
  4. Maintaining Access
  5. Clearing Tracks

Security Controls

  • Prevention: Outright stopping an attack.
  • Deterrence: Making an attack harder.
  • Deflection: Making a target less attractive.
  • Mitigation: Lessening the harm.
  • Detection: Identifying
...
Continue reading "Cybersecurity Essentials: Threats, Controls, and Encryption" »

Understanding JavaScript Events and Methods

Computer science5.51 KB

Javascript

The async attribute allows the browser to process the web page concurrently with loading and processing the JavaScript.

The defer attribute allows the browser to load the web page concurrently with loading the JavaScript, but the JavaScript is not processed until the web page is completely loaded.script src="bootstrap.js" async>script>

A change event is caused by an element value being modified. Ex: Selecting an item in a radio button group causes a change event.

An input event is caused when the value of an input or textarea element is changed.

A load event is caused when the browser completes loading a resource and dependent resources. Usually load is used with the body element to execute code once all the web page's CSS, JavaScript,

...
Continue reading "Understanding JavaScript Events and Methods" »

MIPS Hardware Multiplication and Branch Addressing Solutions

Computer science5 KB

MIPS Arithmetic and Addressing Solutions

This document provides detailed solutions for problems related to MIPS arithmetic hardware (non-optimized and optimized multiplication) and MIPS instruction addressing (beq, bne, and j instructions).

Multiplication Hardware Constants

  • UNSIGNED = 0
  • SIGNED = 1

Non-Optimized Multiplication Hardware

Unsigned Multiplication: 10111 × 01011

Use the non-optimized multiplication hardware to perform unsigned multiplication 10111 × 01011. Show the bit value of the multiplicand, the multiplier, and the product after Step 4, separated by commas.

Answer: 0101110000, 00000, 0011111101

Signed Multiplication: 1100111 × 0011011

Use the non-optimized multiplication hardware to perform signed multiplication 1100111 × 0011011....

Continue reading "MIPS Hardware Multiplication and Branch Addressing Solutions" »

Networking Essentials: Devices, Protocols, Topologies

Computer science3.67 KB

Network Fundamentals: LANs and WANs

  • A Local Area Network (LAN) covers a small geographical area, such as a single site or building (e.g., a school or a college).

  • A Wide Area Network (WAN) covers a large geographical area. Most WANs are formed by connecting several LANs, with the internet being a prime example.

Virtual Private Networks (VPNs) Explained

A Virtual Private Network (VPN) is programming that creates a safe, encrypted connection over a less secure network. It provides business travelers with secure access to software applications hosted on proprietary networks. To gain access to a restricted resource through a VPN, the user must be authorized to use the VPN application and provide one or more authentication factors, such as a password....

Continue reading "Networking Essentials: Devices, Protocols, Topologies" »

Advantages of Address Aggregation and Key Characteristics of Routing Protocols

Computer science2.95 KB

Discuss the advantages of address aggregation (summarization) with respect to routing table size, routing update exchange, and routing optimization?

Route aggregation and subnetting shrink the size of routing tables used by routers. Without CIDR, a router must maintain many individual entries for routes within the same network. CIDR guarantees more efficient routing and reduces the number of CPU cycles when updating a routing table. It also reduces router memory requirements.

What are the key characteristics or requirements that should be fulfilled by any routing protocol?

A routing protocol should guarantee loop-free paths, calculate multi-hop optimal paths, use simple or composite network metrics, be scalable, converge rapidly, use network resources...

Continue reading "Advantages of Address Aggregation and Key Characteristics of Routing Protocols" »

Java Control Statements and Operators

Computer science5.46 KB


◦ Performs an action if a condition is true and performs a different action if the condition is false.

◦ Double-selection statement—selects between two different actions (or groups of actions).

}switch statement

◦ Performs one of several actions, based on the value of an expression.

◦ Multiple-selection statement—selects among many different actions (or groups of actions).

Iteration Statements in Java

}Four iteration statements (also called iteration statements or looping statements)

◦ Perform statements repeatedly while a loop-continuation condition remains true.

}


while and for statements perform the action(s) in their bodies zero or more times

◦ if the loop-continuation condition is initially false, the body will not execute.

}The do…while...

Continue reading "Java Control Statements and Operators" »