Jacob Schrum
Jacob Schrum
  • Видео 148
  • Просмотров 3 634 604
Give Me ALL Solutions: True Power of Logic Programming
This video discusses the ability of Logic Programming languages like Prolog and Mercury to easily collect all satisfying assignments for a given predicate with the use of higher-order predicates.
Просмотров: 147

Видео

Basic Logic Programming in Prolog and Mercury
Просмотров 86Месяц назад
Presents some real code examples of how logic programming languages Prolog and Mercury work. Specifically, the use of recursion and conditionals are shown with the examples of factorial and reversing a list. Prolog and Mercury share many similarities, but some key differences are also demonstrated.
Logic Programming: Propositional Logic and Horn Clauses
Просмотров 96Месяц назад
Gives a high-level description of the basis of logic programming languages, namely propositional logic, predicate calculus, and Horn clauses. Some simple examples are shown, including a recursive definition of factorial.
Insertion Sort: Simple Sorting with a Fast Best Case
Просмотров 842 месяца назад
A quick video demonstrating how insertion sort works, and explaining its best, worst, and average big-Oh runtime cases.
Sorting By Selecting the Minimum Value Repeatedly: Basic Selection Sort
Просмотров 652 месяца назад
This is a quick video explaining the sorting algorithm Selection Sort as applied to an array of integers.
Understanding Quicksort: Best Case, Worst Case, and Optimized Behavior
Просмотров 2875 месяцев назад
This video demonstrates how various forms of quicksort behave when sorting arrays of numbers. The behavior of a simple version that choses the first element of each sub-array as a pivot is demonstrated. However, this simple approach is very susceptible to the worst case behavior for quicksort. A better version using median-of-three pivot selection is then shown to make this problem less likely....
Implementing Optimized Quicksort
Просмотров 1675 месяцев назад
This video gives pseudocode for an implementation of quicksort, discussing the high-level recursive function and going into some details of the partitioning scheme.
Implementing Mergesort in Pseudocode
Просмотров 1085 месяцев назад
Contains an explanation of the major components of the implementation of mergesort
How does Mergesort Work? Fast and Stable Sorting
Просмотров 1485 месяцев назад
This video walks through examples of the behavior of mergesort, and explains why it is able to execute in O(n log n) time.
From Relational Database Schema to ER Model and back, Forward and Reverse Engineering
Просмотров 2,3 тыс.Год назад
The concept of a Database Schema is described, as well as the way that primary keys and foreign keys relate to each other. A relational schema is presented, and then reverse engineered back into an Extended Entity Relationship Model. Then some tips on Forward Engineering the model back in to a schema are given.
Designing a Relational Database with Tables
Просмотров 694Год назад
Walks through an example of a relational database based on tables. The video builds on previous videos using Entity Relationship and Extended Entity Relationship Models, and puts real data in tables to model the connections between entities. Examples of Many-to-Many, 1-to-Many, and 1-to-1 relationships are modeled, as are both standard and recursive relationships. The concepts of primary and fo...
Extended Entity Relationship Models (EER diagrams)
Просмотров 37 тыс.Год назад
Having covered basic ER models in the previous video, we can now move on to Extended Entity Relationship models. The ability to use a specialization circle to define disjoint subsets, overlapping subsets, and unions is explored. Incidentally, the diagrams in this video were made using www.mural.co/
Basic Entity Relationship Models
Просмотров 7 тыс.Год назад
A discussion of entity relationship models and their associated diagrams in the planning/designing of databases. Entities, attributes, and relationships are discussed, as well as relationship cardinality, participation (total vs partial), and degree (unary, binary, n-ary).
Maintaining Cache Coherence with MESI
Просмотров 4,7 тыс.Год назад
Explains the need for cache coherence in multi-core systems, the use of snoopy protocols to monitor when shared data changes state, and the specific case of MESI: Modified, Exclusive, Shared, Invalid.
Everything you forgot from your intro programming course in Java
Просмотров 352Год назад
I frequently teach Computer Science II, a Data Structures course in Java, but there is a long list of basic programming skills and rules that students tend to forget from their Computer Science I course. This video is meant to be a refresher for them, but maybe others can benefit as well! Correction: At 4:40, the hex value shown when printing a reference type whose toString() method is not over...
Closures in Python and Common Lisp: Functions That Remember
Просмотров 7732 года назад
Closures in Python and Common Lisp: Functions That Remember
Nested Subprograms and Static vs. Dynamic Scoping
Просмотров 9782 года назад
Nested Subprograms and Static vs. Dynamic Scoping
Stack-based Subprogram Implementation to Enable Recursive Subprograms
Просмотров 1 тыс.2 года назад
Stack-based Subprogram Implementation to Enable Recursive Subprograms
Subprogram Implementation With No Recursion: Simple Subprograms
Просмотров 1,9 тыс.2 года назад
Subprogram Implementation With No Recursion: Simple Subprograms
Virtual Memory Page Management 2 - Resident Set Management
Просмотров 1,2 тыс.2 года назад
Virtual Memory Page Management 2 - Resident Set Management
Virtual Memory Page Management 1 - Replacement Policies
Просмотров 4,6 тыс.2 года назад
Virtual Memory Page Management 1 - Replacement Policies
Parameter Passing Modes: In, Out, In-Out, and Lazy Evaluation
Просмотров 5 тыс.2 года назад
Parameter Passing Modes: In, Out, In-Out, and Lazy Evaluation
Parameter Specification in Python, Java, C++, C#: Optional Values, Default Values, and Overloading
Просмотров 1,5 тыс.2 года назад
Parameter Specification in Python, Java, C , C#: Optional Values, Default Values, and Overloading
Associative and Set-Associative Cache Mappings
Просмотров 8 тыс.3 года назад
Associative and Set-Associative Cache Mappings
Direct Cache Mapping
Просмотров 11 тыс.3 года назад
Direct Cache Mapping
Introduction to Cache Memory Concepts
Просмотров 16 тыс.3 года назад
Introduction to Cache Memory Concepts
Anonymous Functions via Lambda Expressions in Multiple Languages
Просмотров 4,8 тыс.3 года назад
Anonymous Functions via Lambda Expressions in Multiple Languages
Higher-Order Functions Everywhere: Haskell, Lisp, Python, and C++
Просмотров 2,4 тыс.3 года назад
Higher-Order Functions Everywhere: Haskell, Lisp, Python, and C
Pure Functional Programming: Stateless Recursion
Просмотров 1,5 тыс.3 года назад
Pure Functional Programming: Stateless Recursion
Abstract/Virtual Classes/Methods and Generics (Comparing Java, C++, and Ruby)
Просмотров 1,5 тыс.4 года назад
Abstract/Virtual Classes/Methods and Generics (Comparing Java, C , and Ruby)

