stanford-oval/wikipedia huggingface dataset:
Tasarım örüntüleri
Dörtlü Çete (Gang of Four, kısaca GoF) yazılım tasarım desenleri > Tasarım desenleri sınıfları > Oluşturma örüntüleri

Oluşturma örüntüleri, yazılım nesnelerinin (ya da başka bir deyişle sınıf örnekleri - İngilizce: class instances) nasıl oluşturulacağı hakkında öneriler sunar. Ana fikir, iyi bir yazılımın, içinde barındırdığı nesnelerin nasıl oluşturulduğundan bağımsız olarak tasarlanması gerektiğidir. Diğer bir deyişle nesnelerin nereden ve nasıl oluşturulduğu, ait oldukları yazılımın işleyişini etkilememeli; yeni özellikler eklenmesine ve değişikliklere karşı sorun oluşturmamalıdır.
Yazılım sistemleri geliştikçe nesnel bileşimler (İngilizce: object composition), sınıf kalıtımına (İngilizce: class inheritence) göre daha fazla önem kazanır. Bunun nedeni, yazılım sistemleri için basit temel davranış (İngilizce: behavior) şekillerinin tanımlanması üzerine kurulu tasarımların, sabit davranışlara dayalı tasarımlara göre daha esnek olmasındandır. Diğer bir deyişle, nesnelere davranışların bileşim olarak eklenmesi, daha sonra bu davranışların yazılımın gelişimine göre değiştirilmesine olanak sağlar. Bu durumda, geliştirilen yazılım için gereken temel davranış şekillerine dayalı bir tasarım, nesne arayüzleri (İngilizce: interface) değiştirmeden farklı ya da daha karmaşık davranışların kullanılabilmesini mümkün kılar.
Ancak nesnel bileşimler yoluyla temel davranışları sağlayan nesnelerin örneklenmesi, ana ya da kalıtım yoluyla davranış değişikliğine uğratılarak türetilmiş sınıflardan nesne oluşturmak daha zordur. Oluşturma örüntüleri bu zorlukları aşmak amacıyla kullanılabilecek yazılım örüntüleri içerir.
Oluşturma örüntüleri, hem hangi somut sınıfların (İngilizce: concrete class) nesne örneklemesinde kullanıldığını, hem de bu örneklerin nasıl oluşturulup bir araya getirildiğini yazılım sisteminden saklarlar.
Fabrika yöntemi (İngilizce: factory method)
Nesne oluşturma için kullanılan tek arayüz altında nesnenin nasıl oluşturulacağını kalıtım yoluyla alt sınıflara bırakarak, arayüzle nesne oluşturma işlevlerini birbirinden ayırır.
Örnek (İngilizce: prototype pattern)
Karmaşık veya pahalı sınıflardan nesne oluştururken yeni nesnelerin baştan oluşturulması yerine mevcutlarından örnekleyerek oluşturulmasını sağlar. Bu sayede yeni nesneler kolayca ve kaynaklar gereksiz yere meşgul edilmeden oluştururlar.
Soyut fabrika (İngilizce: abstract factory pattern)
Tek arayüz ile bir nesne ailesinin farklı platformlarda oluşturulmasını mümkün kılar. Bu sayede yazılım uygulaması farklı platformlara davranış değişikliğine uğramadan taşınabilir. Soyut fabrika kalıbı, tek arayüz altında hangi somut sınıfların kullanıldığını saklar.
Yapıcı (İngilizce: builder pattern)
Karmaşık bir nesne grubunun tek arayüz üzerinden gerektiğince parça parça oluşturulmasını sağlar. Kullanıcı nesne grubunu kullandıkça nesne grubu gereken yönde yapılanır. Kullanılmayan parçalar gereksiz yere oluşturularak kaynak harcamaz.
Yegâne (İngilizce: singleton pattern)
Bir sınıftan sadece bir tane nesne oluşturulacak şekilde kısıtlama sağlar. Söz konusu nesneye uygulamanın her yerinden ulaşılabilir. Nesne ilk kez kullanılana dek oluşturulmayabilir.
Dörtlü Çete (Gang of Four, kısaca GoF) yazılım tasarım desenleri > Tasarım desenleri sınıfları > Yapısal örüntüler

