Blackboard Computing Adventures πŸ’‘
8 subscribers
786 photos
73 videos
62 files
263 links
Welcome to BCA ⚑⚑ our Virtual Learning Space. Mostly Blackboard snapshots, sometimes with explanatory/exploratory and analytical notes. Open teaching efforts by Fut. Prof. JWL at his BC gate on 1st Cwa Road and HQ research dissemination.
Download Telegram
We continue with our review of 🌐 ACM SLE research πŸ—žοΈβœ¨ papers below...

πŸ‘‡πŸ»πŸ‘‡πŸ»
https://youtu.be/rwAb0prVCJU?feature=shared

πŸ‘†πŸΌπŸ”†πŸ“πŸ—žοΈ Today we'll be reviewing our 17th ACM SLE paper since our reviews kicked-off in 2024. This video presents the reviewer's remarks since this work kicked-off in 2024, what plans there are for the future and a call for support from concerned readers, students, peers, seniors or beneficiaries of the work Joseph has been doing at Nuchwezi not just with the Blackboard Adventures.

#research #academia #jwl #nuchwezi #makerereuniversity #acm #sle
Blackboard Computing Adventures πŸ’‘
Video
---[INTRO]:

Today's review concerns a paper first presented by a team from Spain during the 2012 SLE conference in Dresden, Germany. It takes us into the realm of OOP with a focus on Model transforms via Java APIs and a DSL based on "small languages" (so-called Little Languages in later SLE work).
Blackboard Computing Adventures πŸ’‘
---[INTRO]: Today's review concerns a paper first presented by a team from Spain during the 2012 SLE conference in Dresden, Germany. It takes us into the realm of OOP with a focus on Model transforms via Java APIs and a DSL based on "small languages" (so…
---[BRIEF BIO]:

Professor JesΓΊs SΓ‘nchez Cuadrado, who is the leading author of this paper, is faculty at the Universidad de Murcia in Spain[2]. He specializes in Information and Computing Sciences, particularly in Model-Driven Development, Model Transformation, and Domain-Specific Languages[3]. He completed his Ph.D. at the Universidad de Murcia with a thesis on a framework for model-driven development for creating domain-specific embedded languages[4].
Blackboard Computing Adventures πŸ’‘
---[INTRO]: Today's review concerns a paper first presented by a team from Spain during the 2012 SLE conference in Dresden, Germany. It takes us into the realm of OOP with a focus on Model transforms via Java APIs and a DSL based on "small languages" (so…
---[ABOUT PAPER]:

The core idea in this paper is to take a meta-model (the formal description of a model) expressed in some DSL such as with the mappings little language that the authors implemented as part of their Eclectic DSL[1], and create a programmatic interface for allowing a developer or engineer to perform operations on the underlying model (e.g a web API, a UML object, etc.[2]); so-called "model transformations"[2], via a clean, more intuitive and OOP-structured API such as with Java's Swing classes[2].

It does give some background motivation for the project, delves into how the Eclectic DSL operates on-top of the JVM and Java's EMF, and treats of the case of mapping transforms as implemented via the Eclectic DSL as an illustrative case [2].

Also, interesting to note; instead of Eclectic being a full-fledged general-purpose model transformation language, it instead offers a framework for leveraging several small languages for specific model transform tasks, implemented via Xtext and which are then compiled into JVM bytecode for the actual work to be done in a Java ecosystem.


---[CRITICISM of PAPER]:

Though the paper's title bit off of Bertrand Meyer's talk, it's not very easy to connect the dots based on what's in this paper besides the fact that both works stressed leveraging OOP tools in SE work.

Also, as with many things by Java enthusiasts, the paper delves into Java-specifics too a great detail, in most of the manuscript, somewhat putting off non-Java readers or coming off as somewhat unnecessarily bloated for a SLE paper (20 vs typical ~14pagers)


---[REFS]:

1. SΓ‘nchez Cuadrado, JesΓΊs, Esther Guerra, and Juan de Lara. "The program is the model: Enabling transformations@ run. time." Software Language Engineering: 5th International Conference, SLE 2012, Dresden, Germany, September 26-28, 2012, Revised Selected Papers 5. Springer Berlin Heidelberg, 2013. URL:https://www.researchgate.net/profile/Jesus-Sanchez-Cuadrado/publication/278653259_The_Program_Is_the_Model_Enabling_Transformationsruntime/links/5585149608aef58c039b5070/The-Program-Is-the-Model-Enabling-Transformationsruntime.pdf

2. https://portalinvestigacion.um.es/investigadores/331792/detalle

3. https://scholar.google.com/citations?user=Johd4IEAAAAJ&hl=en

4. https://portalinvestigacion.um.es/investigadores/331792/detalle?lang=en


#review #notes #acm #sle #jwl #phd
NEW Month starts... YES! I'm AVAILABLE for HIRE! I'll travel if I must, but can also work remotely if that's ok. Platform Agnostic, Language Agnostic, ready for most automation work.

+I Can Also TEACH this stuff!

PLEASE GET IN TOUCH.

#proforhire #software #engineering #systemsprogramming #devops #clouddev #nativedev #mobiledev
6. Mathematics for Engineers βœ…

Basic mathematical concepts often come in handy, especially in fields like data science, game development, or machine learning.

πŸ“ Focus Areas: Linear algebra, probability, discrete math, and calculus.