Комментарии

  • @VengatRamanan01
    @VengatRamanan01 День назад

    doesnt the degree of the tree represent the # of keys in the node rather than the child pointers. # of keys min (d - 1) and max 2 * d - 1

  • @JacobSchrum
    @JacobSchrum 11 дней назад

    Note: the term "bit stable" used in the video should actually be "bi-stable"

  • @JacobSchrum
    @JacobSchrum 12 дней назад

    Around 5:13 the expansion of 5.32 * 10^30 is missing two zeroes at the end. As stated, there should be 31 total digits in the result: 5,320,000,000,000,000,000,000,000,000,000

  • @rahulshendre7089
    @rahulshendre7089 14 дней назад

    thanks man

  • @santoshkumar8202
    @santoshkumar8202 22 дня назад

    Beautiful explanation!

  • @filippomike8213
    @filippomike8213 24 дня назад

    Thank you for your clear explanation! I have a dumb question how do you make sure that both the receiver and the sender know the CRC pattern? because if you send that too it might get affected from errors no? Thank you a lot in advance!

  • @harissatti8790
    @harissatti8790 27 дней назад

    👍

  • @fullmotioncinema7323
    @fullmotioncinema7323 29 дней назад

    Still dont get the math, but I know enough to BS this essay.

  • @larryvaughn5843
    @larryvaughn5843 Месяц назад

    What type of encoding is used by computer network cards sending a signal through Ethernet cabling?

    • @JacobSchrum
      @JacobSchrum 22 дня назад

      I don't think there is a single answer for that. Different networks can use different encoding schemes. It's up to what the hardware supports and how it is configured, though standards change and evolve over time.

  • @Neuroszima
    @Neuroszima Месяц назад

    wait. Wouldn't be more simple to just use bool instead of this????

    • @JacobSchrum
      @JacobSchrum 22 дня назад

      If you are suggesting replacing the entire concept of a semaphore with a single boolean variable, then you are overlooking the fact that updates to a boolean variable in memory are not atomic, and thus do not guarantee synchronization. However, there are alternatives to semaphores that are a bit simpler to use.

    • @Neuroszima
      @Neuroszima 22 дня назад

      @@JacobSchrum well yeah, i was trying to understand the differences but i guess i have more reading to do. Thanks for pointing an unobvious thing to me

  • @daniellino6126
    @daniellino6126 Месяц назад

    Thank you so much, hope I can use this on the exam I have tomorrow!

  • @memeingthroughenglish7221
    @memeingthroughenglish7221 Месяц назад

    amazing video! would recommend to have a short summary of admissibility and consistency at end though, to better recap what was learned

  • @Curblunk
    @Curblunk Месяц назад

    huh???

  • @wjrasmussen666
    @wjrasmussen666 Месяц назад

    Loved my logic couse at school, so much Prolog as well as Python.

  • @thichtruotco
    @thichtruotco Месяц назад

    Thank you very much

  • @Moka-ot5wm
    @Moka-ot5wm Месяц назад

    its not pie its pi like pee not fie light fight its fee

  • @mRahman92
    @mRahman92 Месяц назад

    Pretty cool demonstration of a 4-Bit parallel shift register. Nice touch with the Load signal enable switch. Other videos don't cover that kind of stuff until much later.

  • @mitchtembo487
    @mitchtembo487 Месяц назад

    Thank you ... This is by far the best tutorial video which clearly explain placement algorithm

  • @alexk.2361
    @alexk.2361 2 месяца назад

    still helping students in 2024, thanks man

  • @kal.
    @kal. 2 месяца назад

    what software did you use for these diagram?

  • @PersonalEmail-ot1bq
    @PersonalEmail-ot1bq 2 месяца назад

    Lets get lost tonight, you could be my black Kate Moss tonight, play secretary I'm the boss tonight, and you don't give a f*ck what they all say right. 😂

  • @hamdaniibrahim8693
    @hamdaniibrahim8693 2 месяца назад

    ESI

  • @jirkadolezal8127
    @jirkadolezal8127 2 месяца назад

    thank you

  • @kjolen
    @kjolen 2 месяца назад

    Thank you for the explanation!!

  • @SYEDABDULALISHAH
    @SYEDABDULALISHAH 2 месяца назад

    Thank you so much sir. You've covered all topics in just 10 minutes. Thank you So Much. I am grateful to you

  • @abellacherabah6284
    @abellacherabah6284 2 месяца назад

    Thank you professor

  • @nitinagrawal6637
    @nitinagrawal6637 2 месяца назад

    Thanks for nice explanation. I have doubt about if both CPUs issue write request to the same data location, then how it is resolved? As it seems to be the race condition then do I need to synchronize this scenario or what?

    • @JacobSchrum
      @JacobSchrum 2 месяца назад

      It absolutely would be a race condition, and you would need to assure correct behavior with synchronization at the level of code. However, this coherence protocol would assure that any subsequent reads make sense, meaning that you can't do two simultaneous reads and get different values.

  • @nageb.khateb
    @nageb.khateb 2 месяца назад

    awesome 👏

  • @user-pk6eu9lj4f
    @user-pk6eu9lj4f 2 месяца назад

    really good explanations

  • @zakylib
    @zakylib 2 месяца назад

    Thank you. Thank you. Thank you. Evrythign just makes sense now.

  • @BillyOGrady
    @BillyOGrady 3 месяца назад

    Very helpful. Thank you!

  • @VictorHamzat
    @VictorHamzat 3 месяца назад

    After 8 years, It's still on point!

  • @isaiahhiggins
    @isaiahhiggins 3 месяца назад

    I missed this lecture and was totally clueless when we had to manually calculate a frame check sequence. This is exactly what I needed, and probably explained more clearly than the professor too! Thank you

  • @koustav2826
    @koustav2826 3 месяца назад

    When CPU 1 performs the Read operation will it fetch the new data which is modified by CPU 2 or it will get the old data that was there before CPU 2 modified it?

    • @nitinagrawal6637
      @nitinagrawal6637 2 месяца назад

      If CPU-2 modifies the data then it will invalidate the data with CPU-1, so CPU-1 will be fetching the data from CPU-2 cache.

  • @thandoemmanuel8863
    @thandoemmanuel8863 3 месяца назад

    University of Limpopo was here 🔥🔥🔥2014

  • @safaaali2151
    @safaaali2151 3 месяца назад

    ❤❤❤❤❤❤❤

  • @DhananjaySureshGade
    @DhananjaySureshGade 4 месяца назад

    In Invalid state, does modified cache update the memory or it will just update the another shared cache?

    • @JacobSchrum
      @JacobSchrum 4 месяца назад

      If a cache entry enters an Invalid State, then its contents will never be written back to memory. A cache line enters an Invalid state when the shared data is written/modified within another cache. So, the cache contents that eventually get written back to memory will come from a Modified or Shared cache line that corresponds to the same one that was Invalidated in some other cache.

  • @mengstudesale
    @mengstudesale 4 месяца назад

    work ip address

  • @JamesBiser
    @JamesBiser 4 месяца назад

    Teach at Penn State. Please. COMENG 362 needs you brother

  • @user-um8qs6vs5z
    @user-um8qs6vs5z 4 месяца назад

    Thank you sir

  • @5743363
    @5743363 4 месяца назад

    Here is the values for the parameters in the equation, for who still cannot link up the action demonstration and the equation: 7:08 Given: gamma = 1, alpha = 0.5, The cost refers to r_action = -0.04 Let s = (bottom left corner) denoted as [[0,0,0,0], [0,0,0,0], [1,0,0,0]) (as long as you can identify the location) a = UP Q(bottom left, , UP) = 0 + 0.5(-0.04 + 1*0 -0) = -0.02

  • @htyvty9981
    @htyvty9981 4 месяца назад

    I'm so glad I found your channel. Thanks for sharing

  • @georgedan4925
    @georgedan4925 4 месяца назад

    perfect explanation .thanks mate

  • @abzx.
    @abzx. 4 месяца назад

    im cooked

  • @plastilinovbly
    @plastilinovbly 4 месяца назад

    This is the best video on the topic, thank you! I finally understood it:)

  • @eladpollak123
    @eladpollak123 4 месяца назад

    Great!

  • @kevharv
    @kevharv 4 месяца назад

    I love the song choices lol

  • @GerbenWijnja
    @GerbenWijnja 5 месяцев назад

    I've seen a lot of cache videos, but none of them explained how the tags worked. This is the first video that very clearly explains direct mapping. Thanks!

  • @mclacex1
    @mclacex1 5 месяцев назад

    how do you know what addressing mode is being used in binary code

    • @JacobSchrum
      @JacobSchrum 5 месяцев назад

      Every opcode has support for specific addressing modes. Sometimes the addressing is determined by the opcode itself, and there are even cases when a seemingly identical assembly instruction (same mnemonic) will translate to different opcodes. However, some instruction sets have an extra portion of the instruction format that specifies the addressing mode.

    • @mclacex1
      @mclacex1 4 месяца назад

      @@JacobSchrum so when the operands need more bits allocated for allowing more memory addresses then you use the addressing mode right? i was always wondering because on some diagrams for binary code ill see that multiple bits are used for the addressing mode each bit would represent direct or indirect addressing right?is there a certain combination of bits that would show what addressing mode its using like for instance would there be a certain sequence of binary numbers that would imply Indirect addressing Mode, or Indexed addressing mode

  • @garvitgarg9455
    @garvitgarg9455 5 месяцев назад

    Thank you so much.