Yapısal örüntüler sınıfların ve nesnelerin birleştirilerek daha geniş yazılım yapılarının kurulmasına olanak sağlayan öneriler sunar. Sınıf yapı örüntüleri ve nesne yapı örüntüleri olmak üzere ikiye ayrılır.
Sınıf yapı örüntüleri kalıtım kullanarak sınıf arayüzlerini ya da uygulamaları bileştirerek yapıları genişletir. Nesne yapı örüntüleri ise nesnelerin birleştirilerek yeni işlevler kazanma yollarını gösterir.
Bileşik (İngilizce: composite pattern)
Nesnelerin parça-bütün ilişkisi içinde ağaç yapısı ile bir araya getirilerek birleştirilmesine ve bu bileşiğe tek arayüzden ulaşılmasına imkân verir. Bileşik yapı yeni nesneler eklenip çıkarılarak zamanla genişleyip daralabilir.
Cephe (İngilizce: façade pattern)
Karmaşık bir yapının bir arada tutularak tek bir arayüz üzerinden kullanımını mümkün kılar.
Dekoratör (İngilizce: decorator pattern)
Bir nesneye, nesneyi değiştirmeden yeni sorumluluklar eklenmesini sağlar. Alt sınıflama yapmadan nesnelerin işlevlerinin geliştirilmesini mümkün kılar.
Köprü (İngilizce: bridge pattern)
Hem arayüzün hem de somut uygulamanın birbirinden ayrılarak düzenlenmesine olanak sağlar. Arayüzün değişimi uygulamayı, uygulamanın değişimi arayüzü etkilemez. Her ikisi bağımsız olarak geliştirilebilir.
Sinek sıklet (İngilizce: flyweight pattern)
Çok sayıda benzer nesnenin oluşturulması yerine bir örnek nesneden görsel nesneler oluşturarak kalabalık bir imkân verir. Görsel nesnelerin durum değişkenleri nesnenin kendisi tarafından değil kullanıcı tarafından saklanır.
Uyumlayıcı (İngilizce: adapter pattern)
Farklı kaynaklardan gelen nesne ya da sınıfların arayüzlerini uyumlandırmak amacıyla kullanılır.
Vekil (İngilizce: proxy pattern)
Karmaşık, pahalı ve oluşturulması güç nesneleri kullanmak için arayüz taklidini olası kılar. Kullanılacak olan nesnenin fiziksel yerini kullanıcıdan saklayacak şekilde yönlendirme yapılmasını sağlar.
Yazılım tasarım örüntülerine eleştiri

Bazı yazarlar, yazılım tasarım örüntülerinin sorunların çözümlerini olumsuz yönde etkilediği yönünde eleştirmektedir. Bazılarına göre de, yazılım örüntüleri programla dilinde veya metodolojisindeki kısıtlamaları ve sorunları göstermektedir ve örüntüyü tespit etmek son aşama olmamalıdır. Yeni programla dillerinde bu örüntüleri gerektirecek durumları engelleyecek çözümler dilin kendisinden sağlanmalıdır. Örneğin bu görüşün taraftarları nesne yönelimli programlamaya ait olarak bilinen kavramların, daha önceki programlama dillerinde tasarım örüntüsü olarak tavsiye edilen kavramlar olduklarını, ama nesne yönelimli dillerin çıkmasıyla bu kavramların dil içinde belirsiz bir şekilde kullanıldığını ve artık bir örüntü olmadıklarını savunmaktadırlar.
| g t Tasarım örüntüleri kitabı |
| --- | --- |
Yaratım:  Fabrika yöntemi  Örnek  Soyut fabrika  Yapıcı  Yegâne 
Yapısal:  Bileşik  Cephe  Dekoratör  Köprü  Sinek siklet  Uyumlayıcı  Vekil 
Davranış:  Arabulucu  Durum  Gözlemci  Kalıp yordamı  Komut  Sorumluluk zinciri  Yadigâr  Yineleyici  Yorumlayıcı  Ziyaretçi (sınıf örüntüleri eğik yazıyla) 
| --- | --- |
Otorite kontrolü :  BNE: XX550686  GND: 4546895-3  LCCN: sh98003823  NLI: 987007532683705171
Kegworth

| Kegworth |
| --- | --- |
Kent

KegworthKegworth'in Birleşik Krallık'taki konumu
Ülke:  Birleşik Krallık
Ülke:  İngiltere
Kontluk: Leicestershire
Nüfus
 • Toplam: 6.767