πŸ“ Why It Matters: Mathematics provides the foundation for algorithms, graphics, and machine learning models.

Conclusion πŸš€
Mastering the fundamentals is a lifelong journey that yields benefits throughout your software engineering career.

By concentrating on core concepts, you will become a better problem solver and a more adaptable and impactful engineer.

Keep in mind that tools and frameworks may change over time, but the fundamentals are timeless.

So, the next time you're tempted to dive into the latest tech trend, take a moment to revisit the basicsβ€”you’ll thank yourself later.
@en0chcodes
Happy Coding!
#softwareengineering #programming #career #learning
PART-1
Master the Fundamentals: The Bedrock of Becoming a Good Software Engineer πŸ’―

In the fast-paced world of software engineering, it's easy to get caught up in the buzz surrounding the latest frameworks, tools, or programming languages.

While staying updated is essential, the foundation of a great software engineer lies in mastering the fundamentals.

These core principles are the building blocks that empower engineers to solve problems efficiently, adapt to new technologies, and design lasting systems.

In this article, we'll explore why mastering the fundamentals matters and dive into the key areas every aspiring or experienced Software Engineer should focus on.

πŸ“Œ Why Fundamentals Matter
Imagine trying to construct a skyscraper on a shaky foundationβ€”it might look impressive at first, but it won’t last.

Similarly, a lack of fundamental knowledge in software engineering can lead to inefficient solutions, brittle systems, and frustration when tackling complex problems.

Benefits of Strong Fundamentals ⚑️
1- Problem-Solving Prowess: Solid fundamentals enable you to break down and solve problems systematically, regardless of the tools.

2- Adaptability: Frameworks and libraries come and go, but core concepts remain constant. Mastering them makes it easier to learn and adopt new technologies.

3- Scalability and Optimization: Understanding the underlying principles of computation helps you design systems that are both scalable and performant.

4- Effective Collaboration: Communicating solutions with team members becomes easier when you share a strong grasp of the basics.

πŸ“Œ The Pillars of Fundamental Knowledge
1. Data Structures βœ…

Data structures are the backbone of programming. They determine how data is stored, accessed, and manipulated.

πŸ“ Core Concepts: Arrays, linked lists, stacks, queues, hash tables, trees, and graphs.

πŸ“ Why They Matter: Efficient use of data structures can drastically improve the performance of your application.

πŸ“ Example: Knowing when to use a hash table over an array can turn an O(n) search operation into O(1).

2. Algorithms βœ…

Algorithms define how problems are solved. From sorting data to finding the shortest path in a graph, understanding algorithms is crucial.

πŸ“ Key Algorithms: Sorting (merge sort, quicksort), searching (binary search), dynamic programming, and graph traversal (DFS, BFS).

πŸ“ Why They Matter: Efficient algorithms save computational resources and improve user experience.

πŸ“ Example: Choosing the right sorting algorithm can make or break performance when working with large datasets.

3. System Design βœ…

System design is about building robust and scalable systems. It requires understanding how different components of a system interact and perform.

πŸ“ Key Topics: Load balancing, caching, database indexing, and API design.

πŸ“ Why It Matters: Designing systems with scalability and maintainability in mind prevents costly rewrites down the line.

πŸ“ Example: Adding caching to a frequently accessed endpoint can reduce latency and server load.

4. Computer Science Basics βœ…

A strong grasp of computer science fundamentals ensures you understand how things work under the hood.

πŸ“ Topics to Learn:

Operating Systems: Memory management, process scheduling, and file systems.

Networking: HTTP, TCP/IP, DNS, and REST.

Databases: SQL vs. NoSQL, transactions, indexing, and normalization.

πŸ“ Why They Matter: This knowledge helps you optimize performance and troubleshoot complex issues.

5. Programming Paradigms βœ…

Understanding different programming paradigms allows you to write clean, efficient, and maintainable code.

πŸ“ Key Paradigms: Object-oriented programming (OOP), functional programming, and procedural programming.

πŸ“ Why They Matter: Choosing the right paradigm for a problem can simplify development and improve code quality.

πŸ“ Example: Using functional programming for immutability in modern frontend frameworks like React.
@en0chcodes
πŸ‘†πŸΌπŸ€  ✨✨ Especially for students and Software Engineering learners in our community. Found the above two posts from a neighbouring community quite useful to share here as well. Cheers! βš™οΈ
Forwarded from JWL // literature
I haven't yet decided what to do next with my *GTNC Theory of Numbers.* But an idea seems to be coming up.. fingers crossed 2025 we might see the next number theory paper from yours and only 🀞😍
And Valentine 🀍🀎β™₯️β™₯οΈβš‘πŸ˜‚ PRO B
LEMMAs can't leave our (re) searches
in {peace}
πŸŽ―πŸ“πŸ–Γ—(πŸ‘†πŸΌ-!πŸ‘‡)
Blackboard Computing Adventures πŸ’‘
The 2025 Universal Valley N Tiny Problem: Given i, x: solve for x:
Surely, in Clear HARD 🀍🀎β™₯️β™₯️ VALLEY N TINY Problems πŸ€žπŸ€£πŸ™…πŸ˜πŸ˜πŸ˜πŸ€¦

Happy VALENTINE'S 2(U(O(L)))


#valentines #holidays #greetings #loveresearch #problems #sweetheartinstitute #jwl