Zaman dilimi: UTC±00.00 (BAS)
 • Yaz (YSU): UTC+01.00 (BAYS)
Kegworth, İngiltere'nin Leicestershire kentinde, bulunan bir civil parish.
Natalka Poltavka (opera)

| --- | --- |
1936 Sovyet filmi "Natalka Poltavka"posteri
Müzik: Mykola Lysenko
Gala: 24 Kasım 1889 (1889-11-24) (Rusça)
İlk gösterim yeri: Odesa
Ukrayna'nın 2011 basımı pulu üzerinde Natalka Poltavka
Natalka Poltavka (İngilizce: Poltava'dan Natalka), Ukraynalı besteci Mykola Lisenko'nun, Ivan Kotlyarevsky'nin Natalka Poltavka adlı oyununa dayanan ve ilk kez 1889'da sahnelenen üç perdelik bir operasıdır.
Arka plan

Kotlyarevsky'nin 1819'daki oyununun orijinal versiyonu, eser boyunca farklı bölümlerde söylenen bir dizi Ukrayna halk şarkısını içeriyordu. Oyunun bilinen ilk müzikal uyarlaması Harkiv'li müzisyen A. Barsytsky tarafından yapılmış ve 1833 yılında yayınlanmıştır. Eşzamanlı olarak M. Shchepkin'in Vyborny'yi canlandırdığı oyunun prömiyeri 1830'larda baş kemancı ve daha sonra şef A. Gurianov tarafından düzenlenen kompozisyonla Moskova'da yapıldı. Daha sonraki düzenlemeler A. Yedlichka, M. Vasyliev ve diğerleri tarafından yapılmıştır.
Lisenko'nun versiyonu

Lisenko, 1864'te opera üzerinde çalışmaya başladı. Ancak opera sahnesi için yazma deneyiminden yoksun olduğu için devam etmedi. Nihai 1889 versiyonu, çalışmanın önceki tüm versiyonlarını gölgede bıraktı. Lisenko, oyundaki orijinal şarkıları alarak, oyunda geçen türküler ve danslara orkestra eşlikleri yazmıştır. Müzik içeriğini genişletti, bazı kısımlara fon müziği yaptı. Şarkılar aryalara dönüştürüldü ve Kotlyarevsky'nin oyununun ruhuna sadık kalan bir uvertür ve müzikal girişler eklendi. Lisenko'nun versiyonu genellikle bir opera olarak kategorize edilse de, uzun konuşma diyalogları içerdiği için bir opera-comique olarak da düşünülebilir.
V. Iorish'in müziğinin eklenmesiyle yapıtı "Büyük Opera" olarak kabul ettirmek için  yapılan girişimler başarılı olmadı. Kiev Devlet Operası, Lisenko'nun orijinal versiyonuna geri döndü.
Performanslar

Opera ilk kez 12/24 Kasım 1889'da Odessa'da (Rusça) sahnelendi.
Mykola'nın rolünün ilk oynayanlardan biri, besteci Igor Stravinsky'nin babası Fyodor Stravinsky idi.
Opera, 1925'ten beri Ukrayna Devlet Operası tarafından ve II. Dünya Savaşı'ndan beri Kiev Konservatuvarı Opera Stüdyosu tarafından icra edilmektedir. Bu dönemde parçalar M. Shchepkin, M. Kropivnytsky, P. Saksahansky, M. Zankovetsky, I. Patorzhynsky, M. Lytvynenko-Volhemut, M. Donets ve O. Petrusenko gibi önde gelen Ukraynalı şarkıcılar tarafından seslendirildi.
2007'de Kiev Operası'nda orkestranın Ukrayna halk enstrümanlarıyla desteklendiği bir varyantı üretildi. Bu sürüm orta düzeyde beğeni aldı.
Özet > Perde I

Natalka, yurtdışında çalışan nişanlısı Petro'nun dönüşünü beklemektedir. Viborniy'i kendi adına aracılık etmeye ikna eden yaşlı toprak sahibi Vozniy ise onu gözüne kestirmiştir..
Özet > II. Perde

Viborniy, Natalka'nın annesi Terpilikha'yı kızının Petro'nun belirsiz dönüşünü beklemek yerine zengin Vozniy ile evlenmesi gerektiğine ikna eder. Natalka çaresizlik içinde olsa da köyün genç kızları düğün için onu hazırlar.
Özet > III. Perde

Petro geri döner: Mykola, Natalka'nın nişanlandığını ona bildirir. Natalka ortaya çıkar ve Petro'ya sadece onu sevdiğini söyler. Terpilikha itiraz eder ve Petro, Natalka mutlu olmayacaksa köyü terk etmeye söz verir. Bu jestten etkilenen Vozniy yumuşar ve her şey mutlu biter.
Film uyarlaması

Lisenko'nun operası, 24 Aralık 1936'da Ukrayna'da gösterime giren bir film haline getirildi . Film, Ivan Kavaleridze tarafından yönetildi. Bu film eski Sovyetler Birliği'nde yapılmış bir operanın ilk uyarlamasıydı.
Sidney'de Natalka Poltavka'nın 1951 yılı performansı
Robot İşletim Sistemi

| --- | --- |
Robot Operating System Logosu
RVIZ'de araba simülasyonu
Orijinal yazar(lar): Willow Garage Stanford Yapay Zeka Laboratuvarı Open Robotics
İlk yayınlanma: 2007 (17 yıl önce) (2007)
Güncel sürüm: Galactic Geochelone (ROS 2) / 23 Mayıs 2021 (3 yıl önce) (2021-05-23)
Önizleme sürümü: Humble Hawksbill (ROS 2)
Programlama dili: C++, Python veya Lisp
İşletim sistemi: Linux, macOS (deneysel), Windows 10 (deneysel)
Tür: Robotik paketi, OS, kütüphane
Lisans: Apache 2.0
Resmî sitesi: ros.org
Kod deposu: github.com/ros2  
Robot İşletim Sistemi (RİS) robot yazılımı geliştiricileri için işletim sistemi sağlayan bir yazılım iskeletidir. RİS HAL gibi standart bir işletim sistemi temin eder (Düşük seviyede cihaz kontrolü, çoğunlukla kullanılan işlevler, veri paylaşımı ve paket yönetimi). RİS tabanlı çalışan işlemler mimari grafikle gösterilir.[daha geniş açıklama gerekli] Bu mimari grafiklerde çok kısımlı sensörlerin, kontrol mekanizmalarının, konumun, çalıştırıcının ve diğer işlemlerin verileri gösterilir. Robot kontrolünde düşük zamanlı gecikme olduğundan gerçek zamanlı işletim sistemi değildir. Fakat RİS eşzamanlı kodlarla entegre edilebilir.
RİS ekosistemi nde yazılımlar üç başlık altında incelenebilir:
Dil ve platform (RİS tabanlı yazılımları kurmak ve dağıtmak için kullanılan bağımsız araçlar);
roscpp, ve roslisp gibi kütüphane uygulamaları;
Kodlarla alakalı uygulama içeren paketler (bu kodlar bir veya birden fazla RİS kullanıcı kütüphanelerini kullanırlar). Bu diller ve kütüphaneler (C++, Python and LISP) BSD lisansı şartları altında açık kaynaklı yazılım olarak yayınlandı. Böylelikle ticari ve araştırma amaçlı kullanım ücretsiz oldu. Diğer paketlerin çoğunluğu açık kaynak lisansı aldı. Bu diğer paketler birçok işlevde; donanım sürücüleri, robot modelleri, veri tipleri, planlama, algılama, eş zamanlı olarak yerini belirleme, simülasyon araçları gibi birçok uygulamada kullanıldı.
Ana RİS kullanıcı kütüphaneleri C++, Python, LISP dillerinde yazılmıştır ve Unix gibi sistemlerde çalışır. Bu kullanıcı kütüphaneleri Ubuntu Linux sisteminde  desteklenirken diğer işletim sistemlerinde için deneysel durumdaydı. Yerel Java RİS kütüphanesi (rosjava) işletim sisteminden bağımsızdır ve Android İşletim Sistemi'nde yazılım geliştirmeyi destekler. Aynı zamanda rosjava; Linux, Mac OS X ve Microsoft Windows'ta bulunan MATLAB araç kutusuyla entegre edilebilir. Bir JavaScript kullanıcı kütüphanesi(roslibjs), yazılımı uyumlu internet tarayıcılarıyla RİS sistemine entegre edebilir.
Tarihçe

RİS ilk olarak Stanford Yapay Zeka Laboratuvarı'nda Stanford AI Robot STAIR (STanford AI Robot) projesi desteğiyle 2007 yılında geliştirildi.
Çalışmalar 2008 ve 2013 yılları arasında Willow Garage adlı robotik araştırma enstitüsünde devam etti. Bu süre zarfında Willow Garage'daki mühendisler 20'den fazla kurumla işbirliği içerisinde bulundular.
Şubat 2013'te RİS yönetimi OSR Vakfına geçti. Ağustos 2013'te Willow Garage'ın "Suitable Technologies" adlı bir şirkete devredilebileceği bir blog üzerinden açıklandı. Willow Garage tarafından oluşturulan PR2'nin destek sorumlulukları da sonradan Clearpath Robotics tarafından ele alındı.
Uygulamalar

RİS şunları içerir:
Ana koordinat bağlantı noktası
Veri akışına resim, lazer, stereo, kontrol, aktive edici gibi şeyler yayınlama veya alma
Çoklu bilgi
Bağlantı noktası oluşturma ve yok etme
Çoklu işlemciler, ekran kartları ve depolama birimleri
Günlük tutmak
Parametre sunucusu
Test sistemi
RİS Paket Uygulamaları şunları içerecektir:
İdrak
Nesne Algılama
Segmentasyon ve tanıma
Yüz tanıma
Jest ve mimik tanıma
Hareket tanıma
Egomotion
Uzaklık ölçümü tespiti
Stereo görme
Hareket
Kontrol
Planlama
Sürüm geçmişi

RİS sürümleri diğer sürümleriyle uyumsuz olabilir ve her sürüm numaralandırmak yerine kod isimlerini almışlardır. Başlıca sürümler şunlardır:
23 Mayıs 2015 - Jade Turtle
22 Temmuz 2014 - Indigo Igloo (Nisan 2019'a kadar LTS sürümlü)
4 Eylül 2013 – Hydro Medusa
31 Kasım 2012 – Groovy Galapagos
23 Nisan 2012 – Fuerte
30 Ağustos 2011 – Electric Emys
2 Mart 2011 – Diamondback
3 Ağustos 2010 – C Turtle
1 Mart 2010 – Box Turtle
22 Ocak 2010 – ROS 1.0
Bağlantı noktaları ve devre kartları

ABB, Adept, Motoman, and Universal Robots RİS desteklidir.
Baxter - Rethink Robotics
BeagleBoard - Leuven Katolik Üniversitesi, Belçika: Robot Laboratuvarı BeagleBoard'da RİS kullandı.
HERB - Carniege Mellon Üniversitesi'nde İntel'in kendi robot programı olarak üretildi.
Husky A200 - Clearpath Robotics tarafından üretilen robot
PR1 -  Ken Salisbury'nin laboratuvarında oluşturduğu kişisel robot
PR2 - Willow Garage'da üretilen kişisel robot
Raven II Cerrahi Robotik Araştırma Platformu
rosbridge - protokol ve sunucu - Brown Üniversitesi JSON tabanlı mesajlaşma sistemlerini RİS ile entegre edebilmek için bu protokolü geliştirdi
Shadow Robot Hand - Oldukça hünerli insansı bir el
STAIR I ve II - Andrew Ng'nin laboratuvarında üretilmiştir.
SummitXL - Robotnik tarafından üretilmiş bir mobil robottur.
Nao humanoid - Freiburg Üniversitesi İnsansı Robot Laboratuvarı'nda geliştirilmiştir
UBR1 - Unbounded Robotics tarafından geliştirilmiştir.
RİS paketleri

Roscopter, Mavlink 1.0 arayüzü kullanan ArduCopter için bir RİS arayüzüdür. Roscopter IMU üzerinden veriler ve bilgiler verir. Şu anda Hydro ve RİS alt sürümü için kullanılabilir.
Muhammed Abdüsselam
Gençliği ve eğitim hayatı

Abdüsselam, Chaudhry Muhammad Hussain ve Hajira Hussain'in oğlu olarak bir Ahmedi Punjabi Rajput ailede dünyaya geldi. Ailesi İslam'a 12. yüzyılda geçti ve köklü dini geleneklere ve öğrenme aşkına sahiptiler. Büyükbabası, Gül Muhammed, dindar bir alim olmanın yanı sıra bir fizikçiydi. Abdüsselam'ın babası Punjab State'te Eğitim Bölümünde geçimlerini tarımla sağlayan fakir bir mahallede eğitim memurluğunu yapıyordu.
Abdüsselam 14 yaşında Punjab Üniversitesi yeterlilik sınavında o güne kadarki en yüksek notu aldı. Lahore, Punjab State'teki Government College Universitesi'ne tam burs kazanarak Urdu ve İngiliz edebiyatı alanına geçti fakat çok geçmeden yoğunlaşacağı alan olarak matematiği seçti. Abdüsselam'ın akıl hocaları Abdüsselam'ın İngilizce öğretmeni olmasını istiyordu ama Abdüsselam matematik alanında karar kıldı. Dördüncü sınıf öğrencisi olarak tezini matematikten, Srinivasa Ramanujan'ın problemi üzerine yayınladı ve ilk derecesini 1944'te Matematik bölümünden aldı. Babası Hint Sivil Servisi'ne katılmasını istiyordu. O günlerde Hint Sivil Servisi, yeni mezunların ve sivil toplumda önemli yere sahip olan kamu hizmetlilerinin en çok istek duydukları yerdi.  Babasının isteğine saygı duyarak Abdüsselam şansını Hint Demiryolları'ndan yana denedi fakat küçük yaştan beri göz kusuru olduğu ve gözlük kullandığından dolayı bu görev için yeterli değildi. Göreve alınmamasında sadece bu da değil demiryolu mühendislerinin girdiği mekanik testini geçemeyişi ve çok genç oluşu da etkiliydi. Bu nedenle iş başvurusu geri çevrildi. Lahor'dayken Government College Üniversitesi'nden mezun olmak için devam etti. Matematikteki derecesini 1946 yılında Government College Üniversitesinden aldı. Aynı yıl Cambridge, Aziz John Koleji'nden burs kazandı. 1949'da B.A derecesini matematik ve fizik dalında Double First-Class Honours ile tamamladı. 1950 yılında en çok beğenilen doktora öncesi fiziğe katkısından dolayı Cambridge Üniversitesi tarafından Smith Ödülü'ne layık görüldü. Lisanslarını tamamladıktan sonra Fred Hoyle, Selam'ı deneysel fizik alanında çalışma yapmak için Cavendish Laboratuvarı'na davet etti fakat Abdüsselam'ın uzun süre deney sonucu bekleyerek uzun deneyler yürütmeye sabrı yoktu. Abdüsselam Jhang, Punjab'a geri döndü ve burs kazanmasının ardından Birleşik Krallık'a doktora yapmaya gitti.
PhD derecesini kuramsal fizik alanında Cambridge Cavedish Laboratuvarı'nda edindi. Doktora tezi kuantum elektrodinamiği ile ilgili kapsamlı ve temel çalışmalar içeriyordu. Onun 1951'de yayınladığı bu tezi dünya genelinde oldukça dikkat çekmişti ve bunun sonucunda Adam's Ödülü'nü kazandı. Doktora çalışmaları sırasında akıl hocaları Dirac ve Feynman gibi alimlere kafa tutan zorlu bir problemi bir yıl içerisinde çözmesi için ona meydan okudular. Abdüsselam altı ay içinde meson kuramı renormalizasyonuna bir çözüm buldu. Cavendish Laboratuvarında getirdiği bu çözümle Bethe, Oppenheimer ve Dirac'ın dikkatlerini çekmeyi başardı.
Akademik kariyeri

1951 yılında doktora sonrası, Abdüsselam aynı dönem boyunca 1954 yılına kadar Matematik Profesörü olarak Hükûmet Koleji Üniversitesi'nde kaldı, ardından Punjab Üniversitesi Matematik Bölümü Başkanı ve profesörü de oldu. Abdüsselam lisans dersinin bir parçası olarak Kuantum mekaniğinde  ders verme ve üniversite müfredatı güncellemek için çalıştı. Bu durum Rektör Yardımcısı tarafından döndürüldü ve Abdüsselam bir akşam düzenli müfredat dışında Kuantum Mekaniği dersini öğretmek için kararlaştırıldı. Abdüsselam üniversitede karışık popülerlik durumuyla karşı karşıyayken, bu durum  özellikle kendisi tarafından etkilenmiş ve öğrencilerinin eğitimini denetlemeye başlamıştı. Sonuç olarak, Riazuddin Cambridge Üniversitesi'nde sadece Lahore altında lisans ve lisansüstü düzeyde Abdüsselam çalışma ayrıcalığına sahip olmuş, öğrenci ve Doktora Sonrası düzeyde kalmıştır. 1953 yılında Abdüsselam'ın meslektaşları güçlü muhalefetle karşı karşıya geldi, Abdüsselam, Lahor bir araştırma enstitüsü kuramadı. 1954 yılında, Abdüsselam bursunu aldı ve Pakistan Bilimler Akademisine eski arkadaşlarından biri üye  oldu. 1953 Lahore ayaklanmalar sonucunda, Abdüsselam Cambridge'e döndü ve St. John's College'e katıldı ve 1957 yılında  matematik profesörü olarak görev aldı, o Londra da Imperial College'a davet edildi ve ve Paul Matthews Imperial College'da Teorik Fizik Bölümünü kurmak için gitti. Zaman geçtikçe, bu bölüm gibi Steven Weinberg, Tom Kibble, Gerald Guralnik, C.R. Hagen, Riazuddin ve John Ward gibi tanınmış fizikçilerin dahil olduğu  prestijli araştırma bölümlerinden biri oldu. 1957 yılında, Pencap Üniversitesi Parçacık fiziğine yaptığı katkılarından dolayı Fahri doktora ve Abdüsselam ile görüştü. Akıl hocası yardımıyla aynı yıl, Abdüsselam Pakistan talebeleri için bir burs programı başlattı. Abdüsselam, Pakistan ile güçlü bağlarını muhafaza etti ve zaman zaman ülkesini ziyaret etti. Cambridge ve Imperial College'da teorik fizikçiler ile bir grup kurdu, çoğunluğunu  Pakistanlı öğrencilerin oluşturduğu gözlendi.
1959 yılında, genç J. Robert Oppenheimer ile bir araya geldi, Princeton Üniversitesi'nde bir burs aldı 33 yaşında Royal Society Fellow ismini aldı ve Abdüsselam nötrinoların üzerine yaptığı araştırma çalışmalarını sundu. Oppenheimer ve Abdüsselam elektrodinamik hakkındaki sorunları ve bunların çözüm temelini görüştü. Onun özel ve kişisel asistanı Jean Bouckley oldu. 1980 yılında, Abdüsselam Bangladeş Bilimler Akademisi üyesi haline geldi.
Uzay programı

Abdüsselam Pakistan'daki uzay araştırma aktivitelerinin kuruluşundan sorumlu olduğu gibi Pakistan'ın uzay programının da kurucusuydu. 1961'in başlarında Abdüsselam ülkenin ilk uzay araştırmalarını düzenleyen yürütme ajansının kuruluşunun temelini atmak için Cumhurbaşkanı Eyüb Han'a yaklaştı. 16 Eylül 1961'de, bir yönetici emriyle Abdüsselam'ın baş ve kurucu yöneticisi yapıldığı Uzay ve Üst Atmosfer Araştırma Komisyonu kuruldu. Abdüsselam derhal Birleşmiş Milletler Hükûmetiyle başarılı bir şekilde bir uzay işbirliği anlaşması imzaladığı Birleşmiş Milletlere gitti. Kasım 1961'De NASA Belucistan Eyaletinde Uçuş Test Merkezini inşa etti. Bu süre boyunca Abdüsselam bir Polonyalı askeri bilim adamı ve uzay mühendisi olan hava amirali Wladyslaw Turowiczle tanıştığı Hava Kuvvetleri Akademisini ziyaret etti. Turowicz uzay merkezinin ilk teknik yöneticisi yapıldı ve bir roket deneme programı temin edildi. 1964'te Birleşik Milletlerdeyken, Abdüsselam Oak Ridge Ulusal Laboratuvarını ziyaret etti ve nükleer mühendisleri Salim Mehmud ve Tariq Mustafa ile tanıştı. Abdüsselam Ulusal Havacılık ve Uzay Dairesi ile NASA'nın Pakistan'ın bilim adamları ve mühendislerine eğitim vermek için bir program başlatacağı başka bir anlaşma imzaladı. İki nükleer mühendisi de birkaç ay içinde Pakistan'a geri döndü ve Suparco'da göreve başladılar